@feathery/react 2.43.0 → 2.44.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 (157) hide show
  1. package/cjs/Form/grid/Element/index.d.ts.map +1 -1
  2. package/cjs/Form/index.d.ts.map +1 -1
  3. package/cjs/assistant/AssistantChat.d.ts.map +1 -1
  4. package/cjs/assistant/AssistantClient.d.ts +30 -6
  5. package/cjs/assistant/AssistantClient.d.ts.map +1 -1
  6. package/cjs/assistant/ToolStatus.d.ts.map +1 -1
  7. package/cjs/assistant/tools/clickElement.d.ts +4 -3
  8. package/cjs/assistant/tools/clickElement.d.ts.map +1 -1
  9. package/cjs/assistant/tools/panelRuntime.d.ts +18 -1
  10. package/cjs/assistant/tools/panelRuntime.d.ts.map +1 -1
  11. package/cjs/assistant/tools/setFieldValue.d.ts +15 -23
  12. package/cjs/assistant/tools/setFieldValue.d.ts.map +1 -1
  13. package/cjs/assistant/tools/tableMutations.d.ts +36 -0
  14. package/cjs/assistant/tools/tableMutations.d.ts.map +1 -0
  15. package/cjs/assistant/tools/triggerTableAction.d.ts +17 -0
  16. package/cjs/assistant/tools/triggerTableAction.d.ts.map +1 -0
  17. package/cjs/assistant/tools/utils.d.ts +33 -0
  18. package/cjs/assistant/tools/utils.d.ts.map +1 -0
  19. package/cjs/assistant/utils.d.ts +0 -1
  20. package/cjs/assistant/utils.d.ts.map +1 -1
  21. package/cjs/elements/basic/TableElement/index.d.ts +1 -1
  22. package/cjs/elements/basic/TableElement/index.d.ts.map +1 -1
  23. package/cjs/{fthry_AssistantChat.Dc6irzAk.js → fthry_AssistantChat.CTrXRHYC.js} +951 -327
  24. package/cjs/{fthry_FormControl.D_eydQlT.js → fthry_FormControl.BoilLJu3.js} +1 -1
  25. package/cjs/{fthry_InlineTooltip.Km0nxBV3.js → fthry_InlineTooltip.C3LL7yhx.js} +2 -2
  26. package/cjs/{fthry_Overlay.ChABiy0m.js → fthry_Overlay.C_kMTQo_.js} +1 -1
  27. package/cjs/{fthry_PaymentMethodField.BMABompY.js → fthry_PaymentMethodField.B7Y0YcQQ.js} +4 -4
  28. package/cjs/{fthry_Placeholder.CnNGDD_K.js → fthry_Placeholder.Ckf5rx3l.js} +1 -1
  29. package/cjs/{fthry_ShowEyeIcon.Cozhh36m.js → fthry_ShowEyeIcon.Dw983jmd.js} +1 -1
  30. package/cjs/{fthry_auto-track.CzyR3umO.js → fthry_auto-track.DdU0wd90.js} +2 -2
  31. package/cjs/{fthry_highlighted-body-TPN3WLV5.D8LjPUtI.js → fthry_highlighted-body-TPN3WLV5.Dgq3ZfLo.js} +3 -3
  32. package/cjs/{fthry_index.B5TkPpn3.js → fthry_index.29ly7g2Z.js} +2 -2
  33. package/cjs/{fthry_index.B7Slrn_2.js → fthry_index.37lEi-Hp.js} +1 -1
  34. package/cjs/{fthry_index.Dn7k0XbZ.js → fthry_index.3RtrK8MX.js} +220 -157
  35. package/cjs/{fthry_index._pqB5lCu.js → fthry_index.5r0bFZtm.js} +8 -8
  36. package/cjs/{fthry_index.H4GgWRQ-.js → fthry_index.B4peckbq.js} +1 -1
  37. package/cjs/{fthry_index.wTd_xpVX.js → fthry_index.BGz622Tq.js} +4 -4
  38. package/cjs/{fthry_index.BPu5GDF3.js → fthry_index.BHqkdfIz.js} +5 -5
  39. package/cjs/{fthry_index.8ZkixEuX.js → fthry_index.BI8F8bA_.js} +2 -2
  40. package/cjs/{fthry_index.KMyCBmte.js → fthry_index.BfbtecrW.js} +1 -1
  41. package/cjs/{fthry_index.D6PlFvY8.js → fthry_index.Buv2Sg-R.js} +5 -5
  42. package/cjs/{fthry_index.DMmTH04s.js → fthry_index.Bv2eS3Vo.js} +2 -2
  43. package/cjs/{fthry_index.CsV6zv_0.js → fthry_index.BvbHMtIp.js} +5 -5
  44. package/cjs/{fthry_index.B76xVeoK.js → fthry_index.C3PGeG-p.js} +10 -10
  45. package/cjs/{fthry_index.DoliEMOD.js → fthry_index.C8F7fXYY.js} +3 -3
  46. package/cjs/{fthry_index.CMRH7foG.js → fthry_index.CKVVzHIN.js} +6 -6
  47. package/cjs/{fthry_index.BYJ0Cjz1.js → fthry_index.CVnv_Jad.js} +1 -1
  48. package/cjs/{fthry_index.B79ksg_6.js → fthry_index.CZEWDsUp.js} +2 -2
  49. package/cjs/{fthry_index.B4qsX_2B.js → fthry_index.CelZlNgP.js} +4 -4
  50. package/cjs/{fthry_index.Cj3i1JIs.js → fthry_index.D3dqn02k.js} +1 -1
  51. package/cjs/{fthry_index.BVLMhJHP.js → fthry_index.D8Red3Ny.js} +37 -20
  52. package/cjs/{fthry_index.DfOk3_Vc.js → fthry_index.DDPSNVyH.js} +1 -1
  53. package/cjs/{fthry_index.5oiWIOUK.js → fthry_index.DicGhamJ.js} +1 -1
  54. package/cjs/{fthry_index.WbKUUcdS.js → fthry_index.Dod7JSDp.js} +1 -1
  55. package/cjs/{fthry_index.D7jBFEkz.js → fthry_index.Dom24Lwj.js} +1 -1
  56. package/cjs/{fthry_index.B-QAg85r.js → fthry_index.DzFvroe5.js} +6 -6
  57. package/cjs/{fthry_index.DcnmaMvN.js → fthry_index.GMymJjG7.js} +2 -2
  58. package/cjs/{fthry_index.Crv5Oqdb.js → fthry_index.LV1j0g0M.js} +6 -6
  59. package/cjs/{fthry_index.Cj8NIIWS.js → fthry_index.LvXa1Omo.js} +6 -6
  60. package/cjs/{fthry_index.BNFRKqrl.js → fthry_index.hlvuql4I.js} +5 -5
  61. package/cjs/{fthry_index.x_Q9efXs.js → fthry_index.jKKDa77s.js} +2 -2
  62. package/cjs/{fthry_index.ecHJPvgK.js → fthry_index.kb1SveDj.js} +3 -3
  63. package/cjs/{fthry_index.umd.lxnwBuEl.js → fthry_index.umd.IVs8gbvz.js} +1 -1
  64. package/cjs/{fthry_input.DJaKnXqS.js → fthry_input.CtQ9PDhT.js} +1 -1
  65. package/cjs/{fthry_mermaid-O7DHMXV3.CyaPsnki.js → fthry_mermaid-O7DHMXV3.OED8wUgR.js} +3 -3
  66. package/cjs/{fthry_script.DrFnB8ud.js → fthry_script.BVZmLSex.js} +1 -1
  67. package/cjs/{fthry_styles.qeOM9hPF.js → fthry_styles.D-_UUb_M.js} +1 -1
  68. package/cjs/{fthry_useElementSize.K1QGuhUj.js → fthry_useElementSize.CDRo_Jkc.js} +1 -1
  69. package/cjs/{fthry_useSalesforceSync.DQd2UZn6.js → fthry_useSalesforceSync.Bx08h06s.js} +1 -1
  70. package/cjs/{fthry_webfontloader.D6aR0hiT.js → fthry_webfontloader.BH2uCTmw.js} +1 -1
  71. package/cjs/index.js +1 -1
  72. package/cjs/utils/button.d.ts +2 -0
  73. package/cjs/utils/button.d.ts.map +1 -0
  74. package/cjs/utils/hideAndRepeats.d.ts.map +1 -1
  75. package/cjs/utils/repeat.d.ts +5 -0
  76. package/cjs/utils/repeat.d.ts.map +1 -1
  77. package/dist/Form/grid/Element/index.d.ts.map +1 -1
  78. package/dist/Form/index.d.ts.map +1 -1
  79. package/dist/assistant/AssistantChat.d.ts.map +1 -1
  80. package/dist/assistant/AssistantClient.d.ts +30 -6
  81. package/dist/assistant/AssistantClient.d.ts.map +1 -1
  82. package/dist/assistant/ToolStatus.d.ts.map +1 -1
  83. package/dist/assistant/tools/clickElement.d.ts +4 -3
  84. package/dist/assistant/tools/clickElement.d.ts.map +1 -1
  85. package/dist/assistant/tools/panelRuntime.d.ts +18 -1
  86. package/dist/assistant/tools/panelRuntime.d.ts.map +1 -1
  87. package/dist/assistant/tools/setFieldValue.d.ts +15 -23
  88. package/dist/assistant/tools/setFieldValue.d.ts.map +1 -1
  89. package/dist/assistant/tools/tableMutations.d.ts +36 -0
  90. package/dist/assistant/tools/tableMutations.d.ts.map +1 -0
  91. package/dist/assistant/tools/triggerTableAction.d.ts +17 -0
  92. package/dist/assistant/tools/triggerTableAction.d.ts.map +1 -0
  93. package/dist/assistant/tools/utils.d.ts +33 -0
  94. package/dist/assistant/tools/utils.d.ts.map +1 -0
  95. package/dist/assistant/utils.d.ts +0 -1
  96. package/dist/assistant/utils.d.ts.map +1 -1
  97. package/dist/elements/basic/TableElement/index.d.ts +1 -1
  98. package/dist/elements/basic/TableElement/index.d.ts.map +1 -1
  99. package/dist/{fthry_AssistantChat.D2SjzX88.js → fthry_AssistantChat.D97z2Fjs.js} +951 -327
  100. package/dist/{fthry_FormControl.AWZ2hRhb.js → fthry_FormControl.DJieQaw-.js} +1 -1
  101. package/dist/{fthry_InlineTooltip.DAaWNMEQ.js → fthry_InlineTooltip.Chat1FIN.js} +2 -2
  102. package/dist/{fthry_Overlay.C500WG6U.js → fthry_Overlay.pCv-XBOA.js} +1 -1
  103. package/dist/{fthry_PaymentMethodField.Bl2Ce36L.js → fthry_PaymentMethodField._G2uJ6Ks.js} +4 -4
  104. package/dist/{fthry_Placeholder.DXrZi2ze.js → fthry_Placeholder.C7B4adz4.js} +1 -1
  105. package/dist/{fthry_ShowEyeIcon.D3iEMZA7.js → fthry_ShowEyeIcon.DrP5GypN.js} +1 -1
  106. package/dist/{fthry_auto-track.C9HCW4qJ.js → fthry_auto-track.Bb7a2GMR.js} +2 -2
  107. package/dist/{fthry_highlighted-body-TPN3WLV5.j0rrY2PD.js → fthry_highlighted-body-TPN3WLV5.QeEpdZbH.js} +3 -3
  108. package/dist/{fthry_index.IaraEDTR.js → fthry_index.0o3T2ouc.js} +1 -1
  109. package/dist/{fthry_index.Cn4kA2tn.js → fthry_index.1SZZv9d2.js} +10 -10
  110. package/dist/{fthry_index.C-Af9t8c.js → fthry_index.B6pEx1zI.js} +5 -5
  111. package/dist/{fthry_index.BALrl_Ek.js → fthry_index.BJKDlrlW.js} +4 -4
  112. package/dist/{fthry_index.DFZRIGNF.js → fthry_index.BMzPHmtX.js} +2 -2
  113. package/dist/{fthry_index.DZviU_0h.js → fthry_index.BWH9S7pc.js} +37 -20
  114. package/dist/{fthry_index.BHbPxMcy.js → fthry_index.BZvFWQLR.js} +2 -2
  115. package/dist/{fthry_index.D8_hWgYx.js → fthry_index.BpKf-eNy.js} +1 -1
  116. package/dist/{fthry_index.DzDuGB1B.js → fthry_index.C5BLw18G.js} +6 -6
  117. package/dist/{fthry_index.4rXsgo8n.js → fthry_index.C8LO6uJL.js} +6 -6
  118. package/dist/{fthry_index.BoXwpo3p.js → fthry_index.CDuqBBJn.js} +216 -158
  119. package/dist/{fthry_index.CB6eTYmX.js → fthry_index.CIlxRQ4S.js} +5 -5
  120. package/dist/{fthry_index.BDtWG5y-.js → fthry_index.CUY_p8do.js} +5 -5
  121. package/dist/{fthry_index.C8xVXq31.js → fthry_index.CXn-UnK8.js} +3 -3
  122. package/dist/{fthry_index.BlrVY1vE.js → fthry_index.ChUSP_4k.js} +6 -6
  123. package/dist/{fthry_index.0DlQOa4l.js → fthry_index.ClZUnlbG.js} +1 -1
  124. package/dist/{fthry_index.DtHlcCDX.js → fthry_index.Cqhg3Wmg.js} +1 -1
  125. package/dist/{fthry_index.DOGU2-kQ.js → fthry_index.Csz_U1Oc.js} +5 -5
  126. package/dist/{fthry_index.D3O1Qvm3.js → fthry_index.CubzFuFl.js} +3 -3
  127. package/dist/{fthry_index.C9P7Vo6r.js → fthry_index.D1iW0N2t.js} +1 -1
  128. package/dist/{fthry_index.Cd0JKkOc.js → fthry_index.D4pTk5dr.js} +8 -8
  129. package/dist/{fthry_index.DA5HHbVe.js → fthry_index.DA_5F_7_.js} +1 -1
  130. package/dist/{fthry_index.-lEiRiJ3.js → fthry_index.DG6NlwpO.js} +2 -2
  131. package/dist/{fthry_index.Co2zkJCZ.js → fthry_index.DJ7vQ3zt.js} +1 -1
  132. package/dist/{fthry_index.OgRdIE07.js → fthry_index.DJRjeQWm.js} +5 -5
  133. package/dist/{fthry_index.D2-zTdBQ.js → fthry_index.DdgFKsos.js} +1 -1
  134. package/dist/{fthry_index.CS604ePK.js → fthry_index.DuRVVFRL.js} +2 -2
  135. package/dist/{fthry_index.D5dmTp6g.js → fthry_index.QPKqFn46.js} +1 -1
  136. package/dist/{fthry_index.BjZmdaIR.js → fthry_index.UTYK1bhI.js} +2 -2
  137. package/dist/{fthry_index.x_DcI6GR.js → fthry_index.XG1xyplD.js} +4 -4
  138. package/dist/{fthry_index.umd.BhHG1ThX.js → fthry_index.umd.DLnl0brp.js} +1 -1
  139. package/dist/{fthry_index.DAdR6bYe.js → fthry_index.x66JmbiK.js} +2 -2
  140. package/dist/{fthry_input.Y2HVhQeo.js → fthry_input.BgzKGmQG.js} +1 -1
  141. package/dist/{fthry_mermaid-O7DHMXV3._Ng2DeVi.js → fthry_mermaid-O7DHMXV3.DehdVKQ3.js} +3 -3
  142. package/dist/{fthry_script.4cQVioC4.js → fthry_script.BcdCwqG3.js} +1 -1
  143. package/dist/{fthry_styles.DX0NUnVP.js → fthry_styles.DNxDElEh.js} +1 -1
  144. package/dist/{fthry_useElementSize.BCbe9jZd.js → fthry_useElementSize.DvHJBcIE.js} +1 -1
  145. package/dist/{fthry_useSalesforceSync.DJFGoBIG.js → fthry_useSalesforceSync.DHWXQkeF.js} +1 -1
  146. package/dist/{fthry_webfontloader.4kqCCEG_.js → fthry_webfontloader.C-DWZTL7.js} +1 -1
  147. package/dist/index.js +1 -1
  148. package/dist/utils/button.d.ts +2 -0
  149. package/dist/utils/button.d.ts.map +1 -0
  150. package/dist/utils/hideAndRepeats.d.ts.map +1 -1
  151. package/dist/utils/repeat.d.ts +5 -0
  152. package/dist/utils/repeat.d.ts.map +1 -1
  153. package/package.json +1 -1
  154. package/umd/AssistantChat.685c311fcfd51a09112e.js +1 -0
  155. package/umd/{TableElement.fef6a362cfa150f0f38e.js → TableElement.e3da137819e9b84b3b82.js} +1 -1
  156. package/umd/index.js +1 -1
  157. package/umd/AssistantChat.879f86967feffba1cc6f.js +0 -1
