@feathery/react 2.32.1 → 2.34.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 (146) 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/MarkdownText.d.ts.map +1 -1
  4. package/cjs/assistant/index.d.ts +7 -1
  5. package/cjs/assistant/index.d.ts.map +1 -1
  6. package/cjs/assistant/utils.d.ts +1 -0
  7. package/cjs/assistant/utils.d.ts.map +1 -1
  8. package/cjs/elements/basic/TableElement/Actions.d.ts +3 -1
  9. package/cjs/elements/basic/TableElement/Actions.d.ts.map +1 -1
  10. package/cjs/elements/basic/TableElement/DeleteConfirm.d.ts +11 -0
  11. package/cjs/elements/basic/TableElement/DeleteConfirm.d.ts.map +1 -0
  12. package/cjs/elements/basic/TableElement/EditableCell.d.ts +10 -0
  13. package/cjs/elements/basic/TableElement/EditableCell.d.ts.map +1 -0
  14. package/cjs/elements/basic/TableElement/Search.d.ts.map +1 -1
  15. package/cjs/elements/basic/TableElement/index.d.ts +1 -1
  16. package/cjs/elements/basic/TableElement/index.d.ts.map +1 -1
  17. package/cjs/elements/basic/TableElement/styles.d.ts +269 -4
  18. package/cjs/elements/basic/TableElement/styles.d.ts.map +1 -1
  19. package/cjs/elements/basic/TableElement/useTableData.d.ts +6 -1
  20. package/cjs/elements/basic/TableElement/useTableData.d.ts.map +1 -1
  21. package/cjs/elements/basic/TableElement/useTableMutations.d.ts +23 -0
  22. package/cjs/elements/basic/TableElement/useTableMutations.d.ts.map +1 -0
  23. package/cjs/elements/components/icons/TrashIcon.d.ts +3 -0
  24. package/cjs/elements/components/icons/TrashIcon.d.ts.map +1 -0
  25. package/cjs/elements/components/icons/index.d.ts +2 -1
  26. package/cjs/elements/components/icons/index.d.ts.map +1 -1
  27. package/cjs/{fthry_FormControl.DurQlaqU.js → fthry_FormControl.CML0lwzj.js} +1 -1
  28. package/cjs/{fthry_InlineTooltip.BXWfZzL2.js → fthry_InlineTooltip.BA5EZyVy.js} +2 -2
  29. package/cjs/{fthry_Overlay.CioCMhlq.js → fthry_Overlay.B_9rPs-m.js} +1 -1
  30. package/cjs/{fthry_PaymentMethodField.DhSkUuU-.js → fthry_PaymentMethodField.C00vPUNe.js} +4 -4
  31. package/cjs/{fthry_Placeholder.CX7qc-Cl.js → fthry_Placeholder.BFFDhXBs.js} +1 -1
  32. package/cjs/{fthry_ShowEyeIcon.80VHzelN.js → fthry_ShowEyeIcon.CuPS0oeE.js} +1 -1
  33. package/cjs/{fthry_index.Dofn1W06.js → fthry_index.03SRNIsU.js} +4 -4
  34. package/cjs/{fthry_index.RkgEXvkN.js → fthry_index.BJAVGAGZ.js} +5 -5
  35. package/cjs/{fthry_index.BrWW45H5.js → fthry_index.BQVESvqn.js} +5 -5
  36. package/cjs/{fthry_index.C05KVXV6.js → fthry_index.BXg6uKKM.js} +1 -1
  37. package/cjs/{fthry_index.Oufk9PK1.js → fthry_index.BYybPok4.js} +2 -2
  38. package/cjs/{fthry_index.DALbyltA.js → fthry_index.Bf0a9QEh.js} +8 -8
  39. package/cjs/{fthry_index.DPXTa2dj.js → fthry_index.BgedLiI0.js} +1 -1
  40. package/cjs/{fthry_index.CANZBm-k.js → fthry_index.BhR7_Tw1.js} +5 -5
  41. package/cjs/{fthry_index.CLPl9dPm.js → fthry_index.C0XeExCZ.js} +1 -1
  42. package/cjs/{fthry_index.CwZL5tZB.js → fthry_index.C0u7HxWh.js} +3 -3
  43. package/cjs/{fthry_index.NnMUv723.js → fthry_index.C5G-Orde.js} +507 -47
  44. package/cjs/{fthry_index.C5QUdS7L.js → fthry_index.C7Ucykze.js} +1 -1
  45. package/cjs/{fthry_index.DXol9L5L.js → fthry_index.CEcJUhQu.js} +6 -6
  46. package/cjs/{fthry_index.DQL_RNQ5.js → fthry_index.CLcw1cAr.js} +190 -57
  47. package/cjs/{fthry_index.D3P96Nnw.js → fthry_index.COZBuqOZ.js} +4 -4
  48. package/cjs/{fthry_index.CY58pJ5G.js → fthry_index.D5JB2gFa.js} +6 -6
  49. package/cjs/{fthry_index.Cm-Al4PR.js → fthry_index.DrY8SRA_.js} +4 -4
  50. package/cjs/{fthry_index.cjyiNFQz.js → fthry_index.Dx0lyifQ.js} +1 -1
  51. package/cjs/{fthry_index.Br877QRA.js → fthry_index.Ht6LeWDf.js} +3 -3
  52. package/cjs/{fthry_index.BnYce3sm.js → fthry_index.SDGVk6Nx.js} +5 -5
  53. package/cjs/{fthry_index.DpeEqUaO.js → fthry_index.T7PUxXEk.js} +1 -1
  54. package/cjs/{fthry_index.B8tZZXUF.js → fthry_index.WclRwtN5.js} +6 -6
  55. package/cjs/{fthry_index.Cgn2gw_g.js → fthry_index.cNEEOSYt.js} +1 -1
  56. package/cjs/{fthry_index.9yf8TiBa.js → fthry_index.feR_RWVW.js} +2 -2
  57. package/cjs/{fthry_input.Ek-TePLo.js → fthry_input.Cpq06SDM.js} +1 -1
  58. package/cjs/{fthry_script.D4I5wEAM.js → fthry_script.Pp5hc7_j.js} +1 -1
  59. package/cjs/{fthry_styles.BAOkmtNa.js → fthry_styles.C5aRtkKT.js} +1 -1
  60. package/cjs/{fthry_useElementSize.DxiZSHps.js → fthry_useElementSize.EwhSeBgA.js} +1 -1
  61. package/cjs/{fthry_useSalesforceSync.0Po-_R2K.js → fthry_useSalesforceSync.8708kCRl.js} +1 -1
  62. package/cjs/{fthry_webfontloader.Dpbr76nZ.js → fthry_webfontloader.pK_b8-qc.js} +1 -1
  63. package/cjs/index.js +1 -1
  64. package/cjs/utils/formHelperFunctions.d.ts +1 -1
  65. package/cjs/utils/formHelperFunctions.d.ts.map +1 -1
  66. package/dist/Form/grid/Element/index.d.ts.map +1 -1
  67. package/dist/Form/index.d.ts.map +1 -1
  68. package/dist/assistant/MarkdownText.d.ts.map +1 -1
  69. package/dist/assistant/index.d.ts +7 -1
  70. package/dist/assistant/index.d.ts.map +1 -1
  71. package/dist/assistant/utils.d.ts +1 -0
  72. package/dist/assistant/utils.d.ts.map +1 -1
  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 +269 -4
  83. package/dist/elements/basic/TableElement/styles.d.ts.map +1 -1
  84. package/dist/elements/basic/TableElement/useTableData.d.ts +6 -1
  85. package/dist/elements/basic/TableElement/useTableData.d.ts.map +1 -1
  86. package/dist/elements/basic/TableElement/useTableMutations.d.ts +23 -0
  87. package/dist/elements/basic/TableElement/useTableMutations.d.ts.map +1 -0
  88. package/dist/elements/components/icons/TrashIcon.d.ts +3 -0
  89. package/dist/elements/components/icons/TrashIcon.d.ts.map +1 -0
  90. package/dist/elements/components/icons/index.d.ts +2 -1
  91. package/dist/elements/components/icons/index.d.ts.map +1 -1
  92. package/dist/{fthry_FormControl.CxJVENhU.js → fthry_FormControl.DKlbmUiV.js} +1 -1
  93. package/dist/{fthry_InlineTooltip.CqD5dxb4.js → fthry_InlineTooltip.BKSwt9jG.js} +2 -2
  94. package/dist/{fthry_Overlay.C-S2P_RR.js → fthry_Overlay.BTm6pCZJ.js} +1 -1
  95. package/dist/{fthry_PaymentMethodField.QXLEi8jw.js → fthry_PaymentMethodField.DpnAuKvB.js} +4 -4
  96. package/dist/{fthry_Placeholder.DdvJyqsu.js → fthry_Placeholder.CPAnnclY.js} +1 -1
  97. package/dist/{fthry_ShowEyeIcon.CZus1erN.js → fthry_ShowEyeIcon.BZ2aJo9D.js} +1 -1
  98. package/dist/{fthry_index.C6CFRFmj.js → fthry_index.-CcNnx9X.js} +3 -3
  99. package/dist/{fthry_index.BmrKBP2b.js → fthry_index.02uCZKhe.js} +4 -4
  100. package/dist/{fthry_index.BsCv8dPB.js → fthry_index.5DxASb1N.js} +1 -1
  101. package/dist/{fthry_index.Cv8JZvnf.js → fthry_index.B1QY7Fyq.js} +3 -3
  102. package/dist/{fthry_index.CNIO-M5G.js → fthry_index.BEF9nltO.js} +1 -1
  103. package/dist/{fthry_index.Bn5hHeFA.js → fthry_index.BKqYC-oZ.js} +6 -6
  104. package/dist/{fthry_index.DUhZfNzg.js → fthry_index.BNCwvjVk.js} +4 -4
  105. package/dist/{fthry_index.9VAfgoMl.js → fthry_index.CQVyGrDZ.js} +1 -1
  106. package/dist/{fthry_index.DVRFkK73.js → fthry_index.Cfd1x2qq.js} +5 -5
  107. package/dist/{fthry_index.B_7ywejL.js → fthry_index.CiAW_8IB.js} +5 -5
  108. package/dist/{fthry_index.B3B8bEEX.js → fthry_index.Ck_WYegw.js} +2 -2
  109. package/dist/{fthry_index.BT7cSNXV.js → fthry_index.D-UMzwNT.js} +1 -1
  110. package/dist/{fthry_index.BJVuZZ2J.js → fthry_index.D2a3hB7c.js} +1 -1
  111. package/dist/{fthry_index.4JG7sxtp.js → fthry_index.D36b2PTi.js} +2 -2
  112. package/dist/{fthry_index.p64tvQaa.js → fthry_index.D5e9d-bc.js} +6 -6
  113. package/dist/{fthry_index.CsSJubdr.js → fthry_index.DANjxt92.js} +6 -6
  114. package/dist/{fthry_index.BpZ7gZfF.js → fthry_index.DQtD1jTh.js} +5 -5
  115. package/dist/{fthry_index.Bk7-v1ou.js → fthry_index.DU4jPWLZ.js} +191 -58
  116. package/dist/{fthry_index.Cr2SZgDK.js → fthry_index.DpQBQuUs.js} +8 -8
  117. package/dist/{fthry_index.C5ZHl-kt.js → fthry_index.DwDyjSm7.js} +508 -48
  118. package/dist/{fthry_index.DmqZnhoE.js → fthry_index.DxPTSFlh.js} +1 -1
  119. package/dist/{fthry_index.BL5rEBAF.js → fthry_index.RHhTHWCk.js} +4 -4
  120. package/dist/{fthry_index.wqVaa2JI.js → fthry_index.anz0O6yX.js} +5 -5
  121. package/dist/{fthry_index.BV8FC0Yc.js → fthry_index.bTguBDFD.js} +1 -1
  122. package/dist/{fthry_input.aOsdUSPt.js → fthry_input.BCkUbKsr.js} +1 -1
  123. package/dist/{fthry_script.HcN-guNp.js → fthry_script.u21cC2ng.js} +1 -1
  124. package/dist/{fthry_styles.BLq5f5E_.js → fthry_styles.BCzx9hie.js} +1 -1
  125. package/dist/{fthry_useElementSize.ZyD83Wr1.js → fthry_useElementSize.DPJ5NPHR.js} +1 -1
  126. package/dist/{fthry_useSalesforceSync.Ddbp4SYp.js → fthry_useSalesforceSync.DQ8LIE8i.js} +1 -1
  127. package/dist/{fthry_webfontloader.C3IotuWt.js → fthry_webfontloader.BFz-Z-Vx.js} +1 -1
  128. package/dist/index.js +1 -1
  129. package/dist/utils/formHelperFunctions.d.ts +1 -1
  130. package/dist/utils/formHelperFunctions.d.ts.map +1 -1
  131. package/package.json +1 -1
  132. package/umd/{277.d9907ecd5dc2117c9171.js → 277.87e6ca5c1cf2a7477992.js} +1 -1
  133. package/umd/{509.a863f8749c28540476bb.js → 509.bca2ff43c66b1dba064f.js} +2 -2
  134. package/umd/{AddressField.ec97334fe233830bc05b.js → AddressField.2d777eda22a67a0ed3a3.js} +1 -1
  135. package/umd/{DateSelectorField.00f321e0b1972feb9d69.js → DateSelectorField.54afc978d2fd9d10b106.js} +1 -1
  136. package/umd/{FileUploadField.ea0067dd62b0454b7c2e.js → FileUploadField.7a5028fb6035d09b3e81.js} +1 -1
  137. package/umd/{PasswordField.1358356d6fbc6880f12a.js → PasswordField.7585ef588333cb4181f7.js} +1 -1
  138. package/umd/{PaymentMethodField.9a8e934f7450eb141217.js → PaymentMethodField.d08bcfa1efb56084572d.js} +1 -1
  139. package/umd/{PhoneField.c526085aaa5ccd25e982.js → PhoneField.19c987f04cfcb60ab07c.js} +1 -1
  140. package/umd/{SignatureField.d710930ca89642eb651c.js → SignatureField.0e7d60fa2fafcb6be554.js} +1 -1
  141. package/umd/TableElement.8e41e1015eb1543af90b.js +1 -0
  142. package/umd/{TextArea.f566845d458d4c00e0e7.js → TextArea.7cca0d69e618846660c5.js} +1 -1
  143. package/umd/{TextField.5a5296fe3ea60c4459f2.js → TextField.f5cc4a03e69d5872027b.js} +1 -1
  144. package/umd/index.js +1 -1
  145. package/umd/TableElement.ee77e0f53a9ccac846ab.js +0 -1
  146. /package/umd/{509.a863f8749c28540476bb.js.LICENSE.txt → 509.bca2ff43c66b1dba064f.js.LICENSE.txt} +0 -0
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.DQL_RNQ5.js');
3
+ var index = require('./fthry_index.CLcw1cAr.js');
4
4
 
