@contentstack/live-preview-utils 3.2.0-alpha.1 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/README.md +2 -2
  2. package/dist/legacy/configManager/config.default.cjs +10 -1
  3. package/dist/legacy/configManager/config.default.cjs.map +1 -1
  4. package/dist/legacy/configManager/config.default.js +10 -1
  5. package/dist/legacy/configManager/config.default.js.map +1 -1
  6. package/dist/legacy/configManager/handleUserConfig.cjs +7 -3
  7. package/dist/legacy/configManager/handleUserConfig.cjs.map +1 -1
  8. package/dist/legacy/configManager/handleUserConfig.js +7 -3
  9. package/dist/legacy/configManager/handleUserConfig.js.map +1 -1
  10. package/dist/legacy/index.cjs +45 -1
  11. package/dist/legacy/index.cjs.map +1 -1
  12. package/dist/legacy/index.d.cts +16 -2
  13. package/dist/legacy/index.d.ts +16 -2
  14. package/dist/legacy/index.js +45 -1
  15. package/dist/legacy/index.js.map +1 -1
  16. package/dist/legacy/livePreview/editButton/editButton.cjs +86 -1
  17. package/dist/legacy/livePreview/editButton/editButton.cjs.map +1 -1
  18. package/dist/legacy/livePreview/editButton/editButton.d.cts +14 -1
  19. package/dist/legacy/livePreview/editButton/editButton.d.ts +14 -1
  20. package/dist/legacy/livePreview/editButton/editButton.js +85 -1
  21. package/dist/legacy/livePreview/editButton/editButton.js.map +1 -1
  22. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
  23. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
  24. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs +6 -2
  25. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  26. package/dist/legacy/preview/contentstack-live-preview-HOC.js +6 -2
  27. package/dist/legacy/preview/contentstack-live-preview-HOC.js.map +1 -1
  28. package/dist/legacy/types/types.cjs.map +1 -1
  29. package/dist/legacy/types/types.d.cts +10 -15
  30. package/dist/legacy/types/types.d.ts +10 -15
  31. package/dist/legacy/types/types.js.map +1 -1
  32. package/dist/legacy/visualBuilder/collab.style.cjs +131 -1
  33. package/dist/legacy/visualBuilder/collab.style.cjs.map +1 -1
  34. package/dist/legacy/visualBuilder/collab.style.d.cts +17 -0
  35. package/dist/legacy/visualBuilder/collab.style.d.ts +17 -0
  36. package/dist/legacy/visualBuilder/collab.style.js +131 -1
  37. package/dist/legacy/visualBuilder/collab.style.js.map +1 -1
  38. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs +70 -0
  39. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs.map +1 -0
  40. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.cts +12 -0
  41. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.ts +12 -0
  42. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js +41 -0
  43. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js.map +1 -0
  44. package/dist/legacy/visualBuilder/components/Collab/Button/Button.cjs +32 -10
  45. package/dist/legacy/visualBuilder/components/Collab/Button/Button.cjs.map +1 -1
  46. package/dist/legacy/visualBuilder/components/Collab/Button/Button.d.cts +2 -0
  47. package/dist/legacy/visualBuilder/components/Collab/Button/Button.d.ts +2 -0
  48. package/dist/legacy/visualBuilder/components/Collab/Button/Button.js +33 -11
  49. package/dist/legacy/visualBuilder/components/Collab/Button/Button.js.map +1 -1
  50. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.cjs +11 -4
  51. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.cjs.map +1 -1
  52. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.js +11 -4
  53. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.js.map +1 -1
  54. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.cjs +6 -1
  55. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.cjs.map +1 -1
  56. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.d.cts +1 -0
  57. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.d.ts +1 -0
  58. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.js +6 -1
  59. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.js.map +1 -1
  60. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs +8 -3
  61. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs.map +1 -1
  62. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js +9 -4
  63. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js.map +1 -1
  64. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs +1 -2
  65. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs.map +1 -1
  66. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.js +2 -3
  67. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.js.map +1 -1
  68. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs +2 -5
  69. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs.map +1 -1
  70. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js +3 -9
  71. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js.map +1 -1
  72. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs +98 -57
  73. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs.map +1 -1
  74. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js +98 -57
  75. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js.map +1 -1
  76. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs +92 -0
  77. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs.map +1 -0
  78. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.cts +13 -0
  79. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.ts +13 -0
  80. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js +63 -0
  81. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js.map +1 -0
  82. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs +1 -0
  83. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs.map +1 -1
  84. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js +1 -0
  85. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js.map +1 -1
  86. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs +19 -50
  87. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs.map +1 -1
  88. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js +21 -52
  89. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js.map +1 -1
  90. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.cjs +29 -18
  91. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.cjs.map +1 -1
  92. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.js +29 -18
  93. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.js.map +1 -1
  94. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.cjs +19 -35
  95. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.cjs.map +1 -1
  96. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.js +19 -35
  97. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.js.map +1 -1
  98. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs +28 -22
  99. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  100. package/dist/legacy/visualBuilder/components/FieldToolbar.d.cts +1 -0
  101. package/dist/legacy/visualBuilder/components/FieldToolbar.d.ts +1 -0
  102. package/dist/legacy/visualBuilder/components/FieldToolbar.js +29 -24
  103. package/dist/legacy/visualBuilder/components/FieldToolbar.js.map +1 -1
  104. package/dist/legacy/visualBuilder/components/addInstanceButton.cjs +39 -11
  105. package/dist/legacy/visualBuilder/components/addInstanceButton.cjs.map +1 -1
  106. package/dist/legacy/visualBuilder/components/addInstanceButton.d.cts +5 -0
  107. package/dist/legacy/visualBuilder/components/addInstanceButton.d.ts +5 -0
  108. package/dist/legacy/visualBuilder/components/addInstanceButton.js +39 -11
  109. package/dist/legacy/visualBuilder/components/addInstanceButton.js.map +1 -1
  110. package/dist/legacy/visualBuilder/components/startEditingButton.cjs +38 -11
  111. package/dist/legacy/visualBuilder/components/startEditingButton.cjs.map +1 -1
  112. package/dist/legacy/visualBuilder/components/startEditingButton.d.cts +7 -2
  113. package/dist/legacy/visualBuilder/components/startEditingButton.d.ts +7 -2
  114. package/dist/legacy/visualBuilder/components/startEditingButton.js +34 -11
  115. package/dist/legacy/visualBuilder/components/startEditingButton.js.map +1 -1
  116. package/dist/legacy/visualBuilder/eventManager/useCollab.cjs +57 -19
  117. package/dist/legacy/visualBuilder/eventManager/useCollab.cjs.map +1 -1
  118. package/dist/legacy/visualBuilder/eventManager/useCollab.js +57 -19
  119. package/dist/legacy/visualBuilder/eventManager/useCollab.js.map +1 -1
  120. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs +7 -2
  121. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs.map +1 -1
  122. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js +7 -2
  123. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js.map +1 -1
  124. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs +59 -4
  125. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs.map +1 -1
  126. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js +59 -4
  127. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js.map +1 -1
  128. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.cjs +8 -2
  129. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.cjs.map +1 -1
  130. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.d.cts +9 -3
  131. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.d.ts +9 -3
  132. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.js +8 -2
  133. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.js.map +1 -1
  134. package/dist/legacy/visualBuilder/generators/generateOverlay.cjs +5 -0
  135. package/dist/legacy/visualBuilder/generators/generateOverlay.cjs.map +1 -1
  136. package/dist/legacy/visualBuilder/generators/generateOverlay.js +5 -0
  137. package/dist/legacy/visualBuilder/generators/generateOverlay.js.map +1 -1
  138. package/dist/legacy/visualBuilder/generators/generateThread.cjs +103 -18
  139. package/dist/legacy/visualBuilder/generators/generateThread.cjs.map +1 -1
  140. package/dist/legacy/visualBuilder/generators/generateThread.d.cts +3 -1
  141. package/dist/legacy/visualBuilder/generators/generateThread.d.ts +3 -1
  142. package/dist/legacy/visualBuilder/generators/generateThread.js +101 -17
  143. package/dist/legacy/visualBuilder/generators/generateThread.js.map +1 -1
  144. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs +13 -5
  145. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  146. package/dist/legacy/visualBuilder/generators/generateToolbar.d.cts +2 -2
  147. package/dist/legacy/visualBuilder/generators/generateToolbar.d.ts +2 -2
  148. package/dist/legacy/visualBuilder/generators/generateToolbar.js +13 -5
  149. package/dist/legacy/visualBuilder/generators/generateToolbar.js.map +1 -1
  150. package/dist/legacy/visualBuilder/hooks/useCollabOperations.cjs +9 -8
  151. package/dist/legacy/visualBuilder/hooks/useCollabOperations.cjs.map +1 -1
  152. package/dist/legacy/visualBuilder/hooks/useCollabOperations.js +9 -8
  153. package/dist/legacy/visualBuilder/hooks/useCollabOperations.js.map +1 -1
  154. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.cjs +23 -5
  155. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.cjs.map +1 -1
  156. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.d.cts +1 -0
  157. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.d.ts +1 -0
  158. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.js +23 -5
  159. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.js.map +1 -1
  160. package/dist/legacy/visualBuilder/index.cjs +16 -11
  161. package/dist/legacy/visualBuilder/index.cjs.map +1 -1
  162. package/dist/legacy/visualBuilder/index.d.cts +1 -0
  163. package/dist/legacy/visualBuilder/index.d.ts +1 -0
  164. package/dist/legacy/visualBuilder/index.js +14 -5
  165. package/dist/legacy/visualBuilder/index.js.map +1 -1
  166. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs +81 -20
  167. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  168. package/dist/legacy/visualBuilder/listeners/mouseClick.d.cts +4 -1
  169. package/dist/legacy/visualBuilder/listeners/mouseClick.d.ts +4 -1
  170. package/dist/legacy/visualBuilder/listeners/mouseClick.js +81 -20
  171. package/dist/legacy/visualBuilder/listeners/mouseClick.js.map +1 -1
  172. package/dist/legacy/visualBuilder/listeners/mouseHover.cjs +3 -1
  173. package/dist/legacy/visualBuilder/listeners/mouseHover.cjs.map +1 -1
  174. package/dist/legacy/visualBuilder/listeners/mouseHover.js +3 -1
  175. package/dist/legacy/visualBuilder/listeners/mouseHover.js.map +1 -1
  176. package/dist/legacy/visualBuilder/types/collab.types.cjs.map +1 -1
  177. package/dist/legacy/visualBuilder/types/collab.types.d.cts +22 -1
  178. package/dist/legacy/visualBuilder/types/collab.types.d.ts +22 -1
  179. package/dist/legacy/visualBuilder/utils/collabUtils.cjs +105 -2
  180. package/dist/legacy/visualBuilder/utils/collabUtils.cjs.map +1 -1
  181. package/dist/legacy/visualBuilder/utils/collabUtils.d.cts +25 -1
  182. package/dist/legacy/visualBuilder/utils/collabUtils.d.ts +25 -1
  183. package/dist/legacy/visualBuilder/utils/collabUtils.js +100 -2
  184. package/dist/legacy/visualBuilder/utils/collabUtils.js.map +1 -1
  185. package/dist/legacy/visualBuilder/utils/enableInlineEditing.cjs +94 -0
  186. package/dist/legacy/visualBuilder/utils/enableInlineEditing.cjs.map +1 -0
  187. package/dist/legacy/visualBuilder/utils/enableInlineEditing.d.cts +11 -0
  188. package/dist/legacy/visualBuilder/utils/enableInlineEditing.d.ts +11 -0
  189. package/dist/legacy/visualBuilder/utils/enableInlineEditing.js +74 -0
  190. package/dist/legacy/visualBuilder/utils/enableInlineEditing.js.map +1 -0
  191. package/dist/legacy/visualBuilder/utils/getChildrenDirection.cjs +8 -0
  192. package/dist/legacy/visualBuilder/utils/getChildrenDirection.cjs.map +1 -1
  193. package/dist/legacy/visualBuilder/utils/getChildrenDirection.d.cts +3 -1
  194. package/dist/legacy/visualBuilder/utils/getChildrenDirection.d.ts +3 -1
  195. package/dist/legacy/visualBuilder/utils/getChildrenDirection.js +8 -0
  196. package/dist/legacy/visualBuilder/utils/getChildrenDirection.js.map +1 -1
  197. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs +24 -112
  198. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  199. package/dist/legacy/visualBuilder/utils/handleIndividualFields.d.cts +3 -5
  200. package/dist/legacy/visualBuilder/utils/handleIndividualFields.d.ts +3 -5
  201. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js +22 -116
  202. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  203. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.cjs +81 -0
  204. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.cjs.map +1 -0
  205. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.d.cts +16 -0
  206. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.d.ts +16 -0
  207. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.js +58 -0
  208. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.js.map +1 -0
  209. package/dist/legacy/visualBuilder/utils/isFieldMultiple.cjs +35 -0
  210. package/dist/legacy/visualBuilder/utils/isFieldMultiple.cjs.map +1 -0
  211. package/dist/legacy/visualBuilder/utils/isFieldMultiple.d.cts +6 -0
  212. package/dist/legacy/visualBuilder/utils/isFieldMultiple.d.ts +6 -0
  213. package/dist/legacy/visualBuilder/utils/isFieldMultiple.js +12 -0
  214. package/dist/legacy/visualBuilder/utils/isFieldMultiple.js.map +1 -0
  215. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs +14 -20
  216. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  217. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.d.cts +1 -1
  218. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.d.ts +1 -1
  219. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js +14 -20
  220. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  221. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.cjs +44 -0
  222. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.cjs.map +1 -0
  223. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.d.cts +5 -0
  224. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.d.ts +5 -0
  225. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.js +21 -0
  226. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.js.map +1 -0
  227. package/dist/legacy/visualBuilder/utils/types/index.types.cjs.map +1 -1
  228. package/dist/legacy/visualBuilder/utils/types/index.types.d.cts +6 -1
  229. package/dist/legacy/visualBuilder/utils/types/index.types.d.ts +6 -1
  230. package/dist/legacy/visualBuilder/utils/types/index.types.js.map +1 -1
  231. package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs +2 -1
  232. package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
  233. package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.cts +2 -1
  234. package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.ts +2 -1
  235. package/dist/legacy/visualBuilder/utils/types/postMessage.types.js +2 -1
  236. package/dist/legacy/visualBuilder/utils/types/postMessage.types.js.map +1 -1
  237. package/dist/legacy/visualBuilder/visualBuilder.style.cjs +27 -5
  238. package/dist/legacy/visualBuilder/visualBuilder.style.cjs.map +1 -1
  239. package/dist/legacy/visualBuilder/visualBuilder.style.d.cts +6 -1
  240. package/dist/legacy/visualBuilder/visualBuilder.style.d.ts +6 -1
  241. package/dist/legacy/visualBuilder/visualBuilder.style.js +27 -5
  242. package/dist/legacy/visualBuilder/visualBuilder.style.js.map +1 -1
  243. package/dist/modern/configManager/config.default.cjs +10 -1
  244. package/dist/modern/configManager/config.default.cjs.map +1 -1
  245. package/dist/modern/configManager/config.default.js +10 -1
  246. package/dist/modern/configManager/config.default.js.map +1 -1
  247. package/dist/modern/configManager/handleUserConfig.cjs +4 -0
  248. package/dist/modern/configManager/handleUserConfig.cjs.map +1 -1
  249. package/dist/modern/configManager/handleUserConfig.js +4 -0
  250. package/dist/modern/configManager/handleUserConfig.js.map +1 -1
  251. package/dist/modern/index.cjs +45 -1
  252. package/dist/modern/index.cjs.map +1 -1
  253. package/dist/modern/index.d.cts +16 -2
  254. package/dist/modern/index.d.ts +16 -2
  255. package/dist/modern/index.js +45 -1
  256. package/dist/modern/index.js.map +1 -1
  257. package/dist/modern/livePreview/editButton/editButton.cjs +85 -1
  258. package/dist/modern/livePreview/editButton/editButton.cjs.map +1 -1
  259. package/dist/modern/livePreview/editButton/editButton.d.cts +14 -1
  260. package/dist/modern/livePreview/editButton/editButton.d.ts +14 -1
  261. package/dist/modern/livePreview/editButton/editButton.js +84 -1
  262. package/dist/modern/livePreview/editButton/editButton.js.map +1 -1
  263. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
  264. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
  265. package/dist/modern/preview/contentstack-live-preview-HOC.cjs +6 -2
  266. package/dist/modern/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  267. package/dist/modern/preview/contentstack-live-preview-HOC.js +6 -2
  268. package/dist/modern/preview/contentstack-live-preview-HOC.js.map +1 -1
  269. package/dist/modern/types/types.cjs.map +1 -1
  270. package/dist/modern/types/types.d.cts +10 -15
  271. package/dist/modern/types/types.d.ts +10 -15
  272. package/dist/modern/types/types.js.map +1 -1
  273. package/dist/modern/visualBuilder/collab.style.cjs +131 -1
  274. package/dist/modern/visualBuilder/collab.style.cjs.map +1 -1
  275. package/dist/modern/visualBuilder/collab.style.d.cts +17 -0
  276. package/dist/modern/visualBuilder/collab.style.d.ts +17 -0
  277. package/dist/modern/visualBuilder/collab.style.js +131 -1
  278. package/dist/modern/visualBuilder/collab.style.js.map +1 -1
  279. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs +70 -0
  280. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs.map +1 -0
  281. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.cts +12 -0
  282. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.ts +12 -0
  283. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js +41 -0
  284. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js.map +1 -0
  285. package/dist/modern/visualBuilder/components/Collab/Button/Button.cjs +32 -10
  286. package/dist/modern/visualBuilder/components/Collab/Button/Button.cjs.map +1 -1
  287. package/dist/modern/visualBuilder/components/Collab/Button/Button.d.cts +2 -0
  288. package/dist/modern/visualBuilder/components/Collab/Button/Button.d.ts +2 -0
  289. package/dist/modern/visualBuilder/components/Collab/Button/Button.js +33 -11
  290. package/dist/modern/visualBuilder/components/Collab/Button/Button.js.map +1 -1
  291. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.cjs +7 -1
  292. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.cjs.map +1 -1
  293. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.js +7 -1
  294. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.js.map +1 -1
  295. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.cjs +6 -1
  296. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.cjs.map +1 -1
  297. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.d.cts +1 -0
  298. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.d.ts +1 -0
  299. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.js +6 -1
  300. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.js.map +1 -1
  301. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs +8 -3
  302. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs.map +1 -1
  303. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js +9 -4
  304. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js.map +1 -1
  305. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs +1 -2
  306. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs.map +1 -1
  307. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.js +2 -3
  308. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.js.map +1 -1
  309. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs +2 -5
  310. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs.map +1 -1
  311. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js +3 -9
  312. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js.map +1 -1
  313. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs +94 -57
  314. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs.map +1 -1
  315. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js +94 -57
  316. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js.map +1 -1
  317. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs +92 -0
  318. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs.map +1 -0
  319. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.cts +13 -0
  320. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.ts +13 -0
  321. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js +63 -0
  322. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js.map +1 -0
  323. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs +1 -0
  324. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs.map +1 -1
  325. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js +1 -0
  326. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js.map +1 -1
  327. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs +19 -50
  328. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs.map +1 -1
  329. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js +21 -52
  330. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js.map +1 -1
  331. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.cjs +29 -18
  332. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.cjs.map +1 -1
  333. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.js +29 -18
  334. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.js.map +1 -1
  335. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.cjs +19 -35
  336. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.cjs.map +1 -1
  337. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.js +19 -35
  338. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.js.map +1 -1
  339. package/dist/modern/visualBuilder/components/FieldToolbar.cjs +28 -21
  340. package/dist/modern/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  341. package/dist/modern/visualBuilder/components/FieldToolbar.d.cts +1 -0
  342. package/dist/modern/visualBuilder/components/FieldToolbar.d.ts +1 -0
  343. package/dist/modern/visualBuilder/components/FieldToolbar.js +29 -23
  344. package/dist/modern/visualBuilder/components/FieldToolbar.js.map +1 -1
  345. package/dist/modern/visualBuilder/components/addInstanceButton.cjs +38 -11
  346. package/dist/modern/visualBuilder/components/addInstanceButton.cjs.map +1 -1
  347. package/dist/modern/visualBuilder/components/addInstanceButton.d.cts +5 -0
  348. package/dist/modern/visualBuilder/components/addInstanceButton.d.ts +5 -0
  349. package/dist/modern/visualBuilder/components/addInstanceButton.js +38 -11
  350. package/dist/modern/visualBuilder/components/addInstanceButton.js.map +1 -1
  351. package/dist/modern/visualBuilder/components/startEditingButton.cjs +38 -11
  352. package/dist/modern/visualBuilder/components/startEditingButton.cjs.map +1 -1
  353. package/dist/modern/visualBuilder/components/startEditingButton.d.cts +7 -2
  354. package/dist/modern/visualBuilder/components/startEditingButton.d.ts +7 -2
  355. package/dist/modern/visualBuilder/components/startEditingButton.js +34 -11
  356. package/dist/modern/visualBuilder/components/startEditingButton.js.map +1 -1
  357. package/dist/modern/visualBuilder/eventManager/useCollab.cjs +45 -11
  358. package/dist/modern/visualBuilder/eventManager/useCollab.cjs.map +1 -1
  359. package/dist/modern/visualBuilder/eventManager/useCollab.js +45 -11
  360. package/dist/modern/visualBuilder/eventManager/useCollab.js.map +1 -1
  361. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs +5 -0
  362. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs.map +1 -1
  363. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js +5 -0
  364. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js.map +1 -1
  365. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs +59 -4
  366. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs.map +1 -1
  367. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js +59 -4
  368. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js.map +1 -1
  369. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.cjs +8 -2
  370. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.cjs.map +1 -1
  371. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.d.cts +9 -3
  372. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.d.ts +9 -3
  373. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.js +8 -2
  374. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.js.map +1 -1
  375. package/dist/modern/visualBuilder/generators/generateOverlay.cjs +5 -0
  376. package/dist/modern/visualBuilder/generators/generateOverlay.cjs.map +1 -1
  377. package/dist/modern/visualBuilder/generators/generateOverlay.js +5 -0
  378. package/dist/modern/visualBuilder/generators/generateOverlay.js.map +1 -1
  379. package/dist/modern/visualBuilder/generators/generateThread.cjs +102 -16
  380. package/dist/modern/visualBuilder/generators/generateThread.cjs.map +1 -1
  381. package/dist/modern/visualBuilder/generators/generateThread.d.cts +3 -1
  382. package/dist/modern/visualBuilder/generators/generateThread.d.ts +3 -1
  383. package/dist/modern/visualBuilder/generators/generateThread.js +100 -15
  384. package/dist/modern/visualBuilder/generators/generateThread.js.map +1 -1
  385. package/dist/modern/visualBuilder/generators/generateToolbar.cjs +13 -5
  386. package/dist/modern/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  387. package/dist/modern/visualBuilder/generators/generateToolbar.d.cts +2 -2
  388. package/dist/modern/visualBuilder/generators/generateToolbar.d.ts +2 -2
  389. package/dist/modern/visualBuilder/generators/generateToolbar.js +13 -5
  390. package/dist/modern/visualBuilder/generators/generateToolbar.js.map +1 -1
  391. package/dist/modern/visualBuilder/hooks/useCollabOperations.cjs +9 -8
  392. package/dist/modern/visualBuilder/hooks/useCollabOperations.cjs.map +1 -1
  393. package/dist/modern/visualBuilder/hooks/useCollabOperations.js +9 -8
  394. package/dist/modern/visualBuilder/hooks/useCollabOperations.js.map +1 -1
  395. package/dist/modern/visualBuilder/hooks/useCommentTextArea.cjs +22 -5
  396. package/dist/modern/visualBuilder/hooks/useCommentTextArea.cjs.map +1 -1
  397. package/dist/modern/visualBuilder/hooks/useCommentTextArea.d.cts +1 -0
  398. package/dist/modern/visualBuilder/hooks/useCommentTextArea.d.ts +1 -0
  399. package/dist/modern/visualBuilder/hooks/useCommentTextArea.js +22 -5
  400. package/dist/modern/visualBuilder/hooks/useCommentTextArea.js.map +1 -1
  401. package/dist/modern/visualBuilder/index.cjs +16 -11
  402. package/dist/modern/visualBuilder/index.cjs.map +1 -1
  403. package/dist/modern/visualBuilder/index.d.cts +1 -0
  404. package/dist/modern/visualBuilder/index.d.ts +1 -0
  405. package/dist/modern/visualBuilder/index.js +14 -5
  406. package/dist/modern/visualBuilder/index.js.map +1 -1
  407. package/dist/modern/visualBuilder/listeners/mouseClick.cjs +78 -18
  408. package/dist/modern/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  409. package/dist/modern/visualBuilder/listeners/mouseClick.d.cts +4 -1
  410. package/dist/modern/visualBuilder/listeners/mouseClick.d.ts +4 -1
  411. package/dist/modern/visualBuilder/listeners/mouseClick.js +78 -18
  412. package/dist/modern/visualBuilder/listeners/mouseClick.js.map +1 -1
  413. package/dist/modern/visualBuilder/listeners/mouseHover.cjs +3 -1
  414. package/dist/modern/visualBuilder/listeners/mouseHover.cjs.map +1 -1
  415. package/dist/modern/visualBuilder/listeners/mouseHover.js +3 -1
  416. package/dist/modern/visualBuilder/listeners/mouseHover.js.map +1 -1
  417. package/dist/modern/visualBuilder/types/collab.types.cjs.map +1 -1
  418. package/dist/modern/visualBuilder/types/collab.types.d.cts +22 -1
  419. package/dist/modern/visualBuilder/types/collab.types.d.ts +22 -1
  420. package/dist/modern/visualBuilder/utils/collabUtils.cjs +105 -2
  421. package/dist/modern/visualBuilder/utils/collabUtils.cjs.map +1 -1
  422. package/dist/modern/visualBuilder/utils/collabUtils.d.cts +25 -1
  423. package/dist/modern/visualBuilder/utils/collabUtils.d.ts +25 -1
  424. package/dist/modern/visualBuilder/utils/collabUtils.js +100 -2
  425. package/dist/modern/visualBuilder/utils/collabUtils.js.map +1 -1
  426. package/dist/modern/visualBuilder/utils/enableInlineEditing.cjs +94 -0
  427. package/dist/modern/visualBuilder/utils/enableInlineEditing.cjs.map +1 -0
  428. package/dist/modern/visualBuilder/utils/enableInlineEditing.d.cts +11 -0
  429. package/dist/modern/visualBuilder/utils/enableInlineEditing.d.ts +11 -0
  430. package/dist/modern/visualBuilder/utils/enableInlineEditing.js +74 -0
  431. package/dist/modern/visualBuilder/utils/enableInlineEditing.js.map +1 -0
  432. package/dist/modern/visualBuilder/utils/getChildrenDirection.cjs +8 -0
  433. package/dist/modern/visualBuilder/utils/getChildrenDirection.cjs.map +1 -1
  434. package/dist/modern/visualBuilder/utils/getChildrenDirection.d.cts +3 -1
  435. package/dist/modern/visualBuilder/utils/getChildrenDirection.d.ts +3 -1
  436. package/dist/modern/visualBuilder/utils/getChildrenDirection.js +8 -0
  437. package/dist/modern/visualBuilder/utils/getChildrenDirection.js.map +1 -1
  438. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs +23 -111
  439. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  440. package/dist/modern/visualBuilder/utils/handleIndividualFields.d.cts +3 -5
  441. package/dist/modern/visualBuilder/utils/handleIndividualFields.d.ts +3 -5
  442. package/dist/modern/visualBuilder/utils/handleIndividualFields.js +21 -115
  443. package/dist/modern/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  444. package/dist/modern/visualBuilder/utils/handleInlineEditableField.cjs +81 -0
  445. package/dist/modern/visualBuilder/utils/handleInlineEditableField.cjs.map +1 -0
  446. package/dist/modern/visualBuilder/utils/handleInlineEditableField.d.cts +16 -0
  447. package/dist/modern/visualBuilder/utils/handleInlineEditableField.d.ts +16 -0
  448. package/dist/modern/visualBuilder/utils/handleInlineEditableField.js +58 -0
  449. package/dist/modern/visualBuilder/utils/handleInlineEditableField.js.map +1 -0
  450. package/dist/modern/visualBuilder/utils/isFieldMultiple.cjs +35 -0
  451. package/dist/modern/visualBuilder/utils/isFieldMultiple.cjs.map +1 -0
  452. package/dist/modern/visualBuilder/utils/isFieldMultiple.d.cts +6 -0
  453. package/dist/modern/visualBuilder/utils/isFieldMultiple.d.ts +6 -0
  454. package/dist/modern/visualBuilder/utils/isFieldMultiple.js +12 -0
  455. package/dist/modern/visualBuilder/utils/isFieldMultiple.js.map +1 -0
  456. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs +14 -18
  457. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  458. package/dist/modern/visualBuilder/utils/multipleElementAddButton.d.cts +1 -1
  459. package/dist/modern/visualBuilder/utils/multipleElementAddButton.d.ts +1 -1
  460. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js +14 -18
  461. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  462. package/dist/modern/visualBuilder/utils/pasteAsPlainText.cjs +44 -0
  463. package/dist/modern/visualBuilder/utils/pasteAsPlainText.cjs.map +1 -0
  464. package/dist/modern/visualBuilder/utils/pasteAsPlainText.d.cts +5 -0
  465. package/dist/modern/visualBuilder/utils/pasteAsPlainText.d.ts +5 -0
  466. package/dist/modern/visualBuilder/utils/pasteAsPlainText.js +21 -0
  467. package/dist/modern/visualBuilder/utils/pasteAsPlainText.js.map +1 -0
  468. package/dist/modern/visualBuilder/utils/types/index.types.cjs.map +1 -1
  469. package/dist/modern/visualBuilder/utils/types/index.types.d.cts +6 -1
  470. package/dist/modern/visualBuilder/utils/types/index.types.d.ts +6 -1
  471. package/dist/modern/visualBuilder/utils/types/index.types.js.map +1 -1
  472. package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs +2 -1
  473. package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
  474. package/dist/modern/visualBuilder/utils/types/postMessage.types.d.cts +2 -1
  475. package/dist/modern/visualBuilder/utils/types/postMessage.types.d.ts +2 -1
  476. package/dist/modern/visualBuilder/utils/types/postMessage.types.js +2 -1
  477. package/dist/modern/visualBuilder/utils/types/postMessage.types.js.map +1 -1
  478. package/dist/modern/visualBuilder/visualBuilder.style.cjs +27 -5
  479. package/dist/modern/visualBuilder/visualBuilder.style.cjs.map +1 -1
  480. package/dist/modern/visualBuilder/visualBuilder.style.d.cts +6 -1
  481. package/dist/modern/visualBuilder/visualBuilder.style.d.ts +6 -1
  482. package/dist/modern/visualBuilder/visualBuilder.style.js +27 -5
  483. package/dist/modern/visualBuilder/visualBuilder.style.js.map +1 -1
  484. package/package.json +4 -3