@@ -18198,6 +18198,21 @@ function getFieldsInRepeat(step, repeatContainer) {
18198
18198
  */
18199
18199
  function getContainerById(step, id) {
18200
18200
  return step.subgrids.find(function (subgrid) { return subgrid.id === id; });
18201
+ }
18202
+ /**
18203
+ * Number of rendered rows for a repeated field. If the trigger is 'set_value'
18204
+ * and the last row is not at default, the renderer shows an extra empty row.
18205
+ */
18206
+ function getServarRepeatNum(field, fieldValue) {
18207
+ var _a;
18208
+ if (!Array.isArray(fieldValue))
18209
+ return 0;
18210
+ var servar = (_a = field === null || field === void 0 ? void 0 : field.servar) !== null && _a !== void 0 ? _a : {};
18211
+ var hasDefaultLastValue = fieldValue.length > 0 &&
18212
+ fieldValue[fieldValue.length - 1] === getDefaultFieldValue(field);
18213
+ return servar.repeat_trigger === 'set_value' && !hasDefaultLastValue
18214
+ ? fieldValue.length + 1
18215
+ : fieldValue.length;
18201
18216
  }
18202
18217
 
18203
18218
  /**
@@ -18282,23 +18297,11 @@ var repeatCountByFields = function (step, repeatKey) {
18282
18297
  });
18283
18298
  var count = 0;
18284
18299
  repeatableServars.forEach(function (servar) {
18285
- count = Math.max(count, getServarRepeatNum(servar));
18300
+ var _a, _b;
18301
+ count = Math.max(count, getServarRepeatNum(servar, fieldValues[(_b = (_a = servar.servar) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : '']));
18286
18302
  });
18287
18303
  return count;
18288
18304
  };
18289
- // If the final value is still default, do not render another repeat
18290
- var getServarRepeatNum = function (node) {
18291
- var _a, _b;
18292
- var servar = (_a = node.servar) !== null && _a !== void 0 ? _a : {};
18293
- var fieldValue = fieldValues[(_b = servar.key) !== null && _b !== void 0 ? _b : ''];
18294
- if (!Array.isArray(fieldValue))
18295
- return 0;
18296
- var defaultValue = getDefaultFieldValue(node);
18297
- var hasDefaultLastValue = fieldValue[fieldValue.length - 1] === defaultValue;
18298
- return servar.repeat_trigger === 'set_value' && !hasDefaultLastValue
18299
- ? fieldValue.length + 1
18300
- : fieldValue.length;
18301
- };
18302
18305
  var stepElementTypes = [
18303
18306
  'subgrids',
18304
18307
  'texts',
@@ -22251,6 +22254,56 @@ function fieldAllowedFromList(allowLists, fieldKey) {
22251
22254
  return true;
22252
22255
  }
22253
22256
 
22257
+ function isButtonDisabled(button, activeStep, visiblePositions, readOnly) {
22258
+ var _a, _b, _c;
22259
+ var disabled = false;
22260
+ if ((_a = button === null || button === void 0 ? void 0 : button.properties) === null || _a === void 0 ? void 0 : _a.disable_if_fields_incomplete) {
22261
+ var fieldsMissingValue = getVisibleElements(activeStep, visiblePositions, ['servar_fields'], true).some(function (_a) {
22262
+ var element = _a.element, repeat = _a.repeat;
22263
+ if (isFieldActuallyRequired(element, activeStep)) {
22264
+ var servar = element.servar;
22265
+ var fieldVal = fieldValues[servar.key];
22266
+ if (servar.repeated)
22267
+ fieldVal = fieldVal[repeat];
22268
+ return isFieldValueEmpty(fieldVal, servar);
22269
+ }
22270
+ return false;
22271
+ });
22272
+ var storeElements = getVisibleElements(activeStep, visiblePositions, ['buttons', 'subgrids'], true)
22273
+ .map(function (_a) {
22274
+ var element = _a.element;
22275
+ return element;
22276
+ })
22277
+ .filter(function (_a) {
22278
+ var _b;
22279
+ var id = _a.id, properties = _a.properties;
22280
+ return id !== button.id &&
22281
+ ((_b = properties.actions) !== null && _b !== void 0 ? _b : []).some(function (action) {
22282
+ return action.type === ACTION_STORE_FIELD &&
22283
+ action.custom_store_field_key;
22284
+ });
22285
+ });
22286
+ var elementsHaveValues = storeElements.length === 0 ||
22287
+ storeElements.some(function (_a) {
22288
+ var _b;
22289
+ var properties = _a.properties;
22290
+ return ((_b = properties.actions) !== null && _b !== void 0 ? _b : []).some(function (action) {
22291
+ return action.type === ACTION_STORE_FIELD &&
22292
+ fieldValues[action.custom_store_field_key];
22293
+ });
22294
+ });
22295
+ disabled = fieldsMissingValue || !elementsHaveValues;
22296
+ }
22297
+ if (!disabled && readOnly) {
22298
+ var actions = (_c = (_b = button === null || button === void 0 ? void 0 : button.properties) === null || _b === void 0 ? void 0 : _b.actions) !== null && _c !== void 0 ? _c : [];
22299
+ var hasNav = actions.some(function (action) {
22300
+ return NAVIGATION_ACTIONS.includes(action.type);
22301
+ });
22302
+ disabled = !hasNav;
22303
+ }
22304
+ return disabled;
22305
+ }
22306
+
22254
22307
  var ADDRESS_FIELD_TYPES_MAP = new Set([
22255
22308
  'gmap_line_1',
22256
22309
  'gmap_line_2',
@@ -22326,10 +22379,10 @@ var getRelatedAddressValues = function (addressElement, activeStep, fieldValues,
22326
22379
  };
22327
22380
 
22328
22381
  var Element$1 = function (_a) {
22329
- var _b, _c, _d, _e, _f, _g;
22382
+ var _b, _c, _d, _e, _f;
22330
22383
  var el = _a.node, form = _a.form;
22331
22384
  var type = el.type;
22332
- var userProgress = form.userProgress, curDepth = form.curDepth, maxDepth = form.maxDepth, elementProps = form.elementProps, activeStep = form.activeStep, buttonLoaders = form.buttonLoaders, customClickSelectionState = form.customClickSelectionState, runElementActions = form.runElementActions, buttonOnClick = form.buttonOnClick, tableOnClick = form.tableOnClick, fieldOnChange = form.fieldOnChange, inlineErrors = form.inlineErrors, setInlineErrors = form.setInlineErrors, changeValue = form.changeValue, updateFieldValues = form.updateFieldValues, submitCustom = form.submitCustom, elementOnView = form.elementOnView, onViewElements = form.onViewElements, formSettings = form.formSettings, formRef = form.formRef, focusRef = form.focusRef, setCardElement = form.setCardElement, visiblePositions = form.visiblePositions, featheryContext = form.featheryContext;
22385
+ var userProgress = form.userProgress, curDepth = form.curDepth, maxDepth = form.maxDepth, elementProps = form.elementProps, activeStep = form.activeStep, buttonLoaders = form.buttonLoaders, customClickSelectionState = form.customClickSelectionState, runElementActions = form.runElementActions, buttonOnClick = form.buttonOnClick, tableOnClick = form.tableOnClick, fieldOnChange = form.fieldOnChange, inlineErrors = form.inlineErrors, setInlineErrors = form.setInlineErrors, changeValue = form.changeValue, updateFieldValues = form.updateFieldValues, submitCustom = form.submitCustom, elementOnView = form.elementOnView, onViewElements = form.onViewElements, formSettings = form.formSettings, formRef = form.formRef, focusRef = form.focusRef, setCardElement = form.setCardElement, visiblePositions = form.visiblePositions, featheryContext = form.featheryContext, assistantClient = form.assistantClient;
22333
22386
  var readOnly = formSettings.readOnly || initState.collaboratorReview === 'readOnly';
22334
22387
  var basicProps = {
22335
22388
  componentOnly: false,
@@ -22349,7 +22402,7 @@ var Element$1 = function (_a) {
22349
22402
  else if (type === 'video')
22350
22403
  return jsx$1(Elements.VideoElement, __assign({}, basicProps));
22351
22404
  else if (type === 'table')
22352
- return (jsx$1(Elements.TableElement, __assign({}, basicProps, { onClick: function (payload) { return tableOnClick(el, payload); }, updateFieldValues: updateFieldValues, submitCustom: submitCustom, buttonLoaders: buttonLoaders })));
22405
+ return (jsx$1(Elements.TableElement, __assign({}, basicProps, { onClick: function (payload) { return tableOnClick(el, payload); }, updateFieldValues: updateFieldValues, submitCustom: submitCustom, buttonLoaders: buttonLoaders, assistantClient: assistantClient })));
22353
22406
  else if (type === 'text')
22354
22407
  return (jsx$1(Elements.TextElement, __assign({ textSpanOnClick: function (textSpanStart, textSpanEnd) {
22355
22408
  var _a;
@@ -22362,53 +22415,7 @@ var Element$1 = function (_a) {
22362
22415
  });
22363
22416
  }, conditions: activeStep.next_conditions }, basicProps)));
22364
22417
  else if (type === 'button') {
22365
- var disabled = false;
22366
- if (el.properties.disable_if_fields_incomplete) {
22367
- var fieldsMissingValue = getVisibleElements(activeStep, visiblePositions, ['servar_fields'], true).some(function (_a) {
22368
- var element = _a.element, repeat = _a.repeat;
22369
- if (isFieldActuallyRequired(element, activeStep)) {
22370
- var servar = element.servar;
22371
- var fieldVal = fieldValues[servar.key];
22372
- if (servar.repeated)
22373
- fieldVal = fieldVal[repeat];
22374
- return isFieldValueEmpty(fieldVal, servar);
22375
- }
22376
- return false;
22377
- });
22378
- var storeElements = getVisibleElements(activeStep, visiblePositions, ['buttons', 'subgrids'], true)
22379
- .map(function (_a) {
22380
- var element = _a.element;
22381
- return element;
22382
- })
22383
- .filter(function (_a) {
22384
- var _b;
22385
- var id = _a.id, properties = _a.properties;
22386
- return id !== el.id &&
22387
- ((_b = properties.actions) !== null && _b !== void 0 ? _b : []).some(function (action) {
22388
- return action.type === ACTION_STORE_FIELD &&
22389
- action.custom_store_field_key;
22390
- });
22391
- });
22392
- var elementsHaveValues = storeElements.length === 0 || // Loose check via "some" since "requiredness" of click action
22393
- // elements can depend on use case
22394
- storeElements.some(function (_a) {
22395
- var _b;
22396
- var properties = _a.properties;
22397
- return ((_b = properties.actions) !== null && _b !== void 0 ? _b : []).some(function (action) {
22398
- return action.type === ACTION_STORE_FIELD &&
22399
- fieldValues[action.custom_store_field_key];
22400
- });
22401
- });
22402
- disabled = fieldsMissingValue || !elementsHaveValues;
22403
- }
22404
- if (!disabled && readOnly) {
22405
- var actions = (_d = el.properties.actions) !== null && _d !== void 0 ? _d : [];
22406
- var hasNav = actions.some(function (action) {
22407
- return NAVIGATION_ACTIONS.includes(action.type);
22408
- });
22409
- // Disable buttons not used for navigation
22410
- disabled = !hasNav;
22411
- }
22418
+ var disabled = isButtonDisabled(el, activeStep, visiblePositions, readOnly);
22412
22419
  var loaderData = buttonLoaders[el.id];
22413
22420
  if (isNum(loaderData === null || loaderData === void 0 ? void 0 : loaderData.repeat) && loaderData.repeat !== el.repeat)
22414
22421
  loaderData = null;
@@ -22420,7 +22427,7 @@ var Element$1 = function (_a) {
22420
22427
  }, disabled: disabled }, basicProps)));
22421
22428
  }
22422
22429
  else if (type === 'field') {
22423
- var index_1 = (_e = el.repeat) !== null && _e !== void 0 ? _e : null;
22430
+ var index_1 = (_d = el.repeat) !== null && _d !== void 0 ? _d : null;
22424
22431
  var servar_1 = el.servar;
22425
22432
  var fieldVal_1 = getFieldValue$1(el).value;
22426
22433
  var empty = !fieldVal_1 || fieldVal_1 === servar_1.metadata.default_value;
@@ -22604,7 +22611,7 @@ var Element$1 = function (_a) {
22604
22611
  if (field.servar.metadata.store_abbreviation)
22605
22612
  countryCode = value;
22606
22613
  else
22607
- countryCode = (_g = (_f = findCountryByID(value, 'name')) === null || _f === void 0 ? void 0 : _f.countryCode) !== null && _g !== void 0 ? _g : '';
22614
+ countryCode = (_f = (_e = findCountryByID(value, 'name')) === null || _e === void 0 ? void 0 : _e.countryCode) !== null && _f !== void 0 ? _f : '';
22608
22615
  }
22609
22616
  else
22610
22617
  countryCode = '';
@@ -40990,19 +40997,56 @@ function useTrackUserInteraction(formRef, activeStep, stepKey, formName) {
40990
40997
  }, [activeStep, stepKey, formName]);
40991
40998
  }
40992
40999
 
40993
- var LazyAssistantChat = lazy(function () { return import(/* webpackChunkName: "AssistantChat" */ './fthry_AssistantChat.D2SjzX88.js').then(function (n) { return n.A; }); });
41000
+ var LazyAssistantChat = lazy(function () { return import(/* webpackChunkName: "AssistantChat" */ './fthry_AssistantChat.D97z2Fjs.js').then(function (n) { return n.A; }); });
40994
41001
  var AssistantChat = function (props) { return (jsx$1(Suspense, __assign({ fallback: null }, { children: jsx$1(LazyAssistantChat, __assign({}, props)) }))); };
