@feathery/react 2.31.0 → 2.32.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +1 -3
  8. package/cjs/elements/basic/TableElement/Actions.d.ts.map +1 -1
  9. package/cjs/elements/basic/TableElement/Search.d.ts.map +1 -1
  10. package/cjs/elements/basic/TableElement/index.d.ts +1 -1
  11. package/cjs/elements/basic/TableElement/index.d.ts.map +1 -1
  12. package/cjs/elements/basic/TableElement/styles.d.ts +4 -221
  13. package/cjs/elements/basic/TableElement/styles.d.ts.map +1 -1
  14. package/cjs/elements/basic/TableElement/useTableData.d.ts +1 -6
  15. package/cjs/elements/basic/TableElement/useTableData.d.ts.map +1 -1
  16. package/cjs/elements/components/icons/index.d.ts +1 -2
  17. package/cjs/elements/components/icons/index.d.ts.map +1 -1
  18. package/cjs/{fthry_FormControl.WIYoX7l6.js → fthry_FormControl.DurQlaqU.js} +1 -1
  19. package/cjs/{fthry_InlineTooltip.C6Kf0Ff-.js → fthry_InlineTooltip.BXWfZzL2.js} +2 -2
  20. package/cjs/{fthry_Overlay.JRkHffzB.js → fthry_Overlay.CioCMhlq.js} +1 -1
  21. package/cjs/{fthry_PaymentMethodField.DvPj_Lup.js → fthry_PaymentMethodField.DhSkUuU-.js} +4 -4
  22. package/cjs/{fthry_Placeholder.luXrF_m_.js → fthry_Placeholder.CX7qc-Cl.js} +1 -1
  23. package/cjs/{fthry_ShowEyeIcon.cWxfPj5A.js → fthry_ShowEyeIcon.80VHzelN.js} +1 -1
  24. package/cjs/{fthry_index.B_WCqLEf.js → fthry_index.9yf8TiBa.js} +2 -2
  25. package/cjs/{fthry_index.Bxz6SYIg.js → fthry_index.B8tZZXUF.js} +6 -6
  26. package/cjs/{fthry_index.BT0N_ojJ.js → fthry_index.BnYce3sm.js} +5 -5
  27. package/cjs/{fthry_index.DtcJ5ShY.js → fthry_index.Br877QRA.js} +3 -3
  28. package/cjs/{fthry_index.Be2Fs97T.js → fthry_index.BrWW45H5.js} +5 -5
  29. package/cjs/{fthry_index.Ax4XuQ-W.js → fthry_index.C05KVXV6.js} +1 -1
  30. package/cjs/{fthry_index.CmAB9Ar7.js → fthry_index.C5QUdS7L.js} +1 -1
  31. package/cjs/{fthry_index.BS2jEY70.js → fthry_index.CANZBm-k.js} +5 -5
  32. package/cjs/{fthry_index.DWS39de6.js → fthry_index.CLPl9dPm.js} +1 -1
  33. package/cjs/{fthry_index.CcK_Svsf.js → fthry_index.CY58pJ5G.js} +6 -6
  34. package/cjs/{fthry_index.DdSDwu2Z.js → fthry_index.Cgn2gw_g.js} +1 -1
  35. package/cjs/{fthry_index.7lPT7adc.js → fthry_index.Cm-Al4PR.js} +4 -4
  36. package/cjs/{fthry_index.DtiRdy95.js → fthry_index.CwZL5tZB.js} +3 -3
  37. package/cjs/{fthry_index.W-9IfXEV.js → fthry_index.D3P96Nnw.js} +4 -4
  38. package/cjs/{fthry_index.D_RuNzwI.js → fthry_index.DALbyltA.js} +8 -8
  39. package/cjs/{fthry_index.C51tqyoq.js → fthry_index.DPXTa2dj.js} +1 -1
  40. package/cjs/{fthry_index.IHqwZyC3.js → fthry_index.DQL_RNQ5.js} +361 -54
  41. package/cjs/{fthry_index.CfElaaWV.js → fthry_index.DXol9L5L.js} +6 -6
  42. package/cjs/{fthry_index.B1gH_Pb_.js → fthry_index.Dofn1W06.js} +4 -4
  43. package/cjs/{fthry_index.C4a2Ic12.js → fthry_index.DpeEqUaO.js} +1 -1
  44. package/cjs/{fthry_index.Io4u55nU.js → fthry_index.NnMUv723.js} +47 -527
  45. package/cjs/{fthry_index.TgxeIOKY.js → fthry_index.Oufk9PK1.js} +2 -2
  46. package/cjs/{fthry_index.Caau3hdX.js → fthry_index.RkgEXvkN.js} +5 -5
  47. package/cjs/{fthry_index.BAf-75T4.js → fthry_index.cjyiNFQz.js} +1 -1
  48. package/cjs/{fthry_input.QMSUSm2J.js → fthry_input.Ek-TePLo.js} +1 -1
  49. package/cjs/{fthry_script.Bnnc8FZ3.js → fthry_script.D4I5wEAM.js} +1 -1
  50. package/cjs/{fthry_styles.MX1EKxvQ.js → fthry_styles.BAOkmtNa.js} +1 -1
  51. package/cjs/{fthry_useElementSize.Dup4Oq53.js → fthry_useElementSize.DxiZSHps.js} +1 -1
  52. package/cjs/{fthry_useSalesforceSync.D0kLb1UT.js → fthry_useSalesforceSync.0Po-_R2K.js} +1 -1
  53. package/cjs/{fthry_webfontloader.C-AsnAPa.js → fthry_webfontloader.Dpbr76nZ.js} +1 -1
  54. package/cjs/index.d.ts +0 -1
  55. package/cjs/index.d.ts.map +1 -1
  56. package/cjs/index.js +1 -1
  57. package/dist/Form/grid/Element/index.d.ts.map +1 -1
  58. package/dist/Form/index.d.ts.map +1 -1
  59. package/dist/assistant/index.d.ts +4 -8
  60. package/dist/assistant/index.d.ts.map +1 -1
  61. package/dist/assistant/utils.d.ts +23 -0
  62. package/dist/assistant/utils.d.ts.map +1 -0
  63. package/dist/elements/basic/TableElement/Actions.d.ts +1 -3
  64. package/dist/elements/basic/TableElement/Actions.d.ts.map +1 -1
  65. package/dist/elements/basic/TableElement/Search.d.ts.map +1 -1
  66. package/dist/elements/basic/TableElement/index.d.ts +1 -1
  67. package/dist/elements/basic/TableElement/index.d.ts.map +1 -1
  68. package/dist/elements/basic/TableElement/styles.d.ts +4 -221
  69. package/dist/elements/basic/TableElement/styles.d.ts.map +1 -1
  70. package/dist/elements/basic/TableElement/useTableData.d.ts +1 -6
  71. package/dist/elements/basic/TableElement/useTableData.d.ts.map +1 -1
  72. package/dist/elements/components/icons/index.d.ts +1 -2
  73. package/dist/elements/components/icons/index.d.ts.map +1 -1
  74. package/dist/{fthry_FormControl.DEleJ-Vj.js → fthry_FormControl.CxJVENhU.js} +1 -1
  75. package/dist/{fthry_InlineTooltip.DeG1g5MU.js → fthry_InlineTooltip.CqD5dxb4.js} +2 -2
  76. package/dist/{fthry_Overlay.CtQBdlg7.js → fthry_Overlay.C-S2P_RR.js} +1 -1
  77. package/dist/{fthry_PaymentMethodField.CryiQIpT.js → fthry_PaymentMethodField.QXLEi8jw.js} +4 -4
  78. package/dist/{fthry_Placeholder.Bel7e4T4.js → fthry_Placeholder.DdvJyqsu.js} +1 -1
  79. package/dist/{fthry_ShowEyeIcon.BeXoEyvh.js → fthry_ShowEyeIcon.CZus1erN.js} +1 -1
  80. package/dist/{fthry_index.BNi8VaMz.js → fthry_index.4JG7sxtp.js} +2 -2
  81. package/dist/{fthry_index.CUF2y3Aa.js → fthry_index.9VAfgoMl.js} +1 -1
  82. package/dist/{fthry_index.Dkg3j5xH.js → fthry_index.B3B8bEEX.js} +2 -2
  83. package/dist/{fthry_index.y9utv2Db.js → fthry_index.BJVuZZ2J.js} +1 -1
  84. package/dist/{fthry_index.DR8HsKVo.js → fthry_index.BL5rEBAF.js} +4 -4
  85. package/dist/{fthry_index.D7lNVIgD.js → fthry_index.BT7cSNXV.js} +1 -1
  86. package/dist/{fthry_index.DtrV_j07.js → fthry_index.BV8FC0Yc.js} +1 -1
  87. package/dist/{fthry_index.Bi8oY0jk.js → fthry_index.B_7ywejL.js} +5 -5
  88. package/dist/{fthry_index.CMh4cU_z.js → fthry_index.Bk7-v1ou.js} +362 -55
  89. package/dist/{fthry_index.DSS7GFbG.js → fthry_index.BmrKBP2b.js} +4 -4
  90. package/dist/{fthry_index.By9Va7yz.js → fthry_index.Bn5hHeFA.js} +6 -6
  91. package/dist/{fthry_index.DclrMlf2.js → fthry_index.BpZ7gZfF.js} +5 -5
  92. package/dist/{fthry_index.ClSefCHf.js → fthry_index.BsCv8dPB.js} +1 -1
  93. package/dist/{fthry_index.F3kjcuAK.js → fthry_index.C5ZHl-kt.js} +48 -528
  94. package/dist/{fthry_index.D9GA9x4P.js → fthry_index.C6CFRFmj.js} +3 -3
  95. package/dist/{fthry_index.0A10yDWO.js → fthry_index.CNIO-M5G.js} +1 -1
  96. package/dist/{fthry_index.CVQd320z.js → fthry_index.Cr2SZgDK.js} +8 -8
  97. package/dist/{fthry_index.Bk-p0axS.js → fthry_index.CsSJubdr.js} +6 -6
  98. package/dist/{fthry_index.Bb9yC_Hb.js → fthry_index.Cv8JZvnf.js} +3 -3
  99. package/dist/{fthry_index.D_JQEcg-.js → fthry_index.DUhZfNzg.js} +4 -4
  100. package/dist/{fthry_index.sWxp-JjY.js → fthry_index.DVRFkK73.js} +5 -5
  101. package/dist/{fthry_index.DKiSNQ6p.js → fthry_index.DmqZnhoE.js} +1 -1
  102. package/dist/{fthry_index.C9r-2T-9.js → fthry_index.p64tvQaa.js} +6 -6
  103. package/dist/{fthry_index.Dxpjw81y.js → fthry_index.wqVaa2JI.js} +5 -5
  104. package/dist/{fthry_input.DlZicl10.js → fthry_input.aOsdUSPt.js} +1 -1
  105. package/dist/{fthry_script.BjtIkib6.js → fthry_script.HcN-guNp.js} +1 -1
  106. package/dist/{fthry_styles.Dxs0EByz.js → fthry_styles.BLq5f5E_.js} +1 -1
  107. package/dist/{fthry_useElementSize.BeQYF72J.js → fthry_useElementSize.ZyD83Wr1.js} +1 -1
  108. package/dist/{fthry_useSalesforceSync.DcCcNLS2.js → fthry_useSalesforceSync.Ddbp4SYp.js} +1 -1
  109. package/dist/{fthry_webfontloader.B7FGEMJA.js → fthry_webfontloader.C3IotuWt.js} +1 -1
  110. package/dist/index.d.ts +0 -1
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +1 -1
  113. package/package.json +1 -1
  114. package/umd/{277.87e6ca5c1cf2a7477992.js → 277.d9907ecd5dc2117c9171.js} +1 -1
  115. package/umd/{509.bca2ff43c66b1dba064f.js → 509.a863f8749c28540476bb.js} +2 -2
  116. package/umd/{AddressField.2d777eda22a67a0ed3a3.js → AddressField.ec97334fe233830bc05b.js} +1 -1
  117. package/umd/{DateSelectorField.54afc978d2fd9d10b106.js → DateSelectorField.00f321e0b1972feb9d69.js} +1 -1
  118. package/umd/{FileUploadField.7a5028fb6035d09b3e81.js → FileUploadField.ea0067dd62b0454b7c2e.js} +1 -1
  119. package/umd/{PasswordField.7585ef588333cb4181f7.js → PasswordField.1358356d6fbc6880f12a.js} +1 -1
  120. package/umd/{PaymentMethodField.d08bcfa1efb56084572d.js → PaymentMethodField.9a8e934f7450eb141217.js} +1 -1
  121. package/umd/{PhoneField.19c987f04cfcb60ab07c.js → PhoneField.c526085aaa5ccd25e982.js} +1 -1
  122. package/umd/{SignatureField.0e7d60fa2fafcb6be554.js → SignatureField.d710930ca89642eb651c.js} +1 -1
  123. package/umd/TableElement.ee77e0f53a9ccac846ab.js +1 -0
  124. package/umd/{TextArea.7cca0d69e618846660c5.js → TextArea.f566845d458d4c00e0e7.js} +1 -1
  125. package/umd/{TextField.f5cc4a03e69d5872027b.js → TextField.5a5296fe3ea60c4459f2.js} +1 -1
  126. package/umd/index.js +1 -1
  127. package/cjs/elements/basic/TableElement/DeleteConfirm.d.ts +0 -11
  128. package/cjs/elements/basic/TableElement/DeleteConfirm.d.ts.map +0 -1
  129. package/cjs/elements/basic/TableElement/EditableCell.d.ts +0 -10
  130. package/cjs/elements/basic/TableElement/EditableCell.d.ts.map +0 -1
  131. package/cjs/elements/basic/TableElement/useColumnWidths.d.ts +0 -7
  132. package/cjs/elements/basic/TableElement/useColumnWidths.d.ts.map +0 -1
  133. package/cjs/elements/basic/TableElement/useTableMutations.d.ts +0 -23
  134. package/cjs/elements/basic/TableElement/useTableMutations.d.ts.map +0 -1
  135. package/cjs/elements/components/icons/TrashIcon.d.ts +0 -3
  136. package/cjs/elements/components/icons/TrashIcon.d.ts.map +0 -1
  137. package/dist/elements/basic/TableElement/DeleteConfirm.d.ts +0 -11
  138. package/dist/elements/basic/TableElement/DeleteConfirm.d.ts.map +0 -1
  139. package/dist/elements/basic/TableElement/EditableCell.d.ts +0 -10
  140. package/dist/elements/basic/TableElement/EditableCell.d.ts.map +0 -1
  141. package/dist/elements/basic/TableElement/useColumnWidths.d.ts +0 -7
  142. package/dist/elements/basic/TableElement/useColumnWidths.d.ts.map +0 -1
  143. package/dist/elements/basic/TableElement/useTableMutations.d.ts +0 -23
  144. package/dist/elements/basic/TableElement/useTableMutations.d.ts.map +0 -1
  145. package/dist/elements/components/icons/TrashIcon.d.ts +0 -3
  146. package/dist/elements/components/icons/TrashIcon.d.ts.map +0 -1
  147. package/umd/TableElement.b9bb3cedf1a75fd2ea01.js +0 -1
  148. /package/umd/{509.bca2ff43c66b1dba064f.js.LICENSE.txt → 509.a863f8749c28540476bb.js.LICENSE.txt} +0 -0
@@ -20976,7 +20976,7 @@ var Element$1 = function (_a) {
20976
20976
  var _b, _c, _d, _e, _f, _g;
20977
20977
  var el = _a.node, form = _a.form;
20978
20978
  var type = el.type;
20979
- 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;
20979
+ 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;
20980
20980
  var readOnly = formSettings.readOnly || initState.collaboratorReview === 'readOnly';
20981
20981
  var basicProps = {
20982
20982
  componentOnly: false,
@@ -20996,7 +20996,7 @@ var Element$1 = function (_a) {
20996
20996
  else if (type === 'video')
20997
20997
  return jsx$1(Elements.VideoElement, exports.__assign({}, basicProps));
20998
20998
  else if (type === 'table')
20999
- return (jsx$1(Elements.TableElement, exports.__assign({}, basicProps, { onClick: function (payload) { return tableOnClick(el, payload); }, updateFieldValues: updateFieldValues, submitCustom: submitCustom, buttonLoaders: buttonLoaders })));
20999
+ return (jsx$1(Elements.TableElement, exports.__assign({}, basicProps, { onClick: function (payload) { return tableOnClick(el, payload); }, buttonLoaders: buttonLoaders })));
21000
21000
  else if (type === 'text')
21001
21001
  return (jsx$1(Elements.TextElement, exports.__assign({ textSpanOnClick: function (textSpanStart, textSpanEnd) {
21002
21002
  var _a;
@@ -39832,9 +39832,15 @@ function Form(_a) {
39832
39832
  var transport = React.useMemo(function () {
39833
39833
  var _a = initInfo(), sdkKey = _a.sdkKey, userId = _a.userId;
39834
39834
  return {
39835
- url: "".concat(API_URL, "ai/assistant/chat/"),
39836
- headers: { Authorization: "Token ".concat(sdkKey) },
39837
- body: { form_id: formId, fuser_key: userId }
39835
+ url: "".concat(API_URL, "ai/assistant/"),
39836
+ headers: function () {
39837
+ var sessionJwt = getCookie('feathery_session_token');
39838
+ return {
39839
+ Authorization: "Token ".concat(sdkKey),
39840
+ 'X-Feathery-Session': sessionJwt
39841
+ };
39842
+ },
39843
+ body: { form_key: formId, fuser_key: userId }
39838
39844
  };
39839
39845
  }, [formId]);
39840
39846
  var extractedSharedCodeInfo = React.useMemo(function () {
@@ -42245,7 +42251,6 @@ function Form(_a) {
42245
42251
  return changeFormStep(nextStepKey, activeStep.key, false);
42246
42252
  },
42247
42253
  updateFieldValues: updateFieldValues,
42248
- submitCustom: function (values) { return client === null || client === void 0 ? void 0 : client.submitCustom(values); },
42249
42254
  elementOnView: elementOnView,
42250
42255
  onViewElements: viewElements,
42251
42256
  formSettings: formSettings,
@@ -46125,9 +46130,9 @@ function init(sdkKey, options) {
46125
46130
  if (runningInClient()) {
46126
46131
  // Dynamically load libraries that must be client side
46127
46132
  global.scriptjsLoadPromise = Promise.resolve().then(function () { return require(
46128
- /* webpackChunkName: "scriptjs" */ './fthry_script.Bnnc8FZ3.js'); }).then(function (n) { return n.script; });
46133
+ /* webpackChunkName: "scriptjs" */ './fthry_script.D4I5wEAM.js'); }).then(function (n) { return n.script; });
46129
46134
  global.webfontloaderPromise = Promise.resolve().then(function () { return require(
46130
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.C-AsnAPa.js'); }).then(function (n) { return n.webfontloader; });
46135
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.Dpbr76nZ.js'); }).then(function (n) { return n.webfontloader; });
46131
46136
  // Client-side tracking logic
46132
46137
  if (initState.userTracking === 'cookie') {
46133
46138
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -46273,7 +46278,7 @@ function getFieldValues() {
46273
46278
  return exports.__assign({}, exports.fieldValues);
46274
46279
  }
46275
46280
  function logFeatheryBadge() {
46276
- console.log('%c Feathery %c v' + "2.31.0" + ' ', // replaced with real version during build
46281
+ console.log('%c Feathery %c v' + "2.32.1" + ' ', // replaced with real version during build
46277
46282
  '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;');
46278
46283
  }
46279
46284
 
@@ -47755,39 +47760,39 @@ breakpoint) {
47755
47760
  return styles.getTarget('inner-container', undefined, viewport === 'mobile');
47756
47761
  };
47757
47762
 
47758
- var AddressLine1 = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.BT0N_ojJ.js'); }); });
47759
- var ButtonGroupField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.7lPT7adc.js'); }); });
47760
- var CheckboxField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.BAf-75T4.js'); }); });
47763
+ var AddressLine1 = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.BnYce3sm.js'); }); });
47764
+ var ButtonGroupField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.Cm-Al4PR.js'); }); });
47765
+ var CheckboxField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.cjyiNFQz.js'); }); });
47761
47766
  var CheckboxGroupField = React.lazy(function () {
47762
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.Bxz6SYIg.js'); });
47767
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.B8tZZXUF.js'); });
47763
47768
  });
47764
- var ColorPickerField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.C4a2Ic12.js'); }); });
47765
- var CustomField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.Ax4XuQ-W.js'); }); });
47769
+ var ColorPickerField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.DpeEqUaO.js'); }); });
47770
+ var CustomField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.C05KVXV6.js'); }); });
47766
47771
  var DateSelectorField = React.lazy(function () {
47767
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.CcK_Svsf.js'); });
47772
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.CY58pJ5G.js'); });
47768
47773
  });
47769
- var DropdownField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.W-9IfXEV.js'); }); });
47774
+ var DropdownField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.D3P96Nnw.js'); }); });
47770
47775
  var DropdownMultiField = React.lazy(function () {
47771
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.BS2jEY70.js'); });
47776
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.CANZBm-k.js'); });
47772
47777
  });
47773
- var FileUploadField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.DWS39de6.js'); }); });
47774
- var MatrixField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.DtcJ5ShY.js'); }); });
47775
- var PasswordField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.Be2Fs97T.js'); }); });
47778
+ var FileUploadField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.CLPl9dPm.js'); }); });
47779
+ var MatrixField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.Br877QRA.js'); }); });
47780
+ var PasswordField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.BrWW45H5.js'); }); });
47776
47781
  var PaymentMethodField = React.lazy(function () {
47777
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.DvPj_Lup.js'); });
47782
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.DhSkUuU-.js'); });
47778
47783
  });
47779
- var PhoneField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.Caau3hdX.js'); }); });
47780
- var PinInputField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.C51tqyoq.js'); }); });
47781
- var QRScanner = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.B_WCqLEf.js'); }); });
47784
+ var PhoneField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.RkgEXvkN.js'); }); });
47785
+ var PinInputField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.DPXTa2dj.js'); }); });
47786
+ var QRScanner = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.9yf8TiBa.js'); }); });
47782
47787
  var RadioButtonGroupField = React.lazy(function () {
47783
47788
  return Promise.resolve().then(function () { return require(
47784
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.CfElaaWV.js'); });
47789
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.DXol9L5L.js'); });
47785
47790
  });
47786
- var RatingField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.DdSDwu2Z.js'); }); });
47787
- var SignatureField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.DtiRdy95.js'); }); });
47788
- var SliderField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.TgxeIOKY.js'); }); });
47789
- var TextField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.D_RuNzwI.js'); }); });
47790
- var TextArea = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.B1gH_Pb_.js'); }); });
47791
+ var RatingField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.Cgn2gw_g.js'); }); });
47792
+ var SignatureField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.CwZL5tZB.js'); }); });
47793
+ var SliderField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.Oufk9PK1.js'); }); });
47794
+ var TextField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.DALbyltA.js'); }); });
47795
+ var TextArea = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.Dofn1W06.js'); }); });
47791
47796
  var Fields = {
47792
47797
  AddressLine1: AddressLine1,
47793
47798
  ButtonGroupField: ButtonGroupField,
@@ -48737,7 +48742,7 @@ function ElementSkeleton(_a) {
48737
48742
  }
48738
48743
  var templateObject_1;
48739
48744
 
48740
- var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.Io4u55nU.js'); }); });
48745
+ var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.NnMUv723.js'); }); });
48741
48746
  var Basic = {
48742
48747
  ImageElement: ImageElement,
48743
48748
  VideoElement: VideoElement,
@@ -58694,34 +58699,261 @@ var MarkdownText = React.memo(function (_a) {
58694
58699
  });
58695
58700
  MarkdownText.displayName = 'MarkdownText';
58696
58701
 
58702
+ var toQueryString = function (params) {
58703
+ var filtered = Object.entries(params)
58704
+ .filter(function (_a) {
58705
+ var _b = __read(_a, 2), v = _b[1];
58706
+ return v !== undefined && v !== null;
58707
+ })
58708
+ .map(function (_a) {
58709
+ var _b = __read(_a, 2), k = _b[0], v = _b[1];
58710
+ return [k, String(v)];
58711
+ });
58712
+ if (!filtered.length)
58713
+ return '';
58714
+ return '?' + new URLSearchParams(filtered).toString();
58715
+ };
58716
+ var getThreadList = function (transport) { return __awaiter$2(void 0, void 0, void 0, function () {
58717
+ var threadsUrl, res;
58718
+ return __generator(this, function (_a) {
58719
+ switch (_a.label) {
58720
+ case 0:
58721
+ threadsUrl = "".concat(transport.url, "threads/").concat(toQueryString(transport.body));
58722
+ return [4 /*yield*/, fetch(threadsUrl, {
58723
+ headers: transport.headers()
58724
+ })];
58725
+ case 1:
58726
+ res = _a.sent();
58727
+ if (!res.ok)
58728
+ return [2 /*return*/, null];
58729
+ return [2 /*return*/, res.json()];
58730
+ }
58731
+ });
58732
+ }); };
58733
+ var getThreadDetail = function (transport, threadId) { return __awaiter$2(void 0, void 0, void 0, function () {
58734
+ var threadsUrl, res;
58735
+ return __generator(this, function (_a) {
58736
+ switch (_a.label) {
58737
+ case 0:
58738
+ threadsUrl = "".concat(transport.url, "threads/").concat(threadId, "/").concat(toQueryString(transport.body));
58739
+ return [4 /*yield*/, fetch(threadsUrl, {
58740
+ headers: transport.headers()
58741
+ })];
58742
+ case 1:
58743
+ res = _a.sent();
58744
+ if (!res.ok)
58745
+ return [2 /*return*/, null];
58746
+ return [2 /*return*/, res.json()];
58747
+ }
58748
+ });
58749
+ }); };
58750
+ var deleteThread = function (transport, threadId) { return __awaiter$2(void 0, void 0, void 0, function () {
58751
+ var threadsUrl;
58752
+ return __generator(this, function (_a) {
58753
+ switch (_a.label) {
58754
+ case 0:
58755
+ threadsUrl = "".concat(transport.url, "threads/").concat(threadId, "/").concat(toQueryString(transport.body));
58756
+ return [4 /*yield*/, fetch(threadsUrl, {
58757
+ method: 'DELETE',
58758
+ headers: transport.headers()
58759
+ })];
58760
+ case 1:
58761
+ _a.sent();
58762
+ return [2 /*return*/];
58763
+ }
58764
+ });
58765
+ }); };
58766
+
58697
58767
  var FAB_SIZE = 56;
58698
58768
  var PANEL_WIDTH = 380;
58699
58769
  var PANEL_HEIGHT = 500;
58700
58770
  var AssistantChat = function (_a) {
58701
- var transport = _a.transport, _b = _a.bottom, bottom = _b === void 0 ? 20 : _b, color = _a.color;
58702
- var _c = __read(React.useState(false), 2), isOpen = _c[0], setIsOpen = _c[1];
58703
- var _d = __read(React.useState(''), 2), input = _d[0], setInput = _d[1];
58771
+ var _b, _c;
58772
+ var transport = _a.transport, _d = _a.bottom, bottom = _d === void 0 ? 20 : _d, color = _a.color;
58773
+ var _e = __read(React.useState(false), 2), isOpen = _e[0], setIsOpen = _e[1];
58774
+ var _f = __read(React.useState(''), 2), input = _f[0], setInput = _f[1];
58775
+ var _g = __read(React.useState([]), 2), threads = _g[0], setThreads = _g[1];
58776
+ var _h = __read(React.useState(null), 2), activeThreadId = _h[0], setActiveThreadId = _h[1];
58777
+ var _j = __read(React.useState(false), 2), isDropdownOpen = _j[0], setIsDropdownOpen = _j[1];
58704
58778
  var messagesEndRef = React.useRef(null);
58705
58779
  var colors = React.useMemo(function () { return getChatColors(color || DEFAULT_CHAT_COLOR); }, [color]);
58706
- // Memoize transport to avoid recreating on every render
58707
- var chatTransport = React.useMemo(function () {
58708
- return new DefaultChatTransport({
58709
- api: transport.url,
58780
+ var makeChat = function (threadId, initialMessages) {
58781
+ if (initialMessages === void 0) { initialMessages = []; }
58782
+ var resolvedThreadId = threadId;
58783
+ var chatTransport = new DefaultChatTransport({
58784
+ api: "".concat(transport.url, "chat/"),
58710
58785
  headers: transport.headers,
58711
- body: transport.body
58786
+ body: function () { return (exports.__assign(exports.__assign({}, transport.body), { thread_id: resolvedThreadId || null })); },
58787
+ fetch: function (url, init) { return __awaiter$2(void 0, void 0, void 0, function () {
58788
+ var res, threadId;
58789
+ return __generator(this, function (_a) {
58790
+ switch (_a.label) {
58791
+ case 0: return [4 /*yield*/, fetch(url, init)];
58792
+ case 1:
58793
+ res = _a.sent();
58794
+ threadId = res.headers.get('X-Thread-Id');
58795
+ if (threadId && !resolvedThreadId) {
58796
+ resolvedThreadId = threadId;
58797
+ setThreads(function (prev) {
58798
+ return prev.map(function (t) {
58799
+ return t.chat === chat ? exports.__assign(exports.__assign({}, t), { id: threadId, isTemporary: false }) : t;
58800
+ });
58801
+ });
58802
+ setActiveThreadId(threadId);
58803
+ getThreadDetail(transport, threadId).then(function (t) {
58804
+ if (t)
58805
+ setThreads(function (prev) {
58806
+ return prev.map(function (thread) {
58807
+ return thread.id === threadId ? exports.__assign(exports.__assign({}, t), { chat: chat }) : thread;
58808
+ });
58809
+ });
58810
+ });
58811
+ }
58812
+ return [2 /*return*/, res];
58813
+ }
58814
+ });
58815
+ }); }
58816
+ });
58817
+ var chat = new Chat({
58818
+ transport: chatTransport,
58819
+ messages: initialMessages,
58820
+ onFinish: function (_a) {
58821
+ var isAbort = _a.isAbort, isError = _a.isError;
58822
+ if (isAbort || isError || !resolvedThreadId)
58823
+ return;
58824
+ setThreads(function (prev) {
58825
+ var thread = prev.find(function (t) { return t.id === resolvedThreadId; });
58826
+ if (!thread)
58827
+ return prev;
58828
+ return __spreadArray([
58829
+ exports.__assign(exports.__assign({}, thread), { updated_at: new Date().toISOString() })
58830
+ ], __read(prev.filter(function (t) { return t.id !== resolvedThreadId; })), false);
58831
+ });
58832
+ }
58712
58833
  });
58713
- }, [transport]);
58834
+ return chat;
58835
+ };
58836
+ var readyChat = React.useMemo(function () { return makeChat(null); }, [transport]);
58837
+ var activeThread = threads.find(function (t) { return t.id === activeThreadId; });
58838
+ var activeChat = (_b = activeThread === null || activeThread === void 0 ? void 0 : activeThread.chat) !== null && _b !== void 0 ? _b : readyChat;
58714
58839
  // @ts-ignore
58715
- var _e = useChat({
58716
- transport: chatTransport
58717
- }), messages = _e.messages, sendMessage = _e.sendMessage, status = _e.status, error = _e.error;
58840
+ var _k = useChat({
58841
+ chat: activeChat
58842
+ }), messages = _k.messages, sendMessage = _k.sendMessage, status = _k.status, error = _k.error;
58718
58843
  // TODO: Implement smooth scroll takeover - stop auto-scroll when user scrolls up
58719
58844
  React.useEffect(function () {
58720
58845
  var _a;
58721
58846
  (_a = messagesEndRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' });
58722
58847
  }, [messages]);
58848
+ var fetchThreads = React.useCallback(function () { return __awaiter$2(void 0, void 0, void 0, function () {
58849
+ var data;
58850
+ return __generator(this, function (_a) {
58851
+ switch (_a.label) {
58852
+ case 0: return [4 /*yield*/, getThreadList(transport)];
58853
+ case 1:
58854
+ data = _a.sent();
58855
+ if (!data)
58856
+ return [2 /*return*/];
58857
+ setThreads(function (prev) { return __spreadArray(__spreadArray([], __read(data.map(function (d) {
58858
+ var _a;
58859
+ return (exports.__assign(exports.__assign({}, d), { chat: (_a = prev.find(function (p) { return p.id === d.id; })) === null || _a === void 0 ? void 0 : _a.chat }));
58860
+ })), false), __read(prev.filter(function (p) { return !data.find(function (d) { return d.id === p.id; }); })), false); });
58861
+ return [2 /*return*/];
58862
+ }
58863
+ });
58864
+ }); }, [transport]);
58865
+ React.useEffect(function () {
58866
+ if (isOpen)
58867
+ fetchThreads();
58868
+ }, [isOpen, fetchThreads]);
58869
+ var handleNewThread = function () {
58870
+ var id = v4$1();
58871
+ var now = new Date().toISOString();
58872
+ var chat = makeChat(null);
58873
+ setThreads(function (prev) { return __spreadArray([
58874
+ {
58875
+ id: id,
58876
+ title: '',
58877
+ created_at: now,
58878
+ updated_at: now,
58879
+ isTemporary: true,
58880
+ chat: chat
58881
+ }
58882
+ ], __read(prev.filter(function (t) { return !t.isTemporary || t.title; })), false); });
58883
+ setActiveThreadId(id);
58884
+ setIsDropdownOpen(false);
58885
+ };
58886
+ var handleSelectThread = function (id) { return __awaiter$2(void 0, void 0, void 0, function () {
58887
+ var thread, chat;
58888
+ var _a, _b;
58889
+ return __generator(this, function (_c) {
58890
+ switch (_c.label) {
58891
+ case 0:
58892
+ if ((_a = threads.find(function (t) { return t.id === id; })) === null || _a === void 0 ? void 0 : _a.chat) {
58893
+ setActiveThreadId(id);
58894
+ setIsDropdownOpen(false);
58895
+ return [2 /*return*/];
58896
+ }
58897
+ return [4 /*yield*/, getThreadDetail(transport, id)];
58898
+ case 1:
58899
+ thread = _c.sent();
58900
+ if (!thread)
58901
+ return [2 /*return*/];
58902
+ chat = makeChat(id, (_b = thread.messages) !== null && _b !== void 0 ? _b : []);
58903
+ setThreads(function (prev) {
58904
+ return prev.map(function (t) { return (t.id === id ? exports.__assign(exports.__assign({}, thread), { chat: chat }) : t); });
58905
+ });
58906
+ setActiveThreadId(id);
58907
+ setIsDropdownOpen(false);
58908
+ return [2 /*return*/];
58909
+ }
58910
+ });
58911
+ }); };
58912
+ var handleDeleteThread = function (id, e) { return __awaiter$2(void 0, void 0, void 0, function () {
58913
+ var thread;
58914
+ return __generator(this, function (_a) {
58915
+ switch (_a.label) {
58916
+ case 0:
58917
+ e.stopPropagation();
58918
+ thread = threads.find(function (t) { return t.id === id; });
58919
+ if (!!(thread === null || thread === void 0 ? void 0 : thread.isTemporary)) return [3 /*break*/, 2];
58920
+ return [4 /*yield*/, deleteThread(transport, id)];
58921
+ case 1:
58922
+ _a.sent();
58923
+ _a.label = 2;
58924
+ case 2:
58925
+ setThreads(function (prev) { return prev.filter(function (t) { return t.id !== id; }); });
58926
+ if (activeThreadId === id)
58927
+ handleNewThread();
58928
+ return [2 /*return*/];
58929
+ }
58930
+ });
58931
+ }); };
58723
58932
  var handleSend = function () {
58724
58933
  if (input.trim() && status === 'ready') {
58934
+ var now_1 = new Date().toISOString();
58935
+ if (!activeThreadId) {
58936
+ // First send, register readyChat as a real thread entry
58937
+ var id_1 = v4$1();
58938
+ setThreads(function (prev) { return __spreadArray([
58939
+ {
58940
+ id: id_1,
58941
+ title: input.trim().slice(0, 60),
58942
+ created_at: now_1,
58943
+ updated_at: now_1,
58944
+ isTemporary: true,
58945
+ chat: activeChat
58946
+ }
58947
+ ], __read(prev), false); });
58948
+ setActiveThreadId(id_1);
58949
+ }
58950
+ else {
58951
+ if (activeThread && !activeThread.title) {
58952
+ setThreads(function (prev) { return __spreadArray([
58953
+ exports.__assign(exports.__assign({}, activeThread), { title: input.trim().slice(0, 60), updated_at: now_1 })
58954
+ ], __read(prev.filter(function (t) { return t.id !== activeThreadId; })), false); });
58955
+ }
58956
+ }
58725
58957
  sendMessage({ text: input });
58726
58958
  setInput('');
58727
58959
  }
@@ -58733,7 +58965,11 @@ var AssistantChat = function (_a) {
58733
58965
  handleSend();
58734
58966
  }
58735
58967
  };
58968
+ // Only show threads that have had at least one message sent
58969
+ var visibleThreads = threads.filter(function (t) { return t.title; });
58736
58970
  var isLoading = status === 'submitted' || status === 'streaming';
58971
+ var hasAssistantMessage = ((_c = messages[messages.length - 1]) === null || _c === void 0 ? void 0 : _c.role) === 'assistant' &&
58972
+ messages[messages.length - 1].parts.length > 0;
58737
58973
  // Collapsed state - show chat bubble
58738
58974
  if (!isOpen) {
58739
58975
  return (jsx$1("button", exports.__assign({ type: 'button', onClick: function () { return setIsOpen(true); }, css: {
@@ -58769,7 +59005,7 @@ var AssistantChat = function (_a) {
58769
59005
  height: "".concat(PANEL_HEIGHT, "px"),
58770
59006
  backgroundColor: 'white',
58771
59007
  borderRadius: '12px',
58772
- boxShadow: '0 25px 50px -12px rgba(0, 0, 0, 0.25)',
59008
+ boxShadow: '0 8px 24px rgba(0, 0, 0, 0.12)',
58773
59009
  border: "1px solid ".concat(GRAY_200),
58774
59010
  display: 'flex',
58775
59011
  flexDirection: 'column',
@@ -58781,8 +59017,21 @@ var AssistantChat = function (_a) {
58781
59017
  justifyContent: 'space-between',
58782
59018
  padding: '12px 16px',
58783
59019
  backgroundColor: colors.primary,
58784
- color: 'white'
58785
- } }, { children: [jsxs("div", exports.__assign({ css: { display: 'flex', alignItems: 'center', gap: '8px' } }, { children: [jsx$1(ChatIcon, {}), jsx$1("span", exports.__assign({ css: { fontWeight: 600, fontSize: '14px' } }, { children: "AI Assistant" }))] })), jsx$1("button", exports.__assign({ type: 'button', onClick: function () { return setIsOpen(false); }, css: {
59020
+ color: 'white',
59021
+ position: 'relative'
59022
+ } }, { children: [jsxs("div", exports.__assign({ css: { display: 'flex', alignItems: 'center', gap: '8px' } }, { children: [jsx$1(ChatIcon, {}), jsxs("button", exports.__assign({ type: 'button', onClick: function () { return setIsDropdownOpen(function (prev) { return !prev; }); }, css: {
59023
+ background: 'none',
59024
+ border: 'none',
59025
+ color: 'white',
59026
+ cursor: 'pointer',
59027
+ fontWeight: 600,
59028
+ fontSize: '14px',
59029
+ padding: '0',
59030
+ display: 'flex',
59031
+ alignItems: 'center',
59032
+ gap: '4px',
59033
+ ':hover': { opacity: 0.85 }
59034
+ } }, { children: [(activeThread === null || activeThread === void 0 ? void 0 : activeThread.title) || 'AI Assistant', jsx$1("span", exports.__assign({ css: { fontSize: '10px', opacity: 0.8 } }, { children: "\u25BE" }))] }))] })), jsx$1("button", exports.__assign({ type: 'button', onClick: function () { return setIsOpen(false); }, css: {
58786
59035
  background: 'none',
58787
59036
  border: 'none',
58788
59037
  color: 'white',
@@ -58795,7 +59044,69 @@ var AssistantChat = function (_a) {
58795
59044
  ':hover': {
58796
59045
  backgroundColor: 'rgba(255, 255, 255, 0.1)'
58797
59046
  }
58798
- } }, { children: jsx$1(MinimizeIcon, {}) }))] })), jsxs("div", exports.__assign({ css: {
59047
+ } }, { 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", exports.__assign({ css: {
59048
+ position: 'absolute',
59049
+ top: '100%',
59050
+ left: 0,
59051
+ width: '100%',
59052
+ backgroundColor: 'white',
59053
+ border: "1px solid ".concat(GRAY_200),
59054
+ borderTop: 'none',
59055
+ borderRadius: '0 0 8px 8px',
59056
+ boxShadow: '0 8px 16px rgba(0,0,0,0.12)',
59057
+ zIndex: 1001,
59058
+ maxHeight: '240px',
59059
+ overflowY: 'auto'
59060
+ } }, { children: [jsx$1("button", exports.__assign({ type: 'button', onClick: handleNewThread, css: {
59061
+ width: '100%',
59062
+ padding: '10px 14px',
59063
+ background: 'none',
59064
+ border: 'none',
59065
+ borderBottom: "1px solid ".concat(GRAY_100),
59066
+ cursor: 'pointer',
59067
+ fontSize: '13px',
59068
+ fontWeight: 600,
59069
+ color: colors.primary,
59070
+ textAlign: 'left',
59071
+ ':hover': { backgroundColor: GRAY_50 }
59072
+ } }, { children: "+ New Thread" })), visibleThreads.length === 0 && (jsx$1("div", exports.__assign({ css: {
59073
+ padding: '12px 14px',
59074
+ fontSize: '13px',
59075
+ color: GRAY_400
59076
+ } }, { children: "No threads yet" }))), visibleThreads.map(function (thread) { return (jsxs("div", exports.__assign({ onClick: function () { return handleSelectThread(thread.id); }, css: {
59077
+ display: 'flex',
59078
+ alignItems: 'center',
59079
+ justifyContent: 'space-between',
59080
+ padding: '10px 14px',
59081
+ cursor: 'pointer',
59082
+ backgroundColor: thread.id === activeThreadId ? colors.light : 'white',
59083
+ ':hover': { backgroundColor: GRAY_50 }
59084
+ } }, { children: [jsxs("div", exports.__assign({ css: { flex: 1, minWidth: 0 } }, { children: [jsx$1("div", exports.__assign({ css: {
59085
+ fontSize: '13px',
59086
+ fontWeight: 500,
59087
+ color: GRAY_800,
59088
+ overflow: 'hidden',
59089
+ textOverflow: 'ellipsis',
59090
+ whiteSpace: 'nowrap'
59091
+ } }, { children: thread.title || 'Untitled conversation' })), jsx$1("div", exports.__assign({ css: {
59092
+ fontSize: '11px',
59093
+ color: GRAY_400,
59094
+ marginTop: '2px'
59095
+ } }, { children: new Date(thread.updated_at).toLocaleDateString() }))] })), jsx$1("button", exports.__assign({ type: 'button', onClick: function (e) { return handleDeleteThread(thread.id, e); }, css: {
59096
+ background: 'none',
59097
+ border: 'none',
59098
+ cursor: 'pointer',
59099
+ color: GRAY_400,
59100
+ fontSize: '16px',
59101
+ padding: '2px 6px',
59102
+ marginLeft: '8px',
59103
+ borderRadius: '4px',
59104
+ lineHeight: 1,
59105
+ ':hover': {
59106
+ color: '#dc2626',
59107
+ backgroundColor: '#fef2f2'
59108
+ }
59109
+ } }, { children: "\u00D7" }))] }), thread.id)); })] }))] }))] })), jsxs("div", exports.__assign({ css: {
58799
59110
  flex: 1,
58800
59111
  overflowY: 'auto',
58801
59112
  padding: '16px',
@@ -58851,7 +59162,7 @@ var AssistantChat = function (_a) {
58851
59162
  }
58852
59163
  return null;
58853
59164
  }) }, message.id));
58854
- }), status === 'submitted' && (jsx$1("div", exports.__assign({ css: { display: 'flex', justifyContent: 'flex-start' } }, { children: jsxs("div", exports.__assign({ css: {
59165
+ }), isLoading && !hasAssistantMessage && (jsx$1("div", exports.__assign({ css: { display: 'flex', justifyContent: 'flex-start' } }, { children: jsxs("div", exports.__assign({ css: {
58855
59166
  padding: '10px 14px',
58856
59167
  borderRadius: '12px',
58857
59168
  backgroundColor: colors.light,
@@ -58871,7 +59182,7 @@ var AssistantChat = function (_a) {
58871
59182
  padding: '12px 16px',
58872
59183
  borderTop: "1px solid ".concat(GRAY_200),
58873
59184
  backgroundColor: GRAY_50
58874
- } }, { 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: {
59185
+ } }, { children: [jsx$1("input", { type: 'text', value: input, onChange: function (e) { return setInput(e.target.value); }, onKeyDown: handleKeyDown, placeholder: 'Type a message...', css: {
58875
59186
  flex: 1,
58876
59187
  padding: '10px 14px',
58877
59188
  border: "1px solid ".concat(GRAY_200),
@@ -58881,10 +59192,6 @@ var AssistantChat = function (_a) {
58881
59192
  transition: 'border-color 0.2s',
58882
59193
  ':focus': {
58883
59194
  borderColor: colors.primary
58884
- },
58885
- ':disabled': {
58886
- backgroundColor: GRAY_100,
58887
- cursor: 'not-allowed'
58888
59195
  }
58889
59196
  } }), jsx$1("button", exports.__assign({ type: 'button', onClick: handleSend, disabled: isLoading || !input.trim(), css: {
58890
59197
  padding: '10px',
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.IHqwZyC3.js');
3
+ var index = require('./fthry_index.DQL_RNQ5.js');
4
4
  var React = require('react');
5
- var FormControl = require('./fthry_FormControl.WIYoX7l6.js');
6
- var index$1 = require('./fthry_index.BAf-75T4.js');
7
- var InlineTooltip = require('./fthry_InlineTooltip.C6Kf0Ff-.js');
8
- var useSalesforceSync = require('./fthry_useSalesforceSync.D0kLb1UT.js');
5
+ var FormControl = require('./fthry_FormControl.DurQlaqU.js');
6
+ var index$1 = require('./fthry_index.cjyiNFQz.js');
7
+ var InlineTooltip = require('./fthry_InlineTooltip.BXWfZzL2.js');
8
+ var useSalesforceSync = require('./fthry_useSalesforceSync.0Po-_R2K.js');
9
9
  require('react/jsx-runtime');
10
10
  require('react-dom/client');
11
11
  require('jszip');
12
12
  require('react-dom');
13
- require('./fthry_Overlay.JRkHffzB.js');
13
+ require('./fthry_Overlay.CioCMhlq.js');
14
14
 
15
15
  var applyRadioGroupStyles = function (element, responsiveStyles) {
16
16
  responsiveStyles.addTargets('radioGroup');
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.IHqwZyC3.js');
3
+ var index$1 = require('./fthry_index.DQL_RNQ5.js');
4
4
  var React = require('react');
5
- var Placeholder = require('./fthry_Placeholder.luXrF_m_.js');
6
- var InlineTooltip = require('./fthry_InlineTooltip.C6Kf0Ff-.js');
5
+ var Placeholder = require('./fthry_Placeholder.CX7qc-Cl.js');
6
+ var InlineTooltip = require('./fthry_InlineTooltip.BXWfZzL2.js');
7
7
  require('react/jsx-runtime');
8
8
  require('react-dom/client');
9
9
  require('jszip');
10
10
  require('react-dom');
11
- require('./fthry_Overlay.JRkHffzB.js');
11
+ require('./fthry_Overlay.CioCMhlq.js');
12
12
 
13
13
  function TextArea(_a) {
14
14
  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
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.IHqwZyC3.js');
3
+ var index = require('./fthry_index.DQL_RNQ5.js');
4
4
  var React = require('react');
5
5
  var ReactJSXRuntime = require('react/jsx-runtime');
6
6
  require('react-dom/client');