@@ -43,9 +43,14 @@ var IconWrapper = ({
43
43
  className,
44
44
  onClick,
45
45
  testId,
46
+ disabled,
46
47
  ...otherProps
47
48
  }) => {
48
49
  const IconComponent = import_CollabIcons.iconComponents[icon];
50
+ const handleClick = (e) => {
51
+ if (disabled) return;
52
+ onClick?.(e);
53
+ };
49
54
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
50
55
  "div",
51
56
  {
@@ -53,7 +58,7 @@ var IconWrapper = ({
53
58
  "collab-icon-wrapper",
54
59
  (0, import_collab.collabStyles)()["collab-icon-wrapper"]
55
60
  ),
56
- onClick,
61
+ onClick: handleClick,
57
62
  "data-testid": testId,
58
63
  ...otherProps,
59
64
  children: IconComponent ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/Icon/Icon.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { JSX } from \"preact\";\nimport Tooltip from \"../Tooltip/Tooltip\";\nimport { iconComponents } from \"../../icons/CollabIcons\";\nimport classNames from \"classnames\";\nimport { collabStyles } from \"../../../collab.style\";\n\ntype IconName = keyof typeof iconComponents;\n\nexport interface IconProps {\n icon: IconName;\n tooltipContent?: string;\n className?: string;\n withTooltip?: boolean;\n onClick?: JSX.MouseEventHandler<HTMLDivElement>;\n testId?: string;\n}\n\nconst IconWrapper = ({\n icon,\n className,\n onClick,\n testId, \n ...otherProps\n}: Omit<IconProps, \"withTooltip\" | \"tooltipContent\">) => {\n const IconComponent = iconComponents[icon];\n\n return (\n <div\n className={classNames(\n \"collab-icon-wrapper\",\n collabStyles()[\"collab-icon-wrapper\"]\n )}\n onClick={onClick}\n data-testid={testId}\n {...otherProps}\n >\n {IconComponent ? (\n <IconComponent\n className={classNames(\n \"collab-icon\",\n collabStyles()[\"collab-icon\"],\n className\n )}\n />\n ) : null}\n </div>\n );\n};\n\nconst withTooltip = (Component: typeof IconWrapper) => ({\n withTooltip = false,\n tooltipContent = \"\",\n testId = \"collab-icon\",\n ...props\n}: IconProps) => {\n return withTooltip && tooltipContent ? (\n <div data-testid={testId}>\n <Tooltip content={tooltipContent} position=\"bottom\" testId=\"collab-icon-tooltip\">\n <Component {...props} />\n </Tooltip>\n </div>\n ) : (\n \n <Component {...props} testId={testId} />\n );\n};\n\nconst Icon = withTooltip(IconWrapper);\n\nexport default Icon;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAoB;AACpB,yBAA+B;AAC/B,wBAAuB;AACvB,oBAA6B;AAiCb;AApBhB,IAAM,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAyD;AACrD,QAAM,gBAAgB,kCAAe,IAAI;AAEzC,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAW,kBAAAA;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,qBAAqB;AAAA,MACxC;AAAA,MACA;AAAA,MACA,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH,0BACG;AAAA,QAAC;AAAA;AAAA,UACG,eAAW,kBAAAA;AAAA,YACP;AAAA,gBACA,4BAAa,EAAE,aAAa;AAAA,YAC5B;AAAA,UACJ;AAAA;AAAA,MACJ,IACA;AAAA;AAAA,EACR;AAER;AAEA,IAAM,cAAc,CAAC,cAAkC,CAAC;AAAA,EACpD,aAAAC,eAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,GAAG;AACP,MAAiB;AACb,SAAOA,gBAAe,iBAClB,4CAAC,SAAI,eAAa,QACd,sDAAC,eAAAC,SAAA,EAAQ,SAAS,gBAAgB,UAAS,UAAS,QAAO,uBACvD,sDAAC,aAAW,GAAG,OAAQ,GAC3B,GACJ,IAGA,4CAAC,aAAW,GAAG,OAAO,QAAgB;AAE9C;AAEA,IAAM,OAAO,YAAY,WAAW;AAEpC,IAAO,eAAQ;","names":["classNames","withTooltip","Tooltip"]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/Icon/Icon.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { JSX } from \"preact\";\nimport Tooltip from \"../Tooltip/Tooltip\";\nimport { iconComponents } from \"../../icons/CollabIcons\";\nimport classNames from \"classnames\";\nimport { collabStyles } from \"../../../collab.style\";\n\ntype IconName = keyof typeof iconComponents;\n\nexport interface IconProps {\n icon: IconName;\n tooltipContent?: string;\n className?: string;\n withTooltip?: boolean;\n onClick?: JSX.MouseEventHandler<HTMLDivElement>;\n testId?: string;\n disabled?: boolean; \n}\n\nconst IconWrapper = ({\n icon,\n className,\n onClick,\n testId, \n disabled,\n ...otherProps\n}: Omit<IconProps, \"withTooltip\" | \"tooltipContent\">) => {\n const IconComponent = iconComponents[icon];\n\n const handleClick = (e: JSX.TargetedMouseEvent<HTMLDivElement>) => {\n if (disabled) return; \n onClick?.(e);\n };\n\n\n return (\n <div\n className={classNames(\n \"collab-icon-wrapper\",\n collabStyles()[\"collab-icon-wrapper\"]\n )}\n onClick={handleClick}\n data-testid={testId}\n {...otherProps}\n >\n {IconComponent ? (\n <IconComponent\n className={classNames(\n \"collab-icon\",\n collabStyles()[\"collab-icon\"],\n className\n )}\n />\n ) : null}\n </div>\n );\n};\n\nconst withTooltip = (Component: typeof IconWrapper) => ({\n withTooltip = false,\n tooltipContent = \"\",\n testId = \"collab-icon\",\n ...props\n}: IconProps) => {\n return withTooltip && tooltipContent ? (\n <div data-testid={testId}>\n <Tooltip content={tooltipContent} position=\"bottom\" testId=\"collab-icon-tooltip\">\n <Component {...props} />\n </Tooltip>\n </div>\n ) : (\n \n <Component {...props} testId={testId} />\n );\n};\n\nconst Icon = withTooltip(IconWrapper);\n\nexport default Icon;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGA,qBAAoB;AACpB,yBAA+B;AAC/B,wBAAuB;AACvB,oBAA6B;AAyCb;AA3BhB,IAAM,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAyD;AACrD,QAAM,gBAAgB,kCAAe,IAAI;AAEzC,QAAM,cAAc,CAAC,MAA8C;AAC/D,QAAI,SAAU;AACd,cAAU,CAAC;AAAA,EACf;AAGA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAW,kBAAAA;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,qBAAqB;AAAA,MACxC;AAAA,MACA,SAAS;AAAA,MACT,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH,0BACG;AAAA,QAAC;AAAA;AAAA,UACG,eAAW,kBAAAA;AAAA,YACP;AAAA,gBACA,4BAAa,EAAE,aAAa;AAAA,YAC5B;AAAA,UACJ;AAAA;AAAA,MACJ,IACA;AAAA;AAAA,EACR;AAER;AAEA,IAAM,cAAc,CAAC,cAAkC,CAAC;AAAA,EACpD,aAAAC,eAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,GAAG;AACP,MAAiB;AACb,SAAOA,gBAAe,iBAClB,4CAAC,SAAI,eAAa,QACd,sDAAC,eAAAC,SAAA,EAAQ,SAAS,gBAAgB,UAAS,UAAS,QAAO,uBACvD,sDAAC,aAAW,GAAG,OAAQ,GAC3B,GACJ,IAGA,4CAAC,aAAW,GAAG,OAAO,QAAgB;AAE9C;AAEA,IAAM,OAAO,YAAY,WAAW;AAEpC,IAAO,eAAQ;","names":["classNames","withTooltip","Tooltip"]}
@@ -12,6 +12,7 @@ interface IconProps {
12
12
  withTooltip?: boolean;
13
13
  onClick?: JSX.MouseEventHandler<HTMLDivElement>;
14
14
  testId?: string;
15
+ disabled?: boolean;
15
16
  }
16
17
  declare const Icon: ({ withTooltip, tooltipContent, testId, ...props }: IconProps) => React.JSX.Element;
17
18
 
@@ -12,6 +12,7 @@ interface IconProps {
12
12
  withTooltip?: boolean;
13
13
  onClick?: JSX.MouseEventHandler<HTMLDivElement>;
14
14
  testId?: string;
15
+ disabled?: boolean;
15
16
  }
16
17
  declare const Icon: ({ withTooltip, tooltipContent, testId, ...props }: IconProps) => React.JSX.Element;
17
18
 
@@ -11,9 +11,14 @@ var IconWrapper = ({
11
11
  className,
12
12
  onClick,
13
13
  testId,
14
+ disabled,
14
15
  ...otherProps
15
16
  }) => {
16
17
  const IconComponent = iconComponents[icon];
18
+ const handleClick = (e) => {
19
+ if (disabled) return;
20
+ onClick?.(e);
21
+ };
17
22
  return /* @__PURE__ */ jsx(
18
23
  "div",
19
24
  {
@@ -21,7 +26,7 @@ var IconWrapper = ({
21
26
  "collab-icon-wrapper",
22
27
  collabStyles()["collab-icon-wrapper"]
23
28
  ),
24
- onClick,
29
+ onClick: handleClick,
25
30
  "data-testid": testId,
26
31
  ...otherProps,
27
32
  children: IconComponent ? /* @__PURE__ */ jsx(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/Icon/Icon.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { JSX } from \"preact\";\nimport Tooltip from \"../Tooltip/Tooltip\";\nimport { iconComponents } from \"../../icons/CollabIcons\";\nimport classNames from \"classnames\";\nimport { collabStyles } from \"../../../collab.style\";\n\ntype IconName = keyof typeof iconComponents;\n\nexport interface IconProps {\n icon: IconName;\n tooltipContent?: string;\n className?: string;\n withTooltip?: boolean;\n onClick?: JSX.MouseEventHandler<HTMLDivElement>;\n testId?: string;\n}\n\nconst IconWrapper = ({\n icon,\n className,\n onClick,\n testId, \n ...otherProps\n}: Omit<IconProps, \"withTooltip\" | \"tooltipContent\">) => {\n const IconComponent = iconComponents[icon];\n\n return (\n <div\n className={classNames(\n \"collab-icon-wrapper\",\n collabStyles()[\"collab-icon-wrapper\"]\n )}\n onClick={onClick}\n data-testid={testId}\n {...otherProps}\n >\n {IconComponent ? (\n <IconComponent\n className={classNames(\n \"collab-icon\",\n collabStyles()[\"collab-icon\"],\n className\n )}\n />\n ) : null}\n </div>\n );\n};\n\nconst withTooltip = (Component: typeof IconWrapper) => ({\n withTooltip = false,\n tooltipContent = \"\",\n testId = \"collab-icon\",\n ...props\n}: IconProps) => {\n return withTooltip && tooltipContent ? (\n <div data-testid={testId}>\n <Tooltip content={tooltipContent} position=\"bottom\" testId=\"collab-icon-tooltip\">\n <Component {...props} />\n </Tooltip>\n </div>\n ) : (\n \n <Component {...props} testId={testId} />\n );\n};\n\nconst Icon = withTooltip(IconWrapper);\n\nexport default Icon;\n"],"mappings":";;;AAGA,OAAO,aAAa;AACpB,SAAS,sBAAsB;AAC/B,OAAO,gBAAgB;AACvB,SAAS,oBAAoB;AAiCb;AApBhB,IAAM,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAyD;AACrD,QAAM,gBAAgB,eAAe,IAAI;AAEzC,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,qBAAqB;AAAA,MACxC;AAAA,MACA;AAAA,MACA,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH,0BACG;AAAA,QAAC;AAAA;AAAA,UACG,WAAW;AAAA,YACP;AAAA,YACA,aAAa,EAAE,aAAa;AAAA,YAC5B;AAAA,UACJ;AAAA;AAAA,MACJ,IACA;AAAA;AAAA,EACR;AAER;AAEA,IAAM,cAAc,CAAC,cAAkC,CAAC;AAAA,EACpD,aAAAA,eAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,GAAG;AACP,MAAiB;AACb,SAAOA,gBAAe,iBAClB,oBAAC,SAAI,eAAa,QACd,8BAAC,WAAQ,SAAS,gBAAgB,UAAS,UAAS,QAAO,uBACvD,8BAAC,aAAW,GAAG,OAAQ,GAC3B,GACJ,IAGA,oBAAC,aAAW,GAAG,OAAO,QAAgB;AAE9C;AAEA,IAAM,OAAO,YAAY,WAAW;AAEpC,IAAO,eAAQ;","names":["withTooltip"]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/Icon/Icon.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { JSX } from \"preact\";\nimport Tooltip from \"../Tooltip/Tooltip\";\nimport { iconComponents } from \"../../icons/CollabIcons\";\nimport classNames from \"classnames\";\nimport { collabStyles } from \"../../../collab.style\";\n\ntype IconName = keyof typeof iconComponents;\n\nexport interface IconProps {\n icon: IconName;\n tooltipContent?: string;\n className?: string;\n withTooltip?: boolean;\n onClick?: JSX.MouseEventHandler<HTMLDivElement>;\n testId?: string;\n disabled?: boolean; \n}\n\nconst IconWrapper = ({\n icon,\n className,\n onClick,\n testId, \n disabled,\n ...otherProps\n}: Omit<IconProps, \"withTooltip\" | \"tooltipContent\">) => {\n const IconComponent = iconComponents[icon];\n\n const handleClick = (e: JSX.TargetedMouseEvent<HTMLDivElement>) => {\n if (disabled) return; \n onClick?.(e);\n };\n\n\n return (\n <div\n className={classNames(\n \"collab-icon-wrapper\",\n collabStyles()[\"collab-icon-wrapper\"]\n )}\n onClick={handleClick}\n data-testid={testId}\n {...otherProps}\n >\n {IconComponent ? (\n <IconComponent\n className={classNames(\n \"collab-icon\",\n collabStyles()[\"collab-icon\"],\n className\n )}\n />\n ) : null}\n </div>\n );\n};\n\nconst withTooltip = (Component: typeof IconWrapper) => ({\n withTooltip = false,\n tooltipContent = \"\",\n testId = \"collab-icon\",\n ...props\n}: IconProps) => {\n return withTooltip && tooltipContent ? (\n <div data-testid={testId}>\n <Tooltip content={tooltipContent} position=\"bottom\" testId=\"collab-icon-tooltip\">\n <Component {...props} />\n </Tooltip>\n </div>\n ) : (\n \n <Component {...props} testId={testId} />\n );\n};\n\nconst Icon = withTooltip(IconWrapper);\n\nexport default Icon;\n"],"mappings":";;;AAGA,OAAO,aAAa;AACpB,SAAS,sBAAsB;AAC/B,OAAO,gBAAgB;AACvB,SAAS,oBAAoB;AAyCb;AA3BhB,IAAM,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACP,MAAyD;AACrD,QAAM,gBAAgB,eAAe,IAAI;AAEzC,QAAM,cAAc,CAAC,MAA8C;AAC/D,QAAI,SAAU;AACd,cAAU,CAAC;AAAA,EACf;AAGA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,qBAAqB;AAAA,MACxC;AAAA,MACA,SAAS;AAAA,MACT,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH,0BACG;AAAA,QAAC;AAAA;AAAA,UACG,WAAW;AAAA,YACP;AAAA,YACA,aAAa,EAAE,aAAa;AAAA,YAC5B;AAAA,UACJ;AAAA;AAAA,MACJ,IACA;AAAA;AAAA,EACR;AAER;AAEA,IAAM,cAAc,CAAC,cAAkC,CAAC;AAAA,EACpD,aAAAA,eAAc;AAAA,EACd,iBAAiB;AAAA,EACjB,SAAS;AAAA,EACT,GAAG;AACP,MAAiB;AACb,SAAOA,gBAAe,iBAClB,oBAAC,SAAI,eAAa,QACd,8BAAC,WAAQ,SAAS,gBAAgB,UAAS,UAAS,QAAO,uBACvD,8BAAC,aAAW,GAAG,OAAQ,GAC3B,GACJ,IAGA,oBAAC,aAAW,GAAG,OAAO,QAAgB;AAE9C;AAEA,IAAM,OAAO,YAAY,WAAW;AAEpC,IAAO,eAAQ;","names":["withTooltip"]}
@@ -46,6 +46,7 @@ var CommentActionBar = ({
46
46
  commentUID
47
47
  }) => {
48
48
  const { setThreadState, onDeleteComment, activeThread, onDeleteThread } = (0, import_hooks.useContext)(import_ContextProvider.ThreadProvider);
49
+ const [isDeleting, setIsDeleting] = (0, import_hooks.useState)(false);
49
50
  const setEditComment = (uid) => {
50
51
  setThreadState((prevState) => ({
51
52
  ...prevState,
@@ -61,9 +62,10 @@ var CommentActionBar = ({
61
62
  }
62
63
  };
63
64
  const handleCommentDelete = async () => {
64
- if (!commentUID) {
65
+ if (!commentUID || isDeleting) {
65
66
  return;
66
67
  }
68
+ setIsDeleting(true);
67
69
  try {
68
70
  const deleteResponse = await onDeleteComment({
69
71
  threadUid: activeThread?._id,
@@ -83,6 +85,8 @@ var CommentActionBar = ({
83
85
  };
84
86
  });
85
87
  } catch (error) {
88
+ } finally {
89
+ setIsDeleting(false);
86
90
  }
87
91
  };
88
92
  if (mode === "edit" && commentUID) {
@@ -105,7 +109,7 @@ var CommentActionBar = ({
105
109
  }
106
110
  );
107
111
  }
108
- if (commentUser.uid !== currentUser.uid || !commentUID) {
112
+ if (commentUser?.uid !== currentUser?.uid || !commentUID) {
109
113
  return null;
110
114
  }
111
115
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
@@ -134,7 +138,8 @@ var CommentActionBar = ({
134
138
  tooltipContent: "Delete",
135
139
  withTooltip: true,
136
140
  testId: "collab-thread-comment-delete",
137
- onClick: handleCommentDelete
141
+ onClick: handleCommentDelete,
142
+ disabled: isDeleting
138
143
  }
139
144
  )
140
145
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useContext } from \"preact/hooks\";\nimport {\n IThreadPopupState,\n ICommentActionBar,\n} from \"../../../types/collab.types\";\nimport Icon from \"../Icon/Icon\";\nimport { ThreadProvider } from \"./ContextProvider\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\n// Define the CommentActionBar component\nconst CommentActionBar: React.FC<ICommentActionBar> = ({\n mode,\n commentUser,\n currentUser,\n commentUID,\n}) => {\n const { setThreadState, onDeleteComment, activeThread, onDeleteThread } =\n useContext(ThreadProvider)!;\n\n const setEditComment = (uid: string | null) => {\n setThreadState((prevState: IThreadPopupState) => ({\n ...prevState,\n editComment: uid || \"\",\n }));\n };\n\n // Handler for cancel action\n const handleCancel = () => {\n setEditComment(null);\n };\n\n // Handler for editing a comment\n const handleCommentEdit = () => {\n if (commentUID) {\n setEditComment(commentUID);\n }\n };\n\n // Handler for deleting a comment\n const handleCommentDelete = async () => {\n if (!commentUID) {\n return;\n }\n try {\n // Call the onDeleteComment function\n const deleteResponse = await onDeleteComment({\n threadUid: activeThread?._id,\n commentUid: commentUID,\n });\n\n // Update the thread state after successful deletion\n setThreadState((prevState: IThreadPopupState) => {\n const updatedComments = prevState.comments.filter(\n (comment) => comment._id !== commentUID\n );\n if (prevState.commentCount - 1 === 0) {\n onDeleteThread({ threadUid: activeThread?._id });\n }\n return {\n ...prevState,\n comments: updatedComments,\n commentCount: prevState.commentCount - 1,\n };\n });\n } catch (error: any) {}\n };\n\n // Render based on the mode and user permissions\n if (mode === \"edit\" && commentUID) {\n return (\n <div\n className={classNames(\n \"collab-thread-comment-action--wrapper\",\n collabStyles()[\"collab-thread-comment-action--wrapper\"]\n )}\n >\n <Icon\n icon=\"Cancel\"\n withTooltip\n tooltipContent=\"Cancel\"\n onClick={handleCancel}\n />\n </div>\n );\n }\n\n if (commentUser.uid !== currentUser.uid || !commentUID) {\n return null;\n }\n\n return (\n <div\n className={classNames(\n \"collab-thread-comment-action--wrapper\",\n collabStyles()[\"collab-thread-comment-action--wrapper\"]\n )}\n data-testid=\"collab-thread-comment-action--wrapper\"\n >\n <Icon\n icon=\"Edit\"\n tooltipContent=\"Edit\"\n withTooltip\n testId=\"collab-thread-comment-edit\"\n onClick={handleCommentEdit}\n />\n <Icon\n icon=\"Delete\"\n tooltipContent=\"Delete\"\n withTooltip\n testId=\"collab-thread-comment-delete\"\n onClick={handleCommentDelete}\n />\n </div>\n );\n};\n\nexport default CommentActionBar;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA2B;AAK3B,kBAAiB;AACjB,6BAA+B;AAC/B,oBAA6B;AAC7B,wBAAuB;AAqEP;AAlEhB,IAAM,mBAAgD,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AACF,QAAM,EAAE,gBAAgB,iBAAiB,cAAc,eAAe,QAClE,yBAAW,qCAAc;AAE7B,QAAM,iBAAiB,CAAC,QAAuB;AAC3C,mBAAe,CAAC,eAAkC;AAAA,MAC9C,GAAG;AAAA,MACH,aAAa,OAAO;AAAA,IACxB,EAAE;AAAA,EACN;AAGA,QAAM,eAAe,MAAM;AACvB,mBAAe,IAAI;AAAA,EACvB;AAGA,QAAM,oBAAoB,MAAM;AAC5B,QAAI,YAAY;AACZ,qBAAe,UAAU;AAAA,IAC7B;AAAA,EACJ;AAGA,QAAM,sBAAsB,YAAY;AACpC,QAAI,CAAC,YAAY;AACb;AAAA,IACJ;AACA,QAAI;AAEA,YAAM,iBAAiB,MAAM,gBAAgB;AAAA,QACzC,WAAW,cAAc;AAAA,QACzB,YAAY;AAAA,MAChB,CAAC;AAGD,qBAAe,CAAC,cAAiC;AAC7C,cAAM,kBAAkB,UAAU,SAAS;AAAA,UACvC,CAAC,YAAY,QAAQ,QAAQ;AAAA,QACjC;AACA,YAAI,UAAU,eAAe,MAAM,GAAG;AAClC,yBAAe,EAAE,WAAW,cAAc,IAAI,CAAC;AAAA,QACnD;AACA,eAAO;AAAA,UACH,GAAG;AAAA,UACH,UAAU;AAAA,UACV,cAAc,UAAU,eAAe;AAAA,QAC3C;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,OAAY;AAAA,IAAC;AAAA,EAC1B;AAGA,MAAI,SAAS,UAAU,YAAY;AAC/B,WACI;AAAA,MAAC;AAAA;AAAA,QACG,eAAW,kBAAAA;AAAA,UACP;AAAA,cACA,4BAAa,EAAE,uCAAuC;AAAA,QAC1D;AAAA,QAEA;AAAA,UAAC,YAAAC;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,aAAW;AAAA,YACX,gBAAe;AAAA,YACf,SAAS;AAAA;AAAA,QACb;AAAA;AAAA,IACJ;AAAA,EAER;AAEA,MAAI,YAAY,QAAQ,YAAY,OAAO,CAAC,YAAY;AACpD,WAAO;AAAA,EACX;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAW,kBAAAD;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,uCAAuC;AAAA,MAC1D;AAAA,MACA,eAAY;AAAA,MAEZ;AAAA;AAAA,UAAC,YAAAC;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,aAAW;AAAA,YACX,QAAO;AAAA,YACP,SAAS;AAAA;AAAA,QACb;AAAA,QACA;AAAA,UAAC,YAAAA;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,aAAW;AAAA,YACX,QAAO;AAAA,YACP,SAAS;AAAA;AAAA,QACb;AAAA;AAAA;AAAA,EACJ;AAER;AAEA,IAAO,2BAAQ;","names":["classNames","Icon"]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useContext, useState } from \"preact/hooks\";\nimport {\n IThreadPopupState,\n ICommentActionBar,\n} from \"../../../types/collab.types\";\nimport Icon from \"../Icon/Icon\";\nimport { ThreadProvider } from \"./ContextProvider\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst CommentActionBar: React.FC<ICommentActionBar> = ({\n mode,\n commentUser,\n currentUser,\n commentUID,\n}) => {\n const { setThreadState, onDeleteComment, activeThread, onDeleteThread } =\n useContext(ThreadProvider)!;\n const [isDeleting, setIsDeleting] = useState(false);\n\n const setEditComment = (uid: string | null) => {\n setThreadState((prevState: IThreadPopupState) => ({\n ...prevState,\n editComment: uid || \"\",\n }));\n };\n\n const handleCancel = () => {\n setEditComment(null);\n };\n\n const handleCommentEdit = () => {\n if (commentUID) {\n setEditComment(commentUID);\n }\n };\n\n const handleCommentDelete = async () => {\n if (!commentUID || isDeleting) {\n return;\n }\n\n setIsDeleting(true);\n\n try {\n const deleteResponse = await onDeleteComment({\n threadUid: activeThread?._id,\n commentUid: commentUID,\n });\n\n setThreadState((prevState: IThreadPopupState) => {\n const updatedComments = prevState.comments.filter(\n (comment) => comment._id !== commentUID\n );\n if (prevState.commentCount - 1 === 0) {\n onDeleteThread({ threadUid: activeThread?._id });\n }\n return {\n ...prevState,\n comments: updatedComments,\n commentCount: prevState.commentCount - 1,\n };\n });\n } catch (error: any) {\n } finally {\n setIsDeleting(false);\n }\n };\n\n if (mode === \"edit\" && commentUID) {\n return (\n <div\n className={classNames(\n \"collab-thread-comment-action--wrapper\",\n collabStyles()[\"collab-thread-comment-action--wrapper\"]\n )}\n >\n <Icon\n icon=\"Cancel\"\n withTooltip\n tooltipContent=\"Cancel\"\n onClick={handleCancel}\n />\n </div>\n );\n }\n\n if (commentUser?.uid !== currentUser?.uid || !commentUID) {\n return null;\n }\n\n return (\n <div\n className={classNames(\n \"collab-thread-comment-action--wrapper\",\n collabStyles()[\"collab-thread-comment-action--wrapper\"]\n )}\n data-testid=\"collab-thread-comment-action--wrapper\"\n >\n <Icon\n icon=\"Edit\"\n tooltipContent=\"Edit\"\n withTooltip\n testId=\"collab-thread-comment-edit\"\n onClick={handleCommentEdit}\n />\n <Icon\n icon=\"Delete\"\n tooltipContent=\"Delete\"\n withTooltip\n testId=\"collab-thread-comment-delete\"\n onClick={handleCommentDelete}\n disabled={isDeleting}\n />\n </div>\n );\n};\n\nexport default CommentActionBar;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAAqC;AAKrC,kBAAiB;AACjB,6BAA+B;AAC/B,oBAA6B;AAC7B,wBAAuB;AAqEP;AAnEhB,IAAM,mBAAgD,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AACF,QAAM,EAAE,gBAAgB,iBAAiB,cAAc,eAAe,QAClE,yBAAW,qCAAc;AAC7B,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAElD,QAAM,iBAAiB,CAAC,QAAuB;AAC3C,mBAAe,CAAC,eAAkC;AAAA,MAC9C,GAAG;AAAA,MACH,aAAa,OAAO;AAAA,IACxB,EAAE;AAAA,EACN;AAEA,QAAM,eAAe,MAAM;AACvB,mBAAe,IAAI;AAAA,EACvB;AAEA,QAAM,oBAAoB,MAAM;AAC5B,QAAI,YAAY;AACZ,qBAAe,UAAU;AAAA,IAC7B;AAAA,EACJ;AAEA,QAAM,sBAAsB,YAAY;AACpC,QAAI,CAAC,cAAc,YAAY;AAC3B;AAAA,IACJ;AAEA,kBAAc,IAAI;AAElB,QAAI;AACA,YAAM,iBAAiB,MAAM,gBAAgB;AAAA,QACzC,WAAW,cAAc;AAAA,QACzB,YAAY;AAAA,MAChB,CAAC;AAED,qBAAe,CAAC,cAAiC;AAC7C,cAAM,kBAAkB,UAAU,SAAS;AAAA,UACvC,CAAC,YAAY,QAAQ,QAAQ;AAAA,QACjC;AACA,YAAI,UAAU,eAAe,MAAM,GAAG;AAClC,yBAAe,EAAE,WAAW,cAAc,IAAI,CAAC;AAAA,QACnD;AACA,eAAO;AAAA,UACH,GAAG;AAAA,UACH,UAAU;AAAA,UACV,cAAc,UAAU,eAAe;AAAA,QAC3C;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,OAAY;AAAA,IACrB,UAAE;AACE,oBAAc,KAAK;AAAA,IACvB;AAAA,EACJ;AAEA,MAAI,SAAS,UAAU,YAAY;AAC/B,WACI;AAAA,MAAC;AAAA;AAAA,QACG,eAAW,kBAAAA;AAAA,UACP;AAAA,cACA,4BAAa,EAAE,uCAAuC;AAAA,QAC1D;AAAA,QAEA;AAAA,UAAC,YAAAC;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,aAAW;AAAA,YACX,gBAAe;AAAA,YACf,SAAS;AAAA;AAAA,QACb;AAAA;AAAA,IACJ;AAAA,EAER;AAEA,MAAI,aAAa,QAAQ,aAAa,OAAO,CAAC,YAAY;AACtD,WAAO;AAAA,EACX;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAW,kBAAAD;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,uCAAuC;AAAA,MAC1D;AAAA,MACA,eAAY;AAAA,MAEZ;AAAA;AAAA,UAAC,YAAAC;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,aAAW;AAAA,YACX,QAAO;AAAA,YACP,SAAS;AAAA;AAAA,QACb;AAAA,QACA;AAAA,UAAC,YAAAA;AAAA,UAAA;AAAA,YACG,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,aAAW;AAAA,YACX,QAAO;AAAA,YACP,SAAS;AAAA,YACT,UAAU;AAAA;AAAA,QACd;AAAA;AAAA;AAAA,EACJ;AAER;AAEA,IAAO,2BAAQ;","names":["classNames","Icon"]}
@@ -1,7 +1,7 @@
1
1
  import "../../../../chunk-5WRI5ZAA.js";
2
2
 
3
3
  // src/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.tsx
4
- import { useContext } from "preact/hooks";
4
+ import { useContext, useState } from "preact/hooks";
5
5
  import Icon from "../Icon/Icon.js";
6
6
  import { ThreadProvider } from "./ContextProvider/index.js";
7
7
  import { collabStyles } from "../../../collab.style.js";
@@ -14,6 +14,7 @@ var CommentActionBar = ({
14
14
  commentUID
15
15
  }) => {
16
16
  const { setThreadState, onDeleteComment, activeThread, onDeleteThread } = useContext(ThreadProvider);
17
+ const [isDeleting, setIsDeleting] = useState(false);
17
18
  const setEditComment = (uid) => {
18
19
  setThreadState((prevState) => ({
19
20
  ...prevState,
@@ -29,9 +30,10 @@ var CommentActionBar = ({
29
30
  }
30
31
  };
31
32
  const handleCommentDelete = async () => {
32
- if (!commentUID) {
33
+ if (!commentUID || isDeleting) {
33
34
  return;
34
35
  }
36
+ setIsDeleting(true);
35
37
  try {
36
38
  const deleteResponse = await onDeleteComment({
37
39
  threadUid: activeThread?._id,
@@ -51,6 +53,8 @@ var CommentActionBar = ({
51
53
  };
52
54
  });
53
55
  } catch (error) {
56
+ } finally {
57
+ setIsDeleting(false);
54
58
  }
55
59
  };
56
60
  if (mode === "edit" && commentUID) {
@@ -73,7 +77,7 @@ var CommentActionBar = ({
73
77
  }
74
78
  );
75
79
  }
76
- if (commentUser.uid !== currentUser.uid || !commentUID) {
80
+ if (commentUser?.uid !== currentUser?.uid || !commentUID) {
77
81
  return null;
78
82
  }
79
83
  return /* @__PURE__ */ jsxs(
@@ -102,7 +106,8 @@ var CommentActionBar = ({
102
106
  tooltipContent: "Delete",
103
107
  withTooltip: true,
104
108
  testId: "collab-thread-comment-delete",
105
- onClick: handleCommentDelete
109
+ onClick: handleCommentDelete,
110
+ disabled: isDeleting
106
111
  }
107
112
  )
108
113
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useContext } from \"preact/hooks\";\nimport {\n IThreadPopupState,\n ICommentActionBar,\n} from \"../../../types/collab.types\";\nimport Icon from \"../Icon/Icon\";\nimport { ThreadProvider } from \"./ContextProvider\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\n// Define the CommentActionBar component\nconst CommentActionBar: React.FC<ICommentActionBar> = ({\n mode,\n commentUser,\n currentUser,\n commentUID,\n}) => {\n const { setThreadState, onDeleteComment, activeThread, onDeleteThread } =\n useContext(ThreadProvider)!;\n\n const setEditComment = (uid: string | null) => {\n setThreadState((prevState: IThreadPopupState) => ({\n ...prevState,\n editComment: uid || \"\",\n }));\n };\n\n // Handler for cancel action\n const handleCancel = () => {\n setEditComment(null);\n };\n\n // Handler for editing a comment\n const handleCommentEdit = () => {\n if (commentUID) {\n setEditComment(commentUID);\n }\n };\n\n // Handler for deleting a comment\n const handleCommentDelete = async () => {\n if (!commentUID) {\n return;\n }\n try {\n // Call the onDeleteComment function\n const deleteResponse = await onDeleteComment({\n threadUid: activeThread?._id,\n commentUid: commentUID,\n });\n\n // Update the thread state after successful deletion\n setThreadState((prevState: IThreadPopupState) => {\n const updatedComments = prevState.comments.filter(\n (comment) => comment._id !== commentUID\n );\n if (prevState.commentCount - 1 === 0) {\n onDeleteThread({ threadUid: activeThread?._id });\n }\n return {\n ...prevState,\n comments: updatedComments,\n commentCount: prevState.commentCount - 1,\n };\n });\n } catch (error: any) {}\n };\n\n // Render based on the mode and user permissions\n if (mode === \"edit\" && commentUID) {\n return (\n <div\n className={classNames(\n \"collab-thread-comment-action--wrapper\",\n collabStyles()[\"collab-thread-comment-action--wrapper\"]\n )}\n >\n <Icon\n icon=\"Cancel\"\n withTooltip\n tooltipContent=\"Cancel\"\n onClick={handleCancel}\n />\n </div>\n );\n }\n\n if (commentUser.uid !== currentUser.uid || !commentUID) {\n return null;\n }\n\n return (\n <div\n className={classNames(\n \"collab-thread-comment-action--wrapper\",\n collabStyles()[\"collab-thread-comment-action--wrapper\"]\n )}\n data-testid=\"collab-thread-comment-action--wrapper\"\n >\n <Icon\n icon=\"Edit\"\n tooltipContent=\"Edit\"\n withTooltip\n testId=\"collab-thread-comment-edit\"\n onClick={handleCommentEdit}\n />\n <Icon\n icon=\"Delete\"\n tooltipContent=\"Delete\"\n withTooltip\n testId=\"collab-thread-comment-delete\"\n onClick={handleCommentDelete}\n />\n </div>\n );\n};\n\nexport default CommentActionBar;\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAK3B,OAAO,UAAU;AACjB,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,OAAO,gBAAgB;AAqEP,cAeR,YAfQ;AAlEhB,IAAM,mBAAgD,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AACF,QAAM,EAAE,gBAAgB,iBAAiB,cAAc,eAAe,IAClE,WAAW,cAAc;AAE7B,QAAM,iBAAiB,CAAC,QAAuB;AAC3C,mBAAe,CAAC,eAAkC;AAAA,MAC9C,GAAG;AAAA,MACH,aAAa,OAAO;AAAA,IACxB,EAAE;AAAA,EACN;AAGA,QAAM,eAAe,MAAM;AACvB,mBAAe,IAAI;AAAA,EACvB;AAGA,QAAM,oBAAoB,MAAM;AAC5B,QAAI,YAAY;AACZ,qBAAe,UAAU;AAAA,IAC7B;AAAA,EACJ;AAGA,QAAM,sBAAsB,YAAY;AACpC,QAAI,CAAC,YAAY;AACb;AAAA,IACJ;AACA,QAAI;AAEA,YAAM,iBAAiB,MAAM,gBAAgB;AAAA,QACzC,WAAW,cAAc;AAAA,QACzB,YAAY;AAAA,MAChB,CAAC;AAGD,qBAAe,CAAC,cAAiC;AAC7C,cAAM,kBAAkB,UAAU,SAAS;AAAA,UACvC,CAAC,YAAY,QAAQ,QAAQ;AAAA,QACjC;AACA,YAAI,UAAU,eAAe,MAAM,GAAG;AAClC,yBAAe,EAAE,WAAW,cAAc,IAAI,CAAC;AAAA,QACnD;AACA,eAAO;AAAA,UACH,GAAG;AAAA,UACH,UAAU;AAAA,UACV,cAAc,UAAU,eAAe;AAAA,QAC3C;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,OAAY;AAAA,IAAC;AAAA,EAC1B;AAGA,MAAI,SAAS,UAAU,YAAY;AAC/B,WACI;AAAA,MAAC;AAAA;AAAA,QACG,WAAW;AAAA,UACP;AAAA,UACA,aAAa,EAAE,uCAAuC;AAAA,QAC1D;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACG,MAAK;AAAA,YACL,aAAW;AAAA,YACX,gBAAe;AAAA,YACf,SAAS;AAAA;AAAA,QACb;AAAA;AAAA,IACJ;AAAA,EAER;AAEA,MAAI,YAAY,QAAQ,YAAY,OAAO,CAAC,YAAY;AACpD,WAAO;AAAA,EACX;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,uCAAuC;AAAA,MAC1D;AAAA,MACA,eAAY;AAAA,MAEZ;AAAA;AAAA,UAAC;AAAA;AAAA,YACG,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,aAAW;AAAA,YACX,QAAO;AAAA,YACP,SAAS;AAAA;AAAA,QACb;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACG,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,aAAW;AAAA,YACX,QAAO;AAAA,YACP,SAAS;AAAA;AAAA,QACb;AAAA;AAAA;AAAA,EACJ;AAER;AAEA,IAAO,2BAAQ;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useContext, useState } from \"preact/hooks\";\nimport {\n IThreadPopupState,\n ICommentActionBar,\n} from \"../../../types/collab.types\";\nimport Icon from \"../Icon/Icon\";\nimport { ThreadProvider } from \"./ContextProvider\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst CommentActionBar: React.FC<ICommentActionBar> = ({\n mode,\n commentUser,\n currentUser,\n commentUID,\n}) => {\n const { setThreadState, onDeleteComment, activeThread, onDeleteThread } =\n useContext(ThreadProvider)!;\n const [isDeleting, setIsDeleting] = useState(false);\n\n const setEditComment = (uid: string | null) => {\n setThreadState((prevState: IThreadPopupState) => ({\n ...prevState,\n editComment: uid || \"\",\n }));\n };\n\n const handleCancel = () => {\n setEditComment(null);\n };\n\n const handleCommentEdit = () => {\n if (commentUID) {\n setEditComment(commentUID);\n }\n };\n\n const handleCommentDelete = async () => {\n if (!commentUID || isDeleting) {\n return;\n }\n\n setIsDeleting(true);\n\n try {\n const deleteResponse = await onDeleteComment({\n threadUid: activeThread?._id,\n commentUid: commentUID,\n });\n\n setThreadState((prevState: IThreadPopupState) => {\n const updatedComments = prevState.comments.filter(\n (comment) => comment._id !== commentUID\n );\n if (prevState.commentCount - 1 === 0) {\n onDeleteThread({ threadUid: activeThread?._id });\n }\n return {\n ...prevState,\n comments: updatedComments,\n commentCount: prevState.commentCount - 1,\n };\n });\n } catch (error: any) {\n } finally {\n setIsDeleting(false);\n }\n };\n\n if (mode === \"edit\" && commentUID) {\n return (\n <div\n className={classNames(\n \"collab-thread-comment-action--wrapper\",\n collabStyles()[\"collab-thread-comment-action--wrapper\"]\n )}\n >\n <Icon\n icon=\"Cancel\"\n withTooltip\n tooltipContent=\"Cancel\"\n onClick={handleCancel}\n />\n </div>\n );\n }\n\n if (commentUser?.uid !== currentUser?.uid || !commentUID) {\n return null;\n }\n\n return (\n <div\n className={classNames(\n \"collab-thread-comment-action--wrapper\",\n collabStyles()[\"collab-thread-comment-action--wrapper\"]\n )}\n data-testid=\"collab-thread-comment-action--wrapper\"\n >\n <Icon\n icon=\"Edit\"\n tooltipContent=\"Edit\"\n withTooltip\n testId=\"collab-thread-comment-edit\"\n onClick={handleCommentEdit}\n />\n <Icon\n icon=\"Delete\"\n tooltipContent=\"Delete\"\n withTooltip\n testId=\"collab-thread-comment-delete\"\n onClick={handleCommentDelete}\n disabled={isDeleting}\n />\n </div>\n );\n};\n\nexport default CommentActionBar;\n"],"mappings":";;;AAEA,SAAS,YAAY,gBAAgB;AAKrC,OAAO,UAAU;AACjB,SAAS,sBAAsB;AAC/B,SAAS,oBAAoB;AAC7B,OAAO,gBAAgB;AAqEP,cAeR,YAfQ;AAnEhB,IAAM,mBAAgD,CAAC;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAM;AACF,QAAM,EAAE,gBAAgB,iBAAiB,cAAc,eAAe,IAClE,WAAW,cAAc;AAC7B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAElD,QAAM,iBAAiB,CAAC,QAAuB;AAC3C,mBAAe,CAAC,eAAkC;AAAA,MAC9C,GAAG;AAAA,MACH,aAAa,OAAO;AAAA,IACxB,EAAE;AAAA,EACN;AAEA,QAAM,eAAe,MAAM;AACvB,mBAAe,IAAI;AAAA,EACvB;AAEA,QAAM,oBAAoB,MAAM;AAC5B,QAAI,YAAY;AACZ,qBAAe,UAAU;AAAA,IAC7B;AAAA,EACJ;AAEA,QAAM,sBAAsB,YAAY;AACpC,QAAI,CAAC,cAAc,YAAY;AAC3B;AAAA,IACJ;AAEA,kBAAc,IAAI;AAElB,QAAI;AACA,YAAM,iBAAiB,MAAM,gBAAgB;AAAA,QACzC,WAAW,cAAc;AAAA,QACzB,YAAY;AAAA,MAChB,CAAC;AAED,qBAAe,CAAC,cAAiC;AAC7C,cAAM,kBAAkB,UAAU,SAAS;AAAA,UACvC,CAAC,YAAY,QAAQ,QAAQ;AAAA,QACjC;AACA,YAAI,UAAU,eAAe,MAAM,GAAG;AAClC,yBAAe,EAAE,WAAW,cAAc,IAAI,CAAC;AAAA,QACnD;AACA,eAAO;AAAA,UACH,GAAG;AAAA,UACH,UAAU;AAAA,UACV,cAAc,UAAU,eAAe;AAAA,QAC3C;AAAA,MACJ,CAAC;AAAA,IACL,SAAS,OAAY;AAAA,IACrB,UAAE;AACE,oBAAc,KAAK;AAAA,IACvB;AAAA,EACJ;AAEA,MAAI,SAAS,UAAU,YAAY;AAC/B,WACI;AAAA,MAAC;AAAA;AAAA,QACG,WAAW;AAAA,UACP;AAAA,UACA,aAAa,EAAE,uCAAuC;AAAA,QAC1D;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACG,MAAK;AAAA,YACL,aAAW;AAAA,YACX,gBAAe;AAAA,YACf,SAAS;AAAA;AAAA,QACb;AAAA;AAAA,IACJ;AAAA,EAER;AAEA,MAAI,aAAa,QAAQ,aAAa,OAAO,CAAC,YAAY;AACtD,WAAO;AAAA,EACX;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,uCAAuC;AAAA,MAC1D;AAAA,MACA,eAAY;AAAA,MAEZ;AAAA;AAAA,UAAC;AAAA;AAAA,YACG,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,aAAW;AAAA,YACX,QAAO;AAAA,YACP,SAAS;AAAA;AAAA,QACb;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACG,MAAK;AAAA,YACL,gBAAe;AAAA,YACf,aAAW;AAAA,YACX,QAAO;AAAA,YACP,SAAS;AAAA,YACT,UAAU;AAAA;AAAA,QACd;AAAA;AAAA;AAAA,EACJ;AAER;AAEA,IAAO,2BAAQ;","names":[]}
@@ -35,7 +35,6 @@ __export(CommentCard_exports, {
35
35
  module.exports = __toCommonJS(CommentCard_exports);
36
36
  var import_hooks = require("preact/hooks");
37
37
  var import_CommentTextArea = __toESM(require("./CommentTextArea.cjs"), 1);
38
- var import_moment = __toESM(require("moment"), 1);
39
38
  var import_collabUtils = require("../../../utils/collabUtils.cjs");
40
39
  var import_CommentActionBar = __toESM(require("./CommentActionBar.cjs"), 1);
41
40
  var import_CommentResolvedText = __toESM(require("./CommentResolvedText.cjs"), 1);
@@ -45,7 +44,7 @@ var import_collab = require("../../../collab.style.cjs");
45
44
  var import_classnames = __toESM(require("classnames"), 1);
46
45
  var import_jsx_runtime = require("preact/jsx-runtime");
47
46
  var formatCommentDate = (comment) => {
48
- return comment ? (0, import_moment.default)(comment.createdAt).format("MMM DD, YYYY, hh:mm A") : "";
47
+ return comment ? (0, import_collabUtils.formatDate)(comment.updatedAt || comment.createdAt) : "";
49
48
  };
50
49
  var CommentCard = ({
51
50
  userState,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentCard.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useEffect, useState, useMemo } from \"preact/hooks\";\nimport CommentTextArea from \"./CommentTextArea\";\nimport {\n ICommentCard,\n IMessageDTO,\n IUserDTO,\n} from \"../../../types/collab.types\";\nimport moment from \"moment\";\nimport { getUserName } from \"../../../utils/collabUtils\";\nimport CommentActionBar from \"./CommentActionBar\";\nimport CommentResolvedText from \"./CommentResolvedText\";\nimport Avatar from \"../Avatar/Avatar\";\nimport ThreadBodyLoader from \"./loader/ThreadBody\";\nimport { collabStyles, flexAlignCenter } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst formatCommentDate = (comment: IMessageDTO | null): string => {\n return comment\n ? moment(comment.createdAt).format(\"MMM DD, YYYY, hh:mm A\")\n : \"\";\n};\n\nconst CommentCard = ({\n userState,\n comment,\n onClose,\n handleOnSaveRef,\n mode,\n}: ICommentCard) => {\n const [commentUser, setCommentUser] = useState<IUserDTO | null>(null);\n const [isHovered, setIsHovered] = useState(false);\n\n useEffect(() => {\n setCommentUser(\n comment\n ? userState.userMap[comment.createdBy]\n : userState.currentUser\n );\n }, [comment, userState]);\n\n const formattedDate = useMemo(() => formatCommentDate(comment), [comment]);\n\n if (!commentUser) {\n return <ThreadBodyLoader key=\"collab-thread-body--comment-loader\" />;\n }\n\n return (\n <div\n className={classNames(\n \"collab-thread-comment--wrapper\",\n collabStyles()[\"collab-thread-comment--wrapper\"]\n )}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n <div\n className={classNames(\n \"collab-thread-comment--user-details\",\n \"flex-v-center\",\n collabStyles()[\"collab-thread-comment--user-details\"],\n flexAlignCenter\n )}\n >\n <Avatar\n avatar={\n {\n name: getUserName(commentUser),\n id: commentUser.uid,\n } as any\n }\n />\n <div\n className={classNames(\n \"collab-thread-comment--user-details__text\",\n collabStyles()[\n \"collab-thread-comment--user-details__text\"\n ]\n )}\n >\n <div\n className={classNames(\n \"collab-thread-comment--user-name\",\n collabStyles()[\"collab-thread-comment--user-name\"]\n )}\n >\n {getUserName(commentUser)}\n </div>\n {comment && (\n <div\n className={classNames(\n \"collab-thread-comment--time-details\",\n collabStyles()[\n \"collab-thread-comment--time-details\"\n ]\n )}\n >\n {formattedDate}\n </div>\n )}\n </div>\n {isHovered && (\n <CommentActionBar\n mode={mode}\n commentUser={commentUser}\n currentUser={userState.currentUser}\n commentUID={comment?._id}\n />\n )}\n </div>\n {mode === \"edit\" ? (\n <CommentTextArea\n onClose={onClose}\n userState={userState}\n handleOnSaveRef={handleOnSaveRef}\n comment={comment}\n />\n ) : (\n comment && (\n <CommentResolvedText\n comment={comment}\n userState={userState}\n />\n )\n )}\n </div>\n );\n};\n\nexport default CommentCard;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAC7C,6BAA4B;AAM5B,oBAAmB;AACnB,yBAA4B;AAC5B,8BAA6B;AAC7B,iCAAgC;AAChC,oBAAmB;AACnB,wBAA6B;AAC7B,oBAA8C;AAC9C,wBAAuB;AA6BR;AA3Bf,IAAM,oBAAoB,CAAC,YAAwC;AAC/D,SAAO,cACD,cAAAA,SAAO,QAAQ,SAAS,EAAE,OAAO,uBAAuB,IACxD;AACV;AAEA,IAAM,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAoB;AAChB,QAAM,CAAC,aAAa,cAAc,QAAI,uBAA0B,IAAI;AACpE,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAEhD,8BAAU,MAAM;AACZ;AAAA,MACI,UACM,UAAU,QAAQ,QAAQ,SAAS,IACnC,UAAU;AAAA,IACpB;AAAA,EACJ,GAAG,CAAC,SAAS,SAAS,CAAC;AAEvB,QAAM,oBAAgB,sBAAQ,MAAM,kBAAkB,OAAO,GAAG,CAAC,OAAO,CAAC;AAEzE,MAAI,CAAC,aAAa;AACd,WAAO,4CAAC,kBAAAC,SAAA,IAAqB,oCAAqC;AAAA,EACtE;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAW,kBAAAC;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,gCAAgC;AAAA,MACnD;AAAA,MACA,cAAc,MAAM,aAAa,IAAI;AAAA,MACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MAEtC;AAAA;AAAA,UAAC;AAAA;AAAA,YACG,eAAW,kBAAAA;AAAA,cACP;AAAA,cACA;AAAA,kBACA,4BAAa,EAAE,qCAAqC;AAAA,cACpD;AAAA,YACJ;AAAA,YAEA;AAAA;AAAA,gBAAC,cAAAC;AAAA,gBAAA;AAAA,kBACG,QACI;AAAA,oBACI,UAAM,gCAAY,WAAW;AAAA,oBAC7B,IAAI,YAAY;AAAA,kBACpB;AAAA;AAAA,cAER;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACG,eAAW,kBAAAD;AAAA,oBACP;AAAA,wBACA,4BAAa,EACT,2CACJ;AAAA,kBACJ;AAAA,kBAEA;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACG,eAAW,kBAAAA;AAAA,0BACP;AAAA,8BACA,4BAAa,EAAE,kCAAkC;AAAA,wBACrD;AAAA,wBAEC,8CAAY,WAAW;AAAA;AAAA,oBAC5B;AAAA,oBACC,WACG;AAAA,sBAAC;AAAA;AAAA,wBACG,eAAW,kBAAAA;AAAA,0BACP;AAAA,8BACA,4BAAa,EACT,qCACJ;AAAA,wBACJ;AAAA,wBAEC;AAAA;AAAA,oBACL;AAAA;AAAA;AAAA,cAER;AAAA,cACC,aACG;AAAA,gBAAC,wBAAAE;AAAA,gBAAA;AAAA,kBACG;AAAA,kBACA;AAAA,kBACA,aAAa,UAAU;AAAA,kBACvB,YAAY,SAAS;AAAA;AAAA,cACzB;AAAA;AAAA;AAAA,QAER;AAAA,QACC,SAAS,SACN;AAAA,UAAC,uBAAAC;AAAA,UAAA;AAAA,YACG;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACJ,IAEA,WACI;AAAA,UAAC,2BAAAC;AAAA,UAAA;AAAA,YACG;AAAA,YACA;AAAA;AAAA,QACJ;AAAA;AAAA;AAAA,EAGZ;AAER;AAEA,IAAO,sBAAQ;","names":["moment","ThreadBodyLoader","classNames","Avatar","CommentActionBar","CommentTextArea","CommentResolvedText"]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentCard.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useEffect, useState, useMemo } from \"preact/hooks\";\nimport CommentTextArea from \"./CommentTextArea\";\nimport {\n ICommentCard,\n IMessageDTO,\n IUserDTO,\n} from \"../../../types/collab.types\";\nimport { getUserName, formatDate } from \"../../../utils/collabUtils\";\nimport CommentActionBar from \"./CommentActionBar\";\nimport CommentResolvedText from \"./CommentResolvedText\";\nimport Avatar from \"../Avatar/Avatar\";\nimport ThreadBodyLoader from \"./loader/ThreadBody\";\nimport { collabStyles, flexAlignCenter } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst formatCommentDate = (comment: IMessageDTO | null): string => {\n return comment ? formatDate(comment.updatedAt || comment.createdAt) : \"\";\n};\n\nconst CommentCard = ({\n userState,\n comment,\n onClose,\n handleOnSaveRef,\n mode,\n}: ICommentCard) => {\n const [commentUser, setCommentUser] = useState<IUserDTO | null>(null);\n const [isHovered, setIsHovered] = useState(false);\n\n useEffect(() => {\n setCommentUser(\n comment\n ? userState.userMap[comment.createdBy]\n : userState.currentUser\n );\n }, [comment, userState]);\n\n const formattedDate = useMemo(() => formatCommentDate(comment), [comment]);\n\n if (!commentUser) {\n return <ThreadBodyLoader key=\"collab-thread-body--comment-loader\" />;\n }\n\n return (\n <div\n className={classNames(\n \"collab-thread-comment--wrapper\",\n collabStyles()[\"collab-thread-comment--wrapper\"]\n )}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n <div\n className={classNames(\n \"collab-thread-comment--user-details\",\n \"flex-v-center\",\n collabStyles()[\"collab-thread-comment--user-details\"],\n flexAlignCenter\n )}\n >\n <Avatar\n avatar={\n {\n name: getUserName(commentUser),\n id: commentUser.uid,\n } as any\n }\n />\n <div\n className={classNames(\n \"collab-thread-comment--user-details__text\",\n collabStyles()[\n \"collab-thread-comment--user-details__text\"\n ]\n )}\n >\n <div\n className={classNames(\n \"collab-thread-comment--user-name\",\n collabStyles()[\"collab-thread-comment--user-name\"]\n )}\n >\n {getUserName(commentUser)}\n </div>\n {comment && (\n <div\n className={classNames(\n \"collab-thread-comment--time-details\",\n collabStyles()[\n \"collab-thread-comment--time-details\"\n ]\n )}\n >\n {formattedDate}\n </div>\n )}\n </div>\n {isHovered && (\n <CommentActionBar\n mode={mode}\n commentUser={commentUser}\n currentUser={userState.currentUser}\n commentUID={comment?._id}\n />\n )}\n </div>\n {mode === \"edit\" ? (\n <CommentTextArea\n onClose={onClose}\n userState={userState}\n handleOnSaveRef={handleOnSaveRef}\n comment={comment}\n />\n ) : (\n comment && (\n <CommentResolvedText\n comment={comment}\n userState={userState}\n />\n )\n )}\n </div>\n );\n};\n\nexport default CommentCard;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA6C;AAC7C,6BAA4B;AAM5B,yBAAwC;AACxC,8BAA6B;AAC7B,iCAAgC;AAChC,oBAAmB;AACnB,wBAA6B;AAC7B,oBAA8C;AAC9C,wBAAuB;AA2BR;AAzBf,IAAM,oBAAoB,CAAC,YAAwC;AAC/D,SAAO,cAAU,+BAAW,QAAQ,aAAa,QAAQ,SAAS,IAAI;AAC1E;AAEA,IAAM,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAoB;AAChB,QAAM,CAAC,aAAa,cAAc,QAAI,uBAA0B,IAAI;AACpE,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAS,KAAK;AAEhD,8BAAU,MAAM;AACZ;AAAA,MACI,UACM,UAAU,QAAQ,QAAQ,SAAS,IACnC,UAAU;AAAA,IACpB;AAAA,EACJ,GAAG,CAAC,SAAS,SAAS,CAAC;AAEvB,QAAM,oBAAgB,sBAAQ,MAAM,kBAAkB,OAAO,GAAG,CAAC,OAAO,CAAC;AAEzE,MAAI,CAAC,aAAa;AACd,WAAO,4CAAC,kBAAAA,SAAA,IAAqB,oCAAqC;AAAA,EACtE;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAW,kBAAAC;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,gCAAgC;AAAA,MACnD;AAAA,MACA,cAAc,MAAM,aAAa,IAAI;AAAA,MACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MAEtC;AAAA;AAAA,UAAC;AAAA;AAAA,YACG,eAAW,kBAAAA;AAAA,cACP;AAAA,cACA;AAAA,kBACA,4BAAa,EAAE,qCAAqC;AAAA,cACpD;AAAA,YACJ;AAAA,YAEA;AAAA;AAAA,gBAAC,cAAAC;AAAA,gBAAA;AAAA,kBACG,QACI;AAAA,oBACI,UAAM,gCAAY,WAAW;AAAA,oBAC7B,IAAI,YAAY;AAAA,kBACpB;AAAA;AAAA,cAER;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACG,eAAW,kBAAAD;AAAA,oBACP;AAAA,wBACA,4BAAa,EACT,2CACJ;AAAA,kBACJ;AAAA,kBAEA;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACG,eAAW,kBAAAA;AAAA,0BACP;AAAA,8BACA,4BAAa,EAAE,kCAAkC;AAAA,wBACrD;AAAA,wBAEC,8CAAY,WAAW;AAAA;AAAA,oBAC5B;AAAA,oBACC,WACG;AAAA,sBAAC;AAAA;AAAA,wBACG,eAAW,kBAAAA;AAAA,0BACP;AAAA,8BACA,4BAAa,EACT,qCACJ;AAAA,wBACJ;AAAA,wBAEC;AAAA;AAAA,oBACL;AAAA;AAAA;AAAA,cAER;AAAA,cACC,aACG;AAAA,gBAAC,wBAAAE;AAAA,gBAAA;AAAA,kBACG;AAAA,kBACA;AAAA,kBACA,aAAa,UAAU;AAAA,kBACvB,YAAY,SAAS;AAAA;AAAA,cACzB;AAAA;AAAA;AAAA,QAER;AAAA,QACC,SAAS,SACN;AAAA,UAAC,uBAAAC;AAAA,UAAA;AAAA,YACG;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACJ,IAEA,WACI;AAAA,UAAC,2BAAAC;AAAA,UAAA;AAAA,YACG;AAAA,YACA;AAAA;AAAA,QACJ;AAAA;AAAA;AAAA,EAGZ;AAER;AAEA,IAAO,sBAAQ;","names":["ThreadBodyLoader","classNames","Avatar","CommentActionBar","CommentTextArea","CommentResolvedText"]}
@@ -3,8 +3,7 @@ import "../../../../chunk-5WRI5ZAA.js";
3
3
  // src/visualBuilder/components/Collab/ThreadPopup/CommentCard.tsx
4
4
  import { useEffect, useState, useMemo } from "preact/hooks";
5
5
  import CommentTextArea from "./CommentTextArea.js";
6
- import moment from "moment";
7
- import { getUserName } from "../../../utils/collabUtils.js";
6
+ import { getUserName, formatDate } from "../../../utils/collabUtils.js";
8
7
  import CommentActionBar from "./CommentActionBar.js";
9
8
  import CommentResolvedText from "./CommentResolvedText.js";
10
9
  import Avatar from "../Avatar/Avatar.js";
@@ -13,7 +12,7 @@ import { collabStyles, flexAlignCenter } from "../../../collab.style.js";
13
12
  import classNames from "classnames";
14
13
  import { jsx, jsxs } from "preact/jsx-runtime";
15
14
  var formatCommentDate = (comment) => {
16
- return comment ? moment(comment.createdAt).format("MMM DD, YYYY, hh:mm A") : "";
15
+ return comment ? formatDate(comment.updatedAt || comment.createdAt) : "";
17
16
  };
18
17
  var CommentCard = ({
19
18
  userState,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentCard.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useEffect, useState, useMemo } from \"preact/hooks\";\nimport CommentTextArea from \"./CommentTextArea\";\nimport {\n ICommentCard,\n IMessageDTO,\n IUserDTO,\n} from \"../../../types/collab.types\";\nimport moment from \"moment\";\nimport { getUserName } from \"../../../utils/collabUtils\";\nimport CommentActionBar from \"./CommentActionBar\";\nimport CommentResolvedText from \"./CommentResolvedText\";\nimport Avatar from \"../Avatar/Avatar\";\nimport ThreadBodyLoader from \"./loader/ThreadBody\";\nimport { collabStyles, flexAlignCenter } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst formatCommentDate = (comment: IMessageDTO | null): string => {\n return comment\n ? moment(comment.createdAt).format(\"MMM DD, YYYY, hh:mm A\")\n : \"\";\n};\n\nconst CommentCard = ({\n userState,\n comment,\n onClose,\n handleOnSaveRef,\n mode,\n}: ICommentCard) => {\n const [commentUser, setCommentUser] = useState<IUserDTO | null>(null);\n const [isHovered, setIsHovered] = useState(false);\n\n useEffect(() => {\n setCommentUser(\n comment\n ? userState.userMap[comment.createdBy]\n : userState.currentUser\n );\n }, [comment, userState]);\n\n const formattedDate = useMemo(() => formatCommentDate(comment), [comment]);\n\n if (!commentUser) {\n return <ThreadBodyLoader key=\"collab-thread-body--comment-loader\" />;\n }\n\n return (\n <div\n className={classNames(\n \"collab-thread-comment--wrapper\",\n collabStyles()[\"collab-thread-comment--wrapper\"]\n )}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n <div\n className={classNames(\n \"collab-thread-comment--user-details\",\n \"flex-v-center\",\n collabStyles()[\"collab-thread-comment--user-details\"],\n flexAlignCenter\n )}\n >\n <Avatar\n avatar={\n {\n name: getUserName(commentUser),\n id: commentUser.uid,\n } as any\n }\n />\n <div\n className={classNames(\n \"collab-thread-comment--user-details__text\",\n collabStyles()[\n \"collab-thread-comment--user-details__text\"\n ]\n )}\n >\n <div\n className={classNames(\n \"collab-thread-comment--user-name\",\n collabStyles()[\"collab-thread-comment--user-name\"]\n )}\n >\n {getUserName(commentUser)}\n </div>\n {comment && (\n <div\n className={classNames(\n \"collab-thread-comment--time-details\",\n collabStyles()[\n \"collab-thread-comment--time-details\"\n ]\n )}\n >\n {formattedDate}\n </div>\n )}\n </div>\n {isHovered && (\n <CommentActionBar\n mode={mode}\n commentUser={commentUser}\n currentUser={userState.currentUser}\n commentUID={comment?._id}\n />\n )}\n </div>\n {mode === \"edit\" ? (\n <CommentTextArea\n onClose={onClose}\n userState={userState}\n handleOnSaveRef={handleOnSaveRef}\n comment={comment}\n />\n ) : (\n comment && (\n <CommentResolvedText\n comment={comment}\n userState={userState}\n />\n )\n )}\n </div>\n );\n};\n\nexport default CommentCard;\n"],"mappings":";;;AAEA,SAAS,WAAW,UAAU,eAAe;AAC7C,OAAO,qBAAqB;AAM5B,OAAO,YAAY;AACnB,SAAS,mBAAmB;AAC5B,OAAO,sBAAsB;AAC7B,OAAO,yBAAyB;AAChC,OAAO,YAAY;AACnB,OAAO,sBAAsB;AAC7B,SAAS,cAAc,uBAAuB;AAC9C,OAAO,gBAAgB;AA6BR,cA4BC,YA5BD;AA3Bf,IAAM,oBAAoB,CAAC,YAAwC;AAC/D,SAAO,UACD,OAAO,QAAQ,SAAS,EAAE,OAAO,uBAAuB,IACxD;AACV;AAEA,IAAM,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAoB;AAChB,QAAM,CAAC,aAAa,cAAc,IAAI,SAA0B,IAAI;AACpE,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,YAAU,MAAM;AACZ;AAAA,MACI,UACM,UAAU,QAAQ,QAAQ,SAAS,IACnC,UAAU;AAAA,IACpB;AAAA,EACJ,GAAG,CAAC,SAAS,SAAS,CAAC;AAEvB,QAAM,gBAAgB,QAAQ,MAAM,kBAAkB,OAAO,GAAG,CAAC,OAAO,CAAC;AAEzE,MAAI,CAAC,aAAa;AACd,WAAO,oBAAC,sBAAqB,oCAAqC;AAAA,EACtE;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,gCAAgC;AAAA,MACnD;AAAA,MACA,cAAc,MAAM,aAAa,IAAI;AAAA,MACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MAEtC;AAAA;AAAA,UAAC;AAAA;AAAA,YACG,WAAW;AAAA,cACP;AAAA,cACA;AAAA,cACA,aAAa,EAAE,qCAAqC;AAAA,cACpD;AAAA,YACJ;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACG,QACI;AAAA,oBACI,MAAM,YAAY,WAAW;AAAA,oBAC7B,IAAI,YAAY;AAAA,kBACpB;AAAA;AAAA,cAER;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACG,WAAW;AAAA,oBACP;AAAA,oBACA,aAAa,EACT,2CACJ;AAAA,kBACJ;AAAA,kBAEA;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACG,WAAW;AAAA,0BACP;AAAA,0BACA,aAAa,EAAE,kCAAkC;AAAA,wBACrD;AAAA,wBAEC,sBAAY,WAAW;AAAA;AAAA,oBAC5B;AAAA,oBACC,WACG;AAAA,sBAAC;AAAA;AAAA,wBACG,WAAW;AAAA,0BACP;AAAA,0BACA,aAAa,EACT,qCACJ;AAAA,wBACJ;AAAA,wBAEC;AAAA;AAAA,oBACL;AAAA;AAAA;AAAA,cAER;AAAA,cACC,aACG;AAAA,gBAAC;AAAA;AAAA,kBACG;AAAA,kBACA;AAAA,kBACA,aAAa,UAAU;AAAA,kBACvB,YAAY,SAAS;AAAA;AAAA,cACzB;AAAA;AAAA;AAAA,QAER;AAAA,QACC,SAAS,SACN;AAAA,UAAC;AAAA;AAAA,YACG;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACJ,IAEA,WACI;AAAA,UAAC;AAAA;AAAA,YACG;AAAA,YACA;AAAA;AAAA,QACJ;AAAA;AAAA;AAAA,EAGZ;AAER;AAEA,IAAO,sBAAQ;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentCard.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useEffect, useState, useMemo } from \"preact/hooks\";\nimport CommentTextArea from \"./CommentTextArea\";\nimport {\n ICommentCard,\n IMessageDTO,\n IUserDTO,\n} from \"../../../types/collab.types\";\nimport { getUserName, formatDate } from \"../../../utils/collabUtils\";\nimport CommentActionBar from \"./CommentActionBar\";\nimport CommentResolvedText from \"./CommentResolvedText\";\nimport Avatar from \"../Avatar/Avatar\";\nimport ThreadBodyLoader from \"./loader/ThreadBody\";\nimport { collabStyles, flexAlignCenter } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst formatCommentDate = (comment: IMessageDTO | null): string => {\n return comment ? formatDate(comment.updatedAt || comment.createdAt) : \"\";\n};\n\nconst CommentCard = ({\n userState,\n comment,\n onClose,\n handleOnSaveRef,\n mode,\n}: ICommentCard) => {\n const [commentUser, setCommentUser] = useState<IUserDTO | null>(null);\n const [isHovered, setIsHovered] = useState(false);\n\n useEffect(() => {\n setCommentUser(\n comment\n ? userState.userMap[comment.createdBy]\n : userState.currentUser\n );\n }, [comment, userState]);\n\n const formattedDate = useMemo(() => formatCommentDate(comment), [comment]);\n\n if (!commentUser) {\n return <ThreadBodyLoader key=\"collab-thread-body--comment-loader\" />;\n }\n\n return (\n <div\n className={classNames(\n \"collab-thread-comment--wrapper\",\n collabStyles()[\"collab-thread-comment--wrapper\"]\n )}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n <div\n className={classNames(\n \"collab-thread-comment--user-details\",\n \"flex-v-center\",\n collabStyles()[\"collab-thread-comment--user-details\"],\n flexAlignCenter\n )}\n >\n <Avatar\n avatar={\n {\n name: getUserName(commentUser),\n id: commentUser.uid,\n } as any\n }\n />\n <div\n className={classNames(\n \"collab-thread-comment--user-details__text\",\n collabStyles()[\n \"collab-thread-comment--user-details__text\"\n ]\n )}\n >\n <div\n className={classNames(\n \"collab-thread-comment--user-name\",\n collabStyles()[\"collab-thread-comment--user-name\"]\n )}\n >\n {getUserName(commentUser)}\n </div>\n {comment && (\n <div\n className={classNames(\n \"collab-thread-comment--time-details\",\n collabStyles()[\n \"collab-thread-comment--time-details\"\n ]\n )}\n >\n {formattedDate}\n </div>\n )}\n </div>\n {isHovered && (\n <CommentActionBar\n mode={mode}\n commentUser={commentUser}\n currentUser={userState.currentUser}\n commentUID={comment?._id}\n />\n )}\n </div>\n {mode === \"edit\" ? (\n <CommentTextArea\n onClose={onClose}\n userState={userState}\n handleOnSaveRef={handleOnSaveRef}\n comment={comment}\n />\n ) : (\n comment && (\n <CommentResolvedText\n comment={comment}\n userState={userState}\n />\n )\n )}\n </div>\n );\n};\n\nexport default CommentCard;\n"],"mappings":";;;AAEA,SAAS,WAAW,UAAU,eAAe;AAC7C,OAAO,qBAAqB;AAM5B,SAAS,aAAa,kBAAkB;AACxC,OAAO,sBAAsB;AAC7B,OAAO,yBAAyB;AAChC,OAAO,YAAY;AACnB,OAAO,sBAAsB;AAC7B,SAAS,cAAc,uBAAuB;AAC9C,OAAO,gBAAgB;AA2BR,cA4BC,YA5BD;AAzBf,IAAM,oBAAoB,CAAC,YAAwC;AAC/D,SAAO,UAAU,WAAW,QAAQ,aAAa,QAAQ,SAAS,IAAI;AAC1E;AAEA,IAAM,cAAc,CAAC;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,MAAoB;AAChB,QAAM,CAAC,aAAa,cAAc,IAAI,SAA0B,IAAI;AACpE,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,KAAK;AAEhD,YAAU,MAAM;AACZ;AAAA,MACI,UACM,UAAU,QAAQ,QAAQ,SAAS,IACnC,UAAU;AAAA,IACpB;AAAA,EACJ,GAAG,CAAC,SAAS,SAAS,CAAC;AAEvB,QAAM,gBAAgB,QAAQ,MAAM,kBAAkB,OAAO,GAAG,CAAC,OAAO,CAAC;AAEzE,MAAI,CAAC,aAAa;AACd,WAAO,oBAAC,sBAAqB,oCAAqC;AAAA,EACtE;AAEA,SACI;AAAA,IAAC;AAAA;AAAA,MACG,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,gCAAgC;AAAA,MACnD;AAAA,MACA,cAAc,MAAM,aAAa,IAAI;AAAA,MACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MAEtC;AAAA;AAAA,UAAC;AAAA;AAAA,YACG,WAAW;AAAA,cACP;AAAA,cACA;AAAA,cACA,aAAa,EAAE,qCAAqC;AAAA,cACpD;AAAA,YACJ;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACG,QACI;AAAA,oBACI,MAAM,YAAY,WAAW;AAAA,oBAC7B,IAAI,YAAY;AAAA,kBACpB;AAAA;AAAA,cAER;AAAA,cACA;AAAA,gBAAC;AAAA;AAAA,kBACG,WAAW;AAAA,oBACP;AAAA,oBACA,aAAa,EACT,2CACJ;AAAA,kBACJ;AAAA,kBAEA;AAAA;AAAA,sBAAC;AAAA;AAAA,wBACG,WAAW;AAAA,0BACP;AAAA,0BACA,aAAa,EAAE,kCAAkC;AAAA,wBACrD;AAAA,wBAEC,sBAAY,WAAW;AAAA;AAAA,oBAC5B;AAAA,oBACC,WACG;AAAA,sBAAC;AAAA;AAAA,wBACG,WAAW;AAAA,0BACP;AAAA,0BACA,aAAa,EACT,qCACJ;AAAA,wBACJ;AAAA,wBAEC;AAAA;AAAA,oBACL;AAAA;AAAA;AAAA,cAER;AAAA,cACC,aACG;AAAA,gBAAC;AAAA;AAAA,kBACG;AAAA,kBACA;AAAA,kBACA,aAAa,UAAU;AAAA,kBACvB,YAAY,SAAS;AAAA;AAAA,cACzB;AAAA;AAAA;AAAA,QAER;AAAA,QACC,SAAS,SACN;AAAA,UAAC;AAAA;AAAA,YACG;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA;AAAA,QACJ,IAEA,WACI;AAAA,UAAC;AAAA;AAAA,YACG;AAAA,YACA;AAAA;AAAA,QACJ;AAAA;AAAA;AAAA,EAGZ;AAER;AAEA,IAAO,sBAAQ;","names":[]}
@@ -39,12 +39,9 @@ var import_collab = require("../../../collab.style.cjs");
39
39
  var import_classnames = __toESM(require("classnames"), 1);
40
40
  var import_jsx_runtime = require("preact/jsx-runtime");
41
41
  var CommentResolvedText = ({ comment, userState }) => {
42
- const text = (0, import_hooks.useMemo)(() => {
43
- return (0, import_collabUtils.getMessageWithDisplayName)(comment, userState, "html");
44
- }, [comment.message, userState.userMap, comment.toUsers]);
45
42
  const sanitizedText = (0, import_hooks.useMemo)(() => {
46
- return (0, import_collabUtils.sanitizeData)(text);
47
- }, [text]);
43
+ return (0, import_collabUtils.getMessageWithDisplayName)(comment, userState, "html") ?? "";
44
+ }, [comment.message, userState.userMap, comment.toUsers]);
48
45
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
49
46
  "div",
50
47
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport { useMemo } from \"preact/hooks\";\nimport { ICommentResolvedText } from \"../../../types/collab.types\";\nimport {\n getMessageWithDisplayName,\n sanitizeData,\n} from \"../../../utils/collabUtils\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst CommentResolvedText = ({ comment, userState }: ICommentResolvedText) => {\n const text = useMemo(() => {\n return getMessageWithDisplayName(comment, userState, \"html\");\n }, [comment.message, userState.userMap, comment.toUsers]);\n\n const sanitizedText = useMemo(() => {\n return sanitizeData(text);\n }, [text]);\n\n return (\n <div\n data-testid={\"collab-thread-comment--message\"}\n className={classNames(\n \"collab-thread-comment--message\",\n collabStyles()[\"collab-thread-comment--message\"]\n )}\n dangerouslySetInnerHTML={{ __html: sanitizedText }}\n ></div>\n );\n};\n\nexport default CommentResolvedText;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAwB;AAExB,yBAGO;AACP,oBAA6B;AAC7B,wBAAuB;AAYf;AAVR,IAAM,sBAAsB,CAAC,EAAE,SAAS,UAAU,MAA4B;AAC1E,QAAM,WAAO,sBAAQ,MAAM;AACvB,eAAO,8CAA0B,SAAS,WAAW,MAAM;AAAA,EAC/D,GAAG,CAAC,QAAQ,SAAS,UAAU,SAAS,QAAQ,OAAO,CAAC;AAExD,QAAM,oBAAgB,sBAAQ,MAAM;AAChC,eAAO,iCAAa,IAAI;AAAA,EAC5B,GAAG,CAAC,IAAI,CAAC;AAET,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAa;AAAA,MACb,eAAW,kBAAAA;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,gCAAgC;AAAA,MACnD;AAAA,MACA,yBAAyB,EAAE,QAAQ,cAAc;AAAA;AAAA,EACpD;AAET;AAEA,IAAO,8BAAQ;","names":["classNames"]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport { useMemo } from \"preact/hooks\";\nimport { ICommentResolvedText } from \"../../../types/collab.types\";\nimport { getMessageWithDisplayName } from \"../../../utils/collabUtils\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst CommentResolvedText = ({ comment, userState }: ICommentResolvedText) => {\n const sanitizedText = useMemo(() => {\n return getMessageWithDisplayName(comment, userState, \"html\") ?? \"\";\n }, [comment.message, userState.userMap, comment.toUsers]);\n\n return (\n <div\n data-testid={\"collab-thread-comment--message\"}\n className={classNames(\n \"collab-thread-comment--message\",\n collabStyles()[\"collab-thread-comment--message\"]\n )}\n dangerouslySetInnerHTML={{ __html: sanitizedText }}\n ></div>\n );\n};\n\nexport default CommentResolvedText;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAAwB;AAExB,yBAA0C;AAC1C,oBAA6B;AAC7B,wBAAuB;AAQf;AANR,IAAM,sBAAsB,CAAC,EAAE,SAAS,UAAU,MAA4B;AAC1E,QAAM,oBAAgB,sBAAQ,MAAM;AAChC,eAAO,8CAA0B,SAAS,WAAW,MAAM,KAAK;AAAA,EACpE,GAAG,CAAC,QAAQ,SAAS,UAAU,SAAS,QAAQ,OAAO,CAAC;AAExD,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAa;AAAA,MACb,eAAW,kBAAAA;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,gCAAgC;AAAA,MACnD;AAAA,MACA,yBAAyB,EAAE,QAAQ,cAAc;AAAA;AAAA,EACpD;AAET;AAEA,IAAO,8BAAQ;","names":["classNames"]}
@@ -2,20 +2,14 @@ import "../../../../chunk-5WRI5ZAA.js";
2
2
 
3
3
  // src/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.tsx
4
4
  import { useMemo } from "preact/hooks";
5
- import {
6
- getMessageWithDisplayName,
7
- sanitizeData
8
- } from "../../../utils/collabUtils.js";
5
+ import { getMessageWithDisplayName } from "../../../utils/collabUtils.js";
9
6
  import { collabStyles } from "../../../collab.style.js";
10
7
  import classNames from "classnames";
11
8
  import { jsx } from "preact/jsx-runtime";
12
9
  var CommentResolvedText = ({ comment, userState }) => {
13
- const text = useMemo(() => {
14
- return getMessageWithDisplayName(comment, userState, "html");
15
- }, [comment.message, userState.userMap, comment.toUsers]);
16
10
  const sanitizedText = useMemo(() => {
17
- return sanitizeData(text);
18
- }, [text]);
11
+ return getMessageWithDisplayName(comment, userState, "html") ?? "";
12
+ }, [comment.message, userState.userMap, comment.toUsers]);
19
13
  return /* @__PURE__ */ jsx(
20
14
  "div",
21
15
  {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport { useMemo } from \"preact/hooks\";\nimport { ICommentResolvedText } from \"../../../types/collab.types\";\nimport {\n getMessageWithDisplayName,\n sanitizeData,\n} from \"../../../utils/collabUtils\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst CommentResolvedText = ({ comment, userState }: ICommentResolvedText) => {\n const text = useMemo(() => {\n return getMessageWithDisplayName(comment, userState, \"html\");\n }, [comment.message, userState.userMap, comment.toUsers]);\n\n const sanitizedText = useMemo(() => {\n return sanitizeData(text);\n }, [text]);\n\n return (\n <div\n data-testid={\"collab-thread-comment--message\"}\n className={classNames(\n \"collab-thread-comment--message\",\n collabStyles()[\"collab-thread-comment--message\"]\n )}\n dangerouslySetInnerHTML={{ __html: sanitizedText }}\n ></div>\n );\n};\n\nexport default CommentResolvedText;\n"],"mappings":";;;AACA,SAAS,eAAe;AAExB;AAAA,EACI;AAAA,EACA;AAAA,OACG;AACP,SAAS,oBAAoB;AAC7B,OAAO,gBAAgB;AAYf;AAVR,IAAM,sBAAsB,CAAC,EAAE,SAAS,UAAU,MAA4B;AAC1E,QAAM,OAAO,QAAQ,MAAM;AACvB,WAAO,0BAA0B,SAAS,WAAW,MAAM;AAAA,EAC/D,GAAG,CAAC,QAAQ,SAAS,UAAU,SAAS,QAAQ,OAAO,CAAC;AAExD,QAAM,gBAAgB,QAAQ,MAAM;AAChC,WAAO,aAAa,IAAI;AAAA,EAC5B,GAAG,CAAC,IAAI,CAAC;AAET,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAa;AAAA,MACb,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,gCAAgC;AAAA,MACnD;AAAA,MACA,yBAAyB,EAAE,QAAQ,cAAc;AAAA;AAAA,EACpD;AAET;AAEA,IAAO,8BAAQ;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport { useMemo } from \"preact/hooks\";\nimport { ICommentResolvedText } from \"../../../types/collab.types\";\nimport { getMessageWithDisplayName } from \"../../../utils/collabUtils\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst CommentResolvedText = ({ comment, userState }: ICommentResolvedText) => {\n const sanitizedText = useMemo(() => {\n return getMessageWithDisplayName(comment, userState, \"html\") ?? \"\";\n }, [comment.message, userState.userMap, comment.toUsers]);\n\n return (\n <div\n data-testid={\"collab-thread-comment--message\"}\n className={classNames(\n \"collab-thread-comment--message\",\n collabStyles()[\"collab-thread-comment--message\"]\n )}\n dangerouslySetInnerHTML={{ __html: sanitizedText }}\n ></div>\n );\n};\n\nexport default CommentResolvedText;\n"],"mappings":";;;AACA,SAAS,eAAe;AAExB,SAAS,iCAAiC;AAC1C,SAAS,oBAAoB;AAC7B,OAAO,gBAAgB;AAQf;AANR,IAAM,sBAAsB,CAAC,EAAE,SAAS,UAAU,MAA4B;AAC1E,QAAM,gBAAgB,QAAQ,MAAM;AAChC,WAAO,0BAA0B,SAAS,WAAW,MAAM,KAAK;AAAA,EACpE,GAAG,CAAC,QAAQ,SAAS,UAAU,SAAS,QAAQ,OAAO,CAAC;AAExD,SACI;AAAA,IAAC;AAAA;AAAA,MACG,eAAa;AAAA,MACb,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,gCAAgC;AAAA,MACnD;AAAA,MACA,yBAAyB,EAAE,QAAQ,cAAc;AAAA;AAAA,EACpD;AAET;AAEA,IAAO,8BAAQ;","names":[]}