40995
41002
 
40996
41003
  var AssistantClient = /** @class */ (function () {
40997
- function AssistantClient(args) {
40998
- this._buttonOnClick = args.buttonOnClick;
40999
- this._runElementActions = args.runElementActions;
41004
+ function AssistantClient(callbacks) {
41005
+ this._tables = new Map();
41006
+ this._callbacks = callbacks;
41000
41007
  }
41008
+ AssistantClient.prototype.updateCallbacks = function (callbacks) {
41009
+ this._callbacks = callbacks;
41010
+ };
41001
41011
  AssistantClient.prototype.click = function (button) {
41002
- return this._buttonOnClick(button);
41012
+ return this._callbacks.buttonOnClick(button);
41003
41013
  };
41004
41014
  AssistantClient.prototype.runActions = function (args) {
41005
- return this._runElementActions(args);
41015
+ return this._callbacks.runElementActions(args);
41016
+ };
41017
+ AssistantClient.prototype.changeValue = function (value, field, index) {
41018
+ if (index === void 0) { index = null; }
41019
+ this._callbacks.changeValue(value, field, index);
41020
+ };
41021
+ AssistantClient.prototype.runTableAction = function (args) {
41022
+ return this._callbacks.tableOnClick(args.table, args.payload);
41023
+ };
41024
+ AssistantClient.prototype.registerTable = function (tableId, handlers) {
41025
+ this._tables.set(tableId, handlers);
41026
+ };
41027
+ AssistantClient.prototype.unregisterTable = function (tableId) {
41028
+ this._tables.delete(tableId);
41029
+ };
41030
+ AssistantClient.prototype.editTableCell = function (tableId, rowIndex, fieldKey, value) {
41031
+ var t = this._tables.get(tableId);
41032
+ if (!t)
41033
+ return false;
41034
+ t.handleCellEdit(fieldKey, rowIndex, value);
41035
+ return true;
41036
+ };
41037
+ AssistantClient.prototype.addTableRow = function (tableId) {
41038
+ var t = this._tables.get(tableId);
41039
+ if (!t)
41040
+ return false;
41041
+ t.handleAddRow();
41042
+ return true;
41043
+ };
41044
+ AssistantClient.prototype.deleteTableRow = function (tableId, rowIndex) {
41045
+ var t = this._tables.get(tableId);
41046
+ if (!t)
41047
+ return false;
41048
+ t.handleDeleteRow(rowIndex);
41049
+ return true;
41006
41050
  };
41007
41051
  return AssistantClient;
41008
41052
  }());
@@ -41038,30 +41082,31 @@ function preOpenIOSWindows(actions) {
41038
41082
  }
41039
41083
  function Form(_a) {
41040
41084
  var _this = this;
41041
- var _b;
41042
- var _internalId = _a._internalId, _c = _a._isAuthLoading, _isAuthLoading = _c === void 0 ? false : _c, _d = _a._bypassCDN, _bypassCDN = _d === void 0 ? false : _d, _e = _a._draft, _draft = _e === void 0 ? false : _e, _f = _a._pollFuserData, _pollFuserData = _f === void 0 ? false : _f, formIdProp = _a.formId, // The 'live' env slug
41043
- _g = _a.onChange, // The 'live' env slug
41044
- onChange = _g === void 0 ? null : _g, _h = _a.onLoad, onLoad = _h === void 0 ? null : _h, _j = _a.onFormLoad, onFormLoad = _j === void 0 ? null : _j, _k = _a.onFormComplete, onFormComplete = _k === void 0 ? null : _k, _l = _a.onSubmit, onSubmit = _l === void 0 ? null : _l, _m = _a.onError, onError = _m === void 0 ? null : _m, _o = _a.onView, onView = _o === void 0 ? null : _o, _p = _a.onAction, onAction = _p === void 0 ? null : _p, _q = _a.onViewElements, onViewElements = _q === void 0 ? [] : _q, _r = _a.saveUrlParams, saveUrlParams = _r === void 0 ? false : _r, _s = _a.hideTestUI, hideTestUI = _s === void 0 ? false : _s, _t = _a.initialValues, initialValues = _t === void 0 ? {} : _t, _u = _a.initialStepId, initialStepId = _u === void 0 ? '' : _u, language = _a.language, initialLoader = _a.initialLoader, popupOptions = _a.popupOptions, _v = _a.elementProps, elementProps = _v === void 0 ? {} : _v, contextRef = _a.contextRef, _w = _a.formProps, formProps = _w === void 0 ? {} : _w, _x = _a.customComponents, customComponents = _x === void 0 ? {} : _x, _y = _a.style, style = _y === void 0 ? {} : _y, _z = _a.className, className = _z === void 0 ? '' : _z, children = _a.children, _0 = _a.readOnly, readOnly = _0 === void 0 ? false : _0, hashNavigation = _a.hashNavigation;
41045
- var _1 = __read(useState(''), 2), formName = _1[0], setFormName = _1[1];
41046
- var _2 = __read(useState(formIdProp), 2), formId = _2[0], setFormId = _2[1];
41085
+ var _b, _c;
41086
+ var _internalId = _a._internalId, _d = _a._isAuthLoading, _isAuthLoading = _d === void 0 ? false : _d, _e = _a._bypassCDN, _bypassCDN = _e === void 0 ? false : _e, _f = _a._draft, _draft = _f === void 0 ? false : _f, _g = _a._pollFuserData, _pollFuserData = _g === void 0 ? false : _g, formIdProp = _a.formId, // The 'live' env slug
41087
+ _h = _a.onChange, // The 'live' env slug
41088
+ onChange = _h === void 0 ? null : _h, _j = _a.onLoad, onLoad = _j === void 0 ? null : _j, _k = _a.onFormLoad, onFormLoad = _k === void 0 ? null : _k, _l = _a.onFormComplete, onFormComplete = _l === void 0 ? null : _l, _m = _a.onSubmit, onSubmit = _m === void 0 ? null : _m, _o = _a.onError, onError = _o === void 0 ? null : _o, _p = _a.onView, onView = _p === void 0 ? null : _p, _q = _a.onAction, onAction = _q === void 0 ? null : _q, _r = _a.onViewElements, onViewElements = _r === void 0 ? [] : _r, _s = _a.saveUrlParams, saveUrlParams = _s === void 0 ? false : _s, _t = _a.hideTestUI, hideTestUI = _t === void 0 ? false : _t, _u = _a.initialValues, initialValues = _u === void 0 ? {} : _u, _v = _a.initialStepId, initialStepId = _v === void 0 ? '' : _v, language = _a.language, initialLoader = _a.initialLoader, popupOptions = _a.popupOptions, _w = _a.elementProps, elementProps = _w === void 0 ? {} : _w, contextRef = _a.contextRef, _x = _a.formProps, formProps = _x === void 0 ? {} : _x, _y = _a.customComponents, customComponents = _y === void 0 ? {} : _y, _z = _a.style, style = _z === void 0 ? {} : _z, _0 = _a.className, className = _0 === void 0 ? '' : _0, children = _a.children, _1 = _a.readOnly, readOnly = _1 === void 0 ? false : _1, hashNavigation = _a.hashNavigation;
41089
+ var _2 = __read(useState(''), 2), formName = _2[0], setFormName = _2[1];
41090
+ var _3 = __read(useState(formIdProp), 2), formId = _3[0], setFormId = _3[1];
41047
41091
  var clientRef = useRef(undefined);
41048
41092
  var client = clientRef.current;
41093
+ var assistantClientRef = useRef(undefined);
41049
41094
  var navigate = useNavigate();
41050
41095
  var location = useLocation();
41051
41096
  var session = initState.formSessions[formId];
41052
- var _3 = __read(useState(false), 2), autoValidate = _3[0], setAutoValidate = _3[1];
41053
- var _4 = __read(useState({}), 2), steps = _4[0], setSteps = _4[1];
41054
- var _5 = __read(useState(null), 2), activeStep = _5[0], setActiveStep = _5[1];
41055
- var _6 = __read(useState(''), 2), stepKey = _6[0], setStepKey = _6[1];
41056
- var _7 = __read(useState(false), 2), shouldScrollToTop = _7[0], setShouldScrollToTop = _7[1];
41097
+ var _4 = __read(useState(false), 2), autoValidate = _4[0], setAutoValidate = _4[1];
41098
+ var _5 = __read(useState({}), 2), steps = _5[0], setSteps = _5[1];
41099
+ var _6 = __read(useState(null), 2), activeStep = _6[0], setActiveStep = _6[1];
41100
+ var _7 = __read(useState(''), 2), stepKey = _7[0], setStepKey = _7[1];
41101
+ var _8 = __read(useState(false), 2), shouldScrollToTop = _8[0], setShouldScrollToTop = _8[1];
41057
41102
  var pendingScrollRef = useRef(null);
41058
- var _8 = __read(useState(false), 2), finished = _8[0], setFinished = _8[1];
41059
- var _9 = __read(useState(null), 2), userProgress = _9[0], setUserProgress = _9[1];
41060
- var _10 = __read(useState(0), 2), curDepth = _10[0], setCurDepth = _10[1];
41061
- var _11 = __read(useState(0), 2), maxDepth = _11[0], setMaxDepth = _11[1];
41103
+ var _9 = __read(useState(false), 2), finished = _9[0], setFinished = _9[1];
41104
+ var _10 = __read(useState(null), 2), userProgress = _10[0], setUserProgress = _10[1];
41105
+ var _11 = __read(useState(0), 2), curDepth = _11[0], setCurDepth = _11[1];
41106
+ var _12 = __read(useState(0), 2), maxDepth = _12[0], setMaxDepth = _12[1];
41062
41107
  // No state since off reason is set in two locations almost simultaneously
41063
41108
  var formOffReason = useRef('');
41064
- var _12 = __read(useState({
41109
+ var _13 = __read(useState({
41065
41110
  readOnly: readOnly,
41066
41111
  errorType: 'html5',
41067
41112
  autocomplete: 'on',
@@ -41080,21 +41125,21 @@ function Form(_a) {
41080
41125
  assistantEnabled: false,
41081
41126
  assistantColor: '#6b7280',
41082
41127
  assistantWorkflowActions: []
41083
- }), 2), formSettings = _12[0], setFormSettings = _12[1];
41128
+ }), 2), formSettings = _13[0], setFormSettings = _13[1];
41084
41129
  var trackHashes = useRef(false);
41085
41130
  var curLanguage = useRef(undefined);
41086
- var _13 = __read(useState([]), 2), fieldKeys = _13[0], setFieldKeys = _13[1];
41087
- var _14 = __read(useState({}), 2), hiddenFields = _14[0], setHiddenFields = _14[1];
41131
+ var _14 = __read(useState([]), 2), fieldKeys = _14[0], setFieldKeys = _14[1];
41132
+ var _15 = __read(useState({}), 2), hiddenFields = _15[0], setHiddenFields = _15[1];
41088
41133
  // Array of 2 elements. First is field whitelist, second is field blacklist
41089
- var _15 = __read(useState([null, null]), 2), allowLists = _15[0], setAllowLists = _15[1];
41090
- var _16 = __read(useState(), 2), connectorFields = _16[0], setConnectorFields = _16[1];
41091
- var _17 = __read(useState([]), 2), logicRules = _17[0], setLogicRules = _17[1];
41092
- var _18 = __read(useState([]), 2), sharedCodes = _18[0], setSharedCodes = _18[1];
41093
- var _19 = __read(useState({}), 2), inlineErrors = _19[0], setInlineErrors = _19[1];
41094
- var _20 = __read(useState(false), 2), setRepeatChanged = _20[1];
41095
- var _21 = __read(useState(null), 2), integrations = _21[0], setIntegrations = _21[1];
41134
+ var _16 = __read(useState([null, null]), 2), allowLists = _16[0], setAllowLists = _16[1];
41135
+ var _17 = __read(useState(), 2), connectorFields = _17[0], setConnectorFields = _17[1];
41136
+ var _18 = __read(useState([]), 2), logicRules = _18[0], setLogicRules = _18[1];
41137
+ var _19 = __read(useState([]), 2), sharedCodes = _19[0], setSharedCodes = _19[1];
41138
+ var _20 = __read(useState({}), 2), inlineErrors = _20[0], setInlineErrors = _20[1];
41139
+ var _21 = __read(useState(false), 2), setRepeatChanged = _21[1];
41140
+ var _22 = __read(useState(null), 2), integrations = _22[0], setIntegrations = _22[1];
41096
41141
  var flowCompleted = useRef(false);
41097
- var _22 = __read(useState(''), 2), requiredStepAction = _22[0], setRequiredStepAction = _22[1];
41142
+ var _23 = __read(useState(''), 2), requiredStepAction = _23[0], setRequiredStepAction = _23[1];
41098
41143
  var formLoadRan = useRef(false);
41099
41144
  // Lookup utility to find a servar (server field definition) by its key.
41100
41145
  // Needed because servars are nested within steps and may be across multiple steps,
@@ -41155,25 +41200,25 @@ function Form(_a) {
41155
41200
  ? 'Some file uploads are still pending. Please check your connection and try again.'
41156
41201
  : 'A file upload is still pending. Please check your connection and try again.');
41157
41202
  };
41158
- var _23 = __read(useState(function () {
41203
+ var _24 = __read(useState(function () {
41159
41204
  return getViewport(formSettings.mobileBreakpoint);
41160
- }), 2), viewport = _23[0], setViewport = _23[1];
41205
+ }), 2), viewport = _24[0], setViewport = _24[1];
41161
41206
  var prevAuthId = usePrevious(authState.authId);
41162
41207
  var prevStepKey = usePrevious(stepKey);
41163
41208
  // Set to trigger conditional renders on field value updates, no need to use the value itself
41164
- var _24 = __read(useState({ v: 1 }), 2), render = _24[0], setRender = _24[1];
41165
- var _25 = __read(useState(false), 2), showQuikFormViewer = _25[0], setShowQuikFormViewer = _25[1];
41166
- var _26 = __read(useState(''), 2), quikHTMLPayload = _26[0], setQuikHTMLPayload = _26[1];
41167
- var _27 = useFlinksConnect(), openFlinksConnect = _27.openFlinksConnect, flinksFrame = _27.flinksFrame;
41209
+ var _25 = __read(useState({ v: 1 }), 2), render = _25[0], setRender = _25[1];
41210
+ var _26 = __read(useState(false), 2), showQuikFormViewer = _26[0], setShowQuikFormViewer = _26[1];
41211
+ var _27 = __read(useState(''), 2), quikHTMLPayload = _27[0], setQuikHTMLPayload = _27[1];
41212
+ var _28 = useFlinksConnect(), openFlinksConnect = _28.openFlinksConnect, flinksFrame = _28.flinksFrame;
41168
41213
  // When the active step changes, recalculate the dimensions of the new step
41169
41214
  var stepCSS = useMemo(function () { return calculateStepCSS(activeStep); }, [activeStep]);
41170
- var _28 = __read(useState({
41215
+ var _29 = __read(useState({
41171
41216
  mode: 'current',
41172
41217
  isOpen: false,
41173
41218
  side: null,
41174
41219
  width: 0,
41175
41220
  isResizing: false
41176
- }), 2), assistantLayout = _28[0], setAssistantLayout = _28[1];
41221
+ }), 2), assistantLayout = _29[0], setAssistantLayout = _29[1];
41177
41222
  var handleAssistantLayoutChange = useCallback(function (state) { return setAssistantLayout(state); }, []);
41178
41223
  var assistantOffsetCSS = useMemo(function () {
41179
41224
  var _a;
@@ -41207,17 +41252,17 @@ function Form(_a) {
41207
41252
  client: client,
41208
41253
  _internalId: _internalId
41209
41254
  });
41210
- var _29 = __read(useState({}), 2), backNavMap = _29[0], setBackNavMap = _29[1];
41255
+ var _30 = __read(useState({}), 2), backNavMap = _30[0], setBackNavMap = _30[1];
41211
41256
  var updateBackNavMap = function (newNavs) {
41212
41257
  return newNavs && setBackNavMap(__assign(__assign({}, backNavMap), newNavs));
41213
41258
  };
41214
41259
  var formRef = useRef(null);
41215
- var _30 = useLoader({
41260
+ var _31 = useLoader({
41216
41261
  initialLoader: initialLoader,
41217
41262
  _isAuthLoading: _isAuthLoading,
41218
41263
  loaderBackgroundColor: stepCSS === null || stepCSS === void 0 ? void 0 : stepCSS.backgroundColor,
41219
41264
  formRef: formRef
41220
- }), clearLoaders = _30.clearLoaders, stepLoader = _30.stepLoader, buttonLoaders = _30.buttonLoaders, setLoaders = _30.setLoaders;
41265
+ }), clearLoaders = _31.clearLoaders, stepLoader = _31.stepLoader, buttonLoaders = _31.buttonLoaders, setLoaders = _31.setLoaders;
41221
41266
  // Completion loader helpers: keep the temporary completion loader scoped, reuse
41222
41267
  // designer-provided button loaders when present, and clear only our entry.
41223
41268
  var COMPLETION_LOADER_KEY = 'completionLoader';
@@ -41261,10 +41306,10 @@ function Form(_a) {
41261
41306
  return nextLoaders;
41262
41307
  });
41263
41308
  }, [setLoaders]);
