pixel-react-excel-sheet 1.1.25 → 1.1.27

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 (102) 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/index9.js +2 -2
  6. package/lib/assets/icons/Video_recording.svg.js +6 -0
  7. package/lib/assets/icons/Video_recording.svg.js.map +1 -0
  8. package/lib/assets/icons/ai_token.svg.js +6 -0
  9. package/lib/assets/icons/ai_token.svg.js.map +1 -0
  10. package/lib/assets/icons/capture_image.svg.js +6 -0
  11. package/lib/assets/icons/capture_image.svg.js.map +1 -0
  12. package/lib/assets/icons/eclipse_plugin.svg.js +8 -0
  13. package/lib/assets/icons/eclipse_plugin.svg.js.map +1 -0
  14. package/lib/components/AppHeader/AppHeader.js +1 -1
  15. package/lib/components/AppHeader/AppHeader.js.map +1 -1
  16. package/lib/components/AttachmentButton/AttachmentButton.js +1 -1
  17. package/lib/components/AttachmentButton/AttachmentButton.js.map +1 -1
  18. package/lib/components/Button/Button.js +6 -2
  19. package/lib/components/Button/Button.js.map +1 -1
  20. package/lib/components/Button/types.d.ts +4 -0
  21. package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js +8 -2
  22. package/lib/components/Charts/DashboardDonutChart/DashboardDonutChart.js.map +1 -1
  23. package/lib/components/ChooseFile/ChooseFile.js +4 -2
  24. package/lib/components/ChooseFile/ChooseFile.js.map +1 -1
  25. package/lib/components/ChooseFile/types.d.ts +4 -0
  26. package/lib/components/Comments/Comments.js +1 -1
  27. package/lib/components/Comments/Comments.js.map +1 -1
  28. package/lib/components/Comments/childComment/ChildComment.js +6 -2
  29. package/lib/components/Comments/childComment/ChildComment.js.map +1 -1
  30. package/lib/components/Comments/type.d.ts +1 -0
  31. package/lib/components/Drawer/Drawer.js +5 -2
  32. package/lib/components/Drawer/Drawer.js.map +1 -1
  33. package/lib/components/EditLabel/EditLabel.js +2 -1
  34. package/lib/components/EditLabel/EditLabel.js.map +1 -1
  35. package/lib/components/Excel/ExcelContextMenu/ExcelContextMenu.js +3 -1
  36. package/lib/components/Excel/ExcelContextMenu/ExcelContextMenu.js.map +1 -1
  37. package/lib/components/Excel/ExcelFile/ExcelFile.js +27 -14
  38. package/lib/components/Excel/ExcelFile/ExcelFile.js.map +1 -1
  39. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js +34 -3
  40. package/lib/components/Excel/ExcelFile/ExcelFileComponents/ActiveCell.js.map +1 -1
  41. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js +1 -1
  42. package/lib/components/Excel/ExcelFile/ExcelFileComponents/Spreadsheet.js.map +1 -1
  43. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js +14 -2
  44. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducer.js.map +1 -1
  45. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.js +25 -13
  46. package/lib/components/Excel/ExcelFile/ExcelFileComponents/reducerFunctions.js.map +1 -1
  47. package/lib/components/Excel/ExcelToolBar/ExcelToolBar.js +36 -42
  48. package/lib/components/Excel/ExcelToolBar/ExcelToolBar.js.map +1 -1
  49. package/lib/components/FileDropzone/FileDropzone.js +15 -3
  50. package/lib/components/FileDropzone/FileDropzone.js.map +1 -1
  51. package/lib/components/FileDropzone/types.d.ts +4 -0
  52. package/lib/components/Icon/iconList.js +8 -0
  53. package/lib/components/Icon/iconList.js.map +1 -1
  54. package/lib/components/Input/Input.js +13 -1
  55. package/lib/components/Input/Input.js.map +1 -1
  56. package/lib/components/InputWithDropdown/InputWithDropdown.js +11 -0
  57. package/lib/components/InputWithDropdown/InputWithDropdown.js.map +1 -1
  58. package/lib/components/MediaViewerModal/MediaViewerModal.js +13 -7
  59. package/lib/components/MediaViewerModal/MediaViewerModal.js.map +1 -1
  60. package/lib/components/MediaViewerModal/type.d.ts +8 -2
  61. package/lib/components/MultiSelect/Dropdown.js +1 -1
  62. package/lib/components/MultiSelect/Dropdown.js.map +1 -1
  63. package/lib/components/MultiSelect/MultiSelect.js +8 -4
  64. package/lib/components/MultiSelect/MultiSelect.js.map +1 -1
  65. package/lib/components/MultiSelect/MultiSelectTypes.d.ts +1 -1
  66. package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js +13 -9
  67. package/lib/components/NLPInput/components/NlpDropDown/NlpDropdown.js.map +1 -1
  68. package/lib/components/NLPInput/sampleData.js +1 -1
  69. package/lib/components/NLPInput/sampleData.js.map +1 -1
  70. package/lib/components/NoDataContent/NoDataContent.js +1 -1
  71. package/lib/components/NoDataContent/NoDataContent.js.map +1 -1
  72. package/lib/components/ProgressBar/ProgressBar.js +6 -1
  73. package/lib/components/ProgressBar/ProgressBar.js.map +1 -1
  74. package/lib/components/Search/Search.js +13 -0
  75. package/lib/components/Search/Search.js.map +1 -1
  76. package/lib/components/TextArea/Textarea.d.ts +1 -1
  77. package/lib/components/TextArea/Textarea.js +9 -5
  78. package/lib/components/TextArea/Textarea.js.map +1 -1
  79. package/lib/components/TextArea/Types.d.ts +8 -0
  80. package/lib/components/TextEditor/TextEditor.js +2 -2
  81. package/lib/components/TextEditor/TextEditor.js.map +1 -1
  82. package/lib/components/variableSuggestionInputDropDown/VariableSuggestionInputDropDown.js +2 -2
  83. package/lib/components/variableSuggestionInputDropDown/VariableSuggestionInputDropDown.js.map +1 -1
  84. package/lib/hooks/useFileDropzone.js +8 -2
  85. package/lib/hooks/useFileDropzone.js.map +1 -1
  86. package/lib/index.cjs +307 -130
  87. package/lib/index.cjs.map +1 -1
  88. package/lib/index.d.ts +33 -5
  89. package/lib/node_modules/js-beautify/js/src/css/beautifier.js +1 -1
  90. package/lib/node_modules/js-beautify/js/src/css/index.js +1 -1
  91. package/lib/node_modules/js-beautify/js/src/html/beautifier.js +1 -1
  92. package/lib/node_modules/js-beautify/js/src/html/tokenizer.js +1 -1
  93. package/lib/node_modules/js-beautify/js/src/javascript/index.js +1 -1
  94. package/lib/node_modules/js-beautify/js/src/javascript/tokenizer.js +1 -1
  95. package/lib/styles.css +1 -1
  96. package/lib/styles.css.map +1 -1
  97. package/lib/utils/AppendNewRow/AppendNewRow.js +4 -0
  98. package/lib/utils/AppendNewRow/AppendNewRow.js.map +1 -1
  99. package/lib/utils/togglePrePostCondition/togglePrePostCondition.d.ts +1 -1
  100. package/lib/utils/togglePrePostCondition/togglePrePostCondition.js +3 -2
  101. package/lib/utils/togglePrePostCondition/togglePrePostCondition.js.map +1 -1
  102. 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,21 +41157,45 @@ 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
