pixel-react-excel-sheet 1.1.25 → 1.1.26

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 (105) hide show
  1. package/lib/ComponentProps/TreeNodeProps.d.ts +1 -0
  2. package/lib/StyleGuide/ColorPalette/colorPaletteList.js +20 -0
  3. package/lib/StyleGuide/ColorPalette/colorPaletteList.js.map +1 -1
  4. package/lib/_virtual/index10.js +2 -2
  5. package/lib/_virtual/index11.js +2 -2
  6. package/lib/_virtual/index9.js +2 -2
  7. package/lib/assets/icons/Video_recording.svg.js +6 -0
  8. package/lib/assets/icons/Video_recording.svg.js.map +1 -0
  9. package/lib/assets/icons/ai_token.svg.js +6 -0
  10. package/lib/assets/icons/ai_token.svg.js.map +1 -0
  11. package/lib/assets/icons/capture_image.svg.js +6 -0
  12. package/lib/assets/icons/capture_image.svg.js.map +1 -0
  13. package/lib/assets/icons/eclipse_plugin.svg.js +8 -0
  14. package/lib/assets/icons/eclipse_plugin.svg.js.map +1 -0
  15. package/lib/components/AppHeader/AppHeader.js +1 -1
  16. package/lib/components/AppHeader/AppHeader.js.map +1 -1
  17. package/lib/components/AttachmentButton/AttachmentButton.js +1 -1
  18. package/lib/components/AttachmentButton/AttachmentButton.js.map +1 -1
  19. package/lib/components/Button/Button.js +6 -2
  20. package/lib/components/Button/Button.js.map +1 -1
  21. package/lib/components/Button/types.d.ts +4 -0
  22. package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js +8 -2
  23. package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js.map +1 -1
  24. package/lib/components/ChooseFile/ChooseFile.js +4 -2
  25. package/lib/components/ChooseFile/ChooseFile.js.map +1 -1
  26. package/lib/components/ChooseFile/types.d.ts +4 -0
  27. package/lib/components/Comments/Comments.js +1 -1
  28. package/lib/components/Comments/Comments.js.map +1 -1
  29. package/lib/components/Comments/childComment/ChildComment.js +6 -2
  30. package/lib/components/Comments/childComment/ChildComment.js.map +1 -1
  31. package/lib/components/Comments/type.d.ts +1 -0
  32. package/lib/components/Drawer/Drawer.js +5 -2
  33. package/lib/components/Drawer/Drawer.js.map +1 -1
  34. package/lib/components/EditLabel/EditLabel.js +2 -1
  35. package/lib/components/EditLabel/EditLabel.js.map +1 -1
  36. package/lib/components/Excel/ExcelContextMenu/ExcelContextMenu.js +3 -1
  37. package/lib/components/Excel/ExcelContextMenu/ExcelContextMenu.js.map +1 -1
  38. package/lib/components/Excel/ExcelFile/ExcelFile.js +27 -14
  39. package/lib/components/Excel/ExcelFile/ExcelFile.js.map +1 -1
  40. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js +190 -29
  41. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js.map +1 -1
  42. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js +1 -1
  43. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js.map +1 -1
  44. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js +14 -2
  45. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js.map +1 -1
  46. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.js +25 -13
  47. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.js.map +1 -1
  48. package/lib/components/Excel/ExcelToolBar/ExcelToolBar.js +36 -42
  49. package/lib/components/Excel/ExcelToolBar/ExcelToolBar.js.map +1 -1
  50. package/lib/components/FileDropzone/FileDropzone.js +15 -3
  51. package/lib/components/FileDropzone/FileDropzone.js.map +1 -1
  52. package/lib/components/FileDropzone/types.d.ts +4 -0
  53. package/lib/components/Icon/iconList.js +8 -0
  54. package/lib/components/Icon/iconList.js.map +1 -1
  55. package/lib/components/Input/Input.js +13 -1
  56. package/lib/components/Input/Input.js.map +1 -1
  57. package/lib/components/InputWithDropdown/InputWithDropdown.js +11 -0
  58. package/lib/components/InputWithDropdown/InputWithDropdown.js.map +1 -1
  59. package/lib/components/MediaViewerModal/MediaViewerModal.js +13 -7
  60. package/lib/components/MediaViewerModal/MediaViewerModal.js.map +1 -1
  61. package/lib/components/MediaViewerModal/type.d.ts +8 -2
  62. package/lib/components/MultiSelect/Dropdown.js +1 -1
  63. package/lib/components/MultiSelect/Dropdown.js.map +1 -1
  64. package/lib/components/MultiSelect/MultiSelect.js +8 -4
  65. package/lib/components/MultiSelect/MultiSelect.js.map +1 -1
  66. package/lib/components/MultiSelect/MultiSelectTypes.d.ts +1 -1
  67. package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js +13 -9
  68. package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js.map +1 -1
  69. package/lib/components/NLPInput/sampleData.js +1 -1
  70. package/lib/components/NLPInput/sampleData.js.map +1 -1
  71. package/lib/components/NoDataContent/NoDataContent.js +1 -1
  72. package/lib/components/NoDataContent/NoDataContent.js.map +1 -1
  73. package/lib/components/ProgressBar/ProgressBar.js +6 -1
  74. package/lib/components/ProgressBar/ProgressBar.js.map +1 -1
  75. package/lib/components/Search/Search.js +13 -0
  76. package/lib/components/Search/Search.js.map +1 -1
  77. package/lib/components/TextArea/Textarea.d.ts +1 -1
  78. package/lib/components/TextArea/Textarea.js +9 -5
  79. package/lib/components/TextArea/Textarea.js.map +1 -1
  80. package/lib/components/TextArea/Types.d.ts +8 -0
  81. package/lib/components/TextEditor/TextEditor.js +2 -2
  82. package/lib/components/TextEditor/TextEditor.js.map +1 -1
  83. package/lib/components/variableSuggestionInputDropDown/VariableSuggestionInputDropDown.js +2 -2
  84. package/lib/components/variableSuggestionInputDropDown/VariableSuggestionInputDropDown.js.map +1 -1
  85. package/lib/hooks/useFileDropzone.js +8 -2
  86. package/lib/hooks/useFileDropzone.js.map +1 -1
  87. package/lib/index.cjs +463 -156
  88. package/lib/index.cjs.map +1 -1
  89. package/lib/index.d.ts +33 -5
  90. package/lib/node_modules/js-beautify/js/src/css/beautifier.js +1 -1
  91. package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
  92. package/lib/node_modules/js-beautify/js/src/css/options.js +1 -1
  93. package/lib/node_modules/js-beautify/js/src/html/index.js +1 -1
  94. package/lib/node_modules/js-beautify/js/src/html/options.js +1 -1
  95. package/lib/node_modules/js-beautify/js/src/javascript/beautifier.js +1 -1
  96. package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
  97. package/lib/node_modules/js-beautify/js/src/javascript/options.js +1 -1
  98. package/lib/styles.css +1 -1
  99. package/lib/styles.css.map +1 -1
  100. package/lib/utils/AppendNewRow/AppendNewRow.js +4 -0
  101. package/lib/utils/AppendNewRow/AppendNewRow.js.map +1 -1
  102. package/lib/utils/togglePrePostCondition/togglePrePostCondition.d.ts +1 -1
  103. package/lib/utils/togglePrePostCondition/togglePrePostCondition.js +3 -2
  104. package/lib/utils/togglePrePostCondition/togglePrePostCondition.js.map +1 -1
  105. package/package.json +1 -1
package/lib/index.cjs CHANGED
@@ -1032,6 +1032,16 @@ const SvgDeleteIcon = (props) => /* @__PURE__ */ React__namespace.createElement(
1032
1032
 
1033
1033
  const SvgAiApproved = (props) => /* @__PURE__ */ React__namespace.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React__namespace.createElement("path", { d: "M6.91407 0.00195312C7.44004 0.0019749 7.95329 0.216769 8.32227 0.59375L15.4395 7.86133C16.191 8.62936 16.1847 9.87295 15.4248 10.6328L10.6328 15.4248C9.87181 16.1838 8.62835 16.1895 7.86035 15.4375L0.592776 8.32129C0.215831 7.95234 4.19307e-05 7.4371 0.000979606 6.90918L0.0146515 1.33105C0.0176515 0.607055 0.607081 0.017625 1.33008 0.015625L6.90821 0.00195312H6.91407ZM10.6631 7.82812C10.4682 7.63321 10.1511 7.63337 9.95606 7.82812L7.83496 9.94922C7.6402 10.1442 7.64005 10.4613 7.83496 10.6562C8.02991 10.8519 8.34606 10.8519 8.542 10.6562L10.6631 8.53516C10.8578 8.34022 10.8578 8.02306 10.6631 7.82812ZM8.42481 5.58789C7.90589 5.06797 7.05909 5.06813 6.53907 5.58789L5.00782 7.12012C4.81282 7.31512 4.81282 7.63215 5.00782 7.82715C5.20276 8.02149 5.51903 8.02165 5.71387 7.82715L6.06641 7.47363L6.53809 7.94531L6.18555 8.29883C5.99055 8.49383 5.99055 8.81086 6.18555 9.00586C6.38057 9.20158 6.69767 9.20177 6.89258 9.00586L7.59375 8.30371C7.59537 8.30233 7.59812 8.30128 7.59961 8.2998C7.60109 8.29817 7.60199 8.29552 7.60352 8.29395L8.42481 7.47363C8.94401 6.95372 8.94416 6.10771 8.42481 5.58789ZM7.2461 6.29492C7.37612 6.16516 7.58786 6.165 7.71778 6.29492C7.84714 6.42573 7.84698 6.63669 7.71778 6.7666L7.24512 7.23828L6.77344 6.7666L7.2461 6.29492ZM3.35254 2.00098C2.61754 2.00098 2.01953 2.59898 2.01953 3.33398C2.01954 4.06898 2.61754 4.66699 3.35254 4.66699C4.08731 4.66673 4.68555 4.06882 4.68555 3.33398C4.68555 2.59915 4.08732 2.00124 3.35254 2.00098Z", fill: "#71347B" }));
