@feathery/react 2.30.0 → 2.32.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 (148) 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/index.d.ts +4 -8
  4. package/cjs/assistant/index.d.ts.map +1 -1
  5. package/cjs/assistant/utils.d.ts +23 -0
  6. package/cjs/assistant/utils.d.ts.map +1 -0
  7. package/cjs/elements/basic/TableElement/Actions.d.ts +3 -1
  8. package/cjs/elements/basic/TableElement/Actions.d.ts.map +1 -1
  9. package/cjs/elements/basic/TableElement/DeleteConfirm.d.ts +11 -0
  10. package/cjs/elements/basic/TableElement/DeleteConfirm.d.ts.map +1 -0
  11. package/cjs/elements/basic/TableElement/EditableCell.d.ts +10 -0
  12. package/cjs/elements/basic/TableElement/EditableCell.d.ts.map +1 -0
  13. package/cjs/elements/basic/TableElement/Search.d.ts.map +1 -1
  14. package/cjs/elements/basic/TableElement/index.d.ts +1 -1
  15. package/cjs/elements/basic/TableElement/index.d.ts.map +1 -1
  16. package/cjs/elements/basic/TableElement/styles.d.ts +221 -4
  17. package/cjs/elements/basic/TableElement/styles.d.ts.map +1 -1
  18. package/cjs/elements/basic/TableElement/useColumnWidths.d.ts +7 -0
  19. package/cjs/elements/basic/TableElement/useColumnWidths.d.ts.map +1 -0
  20. package/cjs/elements/basic/TableElement/useTableData.d.ts +6 -1
  21. package/cjs/elements/basic/TableElement/useTableData.d.ts.map +1 -1
  22. package/cjs/elements/basic/TableElement/useTableMutations.d.ts +23 -0
  23. package/cjs/elements/basic/TableElement/useTableMutations.d.ts.map +1 -0
  24. package/cjs/elements/components/icons/TrashIcon.d.ts +3 -0
  25. package/cjs/elements/components/icons/TrashIcon.d.ts.map +1 -0
  26. package/cjs/elements/components/icons/index.d.ts +2 -1
  27. package/cjs/elements/components/icons/index.d.ts.map +1 -1
  28. package/cjs/{fthry_FormControl._mBWRKs7.js → fthry_FormControl.BtNu9i-u.js} +1 -1
  29. package/cjs/{fthry_InlineTooltip.Ci88wpmH.js → fthry_InlineTooltip.DuFB8p7w.js} +2 -2
  30. package/cjs/{fthry_Overlay.EZR3dxIp.js → fthry_Overlay.DqGyzI8W.js} +1 -1
  31. package/cjs/{fthry_PaymentMethodField.D1qfT6ml.js → fthry_PaymentMethodField.D0kI1ZxS.js} +4 -4
  32. package/cjs/{fthry_Placeholder.CxuLPsF-.js → fthry_Placeholder.WRNgQX3l.js} +1 -1
  33. package/cjs/{fthry_ShowEyeIcon.B7ZyaGae.js → fthry_ShowEyeIcon.1seA7I1l.js} +1 -1
  34. package/cjs/{fthry_index.DRlPrDHk.js → fthry_index.B96nzeqy.js} +4 -4
  35. package/cjs/{fthry_index.qIj6fG9T.js → fthry_index.BEVaTA54.js} +3 -3
  36. package/cjs/{fthry_index.BS76NJIi.js → fthry_index.BI7CrYad.js} +2 -2
  37. package/cjs/{fthry_index.B29cmrSc.js → fthry_index.BM4ep-AK.js} +5 -5
  38. package/cjs/{fthry_index.Bm1hHYyX.js → fthry_index.BTKf9mxG.js} +1 -1
  39. package/cjs/{fthry_index.D1vI8h-g.js → fthry_index.B_-iRvUH.js} +4 -4
  40. package/cjs/{fthry_index.Dgwh7PEG.js → fthry_index.BccfyVDL.js} +6 -6
  41. package/cjs/{fthry_index.CatPMXS_.js → fthry_index.BhC7LkQw.js} +5 -5
  42. package/cjs/{fthry_index.sxVKbE6v.js → fthry_index.BvkC5P1Q.js} +6 -6
  43. package/cjs/{fthry_index.CA9rB_hE.js → fthry_index.C6CH7RhD.js} +8 -8
  44. package/cjs/{fthry_index.BYHaM6D3.js → fthry_index.C7hxyJ9f.js} +1 -1
  45. package/cjs/{fthry_index.BTEjXAoq.js → fthry_index.CBJimbrX.js} +5 -5
  46. package/cjs/{fthry_index.CUmRx79G.js → fthry_index.CGQA5QkX.js} +3 -3
  47. package/cjs/{fthry_index.DESk4H5E.js → fthry_index.CUO7vSY3.js} +4 -4
  48. package/cjs/{fthry_index.esjf5uCx.js → fthry_index.CiXHBkVl.js} +362 -53
  49. package/cjs/{fthry_index.B87qkPTe.js → fthry_index.D4RrBVB-.js} +1 -1
  50. package/cjs/{fthry_index.YrpKr9cF.js → fthry_index.DbijQ61t.js} +1 -1
  51. package/cjs/{fthry_index.DlbhlY21.js → fthry_index.DloMkPdT.js} +5 -5
  52. package/cjs/{fthry_index.CfL17UCN.js → fthry_index.J4GcA3vx.js} +1 -1
  53. package/cjs/{fthry_index.Cx9wY-d4.js → fthry_index.KbHjZiIM.js} +6 -6
  54. package/cjs/{fthry_index.DmfLe1_p.js → fthry_index.TK6Jx-jy.js} +1 -1
  55. package/cjs/{fthry_index.CJ_xssDe.js → fthry_index.WRjuuH9z.js} +1 -1
  56. package/cjs/{fthry_index.C2Hmw3MN.js → fthry_index.Z6a5kUfj.js} +527 -47
  57. package/cjs/{fthry_index.CZO8LB_A.js → fthry_index.oVFShAC8.js} +2 -2
  58. package/cjs/{fthry_input.DL5PaVNA.js → fthry_input.CUTC1cQr.js} +1 -1
  59. package/cjs/{fthry_script.Dx-T4xgR.js → fthry_script.DRtiXuhL.js} +1 -1
  60. package/cjs/{fthry_styles.lXVAR-s8.js → fthry_styles.MGVgRzzA.js} +1 -1
  61. package/cjs/{fthry_useElementSize.Di0_hIVc.js → fthry_useElementSize.DXcMVgAq.js} +1 -1
  62. package/cjs/{fthry_useSalesforceSync.BRclBQ5F.js → fthry_useSalesforceSync.C87PZunf.js} +1 -1
  63. package/cjs/{fthry_webfontloader.Cpo-BOVP.js → fthry_webfontloader.CVSP2Jc5.js} +1 -1
  64. package/cjs/index.d.ts +0 -1
  65. package/cjs/index.d.ts.map +1 -1
  66. package/cjs/index.js +1 -1
  67. package/dist/Form/grid/Element/index.d.ts.map +1 -1
  68. package/dist/Form/index.d.ts.map +1 -1
  69. package/dist/assistant/index.d.ts +4 -8
  70. package/dist/assistant/index.d.ts.map +1 -1
  71. package/dist/assistant/utils.d.ts +23 -0
  72. package/dist/assistant/utils.d.ts.map +1 -0
  73. package/dist/elements/basic/TableElement/Actions.d.ts +3 -1
  74. package/dist/elements/basic/TableElement/Actions.d.ts.map +1 -1
  75. package/dist/elements/basic/TableElement/DeleteConfirm.d.ts +11 -0
  76. package/dist/elements/basic/TableElement/DeleteConfirm.d.ts.map +1 -0
  77. package/dist/elements/basic/TableElement/EditableCell.d.ts +10 -0
  78. package/dist/elements/basic/TableElement/EditableCell.d.ts.map +1 -0
  79. package/dist/elements/basic/TableElement/Search.d.ts.map +1 -1
  80. package/dist/elements/basic/TableElement/index.d.ts +1 -1
  81. package/dist/elements/basic/TableElement/index.d.ts.map +1 -1
  82. package/dist/elements/basic/TableElement/styles.d.ts +221 -4
  83. package/dist/elements/basic/TableElement/styles.d.ts.map +1 -1
  84. package/dist/elements/basic/TableElement/useColumnWidths.d.ts +7 -0
  85. package/dist/elements/basic/TableElement/useColumnWidths.d.ts.map +1 -0
  86. package/dist/elements/basic/TableElement/useTableData.d.ts +6 -1
  87. package/dist/elements/basic/TableElement/useTableData.d.ts.map +1 -1
  88. package/dist/elements/basic/TableElement/useTableMutations.d.ts +23 -0
  89. package/dist/elements/basic/TableElement/useTableMutations.d.ts.map +1 -0
  90. package/dist/elements/components/icons/TrashIcon.d.ts +3 -0
  91. package/dist/elements/components/icons/TrashIcon.d.ts.map +1 -0
  92. package/dist/elements/components/icons/index.d.ts +2 -1
  93. package/dist/elements/components/icons/index.d.ts.map +1 -1
  94. package/dist/{fthry_FormControl.CGMmdVSc.js → fthry_FormControl.C9K2iuFX.js} +1 -1
  95. package/dist/{fthry_InlineTooltip.DIH2B37d.js → fthry_InlineTooltip.CQ84q5tx.js} +2 -2
  96. package/dist/{fthry_Overlay.Dms5dmjM.js → fthry_Overlay.CaTGHPrf.js} +1 -1
  97. package/dist/{fthry_PaymentMethodField.BnL3H5Wi.js → fthry_PaymentMethodField.CLy4llPE.js} +4 -4
  98. package/dist/{fthry_Placeholder.Iyh2B1Vg.js → fthry_Placeholder.C8DX1xTT.js} +1 -1
  99. package/dist/{fthry_ShowEyeIcon.fhgXiXP4.js → fthry_ShowEyeIcon.CLCEl1M3.js} +1 -1
  100. package/dist/{fthry_index.BYbi4yOb.js → fthry_index.8KDT5i8T.js} +4 -4
  101. package/dist/{fthry_index.C_xgfMIW.js → fthry_index.9-q7smC3.js} +3 -3
  102. package/dist/{fthry_index.BkMppX8l.js → fthry_index.B-oOxFi4.js} +528 -48
  103. package/dist/{fthry_index.B6oCJbWU.js → fthry_index.B260ADJ4.js} +5 -5
  104. package/dist/{fthry_index.BRU7YLIR.js → fthry_index.BZD_DEzj.js} +1 -1
  105. package/dist/{fthry_index.BOaXtIdq.js → fthry_index.BjpHx4_T.js} +5 -5
  106. package/dist/{fthry_index.C2gfdQbg.js → fthry_index.C1_uGweo.js} +1 -1
  107. package/dist/{fthry_index.DgW_Sk0D.js → fthry_index.C5zUlrOm.js} +1 -1
  108. package/dist/{fthry_index.DNgUGj0v.js → fthry_index.CLgjzDTi.js} +1 -1
  109. package/dist/{fthry_index.BB67IaKw.js → fthry_index.CYyOgKWx.js} +8 -8
  110. package/dist/{fthry_index.Cy3JGRX4.js → fthry_index.CeglQZhs.js} +1 -1
  111. package/dist/{fthry_index.DX4rqE80.js → fthry_index.CmpLevaj.js} +6 -6
  112. package/dist/{fthry_index.DOmt6TII.js → fthry_index.CqNn14xm.js} +6 -6
  113. package/dist/{fthry_index.BSFJ3j16.js → fthry_index.DKYX71gD.js} +4 -4
  114. package/dist/{fthry_index.DBZUNt6w.js → fthry_index.DQsvec3-.js} +3 -3
  115. package/dist/{fthry_index.BkscK5im.js → fthry_index.Ddf14JA6.js} +363 -54
  116. package/dist/{fthry_index.C40AmEzu.js → fthry_index.DmcD0QUi.js} +1 -1
  117. package/dist/{fthry_index.CRvWHGpG.js → fthry_index.DoGwIkbA.js} +6 -6
  118. package/dist/{fthry_index.CxmqmKxy.js → fthry_index.DqKZq0Ur.js} +4 -4
  119. package/dist/{fthry_index.B2Y9eDOP.js → fthry_index.WnliJHmX.js} +2 -2
  120. package/dist/{fthry_index.BLyrEbs8.js → fthry_index.hyYvw_PS.js} +1 -1
  121. package/dist/{fthry_index.BtNQk9j_.js → fthry_index.kP74GhA8.js} +5 -5
  122. package/dist/{fthry_index.fnKZHN9M.js → fthry_index.qJQlILVx.js} +5 -5
  123. package/dist/{fthry_index.B5mf0ZCq.js → fthry_index.ty8LJs-R.js} +2 -2
  124. package/dist/{fthry_input.BGGtX-3o.js → fthry_input.DjzutNam.js} +1 -1
  125. package/dist/{fthry_script.Dqr52s2y.js → fthry_script.DO2CsvZO.js} +1 -1
  126. package/dist/{fthry_styles.BY3ne7eH.js → fthry_styles.Ccd48IiB.js} +1 -1
  127. package/dist/{fthry_useElementSize.OjCA2DBM.js → fthry_useElementSize.C-0G4BJy.js} +1 -1
  128. package/dist/{fthry_useSalesforceSync.C09-2TZ5.js → fthry_useSalesforceSync.B6wBqJLI.js} +1 -1
  129. package/dist/{fthry_webfontloader.DIwhNN5h.js → fthry_webfontloader.MZhbLTEd.js} +1 -1
  130. package/dist/index.d.ts +0 -1
  131. package/dist/index.d.ts.map +1 -1
  132. package/dist/index.js +1 -1
  133. package/package.json +1 -1
  134. package/umd/{277.d9907ecd5dc2117c9171.js → 277.87e6ca5c1cf2a7477992.js} +1 -1
  135. package/umd/{509.a863f8749c28540476bb.js → 509.bca2ff43c66b1dba064f.js} +2 -2
  136. package/umd/{AddressField.ec97334fe233830bc05b.js → AddressField.2d777eda22a67a0ed3a3.js} +1 -1
  137. package/umd/{DateSelectorField.00f321e0b1972feb9d69.js → DateSelectorField.54afc978d2fd9d10b106.js} +1 -1
  138. package/umd/{FileUploadField.ea0067dd62b0454b7c2e.js → FileUploadField.7a5028fb6035d09b3e81.js} +1 -1
  139. package/umd/{PasswordField.1358356d6fbc6880f12a.js → PasswordField.7585ef588333cb4181f7.js} +1 -1
  140. package/umd/{PaymentMethodField.9a8e934f7450eb141217.js → PaymentMethodField.d08bcfa1efb56084572d.js} +1 -1
  141. package/umd/{PhoneField.c526085aaa5ccd25e982.js → PhoneField.19c987f04cfcb60ab07c.js} +1 -1
  142. package/umd/{SignatureField.d710930ca89642eb651c.js → SignatureField.0e7d60fa2fafcb6be554.js} +1 -1
  143. package/umd/TableElement.b9bb3cedf1a75fd2ea01.js +1 -0
  144. package/umd/{TextArea.f566845d458d4c00e0e7.js → TextArea.7cca0d69e618846660c5.js} +1 -1
  145. package/umd/{TextField.5a5296fe3ea60c4459f2.js → TextField.f5cc4a03e69d5872027b.js} +1 -1
  146. package/umd/index.js +1 -1
  147. package/umd/TableElement.ee77e0f53a9ccac846ab.js +0 -1
  148. /package/umd/{509.a863f8749c28540476bb.js.LICENSE.txt → 509.bca2ff43c66b1dba064f.js.LICENSE.txt} +0 -0
@@ -20955,7 +20955,7 @@ var Element$1 = function (_a) {
20955
20955
  var _b, _c, _d, _e, _f, _g;
20956
20956
  var el = _a.node, form = _a.form;
20957
20957
  var type = el.type;
20958
- 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, elementOnView = form.elementOnView, onViewElements = form.onViewElements, formSettings = form.formSettings, formRef = form.formRef, focusRef = form.focusRef, setCardElement = form.setCardElement, visiblePositions = form.visiblePositions, featheryContext = form.featheryContext;
20958
+ 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;
20959
20959
  var readOnly = formSettings.readOnly || initState.collaboratorReview === 'readOnly';
20960
20960
  var basicProps = {
20961
20961
  componentOnly: false,
@@ -20975,7 +20975,7 @@ var Element$1 = function (_a) {
20975
20975
  else if (type === 'video')
20976
20976
  return jsx$1(Elements.VideoElement, __assign({}, basicProps));
20977
20977
  else if (type === 'table')
20978
- return (jsx$1(Elements.TableElement, __assign({}, basicProps, { onClick: function (payload) { return tableOnClick(el, payload); }, buttonLoaders: buttonLoaders })));
20978
+ return (jsx$1(Elements.TableElement, __assign({}, basicProps, { onClick: function (payload) { return tableOnClick(el, payload); }, updateFieldValues: updateFieldValues, submitCustom: submitCustom, buttonLoaders: buttonLoaders })));
20979
20979
  else if (type === 'text')
20980
20980
  return (jsx$1(Elements.TextElement, __assign({ textSpanOnClick: function (textSpanStart, textSpanEnd) {
20981
20981
  var _a;
@@ -39811,9 +39811,15 @@ function Form(_a) {
39811
39811
  var transport = useMemo(function () {
39812
39812
  var _a = initInfo(), sdkKey = _a.sdkKey, userId = _a.userId;
39813
39813
  return {
39814
- url: "".concat(API_URL, "ai/assistant/chat/"),
39815
- headers: { Authorization: "Token ".concat(sdkKey) },
39816
- body: { form_id: formId, fuser_key: userId }
39814
+ url: "".concat(API_URL, "ai/assistant/"),
39815
+ headers: function () {
39816
+ var sessionJwt = getCookie('feathery_session_token');
39817
+ return {
39818
+ Authorization: "Token ".concat(sdkKey),
39819
+ 'X-Feathery-Session': sessionJwt
39820
+ };
39821
+ },
39822
+ body: { form_key: formId, fuser_key: userId }
39817
39823
  };
39818
39824
  }, [formId]);
39819
39825
  var extractedSharedCodeInfo = useMemo(function () {
@@ -42224,6 +42230,7 @@ function Form(_a) {
42224
42230
  return changeFormStep(nextStepKey, activeStep.key, false);
42225
42231
  },
42226
42232
  updateFieldValues: updateFieldValues,
42233
+ submitCustom: function (values) { return client === null || client === void 0 ? void 0 : client.submitCustom(values); },
42227
42234
  elementOnView: elementOnView,
42228
42235
  onViewElements: viewElements,
42229
42236
  formSettings: formSettings,
@@ -46103,9 +46110,9 @@ function init(sdkKey, options) {
46103
46110
  if (runningInClient()) {
46104
46111
  // Dynamically load libraries that must be client side
46105
46112
  global.scriptjsLoadPromise = import(
46106
- /* webpackChunkName: "scriptjs" */ './fthry_script.Dqr52s2y.js').then(function (n) { return n.s; });
46113
+ /* webpackChunkName: "scriptjs" */ './fthry_script.DO2CsvZO.js').then(function (n) { return n.s; });
46107
46114
  global.webfontloaderPromise = import(
46108
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.DIwhNN5h.js').then(function (n) { return n.w; });
46115
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.MZhbLTEd.js').then(function (n) { return n.w; });
46109
46116
  // Client-side tracking logic
46110
46117
  if (initState.userTracking === 'cookie') {
46111
46118
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -46251,7 +46258,7 @@ function getFieldValues() {
46251
46258
  return __assign({}, fieldValues);
46252
46259
  }
46253
46260
  function logFeatheryBadge() {
46254
- console.log('%c Feathery %c v' + "2.30.0" + ' ', // replaced with real version during build
46261
+ console.log('%c Feathery %c v' + "2.32.0" + ' ', // replaced with real version during build
46255
46262
  '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;');
46256
46263
  }
46257
46264
 
@@ -47733,39 +47740,39 @@ breakpoint) {
47733
47740
  return styles.getTarget('inner-container', undefined, viewport === 'mobile');
47734
47741
  };
47735
47742
 
47736
- var AddressLine1 = lazy$1(function () { return import(/* webpackChunkName: "AddressField" */ './fthry_index.B6oCJbWU.js'); });
47737
- var ButtonGroupField = lazy$1(function () { return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.BSFJ3j16.js'); });
47738
- var CheckboxField = lazy$1(function () { return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.Cy3JGRX4.js'); });
47743
+ var AddressLine1 = lazy$1(function () { return import(/* webpackChunkName: "AddressField" */ './fthry_index.B260ADJ4.js'); });
47744
+ var ButtonGroupField = lazy$1(function () { return import(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.DKYX71gD.js'); });
47745
+ var CheckboxField = lazy$1(function () { return import(/* webpackChunkName: "CheckboxField" */ './fthry_index.CeglQZhs.js'); });
47739
47746
  var CheckboxGroupField = lazy$1(function () {
47740
- return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.DX4rqE80.js');
47747
+ return import(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.CmpLevaj.js');
47741
47748
  });
47742
- var ColorPickerField = lazy$1(function () { return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.BRU7YLIR.js'); });
47743
- var CustomField = lazy$1(function () { return import(/* webpackChunkName: "CustomField" */ './fthry_index.BLyrEbs8.js'); });
47749
+ var ColorPickerField = lazy$1(function () { return import(/* webpackChunkName: "ColorPickerField" */ './fthry_index.BZD_DEzj.js'); });
47750
+ var CustomField = lazy$1(function () { return import(/* webpackChunkName: "CustomField" */ './fthry_index.hyYvw_PS.js'); });
47744
47751
  var DateSelectorField = lazy$1(function () {
47745
- return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.DOmt6TII.js');
47752
+ return import(/* webpackChunkName: "DateSelectorField" */ './fthry_index.CqNn14xm.js');
47746
47753
  });
47747
- var DropdownField = lazy$1(function () { return import(/* webpackChunkName: "DropdownField" */ './fthry_index.BYbi4yOb.js'); });
47754
+ var DropdownField = lazy$1(function () { return import(/* webpackChunkName: "DropdownField" */ './fthry_index.8KDT5i8T.js'); });
47748
47755
  var DropdownMultiField = lazy$1(function () {
47749
- return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.BOaXtIdq.js');
47756
+ return import(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.BjpHx4_T.js');
47750
47757
  });
47751
- var FileUploadField = lazy$1(function () { return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.C40AmEzu.js'); });
47752
- var MatrixField = lazy$1(function () { return import(/* webpackChunkName: "MatrixField" */ './fthry_index.C_xgfMIW.js'); });
47753
- var PasswordField = lazy$1(function () { return import(/* webpackChunkName: "PasswordField" */ './fthry_index.BtNQk9j_.js'); });
47758
+ var FileUploadField = lazy$1(function () { return import(/* webpackChunkName: "FileUploadField" */ './fthry_index.DmcD0QUi.js'); });
47759
+ var MatrixField = lazy$1(function () { return import(/* webpackChunkName: "MatrixField" */ './fthry_index.9-q7smC3.js'); });
47760
+ var PasswordField = lazy$1(function () { return import(/* webpackChunkName: "PasswordField" */ './fthry_index.kP74GhA8.js'); });
47754
47761
  var PaymentMethodField = lazy$1(function () {
47755
- return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.BnL3H5Wi.js');
47762
+ return import(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.CLy4llPE.js');
47756
47763
  });
47757
- var PhoneField = lazy$1(function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.fnKZHN9M.js'); });
47758
- var PinInputField = lazy$1(function () { return import(/* webpackChunkName: "PinInputField" */ './fthry_index.C2gfdQbg.js'); });
47759
- var QRScanner = lazy$1(function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.B5mf0ZCq.js'); });
47764
+ var PhoneField = lazy$1(function () { return import(/* webpackChunkName: "PhoneField" */ './fthry_index.qJQlILVx.js'); });
47765
+ var PinInputField = lazy$1(function () { return import(/* webpackChunkName: "PinInputField" */ './fthry_index.C1_uGweo.js'); });
47766
+ var QRScanner = lazy$1(function () { return import(/* webpackChunkName: "QRScanner" */ './fthry_index.ty8LJs-R.js'); });
47760
47767
  var RadioButtonGroupField = lazy$1(function () {
47761
47768
  return import(
47762
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.CRvWHGpG.js');
47769
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.DoGwIkbA.js');
47763
47770
  });
47764
- var RatingField = lazy$1(function () { return import(/* webpackChunkName: "RatingField" */ './fthry_index.DNgUGj0v.js'); });
47765
- var SignatureField = lazy$1(function () { return import(/* webpackChunkName: "SignatureField" */ './fthry_index.DBZUNt6w.js'); });
47766
- var SliderField = lazy$1(function () { return import(/* webpackChunkName: "SliderField" */ './fthry_index.B2Y9eDOP.js'); });
47767
- var TextField = lazy$1(function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.BB67IaKw.js'); });
47768
- var TextArea = lazy$1(function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.CxmqmKxy.js'); });
47771
+ var RatingField = lazy$1(function () { return import(/* webpackChunkName: "RatingField" */ './fthry_index.CLgjzDTi.js'); });
47772
+ var SignatureField = lazy$1(function () { return import(/* webpackChunkName: "SignatureField" */ './fthry_index.DQsvec3-.js'); });
47773
+ var SliderField = lazy$1(function () { return import(/* webpackChunkName: "SliderField" */ './fthry_index.WnliJHmX.js'); });
47774
+ var TextField = lazy$1(function () { return import(/* webpackChunkName: "TextField" */ './fthry_index.CYyOgKWx.js'); });
47775
+ var TextArea = lazy$1(function () { return import(/* webpackChunkName: "TextArea" */ './fthry_index.DqKZq0Ur.js'); });
47769
47776
  var Fields = {
47770
47777
  AddressLine1: AddressLine1,
47771
47778
  ButtonGroupField: ButtonGroupField,
@@ -48715,7 +48722,7 @@ function ElementSkeleton(_a) {
48715
48722
  }
48716
48723
  var templateObject_1;
48717
48724
 
48718
- var TableElement = lazy$1(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.BkMppX8l.js'); });
48725
+ var TableElement = lazy$1(function () { return import(/* webpackChunkName: "TableElement" */ './fthry_index.B-oOxFi4.js'); });
48719
48726
  var Basic = {
48720
48727
  ImageElement: ImageElement,
48721
48728
  VideoElement: VideoElement,
@@ -58672,34 +58679,261 @@ var MarkdownText = memo(function (_a) {
58672
58679
  });
58673
58680
  MarkdownText.displayName = 'MarkdownText';
58674
58681
 
58682
+ var toQueryString = function (params) {
58683
+ var filtered = Object.entries(params)
58684
+ .filter(function (_a) {
58685
+ var _b = __read(_a, 2), v = _b[1];
58686
+ return v !== undefined && v !== null;
58687
+ })
58688
+ .map(function (_a) {
58689
+ var _b = __read(_a, 2), k = _b[0], v = _b[1];
58690
+ return [k, String(v)];
58691
+ });
58692
+ if (!filtered.length)
58693
+ return '';
58694
+ return '?' + new URLSearchParams(filtered).toString();
58695
+ };
58696
+ var getThreadList = function (transport) { return __awaiter$2(void 0, void 0, void 0, function () {
58697
+ var threadsUrl, res;
58698
+ return __generator(this, function (_a) {
58699
+ switch (_a.label) {
58700
+ case 0:
58701
+ threadsUrl = "".concat(transport.url, "threads/").concat(toQueryString(transport.body));
58702
+ return [4 /*yield*/, fetch(threadsUrl, {
58703
+ headers: transport.headers()
58704
+ })];
58705
+ case 1:
58706
+ res = _a.sent();
58707
+ if (!res.ok)
58708
+ return [2 /*return*/, null];
58709
+ return [2 /*return*/, res.json()];
58710
+ }
58711
+ });
58712
+ }); };
58713
+ var getThreadDetail = function (transport, threadId) { return __awaiter$2(void 0, void 0, void 0, function () {
58714
+ var threadsUrl, res;
58715
+ return __generator(this, function (_a) {
58716
+ switch (_a.label) {
58717
+ case 0:
58718
+ threadsUrl = "".concat(transport.url, "threads/").concat(threadId, "/").concat(toQueryString(transport.body));
58719
+ return [4 /*yield*/, fetch(threadsUrl, {
58720
+ headers: transport.headers()
58721
+ })];
58722
+ case 1:
58723
+ res = _a.sent();
58724
+ if (!res.ok)
58725
+ return [2 /*return*/, null];
58726
+ return [2 /*return*/, res.json()];
58727
+ }
58728
+ });
58729
+ }); };
58730
+ var deleteThread = function (transport, threadId) { return __awaiter$2(void 0, void 0, void 0, function () {
58731
+ var threadsUrl;
58732
+ return __generator(this, function (_a) {
58733
+ switch (_a.label) {
58734
+ case 0:
58735
+ threadsUrl = "".concat(transport.url, "threads/").concat(threadId, "/").concat(toQueryString(transport.body));
58736
+ return [4 /*yield*/, fetch(threadsUrl, {
58737
+ method: 'DELETE',
58738
+ headers: transport.headers()
58739
+ })];
58740
+ case 1:
58741
+ _a.sent();
58742
+ return [2 /*return*/];
58743
+ }
58744
+ });
58745
+ }); };
58746
+
58675
58747
  var FAB_SIZE = 56;
58676
58748
  var PANEL_WIDTH = 380;
58677
58749
  var PANEL_HEIGHT = 500;
58678
58750
  var AssistantChat = function (_a) {
58679
- var transport = _a.transport, _b = _a.bottom, bottom = _b === void 0 ? 20 : _b, color = _a.color;
58680
- var _c = __read(useState(false), 2), isOpen = _c[0], setIsOpen = _c[1];
58681
- var _d = __read(useState(''), 2), input = _d[0], setInput = _d[1];
58751
+ var _b, _c;
58752
+ var transport = _a.transport, _d = _a.bottom, bottom = _d === void 0 ? 20 : _d, color = _a.color;
58753
+ var _e = __read(useState(false), 2), isOpen = _e[0], setIsOpen = _e[1];
58754
+ var _f = __read(useState(''), 2), input = _f[0], setInput = _f[1];
58755
+ var _g = __read(useState([]), 2), threads = _g[0], setThreads = _g[1];
58756
+ var _h = __read(useState(null), 2), activeThreadId = _h[0], setActiveThreadId = _h[1];
58757
+ var _j = __read(useState(false), 2), isDropdownOpen = _j[0], setIsDropdownOpen = _j[1];
58682
58758
  var messagesEndRef = useRef(null);
58683
58759
  var colors = useMemo(function () { return getChatColors(color || DEFAULT_CHAT_COLOR); }, [color]);
58684
- // Memoize transport to avoid recreating on every render
58685
- var chatTransport = useMemo(function () {
58686
- return new DefaultChatTransport({
58687
- api: transport.url,
58760
+ var makeChat = function (threadId, initialMessages) {
58761
+ if (initialMessages === void 0) { initialMessages = []; }
58762
+ var resolvedThreadId = threadId;
58763
+ var chatTransport = new DefaultChatTransport({
58764
+ api: "".concat(transport.url, "chat/"),
58688
58765
  headers: transport.headers,
58689
- body: transport.body
58766
+ body: function () { return (__assign(__assign({}, transport.body), { thread_id: resolvedThreadId || null })); },
58767
+ fetch: function (url, init) { return __awaiter$2(void 0, void 0, void 0, function () {
58768
+ var res, threadId;
58769
+ return __generator(this, function (_a) {
58770
+ switch (_a.label) {
58771
+ case 0: return [4 /*yield*/, fetch(url, init)];
58772
+ case 1:
58773
+ res = _a.sent();
58774
+ threadId = res.headers.get('X-Thread-Id');
58775
+ if (threadId && !resolvedThreadId) {
58776
+ resolvedThreadId = threadId;
58777
+ setThreads(function (prev) {
58778
+ return prev.map(function (t) {
58779
+ return t.chat === chat ? __assign(__assign({}, t), { id: threadId, isTemporary: false }) : t;
58780
+ });
58781
+ });
58782
+ setActiveThreadId(threadId);
58783
+ getThreadDetail(transport, threadId).then(function (t) {
58784
+ if (t)
58785
+ setThreads(function (prev) {
58786
+ return prev.map(function (thread) {
58787
+ return thread.id === threadId ? __assign(__assign({}, t), { chat: chat }) : thread;
58788
+ });
58789
+ });
58790
+ });
58791
+ }
58792
+ return [2 /*return*/, res];
58793
+ }
58794
+ });
58795
+ }); }
58796
+ });
58797
+ var chat = new Chat({
58798
+ transport: chatTransport,
58799
+ messages: initialMessages,
58800
+ onFinish: function (_a) {
58801
+ var isAbort = _a.isAbort, isError = _a.isError;
58802
+ if (isAbort || isError || !resolvedThreadId)
58803
+ return;
58804
+ setThreads(function (prev) {
58805
+ var thread = prev.find(function (t) { return t.id === resolvedThreadId; });
58806
+ if (!thread)
58807
+ return prev;
58808
+ return __spreadArray([
58809
+ __assign(__assign({}, thread), { updated_at: new Date().toISOString() })
58810
+ ], __read(prev.filter(function (t) { return t.id !== resolvedThreadId; })), false);
58811
+ });
58812
+ }
58690
58813
  });
58691
- }, [transport]);
58814
+ return chat;
58815
+ };
58816
+ var readyChat = useMemo(function () { return makeChat(null); }, [transport]);
58817
+ var activeThread = threads.find(function (t) { return t.id === activeThreadId; });
58818
+ var activeChat = (_b = activeThread === null || activeThread === void 0 ? void 0 : activeThread.chat) !== null && _b !== void 0 ? _b : readyChat;
58692
58819
  // @ts-ignore
58693
- var _e = useChat({
58694
- transport: chatTransport
58695
- }), messages = _e.messages, sendMessage = _e.sendMessage, status = _e.status, error = _e.error;
58820
+ var _k = useChat({
58821
+ chat: activeChat
58822
+ }), messages = _k.messages, sendMessage = _k.sendMessage, status = _k.status, error = _k.error;
58696
58823
  // TODO: Implement smooth scroll takeover - stop auto-scroll when user scrolls up
58697
58824
  useEffect(function () {
58698
58825
  var _a;
58699
58826
  (_a = messagesEndRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' });
58700
58827
  }, [messages]);
58828
+ var fetchThreads = useCallback(function () { return __awaiter$2(void 0, void 0, void 0, function () {
58829
+ var data;
58830
+ return __generator(this, function (_a) {
58831
+ switch (_a.label) {
58832
+ case 0: return [4 /*yield*/, getThreadList(transport)];
58833
+ case 1:
58834
+ data = _a.sent();
58835
+ if (!data)
58836
+ return [2 /*return*/];
58837
+ setThreads(function (prev) { return __spreadArray(__spreadArray([], __read(data.map(function (d) {
58838
+ var _a;
58839
+ return (__assign(__assign({}, d), { chat: (_a = prev.find(function (p) { return p.id === d.id; })) === null || _a === void 0 ? void 0 : _a.chat }));
58840
+ })), false), __read(prev.filter(function (p) { return !data.find(function (d) { return d.id === p.id; }); })), false); });
58841
+ return [2 /*return*/];
58842
+ }
58843
+ });
58844
+ }); }, [transport]);
58845
+ useEffect(function () {
58846
+ if (isOpen)
58847
+ fetchThreads();
58848
+ }, [isOpen, fetchThreads]);
58849
+ var handleNewThread = function () {
58850
+ var id = v4$1();
58851
+ var now = new Date().toISOString();
58852
+ var chat = makeChat(null);
58853
+ setThreads(function (prev) { return __spreadArray([
58854
+ {
58855
+ id: id,
58856
+ title: '',
58857
+ created_at: now,
58858
+ updated_at: now,
58859
+ isTemporary: true,
58860
+ chat: chat
58861
+ }
58862
+ ], __read(prev.filter(function (t) { return !t.isTemporary || t.title; })), false); });
58863
+ setActiveThreadId(id);
58864
+ setIsDropdownOpen(false);
58865
+ };
58866
+ var handleSelectThread = function (id) { return __awaiter$2(void 0, void 0, void 0, function () {
58867
+ var thread, chat;
58868
+ var _a, _b;
58869
+ return __generator(this, function (_c) {
58870
+ switch (_c.label) {
58871
+ case 0:
58872
+ if ((_a = threads.find(function (t) { return t.id === id; })) === null || _a === void 0 ? void 0 : _a.chat) {
58873
+ setActiveThreadId(id);
58874
+ setIsDropdownOpen(false);
58875
+ return [2 /*return*/];
58876
+ }
58877
+ return [4 /*yield*/, getThreadDetail(transport, id)];
58878
+ case 1:
58879
+ thread = _c.sent();
58880
+ if (!thread)
58881
+ return [2 /*return*/];
58882
+ chat = makeChat(id, (_b = thread.messages) !== null && _b !== void 0 ? _b : []);
58883
+ setThreads(function (prev) {
58884
+ return prev.map(function (t) { return (t.id === id ? __assign(__assign({}, thread), { chat: chat }) : t); });
58885
+ });
58886
+ setActiveThreadId(id);
58887
+ setIsDropdownOpen(false);
58888
+ return [2 /*return*/];
58889
+ }
58890
+ });
58891
+ }); };
58892
+ var handleDeleteThread = function (id, e) { return __awaiter$2(void 0, void 0, void 0, function () {
58893
+ var thread;
58894
+ return __generator(this, function (_a) {
58895
+ switch (_a.label) {
58896
+ case 0:
58897
+ e.stopPropagation();
58898
+ thread = threads.find(function (t) { return t.id === id; });
58899
+ if (!!(thread === null || thread === void 0 ? void 0 : thread.isTemporary)) return [3 /*break*/, 2];
58900
+ return [4 /*yield*/, deleteThread(transport, id)];
58901
+ case 1:
58902
+ _a.sent();
58903
+ _a.label = 2;
58904
+ case 2:
58905
+ setThreads(function (prev) { return prev.filter(function (t) { return t.id !== id; }); });
58906
+ if (activeThreadId === id)
58907
+ handleNewThread();
58908
+ return [2 /*return*/];
58909
+ }
58910
+ });
58911
+ }); };
58701
58912
  var handleSend = function () {
58702
58913
  if (input.trim() && status === 'ready') {
58914
+ var now_1 = new Date().toISOString();
58915
+ if (!activeThreadId) {
58916
+ // First send, register readyChat as a real thread entry
58917
+ var id_1 = v4$1();
58918
+ setThreads(function (prev) { return __spreadArray([
58919
+ {
58920
+ id: id_1,
58921
+ title: input.trim().slice(0, 60),
58922
+ created_at: now_1,
58923
+ updated_at: now_1,
58924
+ isTemporary: true,
58925
+ chat: activeChat
58926
+ }
58927
+ ], __read(prev), false); });
58928
+ setActiveThreadId(id_1);
58929
+ }
58930
+ else {
58931
+ if (activeThread && !activeThread.title) {
58932
+ setThreads(function (prev) { return __spreadArray([
58933
+ __assign(__assign({}, activeThread), { title: input.trim().slice(0, 60), updated_at: now_1 })
58934
+ ], __read(prev.filter(function (t) { return t.id !== activeThreadId; })), false); });
58935
+ }
58936
+ }
58703
58937
  sendMessage({ text: input });
58704
58938
  setInput('');
58705
58939
  }
@@ -58711,7 +58945,11 @@ var AssistantChat = function (_a) {
58711
58945
  handleSend();
58712
58946
  }
58713
58947
  };
58948
+ // Only show threads that have had at least one message sent
58949
+ var visibleThreads = threads.filter(function (t) { return t.title; });
58714
58950
  var isLoading = status === 'submitted' || status === 'streaming';
58951
+ var hasAssistantMessage = ((_c = messages[messages.length - 1]) === null || _c === void 0 ? void 0 : _c.role) === 'assistant' &&
58952
+ messages[messages.length - 1].parts.length > 0;
58715
58953
  // Collapsed state - show chat bubble
58716
58954
  if (!isOpen) {
58717
58955
  return (jsx$1("button", __assign({ type: 'button', onClick: function () { return setIsOpen(true); }, css: {
@@ -58747,7 +58985,7 @@ var AssistantChat = function (_a) {
58747
58985
  height: "".concat(PANEL_HEIGHT, "px"),
58748
58986
  backgroundColor: 'white',
58749
58987
  borderRadius: '12px',
58750
- boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
58988
+ boxShadow: '0 8px 24px rgba(0, 0, 0, 0.12)',
58751
58989
  border: "1px solid ".concat(GRAY_200),
58752
58990
  display: 'flex',
58753
58991
  flexDirection: 'column',
@@ -58759,8 +58997,21 @@ var AssistantChat = function (_a) {
58759
58997
  justifyContent: 'space-between',
58760
58998
  padding: '12px 16px',
58761
58999
  backgroundColor: colors.primary,
58762
- color: 'white'
58763
- } }, { children: [jsxs("div", __assign({ css: { display: 'flex', alignItems: 'center', gap: '8px' } }, { children: [jsx$1(ChatIcon, {}), jsx$1("span", __assign({ css: { fontWeight: 600, fontSize: '14px' } }, { children: "AI Assistant" }))] })), jsx$1("button", __assign({ type: 'button', onClick: function () { return setIsOpen(false); }, css: {
59000
+ color: 'white',
59001
+ position: 'relative'
59002
+ } }, { children: [jsxs("div", __assign({ css: { display: 'flex', alignItems: 'center', gap: '8px' } }, { children: [jsx$1(ChatIcon, {}), jsxs("button", __assign({ type: 'button', onClick: function () { return setIsDropdownOpen(function (prev) { return !prev; }); }, css: {
59003
+ background: 'none',
59004
+ border: 'none',
59005
+ color: 'white',
59006
+ cursor: 'pointer',
59007
+ fontWeight: 600,
59008
+ fontSize: '14px',
59009
+ padding: '0',
59010
+ display: 'flex',
59011
+ alignItems: 'center',
59012
+ gap: '4px',
59013
+ ':hover': { opacity: 0.85 }
59014
+ } }, { children: [(activeThread === null || activeThread === void 0 ? void 0 : activeThread.title) || 'AI Assistant', jsx$1("span", __assign({ css: { fontSize: '10px', opacity: 0.8 } }, { children: "\u25BE" }))] }))] })), jsx$1("button", __assign({ type: 'button', onClick: function () { return setIsOpen(false); }, css: {
58764
59015
  background: 'none',
58765
59016
  border: 'none',
58766
59017
  color: 'white',
@@ -58773,7 +59024,69 @@ var AssistantChat = function (_a) {
58773
59024
  ':hover': {
58774
59025
  backgroundColor: 'rgba(255, 255, 255, 0.1)'
58775
59026
  }
58776
- } }, { children: jsx$1(MinimizeIcon, {}) }))] })), jsxs("div", __assign({ css: {
59027
+ } }, { children: jsx$1(MinimizeIcon, {}) })), isDropdownOpen && (jsxs(Fragment, { children: [jsx$1("div", { css: { position: 'fixed', inset: 0, zIndex: 1000 }, onClick: function () { return setIsDropdownOpen(false); } }), jsxs("div", __assign({ css: {
59028
+ position: 'absolute',
59029
+ top: '100%',
59030
+ left: 0,
59031
+ width: '100%',
59032
+ backgroundColor: 'white',
59033
+ border: "1px solid ".concat(GRAY_200),
59034
+ borderTop: 'none',
59035
+ borderRadius: '0 0 8px 8px',
59036
+ boxShadow: '0 8px 16px rgba(0,0,0,0.12)',
59037
+ zIndex: 1001,
59038
+ maxHeight: '240px',
59039
+ overflowY: 'auto'
59040
+ } }, { children: [jsx$1("button", __assign({ type: 'button', onClick: handleNewThread, css: {
59041
+ width: '100%',
59042
+ padding: '10px 14px',
59043
+ background: 'none',
59044
+ border: 'none',
59045
+ borderBottom: "1px solid ".concat(GRAY_100),
59046
+ cursor: 'pointer',
59047
+ fontSize: '13px',
59048
+ fontWeight: 600,
59049
+ color: colors.primary,
59050
+ textAlign: 'left',
59051
+ ':hover': { backgroundColor: GRAY_50 }
59052
+ } }, { children: "+ New Thread" })), visibleThreads.length === 0 && (jsx$1("div", __assign({ css: {
59053
+ padding: '12px 14px',
59054
+ fontSize: '13px',
59055
+ color: GRAY_400
59056
+ } }, { children: "No threads yet" }))), visibleThreads.map(function (thread) { return (jsxs("div", __assign({ onClick: function () { return handleSelectThread(thread.id); }, css: {
59057
+ display: 'flex',
59058
+ alignItems: 'center',
59059
+ justifyContent: 'space-between',
59060
+ padding: '10px 14px',
59061
+ cursor: 'pointer',
59062
+ backgroundColor: thread.id === activeThreadId ? colors.light : 'white',
59063
+ ':hover': { backgroundColor: GRAY_50 }
59064
+ } }, { children: [jsxs("div", __assign({ css: { flex: 1, minWidth: 0 } }, { children: [jsx$1("div", __assign({ css: {
59065
+ fontSize: '13px',
59066
+ fontWeight: 500,
59067
+ color: GRAY_800,
59068
+ overflow: 'hidden',
59069
+ textOverflow: 'ellipsis',
59070
+ whiteSpace: 'nowrap'
59071
+ } }, { children: thread.title || 'Untitled conversation' })), jsx$1("div", __assign({ css: {
59072
+ fontSize: '11px',
59073
+ color: GRAY_400,
59074
+ marginTop: '2px'
59075
+ } }, { children: new Date(thread.updated_at).toLocaleDateString() }))] })), jsx$1("button", __assign({ type: 'button', onClick: function (e) { return handleDeleteThread(thread.id, e); }, css: {
59076
+ background: 'none',
59077
+ border: 'none',
59078
+ cursor: 'pointer',
59079
+ color: GRAY_400,
59080
+ fontSize: '16px',
59081
+ padding: '2px 6px',
59082
+ marginLeft: '8px',
59083
+ borderRadius: '4px',
59084
+ lineHeight: 1,
59085
+ ':hover': {
59086
+ color: '#dc2626',
59087
+ backgroundColor: '#fef2f2'
59088
+ }
59089
+ } }, { children: "\u00D7" }))] }), thread.id)); })] }))] }))] })), jsxs("div", __assign({ css: {
58777
59090
  flex: 1,
58778
59091
  overflowY: 'auto',
58779
59092
  padding: '16px',
@@ -58829,7 +59142,7 @@ var AssistantChat = function (_a) {
58829
59142
  }
58830
59143
  return null;
58831
59144
  }) }, message.id));
58832
- }), status === 'submitted' && (jsx$1("div", __assign({ css: { display: 'flex', justifyContent: 'flex-start' } }, { children: jsxs("div", __assign({ css: {
59145
+ }), isLoading && !hasAssistantMessage && (jsx$1("div", __assign({ css: { display: 'flex', justifyContent: 'flex-start' } }, { children: jsxs("div", __assign({ css: {
58833
59146
  padding: '10px 14px',
58834
59147
  borderRadius: '12px',
58835
59148
  backgroundColor: colors.light,
@@ -58849,7 +59162,7 @@ var AssistantChat = function (_a) {
58849
59162
  padding: '12px 16px',
58850
59163
  borderTop: "1px solid ".concat(GRAY_200),
58851
59164
  backgroundColor: GRAY_50
58852
- } }, { children: [jsx$1("input", { type: 'text', value: input, onChange: function (e) { return setInput(e.target.value); }, onKeyDown: handleKeyDown, placeholder: 'Type a message...', disabled: isLoading, css: {
59165
+ } }, { children: [jsx$1("input", { type: 'text', value: input, onChange: function (e) { return setInput(e.target.value); }, onKeyDown: handleKeyDown, placeholder: 'Type a message...', css: {
58853
59166
  flex: 1,
58854
59167
  padding: '10px 14px',
58855
59168
  border: "1px solid ".concat(GRAY_200),
@@ -58859,10 +59172,6 @@ var AssistantChat = function (_a) {
58859
59172
  transition: 'border-color 0.2s',
58860
59173
  ':focus': {
58861
59174
  borderColor: colors.primary
58862
- },
58863
- ':disabled': {
58864
- backgroundColor: GRAY_100,
58865
- cursor: 'not-allowed'
58866
59175
  }
58867
59176
  } }), jsx$1("button", __assign({ type: 'button', onClick: handleSend, disabled: isLoading || !input.trim(), css: {
58868
59177
  padding: '10px',
@@ -59156,4 +59465,4 @@ var Feathery = {
59156
59465
  renderAt: renderAt
59157
59466
  };
59158
59467
 
59159
- export { next as $, countryData as A, stringify$2 as B, rulesheet as C, DROPDOWN_Z_INDEX as D, ErrorInput as E, Fragment as F, Global as G, COMMENT as H, middleware as I, combine as J, match as K, serialize as L, copy as M, replace as N, MOZ as O, MS as P, KEYFRAMES as Q, RULESET as R, DECLARATION as S, dealloc as T, alloc as U, hash as V, WEBKIT as W, charat as X, strlen as Y, indexof as Z, __assign as _, jsxs as a, token as a0, from as a1, peek as a2, delimit as a3, slice as a4, position as a5, compile as a6, isEmptyArray as a7, toList as a8, useThumbnailData as a9, updateTheme as aA, setFieldValues as aB, getFieldValues as aC, renderAt as aD, LoginForm as aE, useAuthClient as aF, AssistantChat as aG, Feathery as aH, StyledContainer as aI, downloadFile as aa, CloseIcon as ab, justRemove as ac, getStripe as ad, filterKeys as ae, ERROR_COLOR as af, phoneLib as ag, authState as ah, firebaseSMSCountries as ai, phoneLibPromise as aj, isNum as ak, loadQRScanner as al, throttle$1 as am, qrPromise as an, devicePixelRatio as ao, toBase64 as ap, MODAL_Z_INDEX as aq, dataURLToFile as ar, cls as as, getFieldValue$1 as at, emailPatternStr as au, replaceTextVariables as av, ReactForm as aw, Elements as ax, init as ay, updateUserId as az, __read as b, fieldValues as c, __values as d, __spreadArray as e, featheryDoc as f, getDefaultExportFromCjs as g, hoverStylesGuard as h, iosScrollOnFocus as i, jsx$1 as j, __awaiter$2 as k, __generator as l, FeatheryClient as m, debounce as n, imgMaxSizeStyles as o, noTextSelectStyles as p, FORM_Z_INDEX as q, resetStyles as r, stringifyWithNull as s, featheryWindow as t, useBorder as u, css as v, __makeTemplateObject as w, isMobile as x, __rest$1 as y, formatDateString as z };
59468
+ export { next as $, countryData as A, stringify$2 as B, rulesheet as C, DROPDOWN_Z_INDEX as D, ErrorInput as E, Fragment as F, Global as G, COMMENT as H, middleware as I, combine as J, match as K, serialize as L, copy as M, replace as N, MOZ as O, MS as P, KEYFRAMES as Q, RULESET as R, DECLARATION as S, dealloc as T, alloc as U, hash as V, WEBKIT as W, charat as X, strlen as Y, indexof as Z, __rest$1 as _, __assign as a, token as a0, from as a1, peek as a2, delimit as a3, slice as a4, position as a5, compile as a6, isEmptyArray as a7, toList as a8, useThumbnailData as a9, updateTheme as aA, setFieldValues as aB, getFieldValues as aC, renderAt as aD, LoginForm as aE, useAuthClient as aF, AssistantChat as aG, Feathery as aH, StyledContainer as aI, downloadFile as aa, CloseIcon as ab, justRemove as ac, getStripe as ad, filterKeys as ae, ERROR_COLOR as af, phoneLib as ag, authState as ah, firebaseSMSCountries as ai, phoneLibPromise as aj, isNum as ak, loadQRScanner as al, throttle$1 as am, qrPromise as an, devicePixelRatio as ao, toBase64 as ap, MODAL_Z_INDEX as aq, dataURLToFile as ar, cls as as, getFieldValue$1 as at, emailPatternStr as au, replaceTextVariables as av, ReactForm as aw, Elements as ax, init as ay, updateUserId as az, jsxs as b, __read as c, fieldValues as d, __values as e, featheryDoc as f, __spreadArray as g, featheryWindow as h, getDefaultExportFromCjs as i, jsx$1 as j, hoverStylesGuard as k, iosScrollOnFocus as l, __awaiter$2 as m, __generator as n, FeatheryClient as o, debounce as p, imgMaxSizeStyles as q, resetStyles as r, stringifyWithNull as s, noTextSelectStyles as t, useBorder as u, FORM_Z_INDEX as v, css as w, __makeTemplateObject as x, isMobile as y, formatDateString as z };
@@ -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.BkscK5im.js';
1
+ import { b as jsxs, a as __assign, j as jsx, c as __read, a7 as isEmptyArray, a8 as toList, a9 as useThumbnailData, g as __spreadArray, q as imgMaxSizeStyles, m as __awaiter, n as __generator, aa as downloadFile, ab as CloseIcon, l as iosScrollOnFocus, v as FORM_Z_INDEX, ac as justRemove } from './fthry_index.Ddf14JA6.js';
2
2
  import { useRef, useState, useEffect } from 'react';
3
3
  import 'react/jsx-runtime';
4
4
  import 'react-dom/client';
@@ -1,14 +1,14 @@
1
- import { b as __read, a as jsxs, _ as __assign, j as jsx, i as iosScrollOnFocus, r as resetStyles } from './fthry_index.BkscK5im.js';
1
+ import { c as __read, b as jsxs, a as __assign, j as jsx, l as iosScrollOnFocus, r as resetStyles } from './fthry_index.Ddf14JA6.js';
2
2
  import { useRef, useState, useMemo } from 'react';
3
- import { F as FormControl } from './fthry_FormControl.CGMmdVSc.js';
4
- import { applyCheckableInputStyles, composeCheckableInputStyle, applyHeightWidthMarginByFontSize } from './fthry_index.Cy3JGRX4.js';
5
- import { I as InlineTooltip } from './fthry_InlineTooltip.DIH2B37d.js';
6
- import { u as useSalesforceSync } from './fthry_useSalesforceSync.C09-2TZ5.js';
3
+ import { F as FormControl } from './fthry_FormControl.C9K2iuFX.js';
4
+ import { applyCheckableInputStyles, composeCheckableInputStyle, applyHeightWidthMarginByFontSize } from './fthry_index.CeglQZhs.js';
5
+ import { I as InlineTooltip } from './fthry_InlineTooltip.CQ84q5tx.js';
6
+ import { u as useSalesforceSync } from './fthry_useSalesforceSync.B6wBqJLI.js';
7
7
  import 'react/jsx-runtime';
8
8
  import 'react-dom/client';
9
9
  import 'jszip';
10
10
  import 'react-dom';
11
- import './fthry_Overlay.Dms5dmjM.js';
11
+ import './fthry_Overlay.CaTGHPrf.js';
12
12
 
13
13
  var applyRadioGroupStyles = function (element, responsiveStyles) {
14
14
  responsiveStyles.addTargets('radioGroup');
@@ -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.BkscK5im.js';
1
+ import { c as __read, u as useBorder, b as jsxs, a as __assign, k as hoverStylesGuard, j as jsx, r as resetStyles } from './fthry_index.Ddf14JA6.js';
2
2
  import { memo, useState, useRef } from 'react';
3
- import { P as Placeholder } from './fthry_Placeholder.Iyh2B1Vg.js';
4
- import { I as InlineTooltip } from './fthry_InlineTooltip.DIH2B37d.js';
3
+ import { P as Placeholder } from './fthry_Placeholder.C8DX1xTT.js';
4
+ import { I as InlineTooltip } from './fthry_InlineTooltip.CQ84q5tx.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.Dms5dmjM.js';
9
+ import './fthry_Overlay.CaTGHPrf.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,6 +1,6 @@
1
- import { b as __read, a as jsxs, _ as __assign, j as jsx, h as hoverStylesGuard } from './fthry_index.BkscK5im.js';
1
+ import { c as __read, b as jsxs, a as __assign, j as jsx, k as hoverStylesGuard } from './fthry_index.Ddf14JA6.js';
2
2
  import { useState, useEffect } from 'react';
3
- import { S as SliderStyles, a as Slider } from './fthry_styles.BY3ne7eH.js';
3
+ import { S as SliderStyles, a as Slider } from './fthry_styles.Ccd48IiB.js';
4
4
  import 'react/jsx-runtime';
5
5
  import 'react-dom/client';
6
6
  import 'jszip';