+ console.log("Active cell");
41043
41161
  const handleFilesChange = async (newFiles, selected, actionType) => {
41044
41162
  if (newFiles.length > 5) {
41045
41163
  toast.info('Cannot upload more than 5 files.');
41046
41164
  return;
41047
41165
  }
41166
+ console.log(newFiles);
41167
+ console.log(selected);
41168
+ console.log(actionType);
41048
41169
  if (props.attachmentAction?.addAttachment && selected) {
41049
41170
  try {
41050
41171
  if (actionType === 'ADD' && cell?.inputType?.type === 'file') {
41051
41172
  const parsedFiles = !checkEmpty(cell.value) ? JSON.parse(cell.value) : [];
41052
- for (const file of selected) {
41173
+ let successCount = 0;
41174
+ let failureCount = 0;
41175
+ let duplicateCount = 0;
41176
+ const nonDuplicateFiles = selected?.filter(file => {
41177
+ const isDuplicate = parsedFiles?.some(existing => existing?.name.split('*')[0] === file?.name);
41178
+ if (isDuplicate) {
41179
+ duplicateCount++;
41180
+ }
41181
+ return !isDuplicate;
41182
+ });
41183
+ const uploadPromises = nonDuplicateFiles?.map(async file => {
41053
41184
  const response = await props.attachmentAction?.addAttachment(file);
41054
41185
  if (!checkEmpty(response)) {
41055
- parsedFiles.push(JSON.parse(response));
41186
+ return JSON.parse(response ?? '');
41056
41187
  }
41057
- }
41188
+ });
41189
+ const results = await Promise.all(uploadPromises);
41190
+ results.forEach(result => {
41191
+ if (result) {
41192
+ parsedFiles.push(result);
41193
+ successCount++;
41194
+ } else {
41195
+ failureCount++;
41196
+ }
41197
+ });
41198
+ // Update cell value with all successful uploads
41058
41199
  handleChange({
41059
41200
  ...cell,
41060
41201
  value: JSON.stringify(parsedFiles),
@@ -41062,6 +41203,13 @@ const ActiveCell = props => {
41062
41203
  inputType: cell?.inputType
41063
41204
  });
41064
41205
  setSelectedFiles(parsedFiles);
41206
+ if (duplicateCount > 0) {
41207
+ toast.warning(`Duplicate attachments not allowed within the same row`);
41208
+ } else if (successCount > 0 && failureCount === 0) {
41209
+ toast.success(`file${successCount > 1 ? 's' : ''} uploaded successfully.`);
41210
+ } else if (failureCount > 0) {
41211
+ toast.info(`${failureCount} unsupported ${failureCount > 1 ? 'files' : 'file'}. Please check the file formats.`);
41212
+ }
41065
41213
  } else if (actionType === 'DELETE') {
41066
41214
  const parsedValue = cell && JSON.parse(cell.value);
41067
41215
  const updatedFileDetails = [...parsedValue];
@@ -41582,49 +41730,43 @@ const ExcelToolBar = ({
41582
41730
  className: "ff-excel-toolbar",
41583
41731
  children: [jsxRuntime.jsxs("div", {
41584
41732
  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
- })
41733
+ children: [jsxRuntime.jsx("div", {
41734
+ className: "ff-excel-toolbar-font-family",
41735
+ children: jsxRuntime.jsx(Select$1, {
41736
+ disabled: disable,
41737
+ height: 24,
41738
+ tooltip: true,
41739
+ showToolTip: true,
41740
+ showLabel: false,
41741
+ optionZIndex: 2000,
41742
+ onChange: e => {
41743
+ setSelectedFontFamily({
41744
+ label: e.label,
41745
+ value: e.label
41746
+ });
41747
+ setFontFamily(data, e.value);
41748
+ },
41749
+ required: false,
41750
+ optionsList: fontFamilyList,
41751
+ selectedOption: selectedFontFamily
41606
41752
  })
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
- })
41753
+ }), jsxRuntime.jsx("div", {
41754
+ className: "ff-excel-toolbar-font-size",
41755
+ children: jsxRuntime.jsx(Select$1, {
41756
+ disabled: disable,
41757
+ height: 24,
41758
+ showLabel: false,
41759
+ optionZIndex: 2000,
41760
+ required: false,
41761
+ onChange: e => {
41762
+ setSelectedFontSize({
41763
+ label: e.label,
41764
+ value: e.value
41765
+ });
41766
+ setFontSize(data, e.value);
41767
+ },
41768
+ optionsList: fontSize,
41769
+ selectedOption: selectedFontSize
41628
41770
  })
41629
41771
  })]
41630
41772
  }), jsxRuntime.jsx("div", {
@@ -42059,7 +42201,7 @@ const Spreadsheet = props => {
42059
42201
  resizeObserver.observe(table);
42060
42202
  };
42061
42203
  const removeSelection = () => {
42062
- if (!(state.selectedColumn !== null || state.selectedRow !== null)) {
42204
+ if ((state.selectedColumn === null || state.selectedRow === null) && !state.autoFill.open) {
42063
42205
  removeSelect();
42064
42206
  }
42065
42207
  };
@@ -42255,7 +42397,9 @@ const ExcelContextMenu = ({
42255
42397
  className: "ff-excel-menu",
42256
42398
  style: {
42257
42399
  left: position.x,
42258
- top: position.y
42400
+ top: position.y,
42401
+ position: 'absolute',
42402
+ zIndex: 9999999999
42259
42403
  },
42260
42404
  children: contextMenu.options.map(option => {
42261
42405
  if (!option.disable && (!checkDelete(option.label) || !disableDeleteOption)) {
@@ -42688,10 +42832,28 @@ const ExcelFile = ({
42688
42832
  const rect = sheetRef.current?.parentElement?.getBoundingClientRect();
42689
42833
  const xOffset = window.scrollX;
42690
42834
  const yOffset = window.scrollY;
42691
- let sheetRefX = event.clientX - (rect?.left || 0) + xOffset + 10;
42692
- let sheetRefY = event.clientY - (rect?.top || 0) + yOffset - 5;
42835
+ let sheetRefX = event.clientX - (rect?.left || 0) + xOffset;
42836
+ let sheetRefY = event.clientY - (rect?.top || 0) + yOffset;
42693
42837
  const menuWidth = 300;
42694
- let menuHeight = 200;
42838
+ const menuHeight = 200;
42839
+ const windowWidth = window.innerWidth;
42840
+ const windowHeight = window.innerHeight;
42841
+ const spaceOnRight = windowWidth - event.clientX;
42842
+ const spaceOnLeft = event.clientX;
42843
+ const spaceBelow = windowHeight - event.clientY;
42844
+ const spaceAbove = event.clientY;
42845
+ // Horizontal positioning: left if no space on right
42846
+ if (spaceOnRight < menuWidth && spaceOnLeft >= menuWidth) {
42847
+ sheetRefX = event.clientX - (rect?.left || 0) + xOffset - 150;
42848
+ } else {
42849
+ sheetRefX += 2;
42850
+ }
42851
+ // Vertical positioning: above if no space below
42852
+ if (spaceBelow < menuHeight && spaceAbove >= menuHeight) {
42853
+ sheetRefY = event.clientY - (rect?.top || 0) + yOffset - 20;
42854
+ } else {
42855
+ sheetRefY += 2;
42856
+ }
42695
42857
  if (event.target.classList.contains('ff-excel-tab-list')) {
42696
42858
  setPosition({
42697
42859
  x: sheetRefX,
@@ -42699,21 +42861,16 @@ const ExcelFile = ({
42699
42861
  });
42700
42862
  return;
42701
42863
  }
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);
42864
+ // Ensure menu stays within window bounds
42708
42865
  if (sheetRefX + menuWidth > windowWidth) {
42709
- sheetRefX = windowWidth - menuWidth - 100;
42866
+ sheetRefX = windowWidth - menuWidth - 2;
42710
42867
  }
42711
- if (sheetRefY + menuHeight > windowHeight) {
42712
- sheetRefY = windowHeight - menuHeight - 100;
42868
+ if (sheetRefX < 0) {
42869
+ sheetRefX = 2; // Prevent clipping off left edge
42713
42870
  }
42714
42871
  setPosition({
42715
- x: sheetRefX,
42716
- y: sheetRefY
42872
+ x: sheetRefX + contextWidthPositioning,
42873
+ y: sheetRefY + contextHeightPositioning
42717
42874
  });
42718
42875
  };
42719
42876
  const unsetContextPosition = e => {
@@ -44109,7 +44266,7 @@ const VariableSuggestionInputDropDown = /*#__PURE__*/React.forwardRef(({
44109
44266
  },
44110
44267
  children: jsxRuntime.jsx(Icon, {
44111
44268
  onClick: onCreateVariableClick,
44112
- name: "variable",
44269
+ name: "add_variable",
44113
44270
  height: 16,
44114
44271
  width: 16,
44115
44272
  hoverEffect: true
@@ -44122,7 +44279,7 @@ const VariableSuggestionInputDropDown = /*#__PURE__*/React.forwardRef(({
44122
44279
  truncateTextValue: truncateTextValue,
44123
44280
  width: dropdownWidthPx,
44124
44281
  height: dropdownHeight,
44125
- optionsList: variableList.filter(file => file.name.toLowerCase().includes(result?.searchString)),
44282
+ optionsList: variableList.filter(file => file.name.toLowerCase().includes(result?.searchString?.toLowerCase())),
44126
44283
  onSelectVariable: handleDropdownClick
44127
44284
  }), showDropdown && isHash && isFocused && jsxRuntime.jsx(OptionsDropdown$1, {
44128
44285
  position: "relative",
@@ -44537,7 +44694,10 @@ const ProgressBar = ({
44537
44694
  className: "ff-progress-bar-label",
44538
44695
  fontSize: labelFontSize,
44539
44696
  color: labelTextColor,
44540
- children: computedLabel
44697
+ children: jsxRuntime.jsx(Tooltip, {
44698
+ title: isTextTruncated(computedLabel, 10, 'count') ? computedLabel : '',
44699
+ children: truncateText(computedLabel, 10, 'count')
44700
+ })
44541
44701
  })]
44542
44702
  });
44543
44703
  };
@@ -44556,7 +44716,8 @@ const ChooseFile = ({
44556
44716
  buttonWidth = 'auto',
44557
44717
  buttonHeight = 'auto',
44558
44718
  selectedFile = {},
44559
- handleCloseIcon
44719
+ handleCloseIcon,
44720
+ isMandatory = false
44560
44721
  }) => {
44561
44722
  return jsxRuntime.jsx("div", {
44562
44723
  children: jsxRuntime.jsx(Button$1, {
@@ -44574,7 +44735,8 @@ const ChooseFile = ({
44574
44735
  style: style,
44575
44736
  iconPosition: "right",
44576
44737
  selectedFile: selectedFile,
44577
- handleCloseIcon: handleCloseIcon
44738
+ handleCloseIcon: handleCloseIcon,
44739
+ isMandatory: isMandatory
44578
44740
  })
44579
44741
  });
44580
44742
  };
@@ -45917,7 +46079,13 @@ const MediaViewerModal = ({
45917
46079
  src,
45918
46080
  headerTitle,
45919
46081
  onDownload,
45920
- onExpand
46082
+ onExpand,
46083
+ showHeader = true,
46084
+ showDownload = true,
46085
+ showExpand = true,
46086
+ width = '800px',
46087
+ height = '432px',
46088
+ showControls = true
45921
46089
  }) => {
45922
46090
  const videoRef = React.useRef(null);
45923
46091
  const [currentTime, setCurrentTime] = React.useState(0);
@@ -45965,7 +46133,7 @@ const MediaViewerModal = ({
45965
46133
  isOpen: isOpen,
45966
46134
  onClose: onClose,
45967
46135
  isMaximized: false,
45968
- showHeader: true,
46136
+ showHeader: showHeader,
45969
46137
  downloadHandler: () => console.log('Download clicked'),
45970
46138
  header: jsxRuntime.jsxs("div", {
45971
46139
  className: "ff-header-content",
@@ -45986,8 +46154,8 @@ const MediaViewerModal = ({
45986
46154
  name: "close",
45987
46155
  onClick: onClose
45988
46156
  }),
45989
- width: "620px",
45990
- height: "336px",
46157
+ width: width,
46158
+ height: height,
45991
46159
  zIndex: 999,
45992
46160
  children: jsxRuntime.jsxs("div", {
45993
46161
  className: "ff-video-wrapper",
@@ -46004,20 +46172,20 @@ const MediaViewerModal = ({
46004
46172
  className: "ff-media-image"
46005
46173
  }), jsxRuntime.jsxs("div", {
46006
46174
  className: "ff-top-right-icons",
46007
- children: [jsxRuntime.jsx(Icon, {
46175
+ children: [showDownload && jsxRuntime.jsx(Icon, {
46008
46176
  width: 20,
46009
46177
  height: 23,
46010
46178
  name: "download_file",
46011
46179
  color: "white",
46012
46180
  onClick: onDownload
46013
- }), jsxRuntime.jsx(Icon, {
46181
+ }), showExpand && jsxRuntime.jsx(Icon, {
46014
46182
  width: 20,
46015
46183
  height: 23,
46016
46184
  name: "expand_icon",
46017
46185
  color: "white",
46018
46186
  onClick: onExpand
46019
46187
  })]
46020
- }), mediaType === 'video' && jsxRuntime.jsxs("div", {
46188
+ }), mediaType === 'video' && showControls && jsxRuntime.jsxs("div", {
46021
46189
  className: "ff-media-controls",
46022
46190
  children: [jsxRuntime.jsx("button", {
46023
46191
  onClick: onTogglePlay,
@@ -59959,7 +60127,7 @@ const ChildComment = ({
59959
60127
  if (mentionNameMatch) {
59960
60128
  const mentionNameStart = textBeforeCaret.lastIndexOf(mentionNameMatch[1] || '');
59961
60129
  const remainder = input.slice(caretPosition);
59962
- const mentionedUserName = `@${name.replace(/\s+/g, '')}`;
60130
+ const mentionedUserName = `@${name.replace(/\s+/g, '')} `;
59963
60131
  const newText = input.slice(0, mentionNameStart) + mentionedUserName + remainder;
59964
60132
  setInput(newText);
59965
60133
  setHasAtSymbol(false);
@@ -59984,7 +60152,11 @@ const ChildComment = ({
59984
60152
  className: 'commentContainer',
59985
60153
  children: [jsxRuntime.jsx("div", {
59986
60154
  className: "commentContainer__avatar",
59987
- children: avatar
60155
+ children: comment?.profileImage ? jsxRuntime.jsx("img", {
60156
+ height: 30,
60157
+ width: 30,
60158
+ src: `data:image/jpeg;base64,${comment?.profileImage}`
60159
+ }) : avatar
59988
60160
  }), jsxRuntime.jsxs("div", {
59989
60161
  className: "ff-message-container",
59990
60162
  children: [jsxRuntime.jsxs("div", {
@@ -60459,7 +60631,7 @@ const Comments = ({
60459
60631
  if (mentionNameMatch) {
60460
60632
  const mentionNameStart = textBeforeCaret.lastIndexOf(mentionNameMatch[1] ?? '');
60461
60633
  const remainingText = input.slice(caretPosition);
60462
- const mentionedUserName = `@${name.replace(/\s+/g, '')}`;
60634
+ const mentionedUserName = `@${name.replace(/\s+/g, '')} `;
60463
60635
  const newText = input.slice(0, mentionNameStart) + mentionedUserName + remainingText;
60464
60636
  setInput(newText);
60465
60637
  setHasAtSymbol(false);
@@ -74335,6 +74507,10 @@ const appendNewRow = (tableData, AddNlp) => {
74335
74507
  }
74336
74508
  break;
74337
74509
  case 'replaceNlp':
74510
+ if (sourceIndex !== undefined) {
74511
+ updatedTreeData.splice(sourceIndex, 0, newNodeBase);
74512
+ }
74513
+ break;
74338
74514
  case 'EditNlp':
74339
74515
  if (sourceIndex !== undefined) {
74340
74516
  updatedTreeData.splice(sourceIndex, 1);
@@ -109372,7 +109548,7 @@ const TextEditor = ({
109372
109548
  const content = parseContent(convertedContent);
109373
109549
  newEditorState = DraftExports.EditorState.createWithContent(DraftExports.convertFromRaw(content));
109374
109550
  } else {
109375
- newEditorState = mode === 'view' ? DraftExports.EditorState.createWithContent(DraftExports.ContentState.createFromText('--')) : DraftExports.EditorState.createEmpty();
109551
+ newEditorState = mode === 'view' ? DraftExports.EditorState.createWithContent(DraftExports.ContentState.createFromText('---')) : DraftExports.EditorState.createEmpty();
109376
109552
  }
109377
109553
  } catch (e) {
109378
109554
  console.error('Error creating editor state:', e);
@@ -109384,7 +109560,7 @@ const TextEditor = ({
109384
109560
  let editorState = null;
109385
109561
  if (convertedContent.length === 0) {
109386
109562
  if (mode === 'view') {
109387
- const content = DraftExports.ContentState.createFromText('--');
109563
+ const content = DraftExports.ContentState.createFromText('---');
109388
109564
  editorState = DraftExports.EditorState.createWithContent(content);
109389
109565
  } else {
109390
109566
  editorState = DraftExports.EditorState.createEmpty();
@@ -109477,7 +109653,7 @@ const NoDataContent = ({
109477
109653
  }), jsxRuntime.jsx(Typography, {
109478
109654
  fontSize: textFontSize,
109479
109655
  lineHeight: "36px",
109480
- fontWeight: "bold",
109656
+ fontWeight: "semi-bold",
109481
109657
  children: text
109482
109658
  })]
109483
109659
  });
@@ -109646,11 +109822,12 @@ const handleTreeExpandAllCollapseAll = (data, key, rootNode, isExpanded, treeAct
109646
109822
  };
109647
109823
  };
109648
109824
 
109649
- function togglePrePostConditions(data, isHide) {
109825
+ function togglePrePostConditions(data, isHide, isScript) {
109650
109826
  if (!Array.isArray(data)) {
109651
109827
  throw new Error('Input data must be an array of TreeNode objects.');
109652
109828
  }
109653
- return data.map(node => ['PRE', 'POST'].includes(node.entityType ?? '') ? {
109829
+ const hideTypeArray = isScript ? ['Script'] : ['PRE', 'POST'];
109830
+ return data.map(node => hideTypeArray.includes(node.entityType ?? '') ? {
109654
109831
  ...node,
109655
109832
  hide: isHide
109656
109833
  } : node);