1034
1034
 
1035
+ const SvgVideoRecording = (props) => /* @__PURE__ */ React__namespace.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 18 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React__namespace.createElement("path", { d: "M18 2.97752V13.0224C18 13.2011 17.9047 13.3661 17.75 13.4554C17.6727 13.5001 17.5863 13.5224 17.5 13.5224C17.4137 13.5224 17.3273 13.5001 17.25 13.4554L14.196 11.6922V12.1226C14.196 13.2832 13.2518 14.2273 12.0913 14.2273H4.10469C2.94416 14.2273 2 13.2832 2 12.1226V3.87727C2 2.71674 2.94416 1.77258 4.10469 1.77258H12.0913C13.2518 1.77258 14.196 2.71674 14.196 3.87727V4.30774L17.25 2.54449C17.4047 2.45518 17.5953 2.45518 17.75 2.54449C17.9047 2.6338 18 2.79886 18 2.97752ZM13.196 3.87727C13.196 3.26815 12.7004 2.77258 12.0913 2.77258H4.10469C3.49556 2.77258 3 3.26815 3 3.87727V12.1227C3 12.7318 3.49556 13.2274 4.10469 13.2274H12.0913C12.7004 13.2274 13.196 12.7318 13.196 12.1227V3.87727ZM17 3.84355L14.196 5.46243V10.5375L17 12.1564V3.84355Z", fill: "#71347B" }), /* @__PURE__ */ React__namespace.createElement("rect", { x: 0.630859, y: 0.720825, width: 6.08496, height: 6.08496, rx: 3.04248, fill: "#C60202", stroke: "white", strokeWidth: 0.5 }));
1036
+
1037
+ const SvgCaptureImage = (props) => /* @__PURE__ */ React__namespace.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", fill: "none", ...props }, /* @__PURE__ */ React__namespace.createElement("g", { clipPath: "url(#clip0_950_34977)" }, /* @__PURE__ */ React__namespace.createElement("path", { d: "M4.72727 10.5455C4.53439 10.5455 4.3494 10.4688 4.21301 10.3324C4.07662 10.1961 4 10.0111 4 9.81818V7.63636C4.00114 6.67229 4.38462 5.74802 5.06632 5.06632C5.74802 4.38462 6.67229 4.00114 7.63636 4H9.81818C10.0111 4 10.1961 4.07662 10.3324 4.21301C10.4688 4.3494 10.5455 4.53439 10.5455 4.72727C10.5455 4.92016 10.4688 5.10514 10.3324 5.24153C10.1961 5.37792 10.0111 5.45455 9.81818 5.45455H7.63636C7.0579 5.45518 6.50332 5.68525 6.09429 6.09429C5.68525 6.50332 5.45518 7.0579 5.45455 7.63636V9.81818C5.45455 10.0111 5.37792 10.1961 5.24153 10.3324C5.10514 10.4688 4.92016 10.5455 4.72727 10.5455ZM20 9.81818V7.63636C19.9989 6.67229 19.6154 5.74802 18.9337 5.06632C18.252 4.38462 17.3277 4.00114 16.3636 4H14.1818C13.9889 4 13.8039 4.07662 13.6676 4.21301C13.5312 4.3494 13.4545 4.53439 13.4545 4.72727C13.4545 4.92016 13.5312 5.10514 13.6676 5.24153C13.8039 5.37792 13.9889 5.45455 14.1818 5.45455H16.3636C16.9421 5.45518 17.4967 5.68525 17.9057 6.09429C18.3147 6.50332 18.5448 7.0579 18.5455 7.63636V9.81818C18.5455 10.0111 18.6221 10.1961 18.7585 10.3324C18.8949 10.4688 19.0798 10.5455 19.2727 10.5455C19.4656 10.5455 19.6506 10.4688 19.787 10.3324C19.9234 10.1961 20 10.0111 20 9.81818ZM20 16.3636V14.1818C20 13.9889 19.9234 13.8039 19.787 13.6676C19.6506 13.5312 19.4656 13.4545 19.2727 13.4545C19.0798 13.4545 18.8949 13.5312 18.7585 13.6676C18.6221 13.8039 18.5455 13.9889 18.5455 14.1818V16.3636C18.5448 16.9421 18.3147 17.4967 17.9057 17.9057C17.4967 18.3147 16.9421 18.5448 16.3636 18.5455H14.1818C13.9889 18.5455 13.8039 18.6221 13.6676 18.7585C13.5312 18.8949 13.4545 19.0798 13.4545 19.2727C13.4545 19.4656 13.5312 19.6506 13.6676 19.787C13.8039 19.9234 13.9889 20 14.1818 20H16.3636C17.3277 19.9989 18.252 19.6154 18.9337 18.9337C19.6154 18.252 19.9989 17.3277 20 16.3636ZM10.5455 19.2727C10.5455 19.0798 10.4688 18.8949 10.3324 18.7585C10.1961 18.6221 10.0111 18.5455 9.81818 18.5455H7.63636C7.0579 18.5448 6.50332 18.3147 6.09429 17.9057C5.68525 17.4967 5.45518 16.9421 5.45455 16.3636V14.1818C5.45455 13.9889 5.37792 13.8039 5.24153 13.6676C5.10514 13.5312 4.92016 13.4545 4.72727 13.4545C4.53439 13.4545 4.3494 13.5312 4.21301 13.6676C4.07662 13.8039 4 13.9889 4 14.1818V16.3636C4.00114 17.3277 4.38462 18.252 5.06632 18.9337C5.74802 19.6154 6.67229 19.9989 7.63636 20H9.81818C10.0111 20 10.1961 19.9234 10.3324 19.787C10.4688 19.6506 10.5455 19.4656 10.5455 19.2727ZM15.6364 12C15.6364 11.2808 15.4231 10.5777 15.0235 9.97974C14.624 9.38175 14.056 8.91567 13.3916 8.64044C12.7271 8.36521 11.996 8.2932 11.2906 8.43351C10.5852 8.57382 9.93726 8.92015 9.4287 9.4287C8.92015 9.93726 8.57382 10.5852 8.43351 11.2906C8.2932 11.996 8.36521 12.7271 8.64044 13.3916C8.91567 14.056 9.38175 14.624 9.97974 15.0235C10.5777 15.4231 11.2808 15.6364 12 15.6364C12.9641 15.6352 13.8883 15.2517 14.57 14.57C15.2517 13.8883 15.6352 12.9641 15.6364 12Z", fill: "#71347B" })), /* @__PURE__ */ React__namespace.createElement("defs", null, /* @__PURE__ */ React__namespace.createElement("clipPath", { id: "clip0_950_34977" }, /* @__PURE__ */ React__namespace.createElement("path", { d: "M0 4C0 1.79086 1.79086 0 4 0H20C22.2091 0 24 1.79086 24 4V20C24 22.2091 22.2091 24 20 24H4C1.79086 24 0 22.2091 0 20V4Z", fill: "white" }))));
1038
+
1039
+ const SvgEclipsePlugin = (props) => /* @__PURE__ */ React__namespace.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React__namespace.createElement("path", { d: "M7.53125 0C7.74128 0 7.94959 0.0105701 8.15527 0.0273438C4.28821 0.343551 1.24902 3.56456 1.24902 7.49316C1.24927 11.4215 4.2884 14.6408 8.15527 14.957C7.94957 14.9738 7.74131 14.9854 7.53125 14.9854C3.37197 14.9851 0.000260839 11.6309 0 7.49316C0 3.35522 3.37181 0.000246361 7.53125 0Z", fill: "currentColor" }), /* @__PURE__ */ React__namespace.createElement("mask", { id: "mask0_18014_12102", style: {
1040
+ maskType: "alpha"
1041
+ }, maskUnits: "userSpaceOnUse", x: 1, y: 0, width: 15, height: 15 }, /* @__PURE__ */ React__namespace.createElement("ellipse", { cx: 8.85851, cy: 7.4927, rx: 7.14146, ry: 7.10244, fill: "currentColor" })), /* @__PURE__ */ React__namespace.createElement("g", { mask: "url(#mask0_18014_12102)" }, /* @__PURE__ */ React__namespace.createElement("path", { d: "M15.7026 9.52209C14.8245 12.4555 12.0936 14.5952 8.85889 14.5953C5.62407 14.5953 2.89333 12.4555 2.01514 9.52209H15.7026ZM1.82959 8.74182C1.87698 9.00738 1.93895 9.26762 2.01514 9.52209H1.48291V8.74182H1.82959ZM16.312 9.52209H15.7026C15.7788 9.2677 15.8398 9.00729 15.8872 8.74182H16.312V9.52209ZM15.9888 7.88342C15.9729 8.17471 15.9373 8.46091 15.8872 8.74182H1.82959C1.77946 8.46091 1.74391 8.17471 1.72803 7.88342H15.9888ZM1.72803 7.10217C1.72098 7.23146 1.71729 7.36176 1.71729 7.4928C1.71729 7.62387 1.72098 7.7541 1.72803 7.88342H1.48291V7.10217H1.72803ZM16.312 7.88342H15.9888C15.9958 7.75409 15.9995 7.62388 15.9995 7.4928C15.9995 7.36176 15.9958 7.23146 15.9888 7.10217H16.312V7.88342ZM15.8872 6.24377C15.9373 6.52469 15.9729 6.81088 15.9888 7.10217H1.72803C1.7439 6.81089 1.77947 6.52468 1.82959 6.24377H15.8872ZM2.01514 5.4635C1.93896 5.71798 1.87697 5.97822 1.82959 6.24377H1.48291V5.4635H2.01514ZM16.312 6.24377H15.8872C15.8398 5.9783 15.7788 5.7179 15.7026 5.4635H16.312V6.24377ZM8.85889 0.390259C12.0937 0.390427 14.8246 2.53 15.7026 5.4635H2.01514C2.89326 2.52999 5.62399 0.390259 8.85889 0.390259Z", fill: "currentColor" })), /* @__PURE__ */ React__namespace.createElement("path", { d: "M15 10.7166L14.4279 10.1444L13.2834 11.2887L12.7113 10.7166L13.8556 9.57213L13.2834 9L12.139 10.1444L11.5668 9.57213L10.4221 10.7166C9.73015 11.4089 9.64444 12.477 10.1649 13.2626L9 14.4274L9.57224 15L10.7371 13.835C11.5228 14.3554 12.5911 14.2701 13.2835 13.5778L14.428 12.4335L13.8556 11.8613L15 10.7166Z", fill: "currentColor" }), /* @__PURE__ */ React__namespace.createElement("path", { d: "M15.707 10.7168L14.5625 11.8613L15.1348 12.4336L13.6367 13.9316C12.8762 14.6918 11.7535 14.8634 10.8271 14.4512L9.57227 15.707L8.29297 14.4277L9.54785 13.1719C9.13614 12.2457 9.30874 11.1234 10.0684 10.3633L11.5664 8.86523L12.1387 9.4375L13.2832 8.29297L15.707 10.7168ZM12.1387 10.1445L11.5664 9.57227L10.4219 10.7168L10.2998 10.8506C9.72199 11.5412 9.6771 12.5262 10.165 13.2627L9 14.4277L9.57227 15L10.7373 13.835C11.4739 14.3228 12.4587 14.2782 13.1494 13.7002L13.2832 13.5781L14.4277 12.4336L13.8555 11.8613L15 10.7168L14.4277 10.1445L13.2832 11.2891L12.7109 10.7168L13.8555 9.57227L13.2832 9L12.1387 10.1445Z", fill: "white" }));
1042
+
1043
+ const SvgAiToken = (props) => /* @__PURE__ */ React__namespace.createElement("svg", { width: "1em", height: "1em", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", ...props }, /* @__PURE__ */ React__namespace.createElement("path", { d: "M12 1.5C6.21 1.5 1.5 6.21 1.5 12C1.5 17.79 6.21 22.5 12 22.5C17.79 22.5 22.5 17.79 22.5 12C22.5 6.21 17.79 1.5 12 1.5ZM12 19.5C7.8645 19.5 4.5 16.1355 4.5 12C4.5 7.8645 7.8645 4.5 12 4.5C16.1355 4.5 19.5 7.8645 19.5 12C19.5 16.1355 16.1355 19.5 12 19.5Z", fill: "#FBC34E" }), /* @__PURE__ */ React__namespace.createElement("path", { d: "M12 4.5C7.8645 4.5 4.5 7.8645 4.5 12C4.5 16.1355 7.8645 19.5 12 19.5C16.1355 19.5 19.5 16.1355 19.5 12C19.5 7.8645 16.1355 4.5 12 4.5ZM15.183 12.954L14.3205 13.4235C13.9425 13.6298 13.6327 13.9387 13.4257 14.316L12.9525 15.1755C12.7613 15.5235 12.3967 15.7388 12 15.7388C11.6033 15.7388 11.2387 15.5227 11.0475 15.1755L10.575 14.3153C10.3673 13.9373 10.0575 13.6283 9.67875 13.422L8.81775 12.9532C8.46675 12.7642 8.25 12.3983 8.25 12C8.25 11.6017 8.46675 11.2357 8.817 11.046L9.6795 10.5765C10.0575 10.3703 10.3672 10.0612 10.5743 9.684L11.0475 8.8245C11.2387 8.4765 11.6033 8.26125 12 8.26125C12.3967 8.26125 12.7613 8.47725 12.9525 8.8245L13.425 9.68475C13.6327 10.062 13.9425 10.371 14.3205 10.5772L15.1823 11.046C15.5332 11.2357 15.75 11.6017 15.75 12C15.75 12.3983 15.5332 12.7642 15.183 12.954Z", fill: "#E5A533" }), /* @__PURE__ */ React__namespace.createElement("path", { d: "M15.1823 11.0452L14.3205 10.5765C13.9425 10.3702 13.6327 10.0612 13.425 9.684L12.9525 8.82375C12.7613 8.4765 12.3967 8.2605 12 8.2605C11.6033 8.2605 11.2387 8.4765 11.0475 8.82375L10.575 9.68325C10.368 10.0612 10.0582 10.3702 9.68025 10.5757L8.81775 11.0452C8.46675 11.2357 8.25 11.6017 8.25 12C8.25 12.3982 8.46675 12.7642 8.81775 12.9547L9.67875 13.4235C10.0575 13.6297 10.3673 13.9387 10.575 14.3167L11.0475 15.177C11.2387 15.5242 11.6033 15.7402 12 15.7402C12.3967 15.7402 12.7613 15.5242 12.9525 15.177L13.4257 14.3175C13.6327 13.9395 13.9425 13.6305 14.3205 13.425L15.183 12.9555C15.5332 12.7642 15.75 12.3982 15.75 12C15.75 11.6017 15.5332 11.2357 15.1823 11.0452Z", fill: "#E4EDF2" }));
1044
+
1035
1045
  let Components = {};
1036
1046
  Components['success'] = SvgSuccess;
1037
1047
  Components['setting_icon'] = SvgSettingIcon;
@@ -1469,6 +1479,10 @@ Components['delete_icon'] = SvgDeleteIcon;
1469
1479
  Components['enable_filled'] = SvgEnableIconFilled;
1470
1480
  Components['disable_filled'] = SvgDisableIconFilled;
1471
1481
  Components['ai_approved'] = SvgAiApproved;
1482
+ Components['video_live_icon'] = SvgVideoRecording;
1483
+ Components['screen_capture_icon'] = SvgCaptureImage;
1484
+ Components['eclipse_plugin'] = SvgEclipsePlugin;
1485
+ Components['ai_token'] = SvgAiToken;
1472
1486
 
1473
1487
  const Icon = /*#__PURE__*/React.forwardRef(({
1474
1488
  name,
@@ -1613,6 +1627,7 @@ const Button$1 = /*#__PURE__*/React.forwardRef(({
1613
1627
  fontSize = 10,
1614
1628
  typographyStyle,
1615
1629
  iconColor = '',
1630
+ isMandatory = false,
1616
1631
  ...props
1617
1632
  }, ref) => {
1618
1633
  const renderIcon = () => iconName && jsxRuntime.jsx("div", {
@@ -1650,7 +1665,7 @@ const Button$1 = /*#__PURE__*/React.forwardRef(({
1650
1665
  onCopy: onCopy,
1651
1666
  disabled: disabled,
1652
1667
  ...props,
1653
- children: [iconPosition === 'left' && renderIcon(), jsxRuntime.jsx(Typography, {
1668
+ children: [iconPosition === 'left' && renderIcon(), jsxRuntime.jsxs(Typography, {
1654
1669
  fontSize: fontSize,
1655
1670
  style: {
1656
1671
  ...typographyStyle
@@ -1659,7 +1674,10 @@ const Button$1 = /*#__PURE__*/React.forwardRef(({
1659
1674
  className: classNames(`ff-button-${variant}--text`, {
1660
1675
  'ff-button-choose-file-text': selectedFile
1661
1676
  }),
1662
- children: label
1677
+ children: [isMandatory && jsxRuntime.jsx("span", {
1678
+ className: "required-asterisk",
1679
+ children: "*"
1680
+ }), label]
1663
1681
  }), iconPosition === 'right' && renderIcon(), children]
1664
1682
  });
1665
1683
  });
@@ -1968,8 +1986,11 @@ const Drawer = ({
1968
1986
  }, [isOpen]);
1969
1987
  React.useEffect(() => {
1970
1988
  const handleKeyDown = e => {
1971
- if (e.key === 'Enter' && isOpen && primaryButtonProps?.onClick) {
1972
- console.log('Enter key pressed — triggering primary button action');
1989
+ if (e.key === 'Enter' && isOpen && primaryButtonProps?.onClick && !primaryButtonProps.disabled) {
1990
+ const activeElement = document.activeElement;
1991
+ if (activeElement && activeElement.tagName === 'INPUT') {
1992
+ return;
1993
+ }
1973
1994
  primaryButtonProps.onClick();
1974
1995
  }
1975
1996
  };
@@ -2744,7 +2765,7 @@ const Dropdown$2 = /*#__PURE__*/React.forwardRef(({
2744
2765
  children: renderOption(info, labelAccessor)
2745
2766
  })
2746
2767
  })]
2747
- }, getLabel(info, labelAccessor))), jsxRuntime.jsx("div", {
2768
+ }, getLabel(info, labelAccessor) + index)), jsxRuntime.jsx("div", {
2748
2769
  id: "ff-multiselect-pagination"
2749
2770
  })]
2750
2771
  })
@@ -2840,7 +2861,7 @@ const MultiSelect = ({
2840
2861
  searchAccessor = valueAccessor,
2841
2862
  withSelectButton = variant === 'machines' ? true : false,
2842
2863
  loadMoreOptions = () => {},
2843
- onEnter = () => {},
2864
+ onEnter = () => false,
2844
2865
  maxVisibleChips,
2845
2866
  onBlur = () => {},
2846
2867
  maxDropdownHeight = 160,
@@ -2949,9 +2970,13 @@ const MultiSelect = ({
2949
2970
  return;
2950
2971
  }
2951
2972
  }
2952
- onEnter?.(searchedKeyword);
2953
- setSearchedKeyword('');
2954
- setIsOpen(false);
2973
+ const isDropdownOpen = onEnter?.(searchedKeyword);
2974
+ if (isDropdownOpen) {
2975
+ setIsOpen(true);
2976
+ } else {
2977
+ setSearchedKeyword('');
2978
+ setIsOpen(false);
2979
+ }
2955
2980
  }
2956
2981
  };
2957
2982
  const handleIconClick = async () => {
@@ -3561,7 +3586,7 @@ const Input$1 = /*#__PURE__*/React.forwardRef(({
3561
3586
  background,
3562
3587
  ...props
3563
3588
  }, ref) => {
3564
- const isValueFilled = !checkEmpty(value);
3589
+ const isValueFilled = !checkEmpty(value) || type === 'password' && value?.length > 0;
3565
3590
  const isTypeNumber = type === 'number';
3566
3591
  const numericMin = minValue !== undefined ? parseInt(minValue, 10) || 0 : 0;
3567
3592
  const numericMax = maxValue !== undefined ? parseInt(maxValue, 10) || Infinity : Infinity;
@@ -3661,6 +3686,17 @@ const Input$1 = /*#__PURE__*/React.forwardRef(({
3661
3686
  }
3662
3687
  onBlur?.(e);
3663
3688
  };
3689
+ const handleWheel = e => {
3690
+ if (type === 'number') {
3691
+ const input = e.currentTarget;
3692
+ const currentValue = parseFloat(input.value);
3693
+ const isScrollDown = e.deltaY > 0;
3694
+ if (!isNaN(currentValue) && currentValue <= 0 && isScrollDown) {
3695
+ input.blur();
3696
+ setTimeout(() => input.focus(), 0);
3697
+ }
3698
+ }
3699
+ };
3664
3700
  return jsxRuntime.jsx("fieldset", {
3665
3701
  className: classNames('ff-input-fieldset', {
3666
3702
  'ff-input-fieldset--disabled': disabled
@@ -3721,6 +3757,7 @@ const Input$1 = /*#__PURE__*/React.forwardRef(({
3721
3757
  onClick: onClick,
3722
3758
  onKeyUp: onKeyUp,
3723
3759
  onKeyDown: handleKeyDown,
3760
+ onWheel: handleWheel,
3724
3761
  ...props
3725
3762
  }), type === 'number' && jsxRuntime.jsxs("div", {
3726
3763
  className: classNames('arrow-container', {
@@ -4557,14 +4594,18 @@ const Textarea = ({
4557
4594
  resize = false,
4558
4595
  errorText,
4559
4596
  readOnly = false,
4597
+ displayCapacity = true,
4598
+ isLabelRequired = true,
4560
4599
  ...props
4561
4600
  }) => {
4562
4601
  const labelClasses = classNames('ff-textarea-label ff-textarea-label--' + variant, {
4563
- 'ff-textarea-label--danger': error
4602
+ 'ff-textarea-label--danger': error,
4603
+ 'ff-textarea-label--disabled': disabled
4564
4604
  });
4565
4605
  const textareaClasses = classNames(`ff-textarea ff-textarea--${variant}`, className, {
4566
4606
  'ff-textarea--danger': error,
4567
- 'ff-textarea--resize': !resize
4607
+ 'ff-textarea--resize': !resize,
4608
+ 'ff-textarea--placeholder': !isLabelRequired
4568
4609
  });
4569
4610
  const containerClasses = classNames('ff-textarea-container', {
4570
4611
  'ff-textarea-container--disabled': disabled,
@@ -4631,7 +4672,7 @@ const Textarea = ({
4631
4672
  };
4632
4673
  return jsxRuntime.jsxs("div", {
4633
4674
  className: containerClasses,
4634
- children: [jsxRuntime.jsx("label", {
4675
+ children: [isLabelRequired && jsxRuntime.jsx("label", {
4635
4676
  htmlFor: name,
4636
4677
  className: classNames('ff-textarea-label-container', {
4637
4678
  'ff-textarea-label-container--danger': error
@@ -4648,7 +4689,7 @@ const Textarea = ({
4648
4689
  value: value,
4649
4690
  id: name,
4650
4691
  className: textareaClasses,
4651
- placeholder: placeholder + '...',
4692
+ placeholder: placeholder,
4652
4693
  disabled: disabled,
4653
4694
  onChange: handleChange,
4654
4695
  onBlur: onBlur,
@@ -4662,7 +4703,7 @@ const Textarea = ({
4662
4703
  ...props
4663
4704
  }), jsxRuntime.jsxs("div", {
4664
4705
  className: isError ? 'ff-textarea-error-alignment' : 'msg-character-count',
4665
- children: [errorMessage, capacity > 0 && !readOnly && jsxRuntime.jsxs("div", {
4706
+ children: [errorMessage, capacity > 0 && !readOnly && displayCapacity && jsxRuntime.jsxs("div", {
4666
4707
  className: 'ff-textarea-character-count',
4667
4708
  children: [jsxRuntime.jsxs(Typography, {
4668
4709
  fontSize: 8,
@@ -10425,10 +10466,13 @@ const useFileDropzone = options => {
10425
10466
  invalidFileMessage,
10426
10467
  fileExistMessage,
10427
10468
  validateMIMEType = false,
10428
- isApiResponseError
10469
+ isApiResponseError,
10470
+ selectedFile,
10471
+ setSelectedFile
10429
10472
  } = options;
10473
+ const file = !selectedFile ? [] : [selectedFile];
10430
10474
  const [files, setFiles] = React.useState({
10431
- accepted: [],
10475
+ accepted: file,
10432
10476
  rejected: []
10433
10477
  });
10434
10478
  const [isDragActive, setIsDragActive] = React.useState(false);
@@ -10477,6 +10521,9 @@ const useFileDropzone = options => {
10477
10521
  setFiles(prevFiles => {
10478
10522
  const updatedAccepted = prevFiles.accepted.filter(file => file.name !== fileToReplace.name);
10479
10523
  const updatedRejected = prevFiles.rejected.filter(rejection => rejection.file.name !== fileToReplace.name);
10524
+ if (!checkEmpty(errors) && newFile && setSelectedFile) {
10525
+ setSelectedFile([...updatedAccepted, newFile]);
10526
+ }
10480
10527
  return {
10481
10528
  accepted: !checkEmpty(errors) ? updatedAccepted : [...updatedAccepted, newFile],
10482
10529
  rejected: !checkEmpty(errors) ? [...updatedRejected, {
@@ -11003,7 +11050,9 @@ const FileDropzone = ({
11003
11050
  fileContent = '',
11004
11051
  isUploadIcon = false,
11005
11052
  onUploadFile,
11006
- fileInputRef
11053
+ fileInputRef,
11054
+ showNoFilesUploadedMessage = false,
11055
+ noFileUploadedText = 'No files are uploaded'
11007
11056
  }) => {
11008
11057
  const {
11009
11058
  getRootProps,
@@ -11023,7 +11072,9 @@ const FileDropzone = ({
11023
11072
  invalidFileMessage,
11024
11073
  fileExistMessage,
11025
11074
  validateMIMEType,
11026
- isApiResponseError
11075
+ isApiResponseError,
11076
+ selectedFile,
11077
+ setSelectedFile
11027
11078
  // onDrop: (accepted, rejected, event) => {}, //onDrop function to handle dropped or selected files explicitly.
11028
11079
  });
11029
11080
  React.useEffect(() => {
@@ -11098,7 +11149,14 @@ const FileDropzone = ({
11098
11149
  style: {
11099
11150
  width: `${width}px`
11100
11151
  },
11101
- children: [!checkEmpty(acceptedFiles) && jsxRuntime.jsx("div", {
11152
+ children: [showNoFilesUploadedMessage && checkEmpty(acceptedFiles) && jsxRuntime.jsx(Typography, {
11153
+ fontWeight: "semi-bold",
11154
+ lineHeight: "18px",
11155
+ textAlign: "center",
11156
+ color: 'var(--text-color)',
11157
+ className: "ff-no-apps-message",
11158
+ children: noFileUploadedText
11159
+ }), !checkEmpty(acceptedFiles) && jsxRuntime.jsx("div", {
11102
11160
  className: "ff-file-details",
11103
11161
  children: acceptedFilesList
11104
11162
  }), !checkEmpty(rejectedFiles) && jsxRuntime.jsx("div", {
@@ -15793,6 +15851,16 @@ const InputWithDropdown = /*#__PURE__*/React.forwardRef(({
15793
15851
  rightDropDownPositionZindex
15794
15852
  }, ref) => {
15795
15853
  const isValueFilled = !checkEmpty(value) || dropdownPosition === 'left';
15854
+ const handleWheel = e => {
15855
+ if (type !== 'number') return;
15856
+ const input = e.currentTarget;
15857
+ const currentValue = parseFloat(input.value);
15858
+ const isScrollDown = e.deltaY > 0;
15859
+ if (!isNaN(currentValue) && currentValue <= 0 && isScrollDown) {
15860
+ input.blur();
15861
+ setTimeout(() => input.focus(), 0);
15862
+ }
15863
+ };
15796
15864
  return jsxRuntime.jsxs("div", {
15797
15865
  className: classNames('ff-input-with-dropdown-container', {
15798
15866
  'ff-input-with-dropdown-container--filled': isValueFilled
@@ -15852,6 +15920,7 @@ const InputWithDropdown = /*#__PURE__*/React.forwardRef(({
15852
15920
  onClick: onClick,
15853
15921
  onKeyUp: onKeyUp,
15854
15922
  onKeyDown: onKeyDown,
15923
+ onWheel: handleWheel,
15855
15924
  onFocus: onFocus,
15856
15925
  className: classNames('ff-floating-input', {
15857
15926
  'ff-floating-input--filled': isValueFilled,
@@ -16672,8 +16741,9 @@ const EditLabel = ({
16672
16741
  setIsEditable && setIsEditable(null);
16673
16742
  };
16674
16743
  const handleKeyDown = event => {
16675
- if (event.key === 'Enter') {
16744
+ if (event.key === 'Enter' && inputRef.current === document.activeElement) {
16676
16745
  handleConfirm();
16746
+ event.stopPropagation();
16677
16747
  } else if (event.key === 'Escape') {
16678
16748
  handleCancel();
16679
16749
  }
@@ -17715,6 +17785,19 @@ const Search = ({
17715
17785
  onSearch(data);
17716
17786
  }
17717
17787
  };
17788
+ React.useEffect(() => {
17789
+ const handleKeyDown = e => {
17790
+ if (e.key === 'Enter' && isExpand && inputRef.current === document.activeElement) {
17791
+ if (searchValue.trim().length < minLength && showToaster) {
17792
+ toast.info(helperText);
17793
+ } else if (!checkEmpty(searchValue.trim())) {
17794
+ onSearch(searchValue.trim());
17795
+ }
17796
+ }
17797
+ };
17798
+ document.addEventListener('keydown', handleKeyDown);
17799
+ return () => document.removeEventListener('keydown', handleKeyDown);
17800
+ }, [isExpand, onClose, searchValue, minLength, showToaster, helperText, onSearch]);
17718
17801
  return jsxRuntime.jsx("div", {
17719
17802
  className: classNames('ff-gradient-border-container', {
17720
17803
  'ai-search-active': isAISearchClicked && isExpand
@@ -31050,7 +31133,7 @@ const AppHeader = ({
31050
31133
  }));
31051
31134
  return jsxRuntime.jsxs("div", {
31052
31135
  className: classNames('ff-app-header-quickmenu-container', subMenuItem.quickMenuItems?.length ? 'visible' : ''),
31053
- children: [jsxRuntime.jsx("div", {
31136
+ children: [!checkEmpty(quickMenuItemsArray) && jsxRuntime.jsx("div", {
31054
31137
  children: jsxRuntime.jsx(Icon, {
31055
31138
  name: "vertical_separator"
31056
31139
  })
@@ -31639,7 +31722,7 @@ const DashboardDonutChart = ({
31639
31722
  },
31640
31723
  onMouseLeave: () => setHoveredItemIndex(null),
31641
31724
  children: [jsxRuntime.jsxs("div", {
31642
- className: "ff-legend-item",
31725
+ className: item.osIcon && item.osIcon.length > 0 ? 'ff-legend-item-version' : 'ff-legend-item',
31643
31726
  children: [jsxRuntime.jsxs(Typography, {
31644
31727
  fontSize: legendValueFontSize,
31645
31728
  fontWeight: "semi-bold",
@@ -31654,6 +31737,12 @@ const DashboardDonutChart = ({
31654
31737
  textAlign: "center",
31655
31738
  children: item.key.length > legendTruncate ? `${item.key.slice(0, legendTruncate)}...` : item.key
31656
31739
  })]
31740
+ }), item.osIcon && item.osIcon.length > 0 && jsxRuntime.jsx(Typography, {
31741
+ fontSize: legendKeyFontSize,
31742
+ className: "ff-legend-key",
31743
+ textAlign: "center",
31744
+ fontWeight: "semi-bold",
31745
+ children: "OS version"
31657
31746
  }), item.version && item.version.length > 0 ? jsxRuntime.jsx("div", {
31658
31747
  className: "ff-legend-version-container",
31659
31748
  children: jsxRuntime.jsx("div", {
@@ -31925,7 +32014,7 @@ const DashboardDonutChart = ({
31925
32014
  style: {
31926
32015
  fontSize: `${labelFontSize}px`
31927
32016
  },
31928
- children: wrapText(legendType === 'tableLegend' && hoveredItemIndex !== null && chartValues.find(item => item.originalIndex === hoveredItemIndex) ? total === 0 ? '0%' : `${Math.round((chartValues.find(item => item.originalIndex === hoveredItemIndex)?.value || 0) / total * 100)}%` : legendType === 'memoryLegend' ? `${totalMemory}` : isOnClick && hoveredItemIndex !== null && chartValues.find(item => item.originalIndex === hoveredItemIndex)?.value ? `${chartValues.find(item => item.originalIndex === hoveredItemIndex)?.value}` : `${Number.isInteger(total) ? total : total?.toFixed(2)} ${showUnit && unit ? unit.toUpperCase() : ''}`, LABEL_MAX_WIDTH, labelFontSize).map((line, index) => jsxRuntime.jsx("tspan", {
32017
+ children: wrapText(legendType === 'tableLegend' && hoveredItemIndex !== null && chartValues.find(item => item.originalIndex === hoveredItemIndex) ? total === 0 ? '0%' : `${Math.round((chartValues.find(item => item.originalIndex === hoveredItemIndex)?.value || 0) / total * 100)}%` : legendType === 'memoryLegend' ? `${totalMemory}` : isOnClick && hoveredItemIndex !== null && chartValues.find(item => item.originalIndex === hoveredItemIndex)?.value ? `${chartValues.find(item => item.originalIndex === hoveredItemIndex)?.value}` : `${legendType === 'tableLegend' ? `${chartValues.length}` : Number.isInteger(total) ? total : total?.toFixed(2)} ${showUnit && unit ? unit.toUpperCase() : ''}`, LABEL_MAX_WIDTH, labelFontSize).map((line, index) => jsxRuntime.jsx("tspan", {
31929
32018
  x: "0",
31930
32019
  dy: index === 0 ? 0 : labelFontSize,
31931
32020
  children: selectedItemIndex !== null && chartValues.find(item => item.originalIndex === selectedItemIndex) ? index === 0 ? chartValues.find(item => item.originalIndex === selectedItemIndex)?.value : null : apiDataLabel ? apiDataLabel : line
@@ -34090,6 +34179,9 @@ const NlpDropdown = ({
34090
34179
  } else if (nlpType === 'PROGRAM_ELEMENTS') {
34091
34180
  label = 'PE';
34092
34181
  className = 'ff-pe';
34182
+ } else if (nlpType === 'WORKBENCH_REQUEST') {
34183
+ label = 'WS';
34184
+ className = 'ff-ws';
34093
34185
  } else {
34094
34186
  label = '--';
34095
34187
  className = 'nlp-default';
@@ -34125,13 +34217,7 @@ const NlpDropdown = ({
34125
34217
  });
34126
34218
  } else if (platform === 'Generic') {
34127
34219
  return jsxRuntime.jsx(Icon, {
34128
- name: "generic_nlp",
34129
- height: 10,
34130
- width: 10
34131
- });
34132
- } else if (platform === 'Webservice') {
34133
- return jsxRuntime.jsx(Icon, {
34134
- name: "web_service_icon",
34220
+ name: "mobile_icon",
34135
34221
  height: 10,
34136
34222
  width: 10
34137
34223
  });
@@ -34142,9 +34228,16 @@ const NlpDropdown = ({
34142
34228
  width: 10
34143
34229
  });
34144
34230
  }
34145
- } else {
34146
- return jsxRuntime.jsx(jsxRuntime.Fragment, {});
34231
+ } else if (nlpType === 'WORKBENCH_REQUEST') {
34232
+ if (platform === 'Webservice') {
34233
+ return jsxRuntime.jsx(Icon, {
34234
+ name: "web_service_icon",
34235
+ height: 8,
34236
+ width: 8
34237
+ });
34238
+ }
34147
34239
  }
34240
+ return jsxRuntime.jsx(jsxRuntime.Fragment, {});
34148
34241
  };
34149
34242
  useIntersectionObserver(['ff-nlp-dropdown-pagination'], {
34150
34243
  root: document.getElementById('ff-nlp-dropdown-options-wrapper'),
@@ -35624,7 +35717,7 @@ const AttachmentButton = ({
35624
35717
  }), fileError && jsxRuntime.jsx(Toaster, {
35625
35718
  isOpen: !!fileError,
35626
35719
  variant: "info",
35627
- toastTitle: "Error",
35720
+ toastTitle: "Information",
35628
35721
  toastMessage: fileError,
35629
35722
  zIndex: 10000000
35630
35723
  }), showSelectedFiles && selectedFiles.map((file, index) => jsxRuntime.jsxs("div", {
@@ -38112,6 +38205,16 @@ const clearCell = cell => {
38112
38205
  style: cell?.style
38113
38206
  };
38114
38207
  };
38208
+ const clearEditCell = cell => {
38209
+ if (!canClearCell(cell) || cell?.inputType?.type === 'file') {
38210
+ return cell;
38211
+ }
38212
+ return {
38213
+ ...cell,
38214
+ value: typeof cell?.value === 'string' ? cell.value.slice(0, -1) : cell?.value,
38215
+ style: cell?.style
38216
+ };
38217
+ };
38115
38218
  const nextLine = cell => {
38116
38219
  if (!cell) return undefined;
38117
38220
  return {
@@ -38146,24 +38249,26 @@ function clearEditMode(state) {
38146
38249
  if (!state.active) {
38147
38250
  return state;
38148
38251
  }
38149
- const selectedRange = state.selected.toRange(state.model.data);
38150
- const changes = [];
38151
- let newData = state.model.data;
38152
- for (const point of selectedRange || []) {
38153
- const cell = get$1(point, state.model.data);
38154
- const clearedCell = clearCell(cell);
38252
+ if (state.mode === 'view') {
38253
+ const resultState = clear(state);
38254
+ return resultState;
38255
+ } else {
38256
+ const changes = [];
38257
+ let newData = state.model.data;
38258
+ const cell = get$1(state.active, state.model.data);
38259
+ const clearedCell = clearEditCell(cell);
38155
38260
  changes.push({
38156
38261
  prevCell: cell || null,
38157
38262
  nextCell: clearedCell || null
38158
38263
  });
38159
- newData = set$1(point, clearedCell, newData);
38264
+ newData = set$1(state.active, clearedCell, newData);
38265
+ return {
38266
+ ...state,
38267
+ mode: 'edit',
38268
+ model: new Model(createFormulaParser, newData),
38269
+ ...commit(changes)
38270
+ };
38160
38271
  }
38161
- return {
38162
- ...state,
38163
- mode: 'edit',
38164
- model: new Model(createFormulaParser, newData),
38165
- ...commit(changes)
38166
- };
38167
38272
  }
38168
38273
  function enterFunctionality(state) {
38169
38274
  if (!state.active) {
@@ -38561,12 +38666,24 @@ function reducer(state, action) {
38561
38666
  updatedData.splice(selectedRow, 1);
38562
38667
  const updatedModel = new Model(model.createFormulaParser, updatedData);
38563
38668
  let newSelectedRow = selectedRow > 0 ? selectedRow - 1 : 0;
38564
- let newSelectedColumn = !checkEmpty(selectedColumn) ? selectedColumn : 0;
38669
+ const newSelectedColumn = selectedColumn !== null ? selectedColumn : 0;
38670
+ const newActive = updatedData.length > 0 ? {
38671
+ row: newSelectedRow,
38672
+ column: newSelectedColumn
38673
+ } : null;
38674
+ const newSelected = updatedData.length > 0 ? new EntireRowsSelection(newSelectedRow, newSelectedRow) : new EmptySelection();
38675
+ const {
38676
+ [selectedRow]: _,
38677
+ ...cleanedRowDimensions
38678
+ } = state.rowDimensions;
38565
38679
  return {
38566
38680
  ...state,
38567
38681
  model: updatedModel,
38568
38682
  selectedRow: newSelectedRow,
38569
- selectedColumn: newSelectedColumn
38683
+ selectedColumn: newSelectedColumn,
38684
+ selected: newSelected,
38685
+ active: newActive,
38686
+ rowDimensions: cleanedRowDimensions
38570
38687
  };
38571
38688
  }
38572
38689
  case DELETE_COLUMN:
@@ -41040,54 +41157,216 @@ const ActiveCell = props => {
41040
41157
  const [selectOption, setSelectOption] = React__namespace.useState(false);
41041
41158
  const [allOption, setAllOption] = React__namespace.useState();
41042
41159
  const [selectedFiles, setSelectedFiles] = React__namespace.useState([]);
41160
+ // const handleFilesChange = async (
41161
+ // newFiles: File[],
41162
+ // selected?: File[],
41163
+ // actionType?: string
41164
+ // ) => {
41165
+ // if (newFiles.length > 5) {
41166
+ // toast.info('Cannot upload more than 5 files.');
41167
+ // return;
41168
+ // }
41169
+ // if (props.attachmentAction?.addAttachment && selected) {
41170
+ // try {
41171
+ // if (actionType === 'ADD' && cell?.inputType?.type === 'file') {
41172
+ // const parsedFiles: File[] = !checkEmpty(cell.value)
41173
+ // ? JSON.parse(cell.value)
41174
+ // : [];
41175
+ // let successCount = 0;
41176
+ // let failureCount = 0;
41177
+ // let duplicateCount = 0;
41178
+ // const nonDuplicateFiles = selected?.filter((file) => {
41179
+ // const isDuplicate = parsedFiles?.some(
41180
+ // (existing) => existing?.name.split('*')[0] === file?.name
41181
+ // );
41182
+ // if (isDuplicate) {
41183
+ // duplicateCount++;
41184
+ // }
41185
+ // return !isDuplicate;
41186
+ // });
41187
+ // const uploadPromises = nonDuplicateFiles?.map(async (file) => {
41188
+ // const response = await props.attachmentAction?.addAttachment(file);
41189
+ // if (!checkEmpty(response)) {
41190
+ // return JSON.parse(response ?? '');
41191
+ // }
41192
+ // });
41193
+ // const results = await Promise.all(uploadPromises);
41194
+ // results.forEach((result) => {
41195
+ // if (result) {
41196
+ // parsedFiles.push(result);
41197
+ // successCount++;
41198
+ // } else {
41199
+ // failureCount++;
41200
+ // }
41201
+ // });
41202
+ // // Update cell value with all successful uploads
41203
+ // handleChange({
41204
+ // ...cell,
41205
+ // value: JSON.stringify(parsedFiles),
41206
+ // style: cell?.style,
41207
+ // inputType: cell?.inputType,
41208
+ // });
41209
+ // setSelectedFiles(parsedFiles);
41210
+ // if (duplicateCount > 0) {
41211
+ // toast.warning(`Duplicate attachments not allowed within the same row`);
41212
+ // } else if (successCount > 0 && failureCount === 0) {
41213
+ // toast.success(
41214
+ // `file${successCount > 1 ? 's' : ''} uploaded successfully.`
41215
+ // );
41216
+ // } else if (failureCount > 0) {
41217
+ // toast.info(
41218
+ // `${failureCount} unsupported ${failureCount > 1 ? 'files' : 'file'}. Please check the file formats.`
41219
+ // );
41220
+ // }
41221
+ // } else if (actionType === 'DELETE') {
41222
+ // const parsedValue = cell && JSON.parse(cell.value);
41223
+ // const updatedFileDetails = [...parsedValue];
41224
+ // for (const file of selected) {
41225
+ // const index = updatedFileDetails.findIndex(
41226
+ // (originalFile: Types.AttachmentApi) => {
41227
+ // return originalFile.name === file.name;
41228
+ // }
41229
+ // );
41230
+ // const fileId = updatedFileDetails[index].id;
41231
+ // if (index !== -1 && fileId) {
41232
+ // const response = await props.attachmentAction?.deleteAttachment(fileId);
41233
+ // if (response) {
41234
+ // updatedFileDetails.splice(index, 1);
41235
+ // handleChange({
41236
+ // ...cell,
41237
+ // value: !checkEmpty(updatedFileDetails)
41238
+ // ? JSON.stringify(updatedFileDetails)
41239
+ // : '',
41240
+ // style: cell?.style,
41241
+ // inputType: cell?.inputType,
41242
+ // });
41243
+ // setSelectedFiles((prevSelectedFiles) => [
41244
+ // ...prevSelectedFiles.filter((f) => f.name !== file.name),
41245
+ // ]);
41246
+ // }
41247
+ // }
41248
+ // }
41249
+ // }
41250
+ // } catch (error) {
41251
+ // toast.error('Attachment operation failed');
41252
+ // console.error('Attachment failed:', error);
41253
+ // }
41254
+ // }
41255
+ // };
41043
41256
  const handleFilesChange = async (newFiles, selected, actionType) => {
41044
41257
  if (newFiles.length > 5) {
41045
41258
  toast.info('Cannot upload more than 5 files.');
41046
41259
  return;
41047
41260
  }
41048
- if (props.attachmentAction?.addAttachment && selected) {
41261
+ if (props.attachmentAction?.addAttachment && selected && actionType === 'ADD' && cell?.inputType?.type === 'file') {
41049
41262
  try {
41050
- if (actionType === 'ADD' && cell?.inputType?.type === 'file') {
41051
- const parsedFiles = !checkEmpty(cell.value) ? JSON.parse(cell.value) : [];
41052
- for (const file of selected) {
41263
+ const parsedFiles = !checkEmpty(cell.value) ? JSON.parse(cell.value) : [];
41264
+ let successCount = 0;
41265
+ let failureCount = 0;
41266
+ let duplicateCount = 0;
41267
+ // Filter out duplicate files
41268
+ const nonDuplicateFiles = selected.filter(file => {
41269
+ const isDuplicate = parsedFiles.some(existing => existing?.name.split('*')[0] === file?.name);
41270
+ if (isDuplicate) {
41271
+ duplicateCount++;
41272
+ }
41273
+ return !isDuplicate;
41274
+ });
41275
+ if (duplicateCount > 0) {
41276
+ toast.warning(`Duplicate attachments not allowed within the same row`);
41277
+ }
41278
+ if (nonDuplicateFiles.length === 0) {
41279
+ return; // No files to upload after filtering duplicates
41280
+ }
41281
+ // Upload non-duplicate files
41282
+ const uploadPromises = nonDuplicateFiles.map(async file => {
41283
+ try {
41053
41284
  const response = await props.attachmentAction?.addAttachment(file);
41285
+ // Check if response is non-empty
41054
41286
  if (!checkEmpty(response)) {
41055
- parsedFiles.push(JSON.parse(response));
41287
+ try {
41288
+ const parsedResponse = JSON.parse(response ?? '[]');
41289
+ // Expecting an array with at least one file object
41290
+ if (Array.isArray(parsedResponse) && parsedResponse.length > 0 && parsedResponse[0].id && parsedResponse[0].name) {
41291
+ return {
41292
+ file,
41293
+ result: parsedResponse[0]
41294
+ }; // Use the first file object
41295
+ } else {
41296
+ throw new Error('Invalid response structure');
41297
+ }
41298
+ } catch (parseError) {
41299
+ throw parseError;
41300
+ }
41301
+ } else {
41302
+ throw new Error('Empty response from server');
41056
41303
  }
41304
+ } catch (error) {
41305
+ return {
41306
+ file,
41307
+ error
41308
+ }; // Capture errors for individual files
41309
+ }
41310
+ });
41311
+ const results = await Promise.all(uploadPromises);
41312
+ // Process results
41313
+ const successfulUploads = [];
41314
+ results.forEach(({
41315
+ file,
41316
+ result,
41317
+ error
41318
+ }) => {
41319
+ if (result && !error) {
41320
+ successfulUploads.push(result);
41321
+ successCount++;
41322
+ } else {
41323
+ failureCount++;
41324
+ console.error(`Failed to upload file ${file?.name}:`, error);
41057
41325
  }
41326
+ });
41327
+ // Update cell value with successful uploads
41328
+ if (successCount > 0) {
41329
+ const updatedFiles = [...parsedFiles, ...successfulUploads];
41058
41330
  handleChange({
41059
41331
  ...cell,
41060
- value: JSON.stringify(parsedFiles),
41332
+ value: JSON.stringify(updatedFiles),
41061
41333
  style: cell?.style,
41062
41334
  inputType: cell?.inputType
41063
41335
  });
41064
- setSelectedFiles(parsedFiles);
41065
- } else if (actionType === 'DELETE') {
41066
- const parsedValue = cell && JSON.parse(cell.value);
41067
- const updatedFileDetails = [...parsedValue];
41068
- for (const file of selected) {
41069
- const index = updatedFileDetails.findIndex(originalFile => {
41070
- return originalFile.name === file.name;
41071
- });
41072
- const fileId = updatedFileDetails[index].id;
41073
- if (index !== -1 && fileId) {
41074
- const response = await props.attachmentAction?.deleteAttachment(fileId);
41075
- if (response) {
41076
- updatedFileDetails.splice(index, 1);
41077
- handleChange({
41078
- ...cell,
41079
- value: !checkEmpty(updatedFileDetails) ? JSON.stringify(updatedFileDetails) : '',
41080
- style: cell?.style,
41081
- inputType: cell?.inputType
41082
- });
41083
- setSelectedFiles(prevSelectedFiles => [...prevSelectedFiles.filter(f => f.name !== file.name)]);
41084
- }
41336
+ setSelectedFiles(updatedFiles.map(file => new File([new Blob()], file.name)));
41337
+ toast.success(`file${successCount > 1 ? 's' : ''} uploaded successfully.`);
41338
+ }
41339
+ if (failureCount > 0) {
41340
+ toast.info(`${failureCount} unsupported ${failureCount > 1 ? 'files' : 'file'}. Please check the file formats.`);
41341
+ }
41342
+ } catch (error) {
41343
+ toast.error('Attachment operation failed');
41344
+ console.error('Attachment failed:', error);
41345
+ }
41346
+ } else if (actionType === 'DELETE' && cell && props.attachmentAction?.deleteAttachment) {
41347
+ try {
41348
+ const parsedValue = JSON.parse(cell.value);
41349
+ const updatedFileDetails = [...parsedValue];
41350
+ for (const file of selected || []) {
41351
+ const index = updatedFileDetails.findIndex(originalFile => originalFile.name === file.name);
41352
+ const fileId = updatedFileDetails[index]?.id;
41353
+ if (index !== -1 && fileId) {
41354
+ const response = await props.attachmentAction?.deleteAttachment(fileId);
41355
+ if (response) {
41356
+ updatedFileDetails.splice(index, 1);
41357
+ handleChange({
41358
+ ...cell,
41359
+ value: !checkEmpty(updatedFileDetails) ? JSON.stringify(updatedFileDetails) : '',
41360
+ style: cell?.style,
41361
+ inputType: cell?.inputType
41362
+ });
41363
+ setSelectedFiles(updatedFileDetails.map(f => new File([new Blob()], f.name)));
41085
41364
  }
41086
41365
  }
41087
41366
  }
41088
41367
  } catch (error) {
41089
41368
  toast.error('Attachment operation failed');
41090
- console.error('Attachment failed:', error);
41369
+ console.error('Delete attachment failed:', error);
41091
41370
  }
41092
41371
  }
41093
41372
  };
@@ -41213,7 +41492,6 @@ const ActiveCell = props => {
41213
41492
  selectedFiles: selectedFiles,
41214
41493
  onFilesChange: handleFilesChange,
41215
41494
  disabled: false,
41216
- maxFileSizeMB: 5,
41217
41495
  maxFiles: 5,
41218
41496
  buttonLabel: "+ Attachments",
41219
41497
  buttonVariant: "tertiary",
@@ -41582,49 +41860,43 @@ const ExcelToolBar = ({
41582
41860
  className: "ff-excel-toolbar",
41583
41861
  children: [jsxRuntime.jsxs("div", {
41584
41862
  className: "ff-excel-toolbar-font ",
41585
- children: [jsxRuntime.jsx(Tooltip, {
41586
- placement: "top",
41587
- title: 'Font Family',
41588
- children: jsxRuntime.jsx("div", {
41589
- className: "ff-excel-toolbar-font-family",
41590
- children: jsxRuntime.jsx(Select$1, {
41591
- disabled: disable,
41592
- height: 24,
41593
- showLabel: false,
41594
- optionZIndex: 2000,
41595
- onChange: e => {
41596
- setSelectedFontFamily({
41597
- label: e.label,
41598
- value: e.label
41599
- });
41600
- setFontFamily(data, e.value);
41601
- },
41602
- required: false,
41603
- optionsList: fontFamilyList,
41604
- selectedOption: selectedFontFamily
41605
- })
41863
+ children: [jsxRuntime.jsx("div", {
41864
+ className: "ff-excel-toolbar-font-family",
41865
+ children: jsxRuntime.jsx(Select$1, {
41866
+ disabled: disable,
41867
+ height: 24,
41868
+ tooltip: true,
41869
+ showToolTip: true,
41870
+ showLabel: false,
41871
+ optionZIndex: 2000,
41872
+ onChange: e => {
41873
+ setSelectedFontFamily({
41874
+ label: e.label,
41875
+ value: e.label
41876
+ });
41877
+ setFontFamily(data, e.value);
41878
+ },
41879
+ required: false,
41880
+ optionsList: fontFamilyList,
41881
+ selectedOption: selectedFontFamily
41606
41882
  })
41607
- }), jsxRuntime.jsx(Tooltip, {
41608
- placement: "top",
41609
- title: 'Font Size',
41610
- children: jsxRuntime.jsx("div", {
41611
- className: "ff-excel-toolbar-font-size",
41612
- children: jsxRuntime.jsx(Select$1, {
41613
- disabled: disable,
41614
- height: 24,
41615
- showLabel: false,
41616
- optionZIndex: 2000,
41617
- required: false,
41618
- onChange: e => {
41619
- setSelectedFontSize({
41620
- label: e.label,
41621
- value: e.value
41622
- });
41623
- setFontSize(data, e.value);
41624
- },
41625
- optionsList: fontSize,
41626
- selectedOption: selectedFontSize
41627
- })
41883
+ }), jsxRuntime.jsx("div", {
41884
+ className: "ff-excel-toolbar-font-size",
41885
+ children: jsxRuntime.jsx(Select$1, {
41886
+ disabled: disable,
41887
+ height: 24,
41888
+ showLabel: false,
41889
+ optionZIndex: 2000,
41890
+ required: false,
41891
+ onChange: e => {
41892
+ setSelectedFontSize({
41893
+ label: e.label,
41894
+ value: e.value
41895
+ });
41896
+ setFontSize(data, e.value);
41897
+ },
41898
+ optionsList: fontSize,
41899
+ selectedOption: selectedFontSize
41628
41900
  })
41629
41901
  })]
41630
41902
  }), jsxRuntime.jsx("div", {
@@ -42059,7 +42331,7 @@ const Spreadsheet = props => {
42059
42331
  resizeObserver.observe(table);
42060
42332
  };
42061
42333
  const removeSelection = () => {
42062
- if (!(state.selectedColumn !== null || state.selectedRow !== null)) {
42334
+ if ((state.selectedColumn === null || state.selectedRow === null) && !state.autoFill.open) {
42063
42335
  removeSelect();
42064
42336
  }
42065
42337
  };
@@ -42255,7 +42527,9 @@ const ExcelContextMenu = ({
42255
42527
  className: "ff-excel-menu",
42256
42528
  style: {
42257
42529
  left: position.x,
42258
- top: position.y
42530
+ top: position.y,
42531
+ position: 'absolute',
42532
+ zIndex: 9999999999
42259
42533
  },
42260
42534
  children: contextMenu.options.map(option => {
42261
42535
  if (!option.disable && (!checkDelete(option.label) || !disableDeleteOption)) {
@@ -42688,10 +42962,28 @@ const ExcelFile = ({
42688
42962
  const rect = sheetRef.current?.parentElement?.getBoundingClientRect();
42689
42963
  const xOffset = window.scrollX;
42690
42964
  const yOffset = window.scrollY;
42691
- let sheetRefX = event.clientX - (rect?.left || 0) + xOffset + 10;
42692
- let sheetRefY = event.clientY - (rect?.top || 0) + yOffset - 5;
42965
+ let sheetRefX = event.clientX - (rect?.left || 0) + xOffset;
42966
+ let sheetRefY = event.clientY - (rect?.top || 0) + yOffset;
42693
42967
  const menuWidth = 300;
42694
- let menuHeight = 200;
42968
+ const menuHeight = 200;
42969
+ const windowWidth = window.innerWidth;
42970
+ const windowHeight = window.innerHeight;
42971
+ const spaceOnRight = windowWidth - event.clientX;
42972
+ const spaceOnLeft = event.clientX;
42973
+ const spaceBelow = windowHeight - event.clientY;
42974
+ const spaceAbove = event.clientY;
42975
+ // Horizontal positioning: left if no space on right
42976
+ if (spaceOnRight < menuWidth && spaceOnLeft >= menuWidth) {
42977
+ sheetRefX = event.clientX - (rect?.left || 0) + xOffset - 150;
42978
+ } else {
42979
+ sheetRefX += 2;
42980
+ }
42981
+ // Vertical positioning: above if no space below
42982
+ if (spaceBelow < menuHeight && spaceAbove >= menuHeight) {
42983
+ sheetRefY = event.clientY - (rect?.top || 0) + yOffset - 20;
42984
+ } else {
42985
+ sheetRefY += 2;
42986
+ }
42695
42987
  if (event.target.classList.contains('ff-excel-tab-list')) {
42696
42988
  setPosition({
42697
42989
  x: sheetRefX,
@@ -42699,21 +42991,16 @@ const ExcelFile = ({
42699
42991
  });
42700
42992
  return;
42701
42993
  }
42702
- const windowWidth = window.innerWidth + contextWidthPositioning;
42703
- const windowHeight = window.innerHeight + contextHeightPositioning;
42704
- console.log(window.innerWidth);
42705
- console.log(contextWidthPositioning);
42706
- console.log(window.innerHeight);
42707
- console.log(contextHeightPositioning);
42994
+ // Ensure menu stays within window bounds
42708
42995
  if (sheetRefX + menuWidth > windowWidth) {
42709
- sheetRefX = windowWidth - menuWidth - 100;
42996
+ sheetRefX = windowWidth - menuWidth - 2;
42710
42997
  }
42711
- if (sheetRefY + menuHeight > windowHeight) {
42712
- sheetRefY = windowHeight - menuHeight - 100;
42998
+ if (sheetRefX < 0) {
42999
+ sheetRefX = 2; // Prevent clipping off left edge
42713
43000
  }
42714
43001
  setPosition({
42715
- x: sheetRefX,
42716
- y: sheetRefY
43002
+ x: sheetRefX + contextWidthPositioning,
43003
+ y: sheetRefY + contextHeightPositioning
42717
43004
  });
42718
43005
  };
42719
43006
  const unsetContextPosition = e => {
@@ -44109,7 +44396,7 @@ const VariableSuggestionInputDropDown = /*#__PURE__*/React.forwardRef(({
44109
44396
  },
44110
44397
  children: jsxRuntime.jsx(Icon, {
44111
44398
  onClick: onCreateVariableClick,
44112
- name: "variable",
44399
+ name: "add_variable",
44113
44400
  height: 16,
44114
44401
  width: 16,
44115
44402
  hoverEffect: true
@@ -44122,7 +44409,7 @@ const VariableSuggestionInputDropDown = /*#__PURE__*/React.forwardRef(({
44122
44409
  truncateTextValue: truncateTextValue,
44123
44410
  width: dropdownWidthPx,
44124
44411
  height: dropdownHeight,
44125
- optionsList: variableList.filter(file => file.name.toLowerCase().includes(result?.searchString)),
44412
+ optionsList: variableList.filter(file => file.name.toLowerCase().includes(result?.searchString?.toLowerCase())),
44126
44413
  onSelectVariable: handleDropdownClick
44127
44414
  }), showDropdown && isHash && isFocused && jsxRuntime.jsx(OptionsDropdown$1, {
44128
44415
  position: "relative",
@@ -44537,7 +44824,10 @@ const ProgressBar = ({
44537
44824
  className: "ff-progress-bar-label",
44538
44825
  fontSize: labelFontSize,
44539
44826
  color: labelTextColor,
44540
- children: computedLabel
44827
+ children: jsxRuntime.jsx(Tooltip, {
44828
+ title: isTextTruncated(computedLabel, 10, 'count') ? computedLabel : '',
44829
+ children: truncateText(computedLabel, 10, 'count')
44830
+ })
44541
44831
  })]
44542
44832
  });
44543
44833
  };
@@ -44556,7 +44846,8 @@ const ChooseFile = ({
44556
44846
  buttonWidth = 'auto',
44557
44847
  buttonHeight = 'auto',
44558
44848
  selectedFile = {},
44559
- handleCloseIcon
44849
+ handleCloseIcon,
44850
+ isMandatory = false
44560
44851
  }) => {
44561
44852
  return jsxRuntime.jsx("div", {
44562
44853
  children: jsxRuntime.jsx(Button$1, {
@@ -44574,7 +44865,8 @@ const ChooseFile = ({
44574
44865
  style: style,
44575
44866
  iconPosition: "right",
44576
44867
  selectedFile: selectedFile,
44577
- handleCloseIcon: handleCloseIcon
44868
+ handleCloseIcon: handleCloseIcon,
44869
+ isMandatory: isMandatory
44578
44870
  })
44579
44871
  });
44580
44872
  };
@@ -45917,7 +46209,13 @@ const MediaViewerModal = ({
45917
46209
  src,
45918
46210
  headerTitle,
45919
46211
  onDownload,
45920
- onExpand
46212
+ onExpand,
46213
+ showHeader = true,
46214
+ showDownload = true,
46215
+ showExpand = true,
46216
+ width = '800px',
46217
+ height = '432px',
46218
+ showControls = true
45921
46219
  }) => {
45922
46220
  const videoRef = React.useRef(null);
45923
46221
  const [currentTime, setCurrentTime] = React.useState(0);
@@ -45965,7 +46263,7 @@ const MediaViewerModal = ({
45965
46263
  isOpen: isOpen,
45966
46264
  onClose: onClose,
45967
46265
  isMaximized: false,
45968
- showHeader: true,
46266
+ showHeader: showHeader,
45969
46267
  downloadHandler: () => console.log('Download clicked'),
45970
46268
  header: jsxRuntime.jsxs("div", {
45971
46269
  className: "ff-header-content",
@@ -45986,8 +46284,8 @@ const MediaViewerModal = ({
45986
46284
  name: "close",
45987
46285
  onClick: onClose
45988
46286
  }),
45989
- width: "620px",
45990
- height: "336px",
46287
+ width: width,
46288
+ height: height,
45991
46289
  zIndex: 999,
45992
46290
  children: jsxRuntime.jsxs("div", {
45993
46291
  className: "ff-video-wrapper",
@@ -46004,20 +46302,20 @@ const MediaViewerModal = ({
46004
46302
  className: "ff-media-image"
46005
46303
  }), jsxRuntime.jsxs("div", {
46006
46304
  className: "ff-top-right-icons",
46007
- children: [jsxRuntime.jsx(Icon, {
46305
+ children: [showDownload && jsxRuntime.jsx(Icon, {
46008
46306
  width: 20,
46009
46307
  height: 23,
46010
46308
  name: "download_file",
46011
46309
  color: "white",
46012
46310
  onClick: onDownload
46013
- }), jsxRuntime.jsx(Icon, {
46311
+ }), showExpand && jsxRuntime.jsx(Icon, {
46014
46312
  width: 20,
46015
46313
  height: 23,
46016
46314
  name: "expand_icon",
46017
46315
  color: "white",
46018
46316
  onClick: onExpand
46019
46317
  })]
46020
- }), mediaType === 'video' && jsxRuntime.jsxs("div", {
46318
+ }), mediaType === 'video' && showControls && jsxRuntime.jsxs("div", {
46021
46319
  className: "ff-media-controls",
46022
46320
  children: [jsxRuntime.jsx("button", {
46023
46321
  onClick: onTogglePlay,
@@ -59959,7 +60257,7 @@ const ChildComment = ({
59959
60257
  if (mentionNameMatch) {
59960
60258
  const mentionNameStart = textBeforeCaret.lastIndexOf(mentionNameMatch[1] || '');
59961
60259
  const remainder = input.slice(caretPosition);
59962
- const mentionedUserName = `@${name.replace(/\s+/g, '')}`;
60260
+ const mentionedUserName = `@${name.replace(/\s+/g, '')} `;
59963
60261
  const newText = input.slice(0, mentionNameStart) + mentionedUserName + remainder;
59964
60262
  setInput(newText);
59965
60263
  setHasAtSymbol(false);
@@ -59984,7 +60282,11 @@ const ChildComment = ({
59984
60282
  className: 'commentContainer',
59985
60283
  children: [jsxRuntime.jsx("div", {
59986
60284
  className: "commentContainer__avatar",
59987
- children: avatar
60285
+ children: comment?.profileImage ? jsxRuntime.jsx("img", {
60286
+ height: 30,
60287
+ width: 30,
60288
+ src: `data:image/jpeg;base64,${comment?.profileImage}`
60289
+ }) : avatar
59988
60290
  }), jsxRuntime.jsxs("div", {
59989
60291
  className: "ff-message-container",
59990
60292
  children: [jsxRuntime.jsxs("div", {
@@ -60459,7 +60761,7 @@ const Comments = ({
60459
60761
  if (mentionNameMatch) {
60460
60762
  const mentionNameStart = textBeforeCaret.lastIndexOf(mentionNameMatch[1] ?? '');
60461
60763
  const remainingText = input.slice(caretPosition);
60462
- const mentionedUserName = `@${name.replace(/\s+/g, '')}`;
60764
+ const mentionedUserName = `@${name.replace(/\s+/g, '')} `;
60463
60765
  const newText = input.slice(0, mentionNameStart) + mentionedUserName + remainingText;
60464
60766
  setInput(newText);
60465
60767
  setHasAtSymbol(false);
@@ -74335,6 +74637,10 @@ const appendNewRow = (tableData, AddNlp) => {
74335
74637
  }
74336
74638
  break;
74337
74639
  case 'replaceNlp':
74640
+ if (sourceIndex !== undefined) {
74641
+ updatedTreeData.splice(sourceIndex, 0, newNodeBase);
74642
+ }
74643
+ break;
74338
74644
  case 'EditNlp':
74339
74645
  if (sourceIndex !== undefined) {
74340
74646
  updatedTreeData.splice(sourceIndex, 1);
@@ -109372,7 +109678,7 @@ const TextEditor = ({
109372
109678
  const content = parseContent(convertedContent);
109373
109679
  newEditorState = DraftExports.EditorState.createWithContent(DraftExports.convertFromRaw(content));
109374
109680
  } else {
109375
- newEditorState = mode === 'view' ? DraftExports.EditorState.createWithContent(DraftExports.ContentState.createFromText('--')) : DraftExports.EditorState.createEmpty();
109681
+ newEditorState = mode === 'view' ? DraftExports.EditorState.createWithContent(DraftExports.ContentState.createFromText('---')) : DraftExports.EditorState.createEmpty();
109376
109682
  }
109377
109683
  } catch (e) {
109378
109684
  console.error('Error creating editor state:', e);
@@ -109384,7 +109690,7 @@ const TextEditor = ({
109384
109690
  let editorState = null;
109385
109691
  if (convertedContent.length === 0) {
109386
109692
  if (mode === 'view') {
109387
- const content = DraftExports.ContentState.createFromText('--');
109693
+ const content = DraftExports.ContentState.createFromText('---');
109388
109694
  editorState = DraftExports.EditorState.createWithContent(content);
109389
109695
  } else {
109390
109696
  editorState = DraftExports.EditorState.createEmpty();
@@ -109477,7 +109783,7 @@ const NoDataContent = ({
109477
109783
  }), jsxRuntime.jsx(Typography, {
109478
109784
  fontSize: textFontSize,
109479
109785
  lineHeight: "36px",
109480
- fontWeight: "bold",
109786
+ fontWeight: "semi-bold",
109481
109787
  children: text
109482
109788
  })]
109483
109789
  });
@@ -109646,11 +109952,12 @@ const handleTreeExpandAllCollapseAll = (data, key, rootNode, isExpanded, treeAct
109646
109952
  };
109647
109953
  };
109648
109954
 
109649
- function togglePrePostConditions(data, isHide) {
109955
+ function togglePrePostConditions(data, isHide, isScript) {
109650
109956
  if (!Array.isArray(data)) {
109651
109957
  throw new Error('Input data must be an array of TreeNode objects.');
109652
109958
  }
109653
- return data.map(node => ['PRE', 'POST'].includes(node.entityType ?? '') ? {
109959
+ const hideTypeArray = isScript ? ['Script'] : ['PRE', 'POST'];
109960
+ return data.map(node => hideTypeArray.includes(node.entityType ?? '') ? {
109654
109961
  ...node,
109655
109962
  hide: isHide
109656
109963
  } : node);