5
5
  var propTypes = {exports: {}};
6
6
 
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.DQL_RNQ5.js');
3
+ var index = require('./fthry_index.CLcw1cAr.js');
4
4
  var React = require('react');
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');
5
+ var FormControl = require('./fthry_FormControl.CML0lwzj.js');
6
+ var index$1 = require('./fthry_index.Dx0lyifQ.js');
7
+ var InlineTooltip = require('./fthry_InlineTooltip.BA5EZyVy.js');
8
+ var useSalesforceSync = require('./fthry_useSalesforceSync.8708kCRl.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.CioCMhlq.js');
13
+ require('./fthry_Overlay.B_9rPs-m.js');
14
14
 
15
15
  var applyRadioGroupStyles = function (element, responsiveStyles) {
16
16
  responsiveStyles.addTargets('radioGroup');
@@ -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, 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, 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;
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); }, buttonLoaders: buttonLoaders })));
20999
+ return (jsx$1(Elements.TableElement, exports.__assign({}, basicProps, { onClick: function (payload) { return tableOnClick(el, payload); }, updateFieldValues: updateFieldValues, submitCustom: submitCustom, 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;
@@ -39642,8 +39642,8 @@ function Form(_a) {
39642
39642
  globalStyles: {},
39643
39643
  mobileBreakpoint: DEFAULT_MOBILE_BREAKPOINT,
39644
39644
  assistantEnabled: false,
39645
- assistantContext: '',
39646
- assistantColor: '#6b7280'
39645
+ assistantColor: '#6b7280',
39646
+ assistantWorkflowActions: []
39647
39647
  }), 2), formSettings = _12[0], setFormSettings = _12[1];
39648
39648
  var trackHashes = React.useRef(false);
39649
39649
  var curLanguage = React.useRef(undefined);
@@ -42251,6 +42251,7 @@ function Form(_a) {
42251
42251
  return changeFormStep(nextStepKey, activeStep.key, false);
42252
42252
  },
42253
42253
  updateFieldValues: updateFieldValues,
42254
+ submitCustom: function (values) { return client === null || client === void 0 ? void 0 : client.submitCustom(values); },
42254
42255
  elementOnView: elementOnView,
42255
42256
  onViewElements: viewElements,
42256
42257
  formSettings: formSettings,
@@ -42308,7 +42309,7 @@ function Form(_a) {
42308
42309
  : 20 }), formSettings.assistantEnabled && (jsx$1(React.Suspense, exports.__assign({ fallback: null }, { children: jsx$1(AssistantChat$1, { transport: transport, bottom: (formSettings.showBrand &&
42309
42310
  formSettings.brandPosition === 'bottom_right'
42310
42311
  ? 67
42311
- : 20) + (actionToastHeight > 0 ? actionToastHeight + 10 : 0), color: formSettings.assistantColor }) })))] })) })));
42312
+ : 20) + (actionToastHeight > 0 ? actionToastHeight + 10 : 0), color: formSettings.assistantColor, workflowActions: formSettings.assistantWorkflowActions }) })))] })) })));
42312
42313
  }