41264
- var _31 = useAIExtractionToast(), currentActionExtractions = _31.currentActionExtractions, initializeActionExtractions = _31.initializeActionExtractions, updateExtractionInAction = _31.updateExtractionInAction, handleExtractionStatusUpdate = _31.handleExtractionStatusUpdate;
41265
- var _32 = useEnvelopeGenerationToast(), currentEnvelopeGeneration = _32.currentEnvelopeGeneration, initializeEnvelopeGeneration = _32.initializeEnvelopeGeneration, updateEnvelopeGeneration = _32.updateEnvelopeGeneration;
41309
+ var _32 = useAIExtractionToast(), currentActionExtractions = _32.currentActionExtractions, initializeActionExtractions = _32.initializeActionExtractions, updateExtractionInAction = _32.updateExtractionInAction, handleExtractionStatusUpdate = _32.handleExtractionStatusUpdate;
41310
+ var _33 = useEnvelopeGenerationToast(), currentEnvelopeGeneration = _33.currentEnvelopeGeneration, initializeEnvelopeGeneration = _33.initializeEnvelopeGeneration, updateEnvelopeGeneration = _33.updateEnvelopeGeneration;
41266
41311
  // Track ActionToast height for positioning WorkflowChat above it
41267
- var _33 = __read(useState(0), 2), actionToastHeight = _33[0], setActionToastHeight = _33[1];
41312
+ var _34 = __read(useState(0), 2), actionToastHeight = _34[0], setActionToastHeight = _34[1];
41268
41313
  var actionToastRef = useRef(null);
41269
41314
  var actionToastObserverRef = useRef(null);
41270
41315
  // Reset height when toast data becomes empty
@@ -41362,7 +41407,7 @@ function Form(_a) {
41362
41407
  setRequiredStepAction(requiredStepAction);
41363
41408
  }, [activeStep === null || activeStep === void 0 ? void 0 : activeStep.id]);
41364
41409
  // viewElements state
41365
- var _34 = __read(useState([]), 2), viewElements = _34[0], setViewElements = _34[1];
41410
+ var _35 = __read(useState([]), 2), viewElements = _35[0], setViewElements = _35[1];
41366
41411
  useEffect(function () {
41367
41412
  setViewElements(onViewElements);
41368
41413
  }, [onViewElements.length]);
@@ -41514,7 +41559,7 @@ function Form(_a) {
41514
41559
  return true;
41515
41560
  };
41516
41561
  // For audio AI only right now
41517
- var _35 = __read(useState(_pollFuserData), 2), pollFuserData = _35[0], setPollFuserData = _35[1];
41562
+ var _36 = __read(useState(_pollFuserData), 2), pollFuserData = _36[0], setPollFuserData = _36[1];
41518
41563
  usePollFuserData(pollFuserData, client, updateFieldValues);
41519
41564
  var eventCallbackMap = {
41520
41565
  change: onChange,
@@ -41669,12 +41714,6 @@ function Form(_a) {
41669
41714
  return runUserLogic('error', function () { return (__assign(__assign({}, props1), props2)); });
41670
41715
  };
41671
41716
  };
41672
- // keep internalState fresh
41673
- if (internalState[_internalId]) {
41674
- internalState[_internalId].setInlineErrors = setInlineErrors;
41675
- internalState[_internalId].inlineErrors = inlineErrors;
41676
- internalState[_internalId].logicRules = logicRules;
41677
- }
41678
41717
  var changeFormStep = function (newKey, oldKey, load) {
41679
41718
  var _a;
41680
41719
  var changed = changeStep(newKey, oldKey, steps, setStepKey, navigate, client, trackHashes.current);
@@ -41993,6 +42032,15 @@ function Form(_a) {
41993
42032
  }
41994
42033
  return visiblePositions;
41995
42034
  }, [activeStep, render, formSettings]);
42035
+ // keep internalState fresh
42036
+ if (internalState[_internalId]) {
42037
+ internalState[_internalId].setInlineErrors = setInlineErrors;
42038
+ internalState[_internalId].inlineErrors = inlineErrors;
42039
+ internalState[_internalId].logicRules = logicRules;
42040
+ if (visiblePositions) {
42041
+ internalState[_internalId].visiblePositions = visiblePositions;
42042
+ }
42043
+ }
41996
42044
  useEffect(function () {
41997
42045
  if (clientRef.current)
41998
42046
  return;
@@ -42329,7 +42377,7 @@ function Form(_a) {
42329
42377
  });
42330
42378
  }); };
42331
42379
  // usePayments (Stripe)
42332
- var _36 = __read(usePayments(), 2), getCardElement = _36[0], setCardElement = _36[1];
42380
+ var _37 = __read(usePayments(), 2), getCardElement = _37[0], setCardElement = _37[1];
42333
42381
  function setupStepPaymentMethod(formattedFields) {
42334
42382
  return __awaiter$2(this, void 0, void 0, function () {
42335
42383
  var i, field, integrationData, actionData, actionResult;
@@ -42664,7 +42712,7 @@ function Form(_a) {
42664
42712
  }
42665
42713
  return state;
42666
42714
  };
42667
- var _37 = useCheckButtonAction(setButtonLoader, clearLoaders), isButtonActionRunning = _37.isButtonActionRunning, updateButtonActionState = _37.updateButtonActionState, clearButtonActionState = _37.clearButtonActionState, setUserLogicRunning = _37.setUserLogicRunning;
42715
+ var _38 = useCheckButtonAction(setButtonLoader, clearLoaders), isButtonActionRunning = _38.isButtonActionRunning, updateButtonActionState = _38.updateButtonActionState, clearButtonActionState = _38.clearButtonActionState, setUserLogicRunning = _38.setUserLogicRunning;
42668
42716
  var buttonOnClick = function (button) { return __awaiter$2(_this, void 0, void 0, function () {
42669
42717
  var setButtonError, actions, preOpenedWindows, invalid, running, e_5;
42670
42718
  var _a;
@@ -43700,6 +43748,21 @@ function Form(_a) {
43700
43748
  }); }));
43701
43749
  }
43702
43750
  : undefined;
43751
+ if (internalState[_internalId]) {
43752
+ var callbacks = {
43753
+ buttonOnClick: buttonOnClick,
43754
+ runElementActions: runElementActions,
43755
+ tableOnClick: tableOnClick,
43756
+ changeValue: changeValue
43757
+ };
43758
+ if (assistantClientRef.current) {
43759
+ assistantClientRef.current.updateCallbacks(callbacks);
43760
+ }
43761
+ else {
43762
+ assistantClientRef.current = new AssistantClient(callbacks);
43763
+ internalState[_internalId].assistantClient = assistantClientRef.current;
43764
+ }
43765
+ }
43703
43766
  var form = {
43704
43767
  userProgress: userProgress,
43705
43768
  curDepth: curDepth,
@@ -43731,14 +43794,9 @@ function Form(_a) {
43731
43794
  setCardElement: setCardElement,
43732
43795
  visiblePositions: visiblePositions,
43733
43796
  calendly: (_b = integrations === null || integrations === void 0 ? void 0 : integrations.calendly) === null || _b === void 0 ? void 0 : _b.metadata,
43734
- featheryContext: getFormContext(_internalId)
43797
+ featheryContext: getFormContext(_internalId),
43798
+ assistantClient: (_c = internalState[_internalId]) === null || _c === void 0 ? void 0 : _c.assistantClient
43735
43799
  };
43736
- if (internalState[_internalId]) {
43737
- internalState[_internalId].assistantClient = new AssistantClient({
43738
- buttonOnClick: buttonOnClick,
43739
- runElementActions: runElementActions
43740
- });
43741
- }
43742
43800
  // If form was completed in a previous session and edits are disabled,
43743
43801
  // consider the form finished
43744
43802
  var anyFinished = finished || ((session === null || session === void 0 ? void 0 : session.form_completed) && !formSettings.allowEdits);
@@ -44980,7 +45038,7 @@ function loadSegment(segmentConfig, queue) {
44980
45038
  case 0:
44981
45039
  _a.trys.push([0, 2, , 3]);
44982
45040
  return [4 /*yield*/, import(
44983
- /* webpackChunkName: "segment" */ './fthry_index.Cn4kA2tn.js').then(function (n) { return n.q; })];
45041
+ /* webpackChunkName: "segment" */ './fthry_index.1SZZv9d2.js').then(function (n) { return n.q; })];
44984
45042
  case 1:
44985
45043
  (AnalyticsBrowserClass = (_a.sent()).AnalyticsBrowser);
44986
45044
  return [3 /*break*/, 3];
@@ -47615,9 +47673,9 @@ function init(sdkKey, options) {
47615
47673
  if (runningInClient()) {
47616
47674
  // Dynamically load libraries that must be client side
47617
47675
  global.scriptjsLoadPromise = import(
47618
- /* webpackChunkName: "scriptjs" */ './fthry_script.4cQVioC4.js').then(function (n) { return n.s; });
47676
+ /* webpackChunkName: "scriptjs" */ './fthry_script.BcdCwqG3.js').then(function (n) { return n.s; });
47619
47677
  global.webfontloaderPromise = import(
47620
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.4kqCCEG_.js').then(function (n) { return n.w; });
47678
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.C-DWZTL7.js').then(function (n) { return n.w; });
47621
47679
  // Client-side tracking logic
47622
47680
  if (initState.userTracking === 'cookie') {
47623
47681
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -47804,7 +47862,7 @@ function loadCompletedSteps(client) {
47804
47862
  });
47805
47863
  }
47806
47864
  function logFeatheryBadge() {
47807
- console.log('%c Feathery %c v' + "2.43.0" + ' ', // replaced with real version during build
47865
+ console.log('%c Feathery %c v' + "2.44.0" + ' ', // replaced with real version during build
47808
47866
  '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;');
47809
47867
  }
47810
47868
 
@@ -49319,64 +49377,64 @@ breakpoint) {
49319
49377
 
49320
49378
  var fieldLoaders = {
49321
49379
  AddressLine1: function () {
49322
- return import(/* webpackChunkName: "AddressField" */ './fthry_index.BDtWG5y-.js');
49380
+ return import(/* webpackChunkName: "AddressField" */ './fthry_index.CUY_p8do.js');
49323
49381
  },
49324
49382
  ButtonGroupField: function () {
49325
- return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.BALrl_Ek.js');
49383
+ return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.BJKDlrlW.js');
49326
49384
  },
49327
49385
  CheckboxField: function () {
49328
- return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.D2-zTdBQ.js');
49386
+ return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.DdgFKsos.js');
49329
49387
  },
49330
49388
  CheckboxGroupField: function () {
49331
- return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.4rXsgo8n.js');
49389
+ return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.C8LO6uJL.js');
49332
49390
  },
49333
49391
  ColorPickerField: function () {
49334
- return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.IaraEDTR.js');
49392
+ return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.0o3T2ouc.js');
49335
49393
  },
49336
49394
  CustomField: function () {
49337
- return import(/* webpackChunkName: "CustomField" */ './fthry_index.C9P7Vo6r.js');
49395
+ return import(/* webpackChunkName: "CustomField" */ './fthry_index.D1iW0N2t.js');
49338
49396
  },
49339
49397
  DateSelectorField: function () {
49340
- return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.BlrVY1vE.js');
49398
+ return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.ChUSP_4k.js');
49341
49399
  },
49342
49400
  DropdownField: function () {
49343
- return import(/* webpackChunkName: "DropdownField" */ './fthry_index.OgRdIE07.js');
49401
+ return import(/* webpackChunkName: "DropdownField" */ './fthry_index.DJRjeQWm.js');
49344
49402
  },
49345
49403
  DropdownMultiField: function () {
49346
- return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.DOGU2-kQ.js');
49404
+ return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.Csz_U1Oc.js');
49347
49405
  },
49348
49406
  FileUploadField: function () {
49349
- return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.DtHlcCDX.js');
49407
+ return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.Cqhg3Wmg.js');
49350
49408
  },
49351
49409
  MatrixField: function () {
49352
- return import(/* webpackChunkName: "MatrixField" */ './fthry_index.C8xVXq31.js');
49410
+ return import(/* webpackChunkName: "MatrixField" */ './fthry_index.CXn-UnK8.js');
49353
49411
  },
49354
49412
  PasswordField: function () {
49355
- return import(/* webpackChunkName: "PasswordField" */ './fthry_index.CB6eTYmX.js');
49413
+ return import(/* webpackChunkName: "PasswordField" */ './fthry_index.CIlxRQ4S.js');
49356
49414
  },
49357
49415
  PaymentMethodField: function () {
49358
- return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.Bl2Ce36L.js');
49416
+ return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField._G2uJ6Ks.js');
49359
49417
  },
49360
- PhoneField: function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.C-Af9t8c.js'); },
49418
+ PhoneField: function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.B6pEx1zI.js'); },
49361
49419
  PinInputField: function () {
49362
- return import(/* webpackChunkName: "PinInputField" */ './fthry_index.0DlQOa4l.js');
49420
+ return import(/* webpackChunkName: "PinInputField" */ './fthry_index.ClZUnlbG.js');
49363
49421
  },
49364
- QRScanner: function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.CS604ePK.js'); },
49422
+ QRScanner: function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.DuRVVFRL.js'); },
49365
49423
  RadioButtonGroupField: function () {
49366
49424
  return import(
49367
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.DzDuGB1B.js');
49425
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.C5BLw18G.js');
49368
49426
  },
49369
49427
  RatingField: function () {
49370
- return import(/* webpackChunkName: "RatingField" */ './fthry_index.D8_hWgYx.js');
49428
+ return import(/* webpackChunkName: "RatingField" */ './fthry_index.BpKf-eNy.js');
49371
49429
  },
49372
49430
  SignatureField: function () {
49373
- return import(/* webpackChunkName: "SignatureField" */ './fthry_index.D3O1Qvm3.js');
49431
+ return import(/* webpackChunkName: "SignatureField" */ './fthry_index.CubzFuFl.js');
49374
49432
  },
49375
49433
  SliderField: function () {
49376
- return import(/* webpackChunkName: "SliderField" */ './fthry_index.DFZRIGNF.js');
49434
+ return import(/* webpackChunkName: "SliderField" */ './fthry_index.BMzPHmtX.js');
49377
49435
  },
49378
- TextField: function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.Cd0JKkOc.js'); },
49379
- TextArea: function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.x_DcI6GR.js'); }
49436
+ TextField: function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.D4pTk5dr.js'); },
49437
+ TextArea: function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.XG1xyplD.js'); }
49380
49438
  };
49381
49439
  var getPositionKey = function (element) { var _a; return ((_a = element.position) === null || _a === void 0 ? void 0 : _a.join(',')) || 'root'; };
49382
49440
  // Share the resolved component between preload and render. A separate
@@ -50624,7 +50682,7 @@ function ElementSkeleton(_a) {
50624
50682
  }
50625
50683
  var templateObject_1;
50626
50684
 
50627
- var TableElement = lazy(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.DZviU_0h.js'); });
50685
+ var TableElement = lazy(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.BWH9S7pc.js'); });
50628
50686
  var Basic = {
50629
50687
  ImageElement: ImageElement,
50630
50688
  VideoElement: VideoElement,
@@ -50921,4 +50979,4 @@ var Feathery = {
50921
50979
  renderAt: renderAt
50922
50980
  };
50923
50981
 
50924
- export { MODAL_Z_INDEX as $, emailPatternStr as A, replaceTextVariables as B, getDefaultExportFromCjs as C, DROPDOWN_Z_INDEX as D, ErrorInput as E, FORM_Z_INDEX as F, Global as G, debounce as H, isEmptyArray as I, toList as J, useThumbnailData as K, __spreadArray as L, downloadFile as M, CloseIcon as N, justRemove as O, isNum as P, phoneLib as Q, authState as R, firebaseSMSCountries as S, phoneLibPromise as T, __values as U, loadQRScanner as V, throttle as W, qrPromise as X, devicePixelRatio as Y, toBase64 as Z, __assign as _, jsx$1 as a, dataURLToFile as a0, stringify$2 as a1, rulesheet as a2, COMMENT as a3, middleware as a4, RULESET as a5, combine as a6, match as a7, serialize as a8, copy as a9, initInfo as aA, getCookie as aB, v4$1 as aC, ReactForm as aD, Elements as aE, init as aF, updateUserId as aG, updateTheme as aH, getFieldValues as aI, renderAt as aJ, LoginForm as aK, useAuthClient as aL, AssistantChat as aM, Feathery as aN, StyledContainer as aO, replace as aa, WEBKIT as ab, MOZ as ac, MS as ad, KEYFRAMES as ae, DECLARATION as af, dealloc as ag, alloc as ah, hash as ai, charat as aj, strlen as ak, indexof as al, next as am, token as an, from as ao, peek as ap, delimit as aq, slice as ar, position as as, compile as at, __extends as au, formatDateString as av, internalState as aw, initState as ax, setFieldValues as ay, loadPhoneValidator as az, iosScrollOnFocus as b, __read as c, countryData as d, css as e, fieldValues as f, __makeTemplateObject as g, hoverStylesGuard as h, imgMaxSizeStyles as i, jsxs as j, __rest$1 as k, __awaiter$2 as l, __generator as m, noTextSelectStyles as n, FeatheryClient as o, featheryWindow as p, Fragment as q, resetStyles as r, isMobile as s, featheryDoc as t, useBorder as u, getStripe as v, filterKeys as w, ERROR_COLOR as x, getFieldValue$1 as y, stringifyWithNull as z };
50982
+ export { MODAL_Z_INDEX as $, emailPatternStr as A, replaceTextVariables as B, getDefaultExportFromCjs as C, DROPDOWN_Z_INDEX as D, ErrorInput as E, FORM_Z_INDEX as F, Global as G, debounce as H, isEmptyArray as I, toList as J, useThumbnailData as K, __spreadArray as L, downloadFile as M, CloseIcon as N, justRemove as O, isNum as P, phoneLib as Q, authState as R, firebaseSMSCountries as S, phoneLibPromise as T, __values as U, loadQRScanner as V, throttle as W, qrPromise as X, devicePixelRatio as Y, toBase64 as Z, __assign as _, jsx$1 as a, dataURLToFile as a0, stringify$2 as a1, rulesheet as a2, COMMENT as a3, middleware as a4, RULESET as a5, combine as a6, match as a7, serialize as a8, copy as a9, getRepeatedContainer as aA, getDefaultFieldValue as aB, isButtonDisabled as aC, loadPhoneValidator as aD, initInfo as aE, getCookie as aF, v4$1 as aG, ReactForm as aH, Elements as aI, init as aJ, updateUserId as aK, updateTheme as aL, setFieldValues as aM, getFieldValues as aN, renderAt as aO, LoginForm as aP, useAuthClient as aQ, AssistantChat as aR, Feathery as aS, StyledContainer as aT, replace as aa, WEBKIT as ab, MOZ as ac, MS as ad, KEYFRAMES as ae, DECLARATION as af, dealloc as ag, alloc as ah, hash as ai, charat as aj, strlen as ak, indexof as al, next as am, token as an, from as ao, peek as ap, delimit as aq, slice as ar, position as as, compile as at, __extends as au, formatDateString as av, internalState as aw, getPositionKey$1 as ax, initState as ay, getRepeatedContainers as az, iosScrollOnFocus as b, __read as c, countryData as d, css as e, fieldValues as f, __makeTemplateObject as g, hoverStylesGuard as h, imgMaxSizeStyles as i, jsxs as j, __rest$1 as k, __awaiter$2 as l, __generator as m, noTextSelectStyles as n, FeatheryClient as o, featheryWindow as p, Fragment as q, resetStyles as r, isMobile as s, featheryDoc as t, useBorder as u, getStripe as v, filterKeys as w, ERROR_COLOR as x, getFieldValue$1 as y, stringifyWithNull as z };