42313
42314
  // normal <Form /> (aka ReactForm) component is exported with just `props:
42314
42315
  // Props`, so need this component to support exposing _internalId for use in
@@ -46130,9 +46131,9 @@ function init(sdkKey, options) {
46130
46131
  if (runningInClient()) {
46131
46132
  // Dynamically load libraries that must be client side
46132
46133
  global.scriptjsLoadPromise = Promise.resolve().then(function () { return require(
46133
- /* webpackChunkName: "scriptjs" */ './fthry_script.D4I5wEAM.js'); }).then(function (n) { return n.script; });
46134
+ /* webpackChunkName: "scriptjs" */ './fthry_script.Pp5hc7_j.js'); }).then(function (n) { return n.script; });
46134
46135
  global.webfontloaderPromise = Promise.resolve().then(function () { return require(
46135
- /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.Dpbr76nZ.js'); }).then(function (n) { return n.webfontloader; });
46136
+ /* webpackChunkName: "webfontloader" */ './fthry_webfontloader.pK_b8-qc.js'); }).then(function (n) { return n.webfontloader; });
46136
46137
  // Client-side tracking logic
46137
46138
  if (initState.userTracking === 'cookie') {
46138
46139
  var cookieKey = "feathery-user-id-".concat(sdkKey);
@@ -46278,7 +46279,7 @@ function getFieldValues() {
46278
46279
  return exports.__assign({}, exports.fieldValues);
46279
46280
  }
46280
46281
  function logFeatheryBadge() {
46281
- console.log('%c Feathery %c v' + "2.32.1" + ' ', // replaced with real version during build
46282
+ console.log('%c Feathery %c v' + "2.34.0" + ' ', // replaced with real version during build
46282
46283
  '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;');
46283
46284
  }
46284
46285
 
@@ -46576,7 +46577,7 @@ function prioritizeActions(actions) {
46576
46577
  return newActions;
46577
46578
  }
46578
46579
  function mapFormSettingsResponse(res) {
46579
- var _a;
46580
+ var _a, _b, _c, _d, _e;
46580
46581
  return {
46581
46582
  errorType: res.error_type,
46582
46583
  autocomplete: res.autocomplete ? 'on' : 'off',
@@ -46593,9 +46594,11 @@ function mapFormSettingsResponse(res) {
46593
46594
  saveHideIfFields: res.save_hide_if_fields,
46594
46595
  clearHideIfFields: res.clear_hide_if_fields,
46595
46596
  mobileBreakpoint: (_a = res.mobile_breakpoint) !== null && _a !== void 0 ? _a : DEFAULT_MOBILE_BREAKPOINT,
46596
- assistantEnabled: res.assistant_enabled,
46597
- assistantContext: res.assistant_context,
46598
- assistantColor: res.assistant_color ? "#".concat(res.assistant_color) : '#6b7280'
46597
+ assistantEnabled: (_b = res.ai_assistant_settings) === null || _b === void 0 ? void 0 : _b.enabled,
46598
+ assistantColor: ((_c = res.ai_assistant_settings) === null || _c === void 0 ? void 0 : _c.color)
46599
+ ? "#".concat(res.ai_assistant_settings.color)
46600
+ : '#6b7280',
46601
+ assistantWorkflowActions: (_e = (_d = res.ai_assistant_settings) === null || _d === void 0 ? void 0 : _d.workflow_actions) !== null && _e !== void 0 ? _e : []
46599
46602
  };
46600
46603
  }
46601
46604
  function updateCustomHead(headCode) {
@@ -47760,39 +47763,39 @@ breakpoint) {
47760
47763
  return styles.getTarget('inner-container', undefined, viewport === 'mobile');
47761
47764
  };
47762
47765
 
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'); }); });
47766
+ var AddressLine1 = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "AddressField" */ './fthry_index.SDGVk6Nx.js'); }); });
47767
+ var ButtonGroupField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ButtonGroupField" */ './fthry_index.DrY8SRA_.js'); }); });
47768
+ var CheckboxField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxField" */ './fthry_index.Dx0lyifQ.js'); }); });
47766
47769
  var CheckboxGroupField = React.lazy(function () {
47767
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.B8tZZXUF.js'); });
47770
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "CheckboxGroupField" */ './fthry_index.WclRwtN5.js'); });
47768
47771
  });
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'); }); });
47772
+ var ColorPickerField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "ColorPickerField" */ './fthry_index.T7PUxXEk.js'); }); });
47773
+ var CustomField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "CustomField" */ './fthry_index.BXg6uKKM.js'); }); });
47771
47774
  var DateSelectorField = React.lazy(function () {
47772
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.CY58pJ5G.js'); });
47775
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DateSelectorField" */ './fthry_index.D5JB2gFa.js'); });
47773
47776
  });
47774
- var DropdownField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.D3P96Nnw.js'); }); });
47777
+ var DropdownField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownField" */ './fthry_index.COZBuqOZ.js'); }); });
47775
47778
  var DropdownMultiField = React.lazy(function () {
47776
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.CANZBm-k.js'); });
47779
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "DropdownMultiField" */ './fthry_index.BhR7_Tw1.js'); });
47777
47780
  });
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'); }); });
47781
+ var FileUploadField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "FileUploadField" */ './fthry_index.C0XeExCZ.js'); }); });
47782
+ var MatrixField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "MatrixField" */ './fthry_index.Ht6LeWDf.js'); }); });
47783
+ var PasswordField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PasswordField" */ './fthry_index.BQVESvqn.js'); }); });
47781
47784
  var PaymentMethodField = React.lazy(function () {
47782
- return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.DhSkUuU-.js'); });
47785
+ return Promise.resolve().then(function () { return require(/* webpackChunkName: "PaymentMethodField" */ './fthry_PaymentMethodField.C00vPUNe.js'); });
47783
47786
  });
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'); }); });
47787
+ var PhoneField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PhoneField" */ './fthry_index.BJAVGAGZ.js'); }); });
47788
+ var PinInputField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "PinInputField" */ './fthry_index.BgedLiI0.js'); }); });
47789
+ var QRScanner = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "QRScanner" */ './fthry_index.feR_RWVW.js'); }); });
47787
47790
  var RadioButtonGroupField = React.lazy(function () {
47788
47791
  return Promise.resolve().then(function () { return require(
47789
- /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.DXol9L5L.js'); });
47792
+ /* webpackChunkName: "RadioButtonGroupField" */ './fthry_index.CEcJUhQu.js'); });
47790
47793
  });
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'); }); });
47794
+ var RatingField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "RatingField" */ './fthry_index.cNEEOSYt.js'); }); });
47795
+ var SignatureField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SignatureField" */ './fthry_index.C0u7HxWh.js'); }); });
47796
+ var SliderField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "SliderField" */ './fthry_index.BYybPok4.js'); }); });
47797
+ var TextField = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextField" */ './fthry_index.Bf0a9QEh.js'); }); });
47798
+ var TextArea = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TextArea" */ './fthry_index.03SRNIsU.js'); }); });
47796
47799
  var Fields = {
47797
47800
  AddressLine1: AddressLine1,
47798
47801
  ButtonGroupField: ButtonGroupField,
@@ -48742,7 +48745,7 @@ function ElementSkeleton(_a) {
48742
48745
  }
48743
48746
  var templateObject_1;
48744
48747
 
48745
- var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.NnMUv723.js'); }); });
48748
+ var TableElement = React.lazy(function () { return Promise.resolve().then(function () { return require(/* webpackChunkName: "TableElement" */ './fthry_index.C5G-Orde.js'); }); });
48746
48749
  var Basic = {
48747
48750
  ImageElement: ImageElement,
48748
48751
  VideoElement: VideoElement,
@@ -58667,6 +58670,7 @@ var H3_PATTERN = /^###\s+(.+)$/;
58667
58670
  var H2_PATTERN = /^##\s+(.+)$/;
58668
58671
  var H1_PATTERN = /^#\s+(.+)$/;
58669
58672
  var LIST_PATTERN = /^[-*]\s+(.+)$/;
58673
+ var HR_PATTERN = /^---+$/;
58670
58674
  var processBold = function (text) {
58671
58675
  var parts = text.split(BOLD_PATTERN);
58672
58676
  return parts.map(function (part, i) {
@@ -58690,6 +58694,9 @@ var MarkdownText = React.memo(function (_a) {
58690
58694
  if (h1Match) {
58691
58695
  return (jsx$1("div", exports.__assign({ css: { fontWeight: 700, fontSize: '16px', marginTop: '10px' } }, { children: processBold(h1Match[1]) }), i));
58692
58696
  }
58697
+ if (HR_PATTERN.test(line)) {
58698
+ return (jsx$1("hr", { css: { border: 'none', borderTop: "1px solid ".concat(GRAY_200) } }, i));
58699
+ }
58693
58700
  var listMatch = line.match(LIST_PATTERN);
58694
58701
  if (listMatch) {
58695
58702
  return (jsxs("div", exports.__assign({ css: { marginLeft: '12px' } }, { children: ["\u2022 ", processBold(listMatch[1])] }), i));
@@ -58747,6 +58754,27 @@ var getThreadDetail = function (transport, threadId) { return __awaiter$2(void 0
58747
58754
  }
58748
58755
  });
58749
58756
  }); };
58757
+ var generateThreadTitle = function (transport, threadId, message) { return __awaiter$2(void 0, void 0, void 0, function () {
58758
+ var res, data;
58759
+ var _a;
58760
+ return __generator(this, function (_b) {
58761
+ switch (_b.label) {
58762
+ case 0: return [4 /*yield*/, fetch("".concat(transport.url, "threads/").concat(threadId, "/generate-title/").concat(toQueryString(transport.body)), {
58763
+ method: 'POST',
58764
+ headers: exports.__assign(exports.__assign({}, transport.headers()), { 'Content-Type': 'application/json' }),
58765
+ body: JSON.stringify({ message: message })
58766
+ })];
58767
+ case 1:
58768
+ res = _b.sent();
58769
+ if (!res.ok)
58770
+ return [2 /*return*/, null];
58771
+ return [4 /*yield*/, res.json()];
58772
+ case 2:
58773
+ data = _b.sent();
58774
+ return [2 /*return*/, (_a = data.title) !== null && _a !== void 0 ? _a : null];
58775
+ }
58776
+ });
58777
+ }); };
58750
58778
  var deleteThread = function (transport, threadId) { return __awaiter$2(void 0, void 0, void 0, function () {
58751
58779
  var threadsUrl;
58752
58780
  return __generator(this, function (_a) {
@@ -58769,12 +58797,13 @@ var PANEL_WIDTH = 380;
58769
58797
  var PANEL_HEIGHT = 500;
58770
58798
  var AssistantChat = function (_a) {
58771
58799
  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];
58800
+ var transport = _a.transport, _d = _a.bottom, bottom = _d === void 0 ? 20 : _d, color = _a.color, _e = _a.workflowActions, workflowActions = _e === void 0 ? [] : _e;
58801
+ var _f = __read(React.useState(false), 2), isOpen = _f[0], setIsOpen = _f[1];
58802
+ var _g = __read(React.useState(''), 2), input = _g[0], setInput = _g[1];
58803
+ var _h = __read(React.useState([]), 2), threads = _h[0], setThreads = _h[1];
58804
+ var _j = __read(React.useState(null), 2), activeThreadId = _j[0], setActiveThreadId = _j[1];
58805
+ var _k = __read(React.useState(false), 2), isDropdownOpen = _k[0], setIsDropdownOpen = _k[1];
58806
+ var _l = __read(React.useState(null), 2), actionTooltip = _l[0], setActionTooltip = _l[1];
58778
58807
  var messagesEndRef = React.useRef(null);
58779
58808
  var colors = React.useMemo(function () { return getChatColors(color || DEFAULT_CHAT_COLOR); }, [color]);
58780
58809
  var makeChat = function (threadId, initialMessages) {
@@ -58785,12 +58814,13 @@ var AssistantChat = function (_a) {
58785
58814
  headers: transport.headers,
58786
58815
  body: function () { return (exports.__assign(exports.__assign({}, transport.body), { thread_id: resolvedThreadId || null })); },
58787
58816
  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) {
58817
+ var res, threadId, titleMessage;
58818
+ var _a, _b, _c;
58819
+ return __generator(this, function (_d) {
58820
+ switch (_d.label) {
58791
58821
  case 0: return [4 /*yield*/, fetch(url, init)];
58792
58822
  case 1:
58793
- res = _a.sent();
58823
+ res = _d.sent();
58794
58824
  threadId = res.headers.get('X-Thread-Id');
58795
58825
  if (threadId && !resolvedThreadId) {
58796
58826
  resolvedThreadId = threadId;
@@ -58800,6 +58830,15 @@ var AssistantChat = function (_a) {
58800
58830
  });
58801
58831
  });
58802
58832
  setActiveThreadId(threadId);
58833
+ titleMessage = (_c = (_b = (_a = chat.messages.find(function (m) { return m.role === 'user'; })) === null || _a === void 0 ? void 0 : _a.parts) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.text;
58834
+ if (titleMessage) {
58835
+ generateThreadTitle(transport, threadId, titleMessage).then(function (title) {
58836
+ if (title)
58837
+ setThreads(function (prev) {
58838
+ return prev.map(function (t) { return (t.id === threadId ? exports.__assign(exports.__assign({}, t), { title: title }) : t); });
58839
+ });
58840
+ });
58841
+ }
58803
58842
  getThreadDetail(transport, threadId).then(function (t) {
58804
58843
  if (t)
58805
58844
  setThreads(function (prev) {
@@ -58837,9 +58876,9 @@ var AssistantChat = function (_a) {
58837
58876
  var activeThread = threads.find(function (t) { return t.id === activeThreadId; });
58838
58877
  var activeChat = (_b = activeThread === null || activeThread === void 0 ? void 0 : activeThread.chat) !== null && _b !== void 0 ? _b : readyChat;
58839
58878
  // @ts-ignore
58840
- var _k = useChat({
58879
+ var _m = useChat({
58841
58880
  chat: activeChat
58842
- }), messages = _k.messages, sendMessage = _k.sendMessage, status = _k.status, error = _k.error;
58881
+ }), messages = _m.messages, sendMessage = _m.sendMessage, status = _m.status, error = _m.error;
58843
58882
  // TODO: Implement smooth scroll takeover - stop auto-scroll when user scrolls up
58844
58883
  React.useEffect(function () {
58845
58884
  var _a;
@@ -58881,7 +58920,6 @@ var AssistantChat = function (_a) {
58881
58920
  }
58882
58921
  ], __read(prev.filter(function (t) { return !t.isTemporary || t.title; })), false); });
58883
58922
  setActiveThreadId(id);
58884
- setIsDropdownOpen(false);
58885
58923
  };
58886
58924
  var handleSelectThread = function (id) { return __awaiter$2(void 0, void 0, void 0, function () {
58887
58925
  var thread, chat;
@@ -58938,7 +58976,7 @@ var AssistantChat = function (_a) {
58938
58976
  setThreads(function (prev) { return __spreadArray([
58939
58977
  {
58940
58978
  id: id_1,
58941
- title: input.trim().slice(0, 60),
58979
+ title: 'New Chat',
58942
58980
  created_at: now_1,
58943
58981
  updated_at: now_1,
58944
58982
  isTemporary: true,
@@ -58950,7 +58988,7 @@ var AssistantChat = function (_a) {
58950
58988
  else {
58951
58989
  if (activeThread && !activeThread.title) {
58952
58990
  setThreads(function (prev) { return __spreadArray([
58953
- exports.__assign(exports.__assign({}, activeThread), { title: input.trim().slice(0, 60), updated_at: now_1 })
58991
+ exports.__assign(exports.__assign({}, activeThread), { title: 'New Chat', updated_at: now_1 })
58954
58992
  ], __read(prev.filter(function (t) { return t.id !== activeThreadId; })), false); });
58955
58993
  }
58956
58994
  }
@@ -58958,6 +58996,41 @@ var AssistantChat = function (_a) {
58958
58996
  setInput('');
58959
58997
  }
58960
58998
  };
58999
+ var handleWorkflowAction = function (action) {
59000
+ if (status !== 'ready')
59001
+ return;
59002
+ var now = new Date().toISOString();
59003
+ if (!activeThreadId) {
59004
+ var id_2 = v4$1();
59005
+ setThreads(function (prev) { return __spreadArray([
59006
+ {
59007
+ id: id_2,
59008
+ title: action.name,
59009
+ created_at: now,
59010
+ updated_at: now,
59011
+ isTemporary: true,
59012
+ chat: activeChat
59013
+ }
59014
+ ], __read(prev), false); });
59015
+ setActiveThreadId(id_2);
59016
+ }
59017
+ else if (activeThread && !activeThread.title) {
59018
+ setThreads(function (prev) { return __spreadArray([
59019
+ exports.__assign(exports.__assign({}, activeThread), { title: action.name, updated_at: now })
59020
+ ], __read(prev.filter(function (t) { return t.id !== activeThreadId; })), false); });
59021
+ }
59022
+ sendMessage({
59023
+ parts: [
59024
+ { type: 'text', text: action.name },
59025
+ {
59026
+ type: 'text',
59027
+ text: action.instructions,
59028
+ hidden: true,
59029
+ interpolate: true
59030
+ }
59031
+ ]
59032
+ });
59033
+ };
58961
59034
  var handleKeyDown = function (e) {
58962
59035
  if (e.key === 'Enter' && !e.shiftKey) {
58963
59036
  e.preventDefault();
@@ -59019,7 +59092,13 @@ var AssistantChat = function (_a) {
59019
59092
  backgroundColor: colors.primary,
59020
59093
  color: 'white',
59021
59094
  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: {
59095
+ } }, { children: [jsxs("div", exports.__assign({ css: {
59096
+ display: 'flex',
59097
+ alignItems: 'center',
59098
+ gap: '8px',
59099
+ minWidth: 0,
59100
+ overflow: 'hidden'
59101
+ } }, { children: [jsx$1(ChatIcon, {}), jsxs("button", exports.__assign({ type: 'button', onClick: function () { return setIsDropdownOpen(function (prev) { return !prev; }); }, css: {
59023
59102
  background: 'none',
59024
59103
  border: 'none',
59025
59104
  color: 'white',
@@ -59030,8 +59109,13 @@ var AssistantChat = function (_a) {
59030
59109
  display: 'flex',
59031
59110
  alignItems: 'center',
59032
59111
  gap: '4px',
59112
+ minWidth: 0,
59033
59113
  ':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: {
59114
+ } }, { children: [jsx$1("span", exports.__assign({ css: {
59115
+ overflow: 'hidden',
59116
+ textOverflow: 'ellipsis',
59117
+ whiteSpace: 'nowrap'
59118
+ } }, { children: (activeThread === null || activeThread === void 0 ? void 0 : activeThread.title) || 'AI Assistant' })), jsx$1("span", exports.__assign({ css: { fontSize: '10px', opacity: 0.8, flexShrink: 0 } }, { children: "\u25BE" }))] }))] })), jsx$1("button", exports.__assign({ type: 'button', onClick: function () { return setIsOpen(false); }, css: {
59035
59119
  background: 'none',
59036
59120
  border: 'none',
59037
59121
  color: 'white',
@@ -59057,7 +59141,10 @@ var AssistantChat = function (_a) {
59057
59141
  zIndex: 1001,
59058
59142
  maxHeight: '240px',
59059
59143
  overflowY: 'auto'
59060
- } }, { children: [jsx$1("button", exports.__assign({ type: 'button', onClick: handleNewThread, css: {
59144
+ } }, { children: [jsx$1("button", exports.__assign({ type: 'button', onClick: function () {
59145
+ handleNewThread();
59146
+ setIsDropdownOpen(false);
59147
+ }, css: {
59061
59148
  width: '100%',
59062
59149
  padding: '10px 14px',
59063
59150
  background: 'none',
@@ -59069,11 +59156,11 @@ var AssistantChat = function (_a) {
59069
59156
  color: colors.primary,
59070
59157
  textAlign: 'left',
59071
59158
  ':hover': { backgroundColor: GRAY_50 }
59072
- } }, { children: "+ New Thread" })), visibleThreads.length === 0 && (jsx$1("div", exports.__assign({ css: {
59159
+ } }, { children: "+ New Chat" })), visibleThreads.length === 0 && (jsx$1("div", exports.__assign({ css: {
59073
59160
  padding: '12px 14px',
59074
59161
  fontSize: '13px',
59075
59162
  color: GRAY_400
59076
- } }, { children: "No threads yet" }))), visibleThreads.map(function (thread) { return (jsxs("div", exports.__assign({ onClick: function () { return handleSelectThread(thread.id); }, css: {
59163
+ } }, { children: "No chats yet" }))), visibleThreads.map(function (thread) { return (jsxs("div", exports.__assign({ onClick: function () { return handleSelectThread(thread.id); }, css: {
59077
59164
  display: 'flex',
59078
59165
  alignItems: 'center',
59079
59166
  justifyContent: 'space-between',
@@ -59132,7 +59219,9 @@ var AssistantChat = function (_a) {
59132
59219
  lineHeight: '1.5',
59133
59220
  backgroundColor: colors.primary,
59134
59221
  color: 'white'
59135
- } }, { children: message.parts.map(function (part, index) {
59222
+ } }, { children: message.parts
59223
+ .filter(function (part) { return !part.hidden; })
59224
+ .map(function (part, index) {
59136
59225
  return part.type === 'text' ? (jsx$1("span", { children: part.text }, index)) : null;
59137
59226
  }) })) }), message.id)) : (
59138
59227
  // Assistant message - separate blocks for each part
@@ -59175,7 +59264,51 @@ var AssistantChat = function (_a) {
59175
59264
  backgroundColor: '#fef2f2',
59176
59265
  color: '#dc2626',
59177
59266
  fontSize: '14px'
59178
- } }, { children: "Something went wrong. Please try again." }))), jsx$1("div", { ref: messagesEndRef })] })), jsxs("div", exports.__assign({ css: {
59267
+ } }, { children: "Something went wrong. Please try again." }))), jsx$1("div", { ref: messagesEndRef })] })), workflowActions.length > 0 && (jsxs("div", exports.__assign({ css: {
59268
+ position: 'relative',
59269
+ zIndex: 1,
59270
+ borderTop: "1px solid ".concat(GRAY_200),
59271
+ backgroundColor: GRAY_50,
59272
+ padding: '8px 16px',
59273
+ display: 'flex',
59274
+ gap: '6px',
59275
+ overflowX: 'auto'
59276
+ } }, { children: [workflowActions.map(function (action, index) { return (jsx$1("button", exports.__assign({ type: 'button', disabled: isLoading, onClick: function () { return handleWorkflowAction(action); }, onMouseEnter: function (e) {
59277
+ if (!action.description)
59278
+ return;
59279
+ var r = e.currentTarget.getBoundingClientRect();
59280
+ setActionTooltip({
59281
+ text: action.description,
59282
+ x: r.left + r.width / 2,
59283
+ y: r.top
59284
+ });
59285
+ }, onMouseLeave: function () { return setActionTooltip(null); }, css: {
59286
+ flexShrink: 0,
59287
+ padding: '4px 10px',
59288
+ fontSize: '12px',
59289
+ border: "1px solid ".concat(colors.primary),
59290
+ borderRadius: '12px',
59291
+ backgroundColor: 'white',
59292
+ color: colors.primary,
59293
+ cursor: 'pointer',
59294
+ whiteSpace: 'nowrap',
59295
+ ':disabled': { opacity: 0.5, cursor: 'not-allowed' },
59296
+ ':hover:not(:disabled)': { backgroundColor: colors.light },
59297
+ transition: 'background-color 0.15s, color 0.15s'
59298
+ } }, { children: action.name }), index)); }), actionTooltip && (jsx$1("div", exports.__assign({ css: {
59299
+ position: 'fixed',
59300
+ top: actionTooltip.y - 34,
59301
+ left: actionTooltip.x,
59302
+ transform: 'translateX(-50%)',
59303
+ backgroundColor: 'rgba(0,0,0,0.9)',
59304
+ color: 'white',
59305
+ fontSize: '12px',
59306
+ padding: '4px 8px',
59307
+ borderRadius: '4px',
59308
+ whiteSpace: 'nowrap',
59309
+ pointerEvents: 'none',
59310
+ zIndex: 10000
59311
+ } }, { children: actionTooltip.text })))] }))), jsxs("div", exports.__assign({ css: {
59179
59312
  display: 'flex',
59180
59313
  alignItems: 'center',
59181
59314
  gap: '8px',
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.DQL_RNQ5.js');
3
+ var index = require('./fthry_index.CLcw1cAr.js');
4
4
  var React = require('react');
5
- var InlineTooltip = require('./fthry_InlineTooltip.BXWfZzL2.js');
6
- var useSalesforceSync = require('./fthry_useSalesforceSync.0Po-_R2K.js');
5
+ var InlineTooltip = require('./fthry_InlineTooltip.BA5EZyVy.js');
6
+ var useSalesforceSync = require('./fthry_useSalesforceSync.8708kCRl.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.CioCMhlq.js');
11
+ require('./fthry_Overlay.B_9rPs-m.js');
12
12
 
13
13
  var ae = [
14
14
  { name: 'Abu Dhabi', code: 'AZ' },
@@ -1,16 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var index$3 = require('./fthry_index.DQL_RNQ5.js');
3
+ var index$3 = require('./fthry_index.CLcw1cAr.js');
4
4
  var React = require('react');
5
- var Placeholder = require('./fthry_Placeholder.CX7qc-Cl.js');
6
- var InlineTooltip = require('./fthry_InlineTooltip.BXWfZzL2.js');
5
+ var Placeholder = require('./fthry_Placeholder.BFFDhXBs.js');
6
+ var InlineTooltip = require('./fthry_InlineTooltip.BA5EZyVy.js');
7
7
  var ReactJSXRuntime = require('react/jsx-runtime');
8
8
  var ReactDOM = require('react-dom');
9
- var input = require('./fthry_input.Ek-TePLo.js');
9
+ var input = require('./fthry_input.Cpq06SDM.js');
10
10
  require('react-dom/client');
11
11
  require('jszip');
12
- require('./fthry_Overlay.CioCMhlq.js');
13
- require('./fthry_index.C5QUdS7L.js');
12
+ require('./fthry_Overlay.B_9rPs-m.js');
13
+ require('./fthry_index.C7Ucykze.js');
14
14
 
15
15
  function _interopNamespaceDefault(e) {
16
16
  var n = Object.create(null);
@@ -1,14 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.DQL_RNQ5.js');
3
+ var index = require('./fthry_index.CLcw1cAr.js');
4
4
  var React = require('react');
5
- var InlineTooltip = require('./fthry_InlineTooltip.BXWfZzL2.js');
6
- var useSalesforceSync = require('./fthry_useSalesforceSync.0Po-_R2K.js');
5
+ var InlineTooltip = require('./fthry_InlineTooltip.BA5EZyVy.js');
6
+ var useSalesforceSync = require('./fthry_useSalesforceSync.8708kCRl.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.CioCMhlq.js');
11
+ require('./fthry_Overlay.B_9rPs-m.js');
12
12
 
13
13
  function ButtonGroupField(_a) {
14
14
  var element = _a.element, responsiveStyles = _a.responsiveStyles, fieldLabel = _a.fieldLabel, inlineError = _a.inlineError, _b = _a.fieldVal, fieldVal = _b === void 0 ? null : _b, _c = _a.repeatIndex, repeatIndex = _c === void 0 ? null : _c, editMode = _a.editMode, _d = _a.onClick, onClick = _d === void 0 ? function () { } : _d, _e = _a.elementProps, elementProps = _e === void 0 ? {} : _e, _f = _a.disabled, disabled = _f === void 0 ? false : _f, children = _a.children;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.DQL_RNQ5.js');
3
+ var index = require('./fthry_index.CLcw1cAr.js');
4
4
  var React = require('react');
5
5
  require('react/jsx-runtime');
6
6
  require('react-dom/client');
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.DQL_RNQ5.js');
3
+ var index = require('./fthry_index.CLcw1cAr.js');
4
4
  var React = require('react');
5
- var Overlay = require('./fthry_Overlay.CioCMhlq.js');
6
- var index$1 = require('./fthry_index.cjyiNFQz.js');
5
+ var Overlay = require('./fthry_Overlay.B_9rPs-m.js');
6
+ var index$1 = require('./fthry_index.Dx0lyifQ.js');
7
7
  require('react/jsx-runtime');
8
8
  require('react-dom/client');
9
9
  require('jszip');
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var index$1 = require('./fthry_index.DQL_RNQ5.js');
3
+ var index$1 = require('./fthry_index.CLcw1cAr.js');
4
4
  var React = require('react');
5
- var Placeholder = require('./fthry_Placeholder.CX7qc-Cl.js');
6
- var InlineTooltip = require('./fthry_InlineTooltip.BXWfZzL2.js');
7
- var Overlay = require('./fthry_Overlay.CioCMhlq.js');
8
- var useElementSize = require('./fthry_useElementSize.DxiZSHps.js');
5
+ var Placeholder = require('./fthry_Placeholder.BFFDhXBs.js');
6
+ var InlineTooltip = require('./fthry_InlineTooltip.BA5EZyVy.js');
7
+ var Overlay = require('./fthry_Overlay.B_9rPs-m.js');
8
+ var useElementSize = require('./fthry_useElementSize.EwhSeBgA.js');
9
9
  require('react/jsx-runtime');
10
10
  require('react-dom/client');
11
11
  require('jszip');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('./fthry_index.DQL_RNQ5.js');
3
+ var index = require('./fthry_index.CLcw1cAr.js');
4
4
  var React = require('react');
5
5
  var ReactJSXRuntime = require('react/jsx-runtime');
6
6
  require('react-dom/client');