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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (508) 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/logger/logger.cjs +1 -1
  25. package/dist/legacy/logger/logger.cjs.map +1 -1
  26. package/dist/legacy/logger/logger.js +1 -1
  27. package/dist/legacy/logger/logger.js.map +1 -1
  28. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs +6 -2
  29. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  30. package/dist/legacy/preview/contentstack-live-preview-HOC.js +6 -2
  31. package/dist/legacy/preview/contentstack-live-preview-HOC.js.map +1 -1
  32. package/dist/legacy/types/types.cjs.map +1 -1
  33. package/dist/legacy/types/types.d.cts +10 -15
  34. package/dist/legacy/types/types.d.ts +10 -15
  35. package/dist/legacy/types/types.js.map +1 -1
  36. package/dist/legacy/visualBuilder/collab.style.cjs +131 -1
  37. package/dist/legacy/visualBuilder/collab.style.cjs.map +1 -1
  38. package/dist/legacy/visualBuilder/collab.style.d.cts +17 -0
  39. package/dist/legacy/visualBuilder/collab.style.d.ts +17 -0
  40. package/dist/legacy/visualBuilder/collab.style.js +131 -1
  41. package/dist/legacy/visualBuilder/collab.style.js.map +1 -1
  42. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs +70 -0
  43. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs.map +1 -0
  44. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.cts +12 -0
  45. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.ts +12 -0
  46. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js +41 -0
  47. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js.map +1 -0
  48. package/dist/legacy/visualBuilder/components/Collab/Button/Button.cjs +32 -10
  49. package/dist/legacy/visualBuilder/components/Collab/Button/Button.cjs.map +1 -1
  50. package/dist/legacy/visualBuilder/components/Collab/Button/Button.d.cts +2 -0
  51. package/dist/legacy/visualBuilder/components/Collab/Button/Button.d.ts +2 -0
  52. package/dist/legacy/visualBuilder/components/Collab/Button/Button.js +33 -11
  53. package/dist/legacy/visualBuilder/components/Collab/Button/Button.js.map +1 -1
  54. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.cjs +11 -4
  55. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.cjs.map +1 -1
  56. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.js +11 -4
  57. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.js.map +1 -1
  58. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.cjs +6 -1
  59. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.cjs.map +1 -1
  60. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.d.cts +1 -0
  61. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.d.ts +1 -0
  62. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.js +6 -1
  63. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.js.map +1 -1
  64. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs +8 -3
  65. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs.map +1 -1
  66. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js +9 -4
  67. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js.map +1 -1
  68. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs +1 -2
  69. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs.map +1 -1
  70. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.js +2 -3
  71. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.js.map +1 -1
  72. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs +2 -5
  73. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs.map +1 -1
  74. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js +3 -9
  75. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js.map +1 -1
  76. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs +98 -57
  77. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs.map +1 -1
  78. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js +98 -57
  79. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js.map +1 -1
  80. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs +92 -0
  81. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs.map +1 -0
  82. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.cts +13 -0
  83. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.ts +13 -0
  84. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js +63 -0
  85. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js.map +1 -0
  86. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs +1 -0
  87. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs.map +1 -1
  88. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js +1 -0
  89. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js.map +1 -1
  90. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs +19 -50
  91. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs.map +1 -1
  92. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js +21 -52
  93. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js.map +1 -1
  94. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.cjs +29 -18
  95. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.cjs.map +1 -1
  96. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.js +29 -18
  97. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.js.map +1 -1
  98. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.cjs +19 -35
  99. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.cjs.map +1 -1
  100. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.js +19 -35
  101. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.js.map +1 -1
  102. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs +28 -22
  103. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  104. package/dist/legacy/visualBuilder/components/FieldToolbar.d.cts +1 -0
  105. package/dist/legacy/visualBuilder/components/FieldToolbar.d.ts +1 -0
  106. package/dist/legacy/visualBuilder/components/FieldToolbar.js +29 -24
  107. package/dist/legacy/visualBuilder/components/FieldToolbar.js.map +1 -1
  108. package/dist/legacy/visualBuilder/components/addInstanceButton.cjs +39 -11
  109. package/dist/legacy/visualBuilder/components/addInstanceButton.cjs.map +1 -1
  110. package/dist/legacy/visualBuilder/components/addInstanceButton.d.cts +5 -0
  111. package/dist/legacy/visualBuilder/components/addInstanceButton.d.ts +5 -0
  112. package/dist/legacy/visualBuilder/components/addInstanceButton.js +39 -11
  113. package/dist/legacy/visualBuilder/components/addInstanceButton.js.map +1 -1
  114. package/dist/legacy/visualBuilder/components/startEditingButton.cjs +38 -11
  115. package/dist/legacy/visualBuilder/components/startEditingButton.cjs.map +1 -1
  116. package/dist/legacy/visualBuilder/components/startEditingButton.d.cts +7 -2
  117. package/dist/legacy/visualBuilder/components/startEditingButton.d.ts +7 -2
  118. package/dist/legacy/visualBuilder/components/startEditingButton.js +34 -11
  119. package/dist/legacy/visualBuilder/components/startEditingButton.js.map +1 -1
  120. package/dist/legacy/visualBuilder/eventManager/useCollab.cjs +57 -19
  121. package/dist/legacy/visualBuilder/eventManager/useCollab.cjs.map +1 -1
  122. package/dist/legacy/visualBuilder/eventManager/useCollab.js +57 -19
  123. package/dist/legacy/visualBuilder/eventManager/useCollab.js.map +1 -1
  124. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs +7 -2
  125. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs.map +1 -1
  126. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js +7 -2
  127. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js.map +1 -1
  128. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs +59 -4
  129. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs.map +1 -1
  130. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js +59 -4
  131. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js.map +1 -1
  132. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.cjs +8 -2
  133. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.cjs.map +1 -1
  134. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.d.cts +9 -3
  135. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.d.ts +9 -3
  136. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.js +8 -2
  137. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.js.map +1 -1
  138. package/dist/legacy/visualBuilder/generators/generateOverlay.cjs +5 -0
  139. package/dist/legacy/visualBuilder/generators/generateOverlay.cjs.map +1 -1
  140. package/dist/legacy/visualBuilder/generators/generateOverlay.js +5 -0
  141. package/dist/legacy/visualBuilder/generators/generateOverlay.js.map +1 -1
  142. package/dist/legacy/visualBuilder/generators/generateThread.cjs +103 -18
  143. package/dist/legacy/visualBuilder/generators/generateThread.cjs.map +1 -1
  144. package/dist/legacy/visualBuilder/generators/generateThread.d.cts +3 -1
  145. package/dist/legacy/visualBuilder/generators/generateThread.d.ts +3 -1
  146. package/dist/legacy/visualBuilder/generators/generateThread.js +101 -17
  147. package/dist/legacy/visualBuilder/generators/generateThread.js.map +1 -1
  148. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs +13 -5
  149. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  150. package/dist/legacy/visualBuilder/generators/generateToolbar.d.cts +2 -2
  151. package/dist/legacy/visualBuilder/generators/generateToolbar.d.ts +2 -2
  152. package/dist/legacy/visualBuilder/generators/generateToolbar.js +13 -5
  153. package/dist/legacy/visualBuilder/generators/generateToolbar.js.map +1 -1
  154. package/dist/legacy/visualBuilder/hooks/useCollabOperations.cjs +9 -8
  155. package/dist/legacy/visualBuilder/hooks/useCollabOperations.cjs.map +1 -1
  156. package/dist/legacy/visualBuilder/hooks/useCollabOperations.js +9 -8
  157. package/dist/legacy/visualBuilder/hooks/useCollabOperations.js.map +1 -1
  158. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.cjs +23 -5
  159. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.cjs.map +1 -1
  160. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.d.cts +1 -0
  161. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.d.ts +1 -0
  162. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.js +23 -5
  163. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.js.map +1 -1
  164. package/dist/legacy/visualBuilder/index.cjs +16 -11
  165. package/dist/legacy/visualBuilder/index.cjs.map +1 -1
  166. package/dist/legacy/visualBuilder/index.d.cts +1 -0
  167. package/dist/legacy/visualBuilder/index.d.ts +1 -0
  168. package/dist/legacy/visualBuilder/index.js +14 -5
  169. package/dist/legacy/visualBuilder/index.js.map +1 -1
  170. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs +93 -20
  171. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  172. package/dist/legacy/visualBuilder/listeners/mouseClick.d.cts +4 -1
  173. package/dist/legacy/visualBuilder/listeners/mouseClick.d.ts +4 -1
  174. package/dist/legacy/visualBuilder/listeners/mouseClick.js +93 -20
  175. package/dist/legacy/visualBuilder/listeners/mouseClick.js.map +1 -1
  176. package/dist/legacy/visualBuilder/listeners/mouseHover.cjs +3 -1
  177. package/dist/legacy/visualBuilder/listeners/mouseHover.cjs.map +1 -1
  178. package/dist/legacy/visualBuilder/listeners/mouseHover.js +3 -1
  179. package/dist/legacy/visualBuilder/listeners/mouseHover.js.map +1 -1
  180. package/dist/legacy/visualBuilder/types/collab.types.cjs.map +1 -1
  181. package/dist/legacy/visualBuilder/types/collab.types.d.cts +22 -1
  182. package/dist/legacy/visualBuilder/types/collab.types.d.ts +22 -1
  183. package/dist/legacy/visualBuilder/utils/collabUtils.cjs +108 -4
  184. package/dist/legacy/visualBuilder/utils/collabUtils.cjs.map +1 -1
  185. package/dist/legacy/visualBuilder/utils/collabUtils.d.cts +25 -1
  186. package/dist/legacy/visualBuilder/utils/collabUtils.d.ts +25 -1
  187. package/dist/legacy/visualBuilder/utils/collabUtils.js +103 -4
  188. package/dist/legacy/visualBuilder/utils/collabUtils.js.map +1 -1
  189. package/dist/legacy/visualBuilder/utils/enableInlineEditing.cjs +94 -0
  190. package/dist/legacy/visualBuilder/utils/enableInlineEditing.cjs.map +1 -0
  191. package/dist/legacy/visualBuilder/utils/enableInlineEditing.d.cts +11 -0
  192. package/dist/legacy/visualBuilder/utils/enableInlineEditing.d.ts +11 -0
  193. package/dist/legacy/visualBuilder/utils/enableInlineEditing.js +74 -0
  194. package/dist/legacy/visualBuilder/utils/enableInlineEditing.js.map +1 -0
  195. package/dist/legacy/visualBuilder/utils/getChildrenDirection.cjs +8 -0
  196. package/dist/legacy/visualBuilder/utils/getChildrenDirection.cjs.map +1 -1
  197. package/dist/legacy/visualBuilder/utils/getChildrenDirection.d.cts +3 -1
  198. package/dist/legacy/visualBuilder/utils/getChildrenDirection.d.ts +3 -1
  199. package/dist/legacy/visualBuilder/utils/getChildrenDirection.js +8 -0
  200. package/dist/legacy/visualBuilder/utils/getChildrenDirection.js.map +1 -1
  201. package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.cjs +4 -1
  202. package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.cjs.map +1 -1
  203. package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.js +4 -1
  204. package/dist/legacy/visualBuilder/utils/handleFieldMouseDown.js.map +1 -1
  205. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs +24 -112
  206. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  207. package/dist/legacy/visualBuilder/utils/handleIndividualFields.d.cts +3 -5
  208. package/dist/legacy/visualBuilder/utils/handleIndividualFields.d.ts +3 -5
  209. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js +22 -116
  210. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  211. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.cjs +81 -0
  212. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.cjs.map +1 -0
  213. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.d.cts +16 -0
  214. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.d.ts +16 -0
  215. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.js +58 -0
  216. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.js.map +1 -0
  217. package/dist/legacy/visualBuilder/utils/isFieldMultiple.cjs +35 -0
  218. package/dist/legacy/visualBuilder/utils/isFieldMultiple.cjs.map +1 -0
  219. package/dist/legacy/visualBuilder/utils/isFieldMultiple.d.cts +6 -0
  220. package/dist/legacy/visualBuilder/utils/isFieldMultiple.d.ts +6 -0
  221. package/dist/legacy/visualBuilder/utils/isFieldMultiple.js +12 -0
  222. package/dist/legacy/visualBuilder/utils/isFieldMultiple.js.map +1 -0
  223. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs +14 -20
  224. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  225. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.d.cts +1 -1
  226. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.d.ts +1 -1
  227. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js +14 -20
  228. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  229. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.cjs +44 -0
  230. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.cjs.map +1 -0
  231. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.d.cts +5 -0
  232. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.d.ts +5 -0
  233. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.js +21 -0
  234. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.js.map +1 -0
  235. package/dist/legacy/visualBuilder/utils/types/index.types.cjs.map +1 -1
  236. package/dist/legacy/visualBuilder/utils/types/index.types.d.cts +6 -1
  237. package/dist/legacy/visualBuilder/utils/types/index.types.d.ts +6 -1
  238. package/dist/legacy/visualBuilder/utils/types/index.types.js.map +1 -1
  239. package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs +2 -1
  240. package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
  241. package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.cts +2 -1
  242. package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.ts +2 -1
  243. package/dist/legacy/visualBuilder/utils/types/postMessage.types.js +2 -1
  244. package/dist/legacy/visualBuilder/utils/types/postMessage.types.js.map +1 -1
  245. package/dist/legacy/visualBuilder/utils/updateFocussedState.cjs +10 -7
  246. package/dist/legacy/visualBuilder/utils/updateFocussedState.cjs.map +1 -1
  247. package/dist/legacy/visualBuilder/utils/updateFocussedState.js +10 -7
  248. package/dist/legacy/visualBuilder/utils/updateFocussedState.js.map +1 -1
  249. package/dist/legacy/visualBuilder/visualBuilder.style.cjs +27 -5
  250. package/dist/legacy/visualBuilder/visualBuilder.style.cjs.map +1 -1
  251. package/dist/legacy/visualBuilder/visualBuilder.style.d.cts +6 -1
  252. package/dist/legacy/visualBuilder/visualBuilder.style.d.ts +6 -1
  253. package/dist/legacy/visualBuilder/visualBuilder.style.js +27 -5
  254. package/dist/legacy/visualBuilder/visualBuilder.style.js.map +1 -1
  255. package/dist/modern/configManager/config.default.cjs +10 -1
  256. package/dist/modern/configManager/config.default.cjs.map +1 -1
  257. package/dist/modern/configManager/config.default.js +10 -1
  258. package/dist/modern/configManager/config.default.js.map +1 -1
  259. package/dist/modern/configManager/handleUserConfig.cjs +4 -0
  260. package/dist/modern/configManager/handleUserConfig.cjs.map +1 -1
  261. package/dist/modern/configManager/handleUserConfig.js +4 -0
  262. package/dist/modern/configManager/handleUserConfig.js.map +1 -1
  263. package/dist/modern/index.cjs +45 -1
  264. package/dist/modern/index.cjs.map +1 -1
  265. package/dist/modern/index.d.cts +16 -2
  266. package/dist/modern/index.d.ts +16 -2
  267. package/dist/modern/index.js +45 -1
  268. package/dist/modern/index.js.map +1 -1
  269. package/dist/modern/livePreview/editButton/editButton.cjs +85 -1
  270. package/dist/modern/livePreview/editButton/editButton.cjs.map +1 -1
  271. package/dist/modern/livePreview/editButton/editButton.d.cts +14 -1
  272. package/dist/modern/livePreview/editButton/editButton.d.ts +14 -1
  273. package/dist/modern/livePreview/editButton/editButton.js +84 -1
  274. package/dist/modern/livePreview/editButton/editButton.js.map +1 -1
  275. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
  276. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
  277. package/dist/modern/logger/logger.cjs +1 -1
  278. package/dist/modern/logger/logger.cjs.map +1 -1
  279. package/dist/modern/logger/logger.js +1 -1
  280. package/dist/modern/logger/logger.js.map +1 -1
  281. package/dist/modern/preview/contentstack-live-preview-HOC.cjs +6 -2
  282. package/dist/modern/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  283. package/dist/modern/preview/contentstack-live-preview-HOC.js +6 -2
  284. package/dist/modern/preview/contentstack-live-preview-HOC.js.map +1 -1
  285. package/dist/modern/types/types.cjs.map +1 -1
  286. package/dist/modern/types/types.d.cts +10 -15
  287. package/dist/modern/types/types.d.ts +10 -15
  288. package/dist/modern/types/types.js.map +1 -1
  289. package/dist/modern/visualBuilder/collab.style.cjs +131 -1
  290. package/dist/modern/visualBuilder/collab.style.cjs.map +1 -1
  291. package/dist/modern/visualBuilder/collab.style.d.cts +17 -0
  292. package/dist/modern/visualBuilder/collab.style.d.ts +17 -0
  293. package/dist/modern/visualBuilder/collab.style.js +131 -1
  294. package/dist/modern/visualBuilder/collab.style.js.map +1 -1
  295. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs +70 -0
  296. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs.map +1 -0
  297. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.cts +12 -0
  298. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.ts +12 -0
  299. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js +41 -0
  300. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js.map +1 -0
  301. package/dist/modern/visualBuilder/components/Collab/Button/Button.cjs +32 -10
  302. package/dist/modern/visualBuilder/components/Collab/Button/Button.cjs.map +1 -1
  303. package/dist/modern/visualBuilder/components/Collab/Button/Button.d.cts +2 -0
  304. package/dist/modern/visualBuilder/components/Collab/Button/Button.d.ts +2 -0
  305. package/dist/modern/visualBuilder/components/Collab/Button/Button.js +33 -11
  306. package/dist/modern/visualBuilder/components/Collab/Button/Button.js.map +1 -1
  307. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.cjs +7 -1
  308. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.cjs.map +1 -1
  309. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.js +7 -1
  310. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.js.map +1 -1
  311. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.cjs +6 -1
  312. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.cjs.map +1 -1
  313. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.d.cts +1 -0
  314. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.d.ts +1 -0
  315. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.js +6 -1
  316. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.js.map +1 -1
  317. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs +8 -3
  318. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs.map +1 -1
  319. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js +9 -4
  320. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js.map +1 -1
  321. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs +1 -2
  322. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs.map +1 -1
  323. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.js +2 -3
  324. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.js.map +1 -1
  325. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs +2 -5
  326. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs.map +1 -1
  327. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js +3 -9
  328. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js.map +1 -1
  329. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs +94 -57
  330. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs.map +1 -1
  331. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js +94 -57
  332. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js.map +1 -1
  333. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs +92 -0
  334. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs.map +1 -0
  335. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.cts +13 -0
  336. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.ts +13 -0
  337. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js +63 -0
  338. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js.map +1 -0
  339. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs +1 -0
  340. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs.map +1 -1
  341. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js +1 -0
  342. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js.map +1 -1
  343. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs +19 -50
  344. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs.map +1 -1
  345. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js +21 -52
  346. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js.map +1 -1
  347. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.cjs +29 -18
  348. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.cjs.map +1 -1
  349. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.js +29 -18
  350. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.js.map +1 -1
  351. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.cjs +19 -35
  352. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.cjs.map +1 -1
  353. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.js +19 -35
  354. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.js.map +1 -1
  355. package/dist/modern/visualBuilder/components/FieldToolbar.cjs +28 -21
  356. package/dist/modern/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  357. package/dist/modern/visualBuilder/components/FieldToolbar.d.cts +1 -0
  358. package/dist/modern/visualBuilder/components/FieldToolbar.d.ts +1 -0
  359. package/dist/modern/visualBuilder/components/FieldToolbar.js +29 -23
  360. package/dist/modern/visualBuilder/components/FieldToolbar.js.map +1 -1
  361. package/dist/modern/visualBuilder/components/addInstanceButton.cjs +38 -11
  362. package/dist/modern/visualBuilder/components/addInstanceButton.cjs.map +1 -1
  363. package/dist/modern/visualBuilder/components/addInstanceButton.d.cts +5 -0
  364. package/dist/modern/visualBuilder/components/addInstanceButton.d.ts +5 -0
  365. package/dist/modern/visualBuilder/components/addInstanceButton.js +38 -11
  366. package/dist/modern/visualBuilder/components/addInstanceButton.js.map +1 -1
  367. package/dist/modern/visualBuilder/components/startEditingButton.cjs +38 -11
  368. package/dist/modern/visualBuilder/components/startEditingButton.cjs.map +1 -1
  369. package/dist/modern/visualBuilder/components/startEditingButton.d.cts +7 -2
  370. package/dist/modern/visualBuilder/components/startEditingButton.d.ts +7 -2
  371. package/dist/modern/visualBuilder/components/startEditingButton.js +34 -11
  372. package/dist/modern/visualBuilder/components/startEditingButton.js.map +1 -1
  373. package/dist/modern/visualBuilder/eventManager/useCollab.cjs +45 -11
  374. package/dist/modern/visualBuilder/eventManager/useCollab.cjs.map +1 -1
  375. package/dist/modern/visualBuilder/eventManager/useCollab.js +45 -11
  376. package/dist/modern/visualBuilder/eventManager/useCollab.js.map +1 -1
  377. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs +5 -0
  378. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs.map +1 -1
  379. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js +5 -0
  380. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js.map +1 -1
  381. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs +59 -4
  382. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs.map +1 -1
  383. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js +59 -4
  384. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js.map +1 -1
  385. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.cjs +8 -2
  386. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.cjs.map +1 -1
  387. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.d.cts +9 -3
  388. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.d.ts +9 -3
  389. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.js +8 -2
  390. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.js.map +1 -1
  391. package/dist/modern/visualBuilder/generators/generateOverlay.cjs +5 -0
  392. package/dist/modern/visualBuilder/generators/generateOverlay.cjs.map +1 -1
  393. package/dist/modern/visualBuilder/generators/generateOverlay.js +5 -0
  394. package/dist/modern/visualBuilder/generators/generateOverlay.js.map +1 -1
  395. package/dist/modern/visualBuilder/generators/generateThread.cjs +102 -16
  396. package/dist/modern/visualBuilder/generators/generateThread.cjs.map +1 -1
  397. package/dist/modern/visualBuilder/generators/generateThread.d.cts +3 -1
  398. package/dist/modern/visualBuilder/generators/generateThread.d.ts +3 -1
  399. package/dist/modern/visualBuilder/generators/generateThread.js +100 -15
  400. package/dist/modern/visualBuilder/generators/generateThread.js.map +1 -1
  401. package/dist/modern/visualBuilder/generators/generateToolbar.cjs +13 -5
  402. package/dist/modern/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  403. package/dist/modern/visualBuilder/generators/generateToolbar.d.cts +2 -2
  404. package/dist/modern/visualBuilder/generators/generateToolbar.d.ts +2 -2
  405. package/dist/modern/visualBuilder/generators/generateToolbar.js +13 -5
  406. package/dist/modern/visualBuilder/generators/generateToolbar.js.map +1 -1
  407. package/dist/modern/visualBuilder/hooks/useCollabOperations.cjs +9 -8
  408. package/dist/modern/visualBuilder/hooks/useCollabOperations.cjs.map +1 -1
  409. package/dist/modern/visualBuilder/hooks/useCollabOperations.js +9 -8
  410. package/dist/modern/visualBuilder/hooks/useCollabOperations.js.map +1 -1
  411. package/dist/modern/visualBuilder/hooks/useCommentTextArea.cjs +22 -5
  412. package/dist/modern/visualBuilder/hooks/useCommentTextArea.cjs.map +1 -1
  413. package/dist/modern/visualBuilder/hooks/useCommentTextArea.d.cts +1 -0
  414. package/dist/modern/visualBuilder/hooks/useCommentTextArea.d.ts +1 -0
  415. package/dist/modern/visualBuilder/hooks/useCommentTextArea.js +22 -5
  416. package/dist/modern/visualBuilder/hooks/useCommentTextArea.js.map +1 -1
  417. package/dist/modern/visualBuilder/index.cjs +16 -11
  418. package/dist/modern/visualBuilder/index.cjs.map +1 -1
  419. package/dist/modern/visualBuilder/index.d.cts +1 -0
  420. package/dist/modern/visualBuilder/index.d.ts +1 -0
  421. package/dist/modern/visualBuilder/index.js +14 -5
  422. package/dist/modern/visualBuilder/index.js.map +1 -1
  423. package/dist/modern/visualBuilder/listeners/mouseClick.cjs +90 -18
  424. package/dist/modern/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  425. package/dist/modern/visualBuilder/listeners/mouseClick.d.cts +4 -1
  426. package/dist/modern/visualBuilder/listeners/mouseClick.d.ts +4 -1
  427. package/dist/modern/visualBuilder/listeners/mouseClick.js +90 -18
  428. package/dist/modern/visualBuilder/listeners/mouseClick.js.map +1 -1
  429. package/dist/modern/visualBuilder/listeners/mouseHover.cjs +3 -1
  430. package/dist/modern/visualBuilder/listeners/mouseHover.cjs.map +1 -1
  431. package/dist/modern/visualBuilder/listeners/mouseHover.js +3 -1
  432. package/dist/modern/visualBuilder/listeners/mouseHover.js.map +1 -1
  433. package/dist/modern/visualBuilder/types/collab.types.cjs.map +1 -1
  434. package/dist/modern/visualBuilder/types/collab.types.d.cts +22 -1
  435. package/dist/modern/visualBuilder/types/collab.types.d.ts +22 -1
  436. package/dist/modern/visualBuilder/utils/collabUtils.cjs +108 -4
  437. package/dist/modern/visualBuilder/utils/collabUtils.cjs.map +1 -1
  438. package/dist/modern/visualBuilder/utils/collabUtils.d.cts +25 -1
  439. package/dist/modern/visualBuilder/utils/collabUtils.d.ts +25 -1
  440. package/dist/modern/visualBuilder/utils/collabUtils.js +103 -4
  441. package/dist/modern/visualBuilder/utils/collabUtils.js.map +1 -1
  442. package/dist/modern/visualBuilder/utils/enableInlineEditing.cjs +94 -0
  443. package/dist/modern/visualBuilder/utils/enableInlineEditing.cjs.map +1 -0
  444. package/dist/modern/visualBuilder/utils/enableInlineEditing.d.cts +11 -0
  445. package/dist/modern/visualBuilder/utils/enableInlineEditing.d.ts +11 -0
  446. package/dist/modern/visualBuilder/utils/enableInlineEditing.js +74 -0
  447. package/dist/modern/visualBuilder/utils/enableInlineEditing.js.map +1 -0
  448. package/dist/modern/visualBuilder/utils/getChildrenDirection.cjs +8 -0
  449. package/dist/modern/visualBuilder/utils/getChildrenDirection.cjs.map +1 -1
  450. package/dist/modern/visualBuilder/utils/getChildrenDirection.d.cts +3 -1
  451. package/dist/modern/visualBuilder/utils/getChildrenDirection.d.ts +3 -1
  452. package/dist/modern/visualBuilder/utils/getChildrenDirection.js +8 -0
  453. package/dist/modern/visualBuilder/utils/getChildrenDirection.js.map +1 -1
  454. package/dist/modern/visualBuilder/utils/handleFieldMouseDown.cjs +4 -1
  455. package/dist/modern/visualBuilder/utils/handleFieldMouseDown.cjs.map +1 -1
  456. package/dist/modern/visualBuilder/utils/handleFieldMouseDown.js +4 -1
  457. package/dist/modern/visualBuilder/utils/handleFieldMouseDown.js.map +1 -1
  458. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs +23 -111
  459. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  460. package/dist/modern/visualBuilder/utils/handleIndividualFields.d.cts +3 -5
  461. package/dist/modern/visualBuilder/utils/handleIndividualFields.d.ts +3 -5
  462. package/dist/modern/visualBuilder/utils/handleIndividualFields.js +21 -115
  463. package/dist/modern/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  464. package/dist/modern/visualBuilder/utils/handleInlineEditableField.cjs +81 -0
  465. package/dist/modern/visualBuilder/utils/handleInlineEditableField.cjs.map +1 -0
  466. package/dist/modern/visualBuilder/utils/handleInlineEditableField.d.cts +16 -0
  467. package/dist/modern/visualBuilder/utils/handleInlineEditableField.d.ts +16 -0
  468. package/dist/modern/visualBuilder/utils/handleInlineEditableField.js +58 -0
  469. package/dist/modern/visualBuilder/utils/handleInlineEditableField.js.map +1 -0
  470. package/dist/modern/visualBuilder/utils/isFieldMultiple.cjs +35 -0
  471. package/dist/modern/visualBuilder/utils/isFieldMultiple.cjs.map +1 -0
  472. package/dist/modern/visualBuilder/utils/isFieldMultiple.d.cts +6 -0
  473. package/dist/modern/visualBuilder/utils/isFieldMultiple.d.ts +6 -0
  474. package/dist/modern/visualBuilder/utils/isFieldMultiple.js +12 -0
  475. package/dist/modern/visualBuilder/utils/isFieldMultiple.js.map +1 -0
  476. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs +14 -18
  477. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  478. package/dist/modern/visualBuilder/utils/multipleElementAddButton.d.cts +1 -1
  479. package/dist/modern/visualBuilder/utils/multipleElementAddButton.d.ts +1 -1
  480. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js +14 -18
  481. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  482. package/dist/modern/visualBuilder/utils/pasteAsPlainText.cjs +44 -0
  483. package/dist/modern/visualBuilder/utils/pasteAsPlainText.cjs.map +1 -0
  484. package/dist/modern/visualBuilder/utils/pasteAsPlainText.d.cts +5 -0
  485. package/dist/modern/visualBuilder/utils/pasteAsPlainText.d.ts +5 -0
  486. package/dist/modern/visualBuilder/utils/pasteAsPlainText.js +21 -0
  487. package/dist/modern/visualBuilder/utils/pasteAsPlainText.js.map +1 -0
  488. package/dist/modern/visualBuilder/utils/types/index.types.cjs.map +1 -1
  489. package/dist/modern/visualBuilder/utils/types/index.types.d.cts +6 -1
  490. package/dist/modern/visualBuilder/utils/types/index.types.d.ts +6 -1
  491. package/dist/modern/visualBuilder/utils/types/index.types.js.map +1 -1
  492. package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs +2 -1
  493. package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
  494. package/dist/modern/visualBuilder/utils/types/postMessage.types.d.cts +2 -1
  495. package/dist/modern/visualBuilder/utils/types/postMessage.types.d.ts +2 -1
  496. package/dist/modern/visualBuilder/utils/types/postMessage.types.js +2 -1
  497. package/dist/modern/visualBuilder/utils/types/postMessage.types.js.map +1 -1
  498. package/dist/modern/visualBuilder/utils/updateFocussedState.cjs +10 -7
  499. package/dist/modern/visualBuilder/utils/updateFocussedState.cjs.map +1 -1
  500. package/dist/modern/visualBuilder/utils/updateFocussedState.js +10 -7
  501. package/dist/modern/visualBuilder/utils/updateFocussedState.js.map +1 -1
  502. package/dist/modern/visualBuilder/visualBuilder.style.cjs +27 -5
  503. package/dist/modern/visualBuilder/visualBuilder.style.cjs.map +1 -1
  504. package/dist/modern/visualBuilder/visualBuilder.style.d.cts +6 -1
  505. package/dist/modern/visualBuilder/visualBuilder.style.d.ts +6 -1
  506. package/dist/modern/visualBuilder/visualBuilder.style.js +27 -5
  507. package/dist/modern/visualBuilder/visualBuilder.style.js.map +1 -1
  508. package/package.json +4 -3
@@ -2,27 +2,28 @@ import "../../../../chunk-5WRI5ZAA.js";
2
2
 
3
3
  // src/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.tsx
4
4
  import React from "preact/compat";
5
- import { useCallback } from "preact/hooks";
5
+ import { useCallback, useState } from "preact/hooks";
6
6
  import classNames from "classnames";
7
- import Button from "../Button/Button.js";
7
+ import ThreadActionBar from "./ThreadActionBar.js";
8
8
  import { collabStyles, flexAlignCenter } from "../../../collab.style.js";
9
- import { getThreadTitle } from "../../../utils/collabUtils.js";
10
- import { jsx, jsxs } from "preact/jsx-runtime";
9
+ import { jsx } from "preact/jsx-runtime";
11
10
  var ThreadHeader = React.memo(
12
11
  ({ onClose, displayResolve, onResolve, commentCount, activeThread }) => {
12
+ const [isResolving, setIsResolving] = useState(false);
13
13
  const handleResolve = useCallback(async () => {
14
+ if (isResolving) return;
14
15
  try {
16
+ setIsResolving(true);
15
17
  const payload = {
16
18
  threadUid: activeThread._id,
17
- payload: {
18
- threadState: 2
19
- }
19
+ payload: { threadState: 2 }
20
20
  };
21
- const resolveResponse = await onResolve(payload);
21
+ await onResolve(payload);
22
+ } finally {
22
23
  onClose(true);
23
- } catch (error) {
24
+ setIsResolving(false);
24
25
  }
25
- }, [activeThread]);
26
+ }, [activeThread, isResolving, onResolve, onClose]);
26
27
  return /* @__PURE__ */ jsx(
27
28
  "div",
28
29
  {
@@ -32,7 +33,7 @@ var ThreadHeader = React.memo(
32
33
  collabStyles()["collab-thread-header--wrapper"],
33
34
  flexAlignCenter
34
35
  ),
35
- children: /* @__PURE__ */ jsxs(
36
+ children: /* @__PURE__ */ jsx(
36
37
  "div",
37
38
  {
38
39
  className: classNames(
@@ -41,47 +42,15 @@ var ThreadHeader = React.memo(
41
42
  collabStyles()["collab-thread-header--container"],
42
43
  flexAlignCenter
43
44
  ),
44
- children: [
45
- /* @__PURE__ */ jsx(
46
- "div",
47
- {
48
- className: classNames(
49
- "collab-thread-header--title",
50
- collabStyles()["collab-thread-header--title"]
51
- ),
52
- children: getThreadTitle(commentCount)
53
- }
54
- ),
55
- displayResolve ? /* @__PURE__ */ jsx(
56
- Button,
57
- {
58
- buttonType: "tertiary",
59
- className: classNames(
60
- "collab-thread-header--resolve",
61
- collabStyles()["collab-thread-header--resolve"]
62
- ),
63
- icon: "RightMarkActive",
64
- iconProps: {
65
- className: classNames(
66
- collabStyles()["collab-thread-header--resolve--icon"],
67
- "collab-thread-header--resolve--icon"
68
- )
69
- },
70
- onClick: handleResolve,
71
- testId: "collab-thread-resolve-btn",
72
- children: /* @__PURE__ */ jsx(
73
- "span",
74
- {
75
- className: classNames(
76
- "collab-thread-header--resolve--text",
77
- collabStyles()["collab-thread-header--resolve--text"]
78
- ),
79
- children: "Resolve"
80
- }
81
- )
82
- }
83
- ) : null
84
- ]
45
+ children: /* @__PURE__ */ jsx(
46
+ ThreadActionBar,
47
+ {
48
+ commentCount,
49
+ displayResolve,
50
+ handleResolve,
51
+ isResolving
52
+ }
53
+ )
85
54
  }
86
55
  )
87
56
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useCallback } from \"preact/hooks\";\nimport classNames from \"classnames\";\nimport Button from \"../Button/Button\";\nimport { collabStyles, flexAlignCenter } from \"../../../collab.style\";\nimport { getThreadTitle } from \"../../../utils/collabUtils\";\nimport {\n IDefaultAPIResponse,\n IThreadHeader,\n} from \"../../../types/collab.types\";\n\nconst ThreadHeader: React.FC<IThreadHeader> = React.memo(\n ({ onClose, displayResolve, onResolve, commentCount, activeThread }) => {\n // Handler for deleting a comment\n const handleResolve = useCallback(async () => {\n try {\n // Call the onResolveComment function\n const payload = {\n threadUid: activeThread._id,\n payload: {\n threadState: 2,\n },\n };\n const resolveResponse: IDefaultAPIResponse =\n await onResolve(payload);\n onClose(true);\n } catch (error: any) {}\n }, [activeThread]);\n\n return (\n <div\n className={classNames(\n \"collab-thread-header--wrapper\",\n \"flex-v-center\",\n collabStyles()[\"collab-thread-header--wrapper\"],\n flexAlignCenter\n )}\n >\n <div\n className={classNames(\n \"collab-thread-header--container\",\n \"flex-v-center\",\n collabStyles()[\"collab-thread-header--container\"],\n flexAlignCenter\n )}\n >\n <div\n className={classNames(\n \"collab-thread-header--title\",\n collabStyles()[\"collab-thread-header--title\"]\n )}\n >\n {getThreadTitle(commentCount)}\n </div>\n {displayResolve ? (\n <Button\n buttonType=\"tertiary\"\n className={classNames(\n \"collab-thread-header--resolve\",\n collabStyles()[\"collab-thread-header--resolve\"]\n )}\n icon=\"RightMarkActive\"\n iconProps={{\n className: classNames(\n collabStyles()[\n \"collab-thread-header--resolve--icon\"\n ],\n \"collab-thread-header--resolve--icon\"\n ),\n }}\n onClick={handleResolve}\n testId=\"collab-thread-resolve-btn\"\n >\n <span\n className={classNames(\n \"collab-thread-header--resolve--text\",\n collabStyles()[\n \"collab-thread-header--resolve--text\"\n ]\n )}\n >\n Resolve\n </span>\n </Button>\n ) : null}\n </div>\n </div>\n );\n }\n);\n\nexport default ThreadHeader;\n"],"mappings":";;;AACA,OAAO,WAAW;AAClB,SAAS,mBAAmB;AAC5B,OAAO,gBAAgB;AACvB,OAAO,YAAY;AACnB,SAAS,cAAc,uBAAuB;AAC9C,SAAS,sBAAsB;AAiCf,SAQI,KARJ;AA3BhB,IAAM,eAAwC,MAAM;AAAA,EAChD,CAAC,EAAE,SAAS,gBAAgB,WAAW,cAAc,aAAa,MAAM;AAEpE,UAAM,gBAAgB,YAAY,YAAY;AAC1C,UAAI;AAEA,cAAM,UAAU;AAAA,UACZ,WAAW,aAAa;AAAA,UACxB,SAAS;AAAA,YACL,aAAa;AAAA,UACjB;AAAA,QACJ;AACA,cAAM,kBACF,MAAM,UAAU,OAAO;AAC3B,gBAAQ,IAAI;AAAA,MAChB,SAAS,OAAY;AAAA,MAAC;AAAA,IAC1B,GAAG,CAAC,YAAY,CAAC;AAEjB,WACI;AAAA,MAAC;AAAA;AAAA,QACG,WAAW;AAAA,UACP;AAAA,UACA;AAAA,UACA,aAAa,EAAE,+BAA+B;AAAA,UAC9C;AAAA,QACJ;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACG,WAAW;AAAA,cACP;AAAA,cACA;AAAA,cACA,aAAa,EAAE,iCAAiC;AAAA,cAChD;AAAA,YACJ;AAAA,YAEA;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACG,WAAW;AAAA,oBACP;AAAA,oBACA,aAAa,EAAE,6BAA6B;AAAA,kBAChD;AAAA,kBAEC,yBAAe,YAAY;AAAA;AAAA,cAChC;AAAA,cACC,iBACG;AAAA,gBAAC;AAAA;AAAA,kBACG,YAAW;AAAA,kBACX,WAAW;AAAA,oBACP;AAAA,oBACA,aAAa,EAAE,+BAA+B;AAAA,kBAClD;AAAA,kBACA,MAAK;AAAA,kBACL,WAAW;AAAA,oBACP,WAAW;AAAA,sBACP,aAAa,EACT,qCACJ;AAAA,sBACA;AAAA,oBACJ;AAAA,kBACJ;AAAA,kBACA,SAAS;AAAA,kBACT,QAAO;AAAA,kBAEP;AAAA,oBAAC;AAAA;AAAA,sBACG,WAAW;AAAA,wBACP;AAAA,wBACA,aAAa,EACT,qCACJ;AAAA,sBACJ;AAAA,sBACH;AAAA;AAAA,kBAED;AAAA;AAAA,cACJ,IACA;AAAA;AAAA;AAAA,QACR;AAAA;AAAA,IACJ;AAAA,EAER;AACJ;AAEA,IAAO,uBAAQ;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useCallback, useState } from \"preact/hooks\";\nimport classNames from \"classnames\";\nimport ThreadActionBar from \"./ThreadActionBar\";\nimport { collabStyles, flexAlignCenter } from \"../../../collab.style\";\nimport { IThreadHeader } from \"../../../types/collab.types\";\n\nconst ThreadHeader: React.FC<IThreadHeader> = React.memo(\n ({ onClose, displayResolve, onResolve, commentCount, activeThread }) => {\n const [isResolving, setIsResolving] = useState(false);\n\n const handleResolve = useCallback(async () => {\n if (isResolving) return;\n\n try {\n setIsResolving(true);\n const payload = {\n threadUid: activeThread._id,\n payload: { threadState: 2 },\n };\n await onResolve(payload);\n } finally {\n onClose(true);\n setIsResolving(false);\n }\n }, [activeThread, isResolving, onResolve, onClose]);\n\n return (\n <div\n className={classNames(\n \"collab-thread-header--wrapper\",\n \"flex-v-center\",\n collabStyles()[\"collab-thread-header--wrapper\"],\n flexAlignCenter\n )}\n >\n <div\n className={classNames(\n \"collab-thread-header--container\",\n \"flex-v-center\",\n collabStyles()[\"collab-thread-header--container\"],\n flexAlignCenter\n )}\n >\n <ThreadActionBar\n commentCount={commentCount}\n displayResolve={displayResolve}\n handleResolve={handleResolve}\n isResolving={isResolving}\n />\n </div>\n </div>\n );\n }\n);\n\nexport default ThreadHeader;\n"],"mappings":";;;AACA,OAAO,WAAW;AAClB,SAAS,aAAa,gBAAgB;AACtC,OAAO,gBAAgB;AACvB,OAAO,qBAAqB;AAC5B,SAAS,cAAc,uBAAuB;AAwC1B;AArCpB,IAAM,eAAwC,MAAM;AAAA,EAChD,CAAC,EAAE,SAAS,gBAAgB,WAAW,cAAc,aAAa,MAAM;AACpE,UAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,UAAM,gBAAgB,YAAY,YAAY;AAC1C,UAAI,YAAa;AAEjB,UAAI;AACA,uBAAe,IAAI;AACnB,cAAM,UAAU;AAAA,UACZ,WAAW,aAAa;AAAA,UACxB,SAAS,EAAE,aAAa,EAAE;AAAA,QAC9B;AACA,cAAM,UAAU,OAAO;AAAA,MAC3B,UAAE;AACE,gBAAQ,IAAI;AACZ,uBAAe,KAAK;AAAA,MACxB;AAAA,IACJ,GAAG,CAAC,cAAc,aAAa,WAAW,OAAO,CAAC;AAElD,WACI;AAAA,MAAC;AAAA;AAAA,QACG,WAAW;AAAA,UACP;AAAA,UACA;AAAA,UACA,aAAa,EAAE,+BAA+B;AAAA,UAC9C;AAAA,QACJ;AAAA,QAEA;AAAA,UAAC;AAAA;AAAA,YACG,WAAW;AAAA,cACP;AAAA,cACA;AAAA,cACA,aAAa,EAAE,iCAAiC;AAAA,cAChD;AAAA,YACJ;AAAA,YAEA;AAAA,cAAC;AAAA;AAAA,gBACG;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA;AAAA,YACJ;AAAA;AAAA,QACJ;AAAA;AAAA,IACJ;AAAA,EAER;AACJ;AAEA,IAAO,uBAAQ;","names":[]}
@@ -200,25 +200,36 @@ var ThreadPopup = import_compat.default.memo(
200
200
  activeThread
201
201
  }
202
202
  ),
203
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
204
- import_ThreadBody.default,
203
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
204
+ "div",
205
205
  {
206
- handleOnSaveRef,
207
- onClose,
208
- userState: state.userState,
209
- isLoading: state.isLoading,
210
- comments: state.comments,
211
- fetchingMore: isFetchingMore,
212
- editComment: state.editComment
213
- }
214
- ),
215
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
216
- import_ThreadFooter.default,
217
- {
218
- onClose,
219
- handleOnSaveRef,
220
- isDisabled: error.hasError,
221
- editComment: state.editComment
206
+ class: (0, import_classnames.default)(
207
+ "collab-thread--container",
208
+ (0, import_collab.collabStyles)()["collab-thread--container"]
209
+ ),
210
+ children: [
211
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
212
+ import_ThreadBody.default,
213
+ {
214
+ handleOnSaveRef,
215
+ onClose,
216
+ userState: state.userState,
217
+ isLoading: state.isLoading,
218
+ comments: state.comments,
219
+ fetchingMore: isFetchingMore,
220
+ editComment: state.editComment
221
+ }
222
+ ),
223
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
224
+ import_ThreadFooter.default,
225
+ {
226
+ onClose,
227
+ handleOnSaveRef,
228
+ isDisabled: error.hasError,
229
+ editComment: state.editComment
230
+ }
231
+ )
232
+ ]
222
233
  }
223
234
  )
224
235
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/index.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useEffect, useMemo, useRef, useState } from \"preact/hooks\";\nimport ThreadHeader from \"./ThreadHeader\";\nimport ThreadFooter from \"./ThreadFooter\";\nimport ThreadBody from \"./ThreadBody\";\nimport {\n IThreadPopup,\n IThreadContext,\n IThreadPopupState,\n IErrorState,\n IMentionList,\n IFetchComments,\n} from \"../../../types/collab.types\";\nimport { getUserName } from \"../../../utils/collabUtils\";\nimport { ThreadProvider } from \"./ContextProvider/ThreadProvider\";\nimport useInfiniteScroll from \"../../../hooks/use-infinite-scroll/useInfiniteScroll\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst initialErrorState: IErrorState = {\n hasError: false,\n message: \"\",\n};\n\nconst ThreadPopup: React.FC<IThreadPopup> = React.memo(\n ({\n onCreateComment,\n onEditComment,\n onDeleteComment,\n onDeleteThread,\n onClose,\n onResolve,\n inviteMetadata,\n loadMoreMessages,\n activeThread,\n setActiveThread,\n createNewThread,\n }) => {\n const handleOnSaveRef = useRef(null);\n\n const [state, setState] = useState<IThreadPopupState>({\n isLoading: false,\n commentCount: 0,\n comments: [],\n editComment: \"\",\n userState: {\n mentionsList: [],\n currentUser: inviteMetadata?.currentUser,\n userMap: {},\n },\n });\n\n const [error, setError] = useState<IErrorState>(initialErrorState);\n\n const isFetchingMore = useInfiniteScroll({\n containerId: \"collab-thread-comment--list\",\n isFetching: false,\n canFetchMore: state.commentCount > state.comments.length,\n loadMore: async (offset, limit) => {\n try {\n let payload: IFetchComments = {\n offset: offset,\n limit: limit,\n threadUid: activeThread?._id,\n };\n const res = await loadMoreMessages(payload);\n setState((prevState) => ({\n ...prevState,\n commentCount: res.count,\n comments: [...prevState.comments, ...res.comments],\n }));\n } catch (error) {\n console.error(error);\n }\n },\n offset: state.comments.length,\n limit: 10,\n });\n\n useEffect(() => {\n const userList: Array<IMentionList> = [];\n const userMap: Record<string, any> = {};\n\n inviteMetadata?.users?.forEach((user) => {\n if (user) {\n const userName = getUserName(user);\n userList.push({\n display: userName,\n email: user.email,\n uid: user.uid,\n });\n userMap[user.uid] = { ...user, display: userName };\n }\n });\n\n setState((prevState) => ({\n ...prevState,\n userState: {\n mentionsList: userList,\n userMap,\n currentUser: inviteMetadata?.currentUser,\n },\n }));\n }, [inviteMetadata]);\n\n useEffect(() => {\n if (!activeThread) {\n setState((prevState) => ({ ...prevState, isLoading: true }));\n return;\n }\n if (activeThread?._id == \"new\") {\n return;\n }\n const fetchInitialMessages = async () => {\n setState((prevState) => ({ ...prevState, isLoading: true }));\n try {\n let payload: IFetchComments = {\n offset: 0,\n limit: 10,\n threadUid: activeThread?._id,\n };\n const res = await loadMoreMessages(payload);\n setState((prevState) => ({\n ...prevState,\n isLoading: false,\n commentCount: res.count,\n comments: res.comments,\n }));\n } catch (error) {\n setState((prevState) => ({\n ...prevState,\n isLoading: false,\n }));\n console.error(error);\n }\n };\n fetchInitialMessages();\n }, []);\n\n const contextValue = useMemo<IThreadContext>(\n () => ({\n inviteMetadata,\n userState: state.userState,\n commentCount: state.commentCount,\n setThreadState: setState,\n error,\n setError,\n onCreateComment,\n onEditComment,\n onDeleteComment,\n onDeleteThread,\n onClose,\n editComment: state.editComment,\n activeThread,\n setActiveThread,\n createNewThread,\n }),\n [\n inviteMetadata,\n state.userState,\n state.commentCount,\n error,\n state.editComment,\n activeThread,\n ]\n );\n\n return (\n <ThreadProvider.Provider value={contextValue}>\n <div\n className={classNames(\n \"collab-thread--wrapper\",\n collabStyles()[\"collab-thread--wrapper\"]\n )}\n >\n <ThreadHeader\n onClose={onClose}\n onResolve={onResolve}\n displayResolve={\n !!activeThread && activeThread?._id !== \"new\"\n }\n commentCount={state.commentCount}\n activeThread={activeThread}\n />\n <ThreadBody\n handleOnSaveRef={handleOnSaveRef}\n onClose={onClose}\n userState={state.userState}\n isLoading={state.isLoading}\n comments={state.comments}\n fetchingMore={isFetchingMore}\n editComment={state.editComment}\n />\n <ThreadFooter\n onClose={onClose}\n handleOnSaveRef={handleOnSaveRef}\n isDisabled={error.hasError}\n editComment={state.editComment}\n />\n </div>\n </ThreadProvider.Provider>\n );\n }\n);\n\nexport default ThreadPopup;\n"],"mappings":"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","names":["React","useInfiniteScroll","error","classNames","ThreadHeader","ThreadBody","ThreadFooter"]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/index.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useEffect, useMemo, useRef, useState } from \"preact/hooks\";\nimport ThreadHeader from \"./ThreadHeader\";\nimport ThreadFooter from \"./ThreadFooter\";\nimport ThreadBody from \"./ThreadBody\";\nimport {\n IThreadPopup,\n IThreadContext,\n IThreadPopupState,\n IErrorState,\n IMentionList,\n IFetchComments,\n} from \"../../../types/collab.types\";\nimport { getUserName } from \"../../../utils/collabUtils\";\nimport { ThreadProvider } from \"./ContextProvider/ThreadProvider\";\nimport useInfiniteScroll from \"../../../hooks/use-infinite-scroll/useInfiniteScroll\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst initialErrorState: IErrorState = {\n hasError: false,\n message: \"\",\n};\n\nconst ThreadPopup: React.FC<IThreadPopup> = React.memo(\n ({\n onCreateComment,\n onEditComment,\n onDeleteComment,\n onDeleteThread,\n onClose,\n onResolve,\n inviteMetadata,\n loadMoreMessages,\n activeThread,\n setActiveThread,\n createNewThread,\n }) => {\n const handleOnSaveRef = useRef(null);\n\n const [state, setState] = useState<IThreadPopupState>({\n isLoading: false,\n commentCount: 0,\n comments: [],\n editComment: \"\",\n userState: {\n mentionsList: [],\n currentUser: inviteMetadata?.currentUser,\n userMap: {},\n },\n });\n\n const [error, setError] = useState<IErrorState>(initialErrorState);\n\n const isFetchingMore = useInfiniteScroll({\n containerId: \"collab-thread-comment--list\",\n isFetching: false,\n canFetchMore: state.commentCount > state.comments.length,\n loadMore: async (offset, limit) => {\n try {\n let payload: IFetchComments = {\n offset: offset,\n limit: limit,\n threadUid: activeThread?._id,\n };\n const res = await loadMoreMessages(payload);\n setState((prevState) => ({\n ...prevState,\n commentCount: res.count,\n comments: [...prevState.comments, ...res.comments],\n }));\n } catch (error) {\n console.error(error);\n }\n },\n offset: state.comments.length,\n limit: 10,\n });\n\n useEffect(() => {\n const userList: Array<IMentionList> = [];\n const userMap: Record<string, any> = {};\n\n inviteMetadata?.users?.forEach((user) => {\n if (user) {\n const userName = getUserName(user);\n userList.push({\n display: userName,\n email: user.email,\n uid: user.uid,\n });\n userMap[user.uid] = { ...user, display: userName };\n }\n });\n\n setState((prevState) => ({\n ...prevState,\n userState: {\n mentionsList: userList,\n userMap,\n currentUser: inviteMetadata?.currentUser,\n },\n }));\n }, [inviteMetadata]);\n\n useEffect(() => {\n if (!activeThread) {\n setState((prevState) => ({ ...prevState, isLoading: true }));\n return;\n }\n if (activeThread?._id == \"new\") {\n return;\n }\n const fetchInitialMessages = async () => {\n setState((prevState) => ({ ...prevState, isLoading: true }));\n try {\n let payload: IFetchComments = {\n offset: 0,\n limit: 10,\n threadUid: activeThread?._id,\n };\n const res = await loadMoreMessages(payload);\n setState((prevState) => ({\n ...prevState,\n isLoading: false,\n commentCount: res.count,\n comments: res.comments,\n }));\n } catch (error) {\n setState((prevState) => ({\n ...prevState,\n isLoading: false,\n }));\n console.error(error);\n }\n };\n fetchInitialMessages();\n }, []);\n\n const contextValue = useMemo<IThreadContext>(\n () => ({\n inviteMetadata,\n userState: state.userState,\n commentCount: state.commentCount,\n setThreadState: setState,\n error,\n setError,\n onCreateComment,\n onEditComment,\n onDeleteComment,\n onDeleteThread,\n onClose,\n editComment: state.editComment,\n activeThread,\n setActiveThread,\n createNewThread,\n }),\n [\n inviteMetadata,\n state.userState,\n state.commentCount,\n error,\n state.editComment,\n activeThread,\n ]\n );\n\n return (\n <ThreadProvider.Provider value={contextValue}>\n <div\n className={classNames(\n \"collab-thread--wrapper\",\n collabStyles()[\"collab-thread--wrapper\"]\n )}\n >\n <ThreadHeader\n onClose={onClose}\n onResolve={onResolve}\n displayResolve={\n !!activeThread && activeThread?._id !== \"new\"\n }\n commentCount={state.commentCount}\n activeThread={activeThread}\n />\n <div\n class={classNames(\n \"collab-thread--container\",\n collabStyles()[\"collab-thread--container\"]\n )}\n >\n <ThreadBody\n handleOnSaveRef={handleOnSaveRef}\n onClose={onClose}\n userState={state.userState}\n isLoading={state.isLoading}\n comments={state.comments}\n fetchingMore={isFetchingMore}\n editComment={state.editComment}\n />\n <ThreadFooter\n onClose={onClose}\n handleOnSaveRef={handleOnSaveRef}\n isDisabled={error.hasError}\n editComment={state.editComment}\n />\n </div>\n </div>\n </ThreadProvider.Provider>\n );\n }\n);\n\nexport default ThreadPopup;\n"],"mappings":"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","names":["React","useInfiniteScroll","error","classNames","ThreadHeader","ThreadBody","ThreadFooter"]}
@@ -168,25 +168,36 @@ var ThreadPopup = React.memo(
168
168
  activeThread
169
169
  }
170
170
  ),
171
- /* @__PURE__ */ jsx(
172
- ThreadBody,
171
+ /* @__PURE__ */ jsxs(
172
+ "div",
173
173
  {
174
- handleOnSaveRef,
175
- onClose,
176
- userState: state.userState,
177
- isLoading: state.isLoading,
178
- comments: state.comments,
179
- fetchingMore: isFetchingMore,
180
- editComment: state.editComment
181
- }
182
- ),
183
- /* @__PURE__ */ jsx(
184
- ThreadFooter,
185
- {
186
- onClose,
187
- handleOnSaveRef,
188
- isDisabled: error.hasError,
189
- editComment: state.editComment
174
+ class: classNames(
175
+ "collab-thread--container",
176
+ collabStyles()["collab-thread--container"]
177
+ ),
178
+ children: [
179
+ /* @__PURE__ */ jsx(
180
+ ThreadBody,
181
+ {
182
+ handleOnSaveRef,
183
+ onClose,
184
+ userState: state.userState,
185
+ isLoading: state.isLoading,
186
+ comments: state.comments,
187
+ fetchingMore: isFetchingMore,
188
+ editComment: state.editComment
189
+ }
190
+ ),
191
+ /* @__PURE__ */ jsx(
192
+ ThreadFooter,
193
+ {
194
+ onClose,
195
+ handleOnSaveRef,
196
+ isDisabled: error.hasError,
197
+ editComment: state.editComment
198
+ }
199
+ )
200
+ ]
190
201
  }
191
202
  )
192
203
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/index.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useEffect, useMemo, useRef, useState } from \"preact/hooks\";\nimport ThreadHeader from \"./ThreadHeader\";\nimport ThreadFooter from \"./ThreadFooter\";\nimport ThreadBody from \"./ThreadBody\";\nimport {\n IThreadPopup,\n IThreadContext,\n IThreadPopupState,\n IErrorState,\n IMentionList,\n IFetchComments,\n} from \"../../../types/collab.types\";\nimport { getUserName } from \"../../../utils/collabUtils\";\nimport { ThreadProvider } from \"./ContextProvider/ThreadProvider\";\nimport useInfiniteScroll from \"../../../hooks/use-infinite-scroll/useInfiniteScroll\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst initialErrorState: IErrorState = {\n hasError: false,\n message: \"\",\n};\n\nconst ThreadPopup: React.FC<IThreadPopup> = React.memo(\n ({\n onCreateComment,\n onEditComment,\n onDeleteComment,\n onDeleteThread,\n onClose,\n onResolve,\n inviteMetadata,\n loadMoreMessages,\n activeThread,\n setActiveThread,\n createNewThread,\n }) => {\n const handleOnSaveRef = useRef(null);\n\n const [state, setState] = useState<IThreadPopupState>({\n isLoading: false,\n commentCount: 0,\n comments: [],\n editComment: \"\",\n userState: {\n mentionsList: [],\n currentUser: inviteMetadata?.currentUser,\n userMap: {},\n },\n });\n\n const [error, setError] = useState<IErrorState>(initialErrorState);\n\n const isFetchingMore = useInfiniteScroll({\n containerId: \"collab-thread-comment--list\",\n isFetching: false,\n canFetchMore: state.commentCount > state.comments.length,\n loadMore: async (offset, limit) => {\n try {\n let payload: IFetchComments = {\n offset: offset,\n limit: limit,\n threadUid: activeThread?._id,\n };\n const res = await loadMoreMessages(payload);\n setState((prevState) => ({\n ...prevState,\n commentCount: res.count,\n comments: [...prevState.comments, ...res.comments],\n }));\n } catch (error) {\n console.error(error);\n }\n },\n offset: state.comments.length,\n limit: 10,\n });\n\n useEffect(() => {\n const userList: Array<IMentionList> = [];\n const userMap: Record<string, any> = {};\n\n inviteMetadata?.users?.forEach((user) => {\n if (user) {\n const userName = getUserName(user);\n userList.push({\n display: userName,\n email: user.email,\n uid: user.uid,\n });\n userMap[user.uid] = { ...user, display: userName };\n }\n });\n\n setState((prevState) => ({\n ...prevState,\n userState: {\n mentionsList: userList,\n userMap,\n currentUser: inviteMetadata?.currentUser,\n },\n }));\n }, [inviteMetadata]);\n\n useEffect(() => {\n if (!activeThread) {\n setState((prevState) => ({ ...prevState, isLoading: true }));\n return;\n }\n if (activeThread?._id == \"new\") {\n return;\n }\n const fetchInitialMessages = async () => {\n setState((prevState) => ({ ...prevState, isLoading: true }));\n try {\n let payload: IFetchComments = {\n offset: 0,\n limit: 10,\n threadUid: activeThread?._id,\n };\n const res = await loadMoreMessages(payload);\n setState((prevState) => ({\n ...prevState,\n isLoading: false,\n commentCount: res.count,\n comments: res.comments,\n }));\n } catch (error) {\n setState((prevState) => ({\n ...prevState,\n isLoading: false,\n }));\n console.error(error);\n }\n };\n fetchInitialMessages();\n }, []);\n\n const contextValue = useMemo<IThreadContext>(\n () => ({\n inviteMetadata,\n userState: state.userState,\n commentCount: state.commentCount,\n setThreadState: setState,\n error,\n setError,\n onCreateComment,\n onEditComment,\n onDeleteComment,\n onDeleteThread,\n onClose,\n editComment: state.editComment,\n activeThread,\n setActiveThread,\n createNewThread,\n }),\n [\n inviteMetadata,\n state.userState,\n state.commentCount,\n error,\n state.editComment,\n activeThread,\n ]\n );\n\n return (\n <ThreadProvider.Provider value={contextValue}>\n <div\n className={classNames(\n \"collab-thread--wrapper\",\n collabStyles()[\"collab-thread--wrapper\"]\n )}\n >\n <ThreadHeader\n onClose={onClose}\n onResolve={onResolve}\n displayResolve={\n !!activeThread && activeThread?._id !== \"new\"\n }\n commentCount={state.commentCount}\n activeThread={activeThread}\n />\n <ThreadBody\n handleOnSaveRef={handleOnSaveRef}\n onClose={onClose}\n userState={state.userState}\n isLoading={state.isLoading}\n comments={state.comments}\n fetchingMore={isFetchingMore}\n editComment={state.editComment}\n />\n <ThreadFooter\n onClose={onClose}\n handleOnSaveRef={handleOnSaveRef}\n isDisabled={error.hasError}\n editComment={state.editComment}\n />\n </div>\n </ThreadProvider.Provider>\n );\n }\n);\n\nexport default ThreadPopup;\n"],"mappings":"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","names":["error"]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/ThreadPopup/index.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useEffect, useMemo, useRef, useState } from \"preact/hooks\";\nimport ThreadHeader from \"./ThreadHeader\";\nimport ThreadFooter from \"./ThreadFooter\";\nimport ThreadBody from \"./ThreadBody\";\nimport {\n IThreadPopup,\n IThreadContext,\n IThreadPopupState,\n IErrorState,\n IMentionList,\n IFetchComments,\n} from \"../../../types/collab.types\";\nimport { getUserName } from \"../../../utils/collabUtils\";\nimport { ThreadProvider } from \"./ContextProvider/ThreadProvider\";\nimport useInfiniteScroll from \"../../../hooks/use-infinite-scroll/useInfiniteScroll\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\nconst initialErrorState: IErrorState = {\n hasError: false,\n message: \"\",\n};\n\nconst ThreadPopup: React.FC<IThreadPopup> = React.memo(\n ({\n onCreateComment,\n onEditComment,\n onDeleteComment,\n onDeleteThread,\n onClose,\n onResolve,\n inviteMetadata,\n loadMoreMessages,\n activeThread,\n setActiveThread,\n createNewThread,\n }) => {\n const handleOnSaveRef = useRef(null);\n\n const [state, setState] = useState<IThreadPopupState>({\n isLoading: false,\n commentCount: 0,\n comments: [],\n editComment: \"\",\n userState: {\n mentionsList: [],\n currentUser: inviteMetadata?.currentUser,\n userMap: {},\n },\n });\n\n const [error, setError] = useState<IErrorState>(initialErrorState);\n\n const isFetchingMore = useInfiniteScroll({\n containerId: \"collab-thread-comment--list\",\n isFetching: false,\n canFetchMore: state.commentCount > state.comments.length,\n loadMore: async (offset, limit) => {\n try {\n let payload: IFetchComments = {\n offset: offset,\n limit: limit,\n threadUid: activeThread?._id,\n };\n const res = await loadMoreMessages(payload);\n setState((prevState) => ({\n ...prevState,\n commentCount: res.count,\n comments: [...prevState.comments, ...res.comments],\n }));\n } catch (error) {\n console.error(error);\n }\n },\n offset: state.comments.length,\n limit: 10,\n });\n\n useEffect(() => {\n const userList: Array<IMentionList> = [];\n const userMap: Record<string, any> = {};\n\n inviteMetadata?.users?.forEach((user) => {\n if (user) {\n const userName = getUserName(user);\n userList.push({\n display: userName,\n email: user.email,\n uid: user.uid,\n });\n userMap[user.uid] = { ...user, display: userName };\n }\n });\n\n setState((prevState) => ({\n ...prevState,\n userState: {\n mentionsList: userList,\n userMap,\n currentUser: inviteMetadata?.currentUser,\n },\n }));\n }, [inviteMetadata]);\n\n useEffect(() => {\n if (!activeThread) {\n setState((prevState) => ({ ...prevState, isLoading: true }));\n return;\n }\n if (activeThread?._id == \"new\") {\n return;\n }\n const fetchInitialMessages = async () => {\n setState((prevState) => ({ ...prevState, isLoading: true }));\n try {\n let payload: IFetchComments = {\n offset: 0,\n limit: 10,\n threadUid: activeThread?._id,\n };\n const res = await loadMoreMessages(payload);\n setState((prevState) => ({\n ...prevState,\n isLoading: false,\n commentCount: res.count,\n comments: res.comments,\n }));\n } catch (error) {\n setState((prevState) => ({\n ...prevState,\n isLoading: false,\n }));\n console.error(error);\n }\n };\n fetchInitialMessages();\n }, []);\n\n const contextValue = useMemo<IThreadContext>(\n () => ({\n inviteMetadata,\n userState: state.userState,\n commentCount: state.commentCount,\n setThreadState: setState,\n error,\n setError,\n onCreateComment,\n onEditComment,\n onDeleteComment,\n onDeleteThread,\n onClose,\n editComment: state.editComment,\n activeThread,\n setActiveThread,\n createNewThread,\n }),\n [\n inviteMetadata,\n state.userState,\n state.commentCount,\n error,\n state.editComment,\n activeThread,\n ]\n );\n\n return (\n <ThreadProvider.Provider value={contextValue}>\n <div\n className={classNames(\n \"collab-thread--wrapper\",\n collabStyles()[\"collab-thread--wrapper\"]\n )}\n >\n <ThreadHeader\n onClose={onClose}\n onResolve={onResolve}\n displayResolve={\n !!activeThread && activeThread?._id !== \"new\"\n }\n commentCount={state.commentCount}\n activeThread={activeThread}\n />\n <div\n class={classNames(\n \"collab-thread--container\",\n collabStyles()[\"collab-thread--container\"]\n )}\n >\n <ThreadBody\n handleOnSaveRef={handleOnSaveRef}\n onClose={onClose}\n userState={state.userState}\n isLoading={state.isLoading}\n comments={state.comments}\n fetchingMore={isFetchingMore}\n editComment={state.editComment}\n />\n <ThreadFooter\n onClose={onClose}\n handleOnSaveRef={handleOnSaveRef}\n isDisabled={error.hasError}\n editComment={state.editComment}\n />\n </div>\n </div>\n </ThreadProvider.Provider>\n );\n }\n);\n\nexport default ThreadPopup;\n"],"mappings":";;;AACA,OAAO,WAAW;AAClB,SAAS,WAAW,SAAS,QAAQ,gBAAgB;AACrD,OAAO,kBAAkB;AACzB,OAAO,kBAAkB;AACzB,OAAO,gBAAgB;AASvB,SAAS,mBAAmB;AAC5B,SAAS,sBAAsB;AAC/B,OAAO,uBAAuB;AAC9B,SAAS,oBAAoB;AAC7B,OAAO,gBAAgB;AA8JH,cASA,YATA;AA5JpB,IAAM,oBAAiC;AAAA,EACnC,UAAU;AAAA,EACV,SAAS;AACb;AAEA,IAAM,cAAsC,MAAM;AAAA,EAC9C,CAAC;AAAA,IACG;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACJ,MAAM;AACF,UAAM,kBAAkB,OAAO,IAAI;AAEnC,UAAM,CAAC,OAAO,QAAQ,IAAI,SAA4B;AAAA,MAClD,WAAW;AAAA,MACX,cAAc;AAAA,MACd,UAAU,CAAC;AAAA,MACX,aAAa;AAAA,MACb,WAAW;AAAA,QACP,cAAc,CAAC;AAAA,QACf,aAAa,gBAAgB;AAAA,QAC7B,SAAS,CAAC;AAAA,MACd;AAAA,IACJ,CAAC;AAED,UAAM,CAAC,OAAO,QAAQ,IAAI,SAAsB,iBAAiB;AAEjE,UAAM,iBAAiB,kBAAkB;AAAA,MACrC,aAAa;AAAA,MACb,YAAY;AAAA,MACZ,cAAc,MAAM,eAAe,MAAM,SAAS;AAAA,MAClD,UAAU,OAAO,QAAQ,UAAU;AAC/B,YAAI;AACA,cAAI,UAA0B;AAAA,YAC1B;AAAA,YACA;AAAA,YACA,WAAW,cAAc;AAAA,UAC7B;AACA,gBAAM,MAAM,MAAM,iBAAiB,OAAO;AAC1C,mBAAS,CAAC,eAAe;AAAA,YACrB,GAAG;AAAA,YACH,cAAc,IAAI;AAAA,YAClB,UAAU,CAAC,GAAG,UAAU,UAAU,GAAG,IAAI,QAAQ;AAAA,UACrD,EAAE;AAAA,QACN,SAASA,QAAO;AACZ,kBAAQ,MAAMA,MAAK;AAAA,QACvB;AAAA,MACJ;AAAA,MACA,QAAQ,MAAM,SAAS;AAAA,MACvB,OAAO;AAAA,IACX,CAAC;AAED,cAAU,MAAM;AACZ,YAAM,WAAgC,CAAC;AACvC,YAAM,UAA+B,CAAC;AAEtC,sBAAgB,OAAO,QAAQ,CAAC,SAAS;AACrC,YAAI,MAAM;AACN,gBAAM,WAAW,YAAY,IAAI;AACjC,mBAAS,KAAK;AAAA,YACV,SAAS;AAAA,YACT,OAAO,KAAK;AAAA,YACZ,KAAK,KAAK;AAAA,UACd,CAAC;AACD,kBAAQ,KAAK,GAAG,IAAI,EAAE,GAAG,MAAM,SAAS,SAAS;AAAA,QACrD;AAAA,MACJ,CAAC;AAED,eAAS,CAAC,eAAe;AAAA,QACrB,GAAG;AAAA,QACH,WAAW;AAAA,UACP,cAAc;AAAA,UACd;AAAA,UACA,aAAa,gBAAgB;AAAA,QACjC;AAAA,MACJ,EAAE;AAAA,IACN,GAAG,CAAC,cAAc,CAAC;AAEnB,cAAU,MAAM;AACZ,UAAI,CAAC,cAAc;AACf,iBAAS,CAAC,eAAe,EAAE,GAAG,WAAW,WAAW,KAAK,EAAE;AAC3D;AAAA,MACJ;AACA,UAAI,cAAc,OAAO,OAAO;AAC5B;AAAA,MACJ;AACA,YAAM,uBAAuB,YAAY;AACrC,iBAAS,CAAC,eAAe,EAAE,GAAG,WAAW,WAAW,KAAK,EAAE;AAC3D,YAAI;AACA,cAAI,UAA0B;AAAA,YAC1B,QAAQ;AAAA,YACR,OAAO;AAAA,YACP,WAAW,cAAc;AAAA,UAC7B;AACA,gBAAM,MAAM,MAAM,iBAAiB,OAAO;AAC1C,mBAAS,CAAC,eAAe;AAAA,YACrB,GAAG;AAAA,YACH,WAAW;AAAA,YACX,cAAc,IAAI;AAAA,YAClB,UAAU,IAAI;AAAA,UAClB,EAAE;AAAA,QACN,SAASA,QAAO;AACZ,mBAAS,CAAC,eAAe;AAAA,YACrB,GAAG;AAAA,YACH,WAAW;AAAA,UACf,EAAE;AACF,kBAAQ,MAAMA,MAAK;AAAA,QACvB;AAAA,MACJ;AACA,2BAAqB;AAAA,IACzB,GAAG,CAAC,CAAC;AAEL,UAAM,eAAe;AAAA,MACjB,OAAO;AAAA,QACH;AAAA,QACA,WAAW,MAAM;AAAA,QACjB,cAAc,MAAM;AAAA,QACpB,gBAAgB;AAAA,QAChB;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,aAAa,MAAM;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,MACJ;AAAA,MACA;AAAA,QACI;AAAA,QACA,MAAM;AAAA,QACN,MAAM;AAAA,QACN;AAAA,QACA,MAAM;AAAA,QACN;AAAA,MACJ;AAAA,IACJ;AAEA,WACI,oBAAC,eAAe,UAAf,EAAwB,OAAO,cAC5B;AAAA,MAAC;AAAA;AAAA,QACG,WAAW;AAAA,UACP;AAAA,UACA,aAAa,EAAE,wBAAwB;AAAA,QAC3C;AAAA,QAEA;AAAA;AAAA,YAAC;AAAA;AAAA,cACG;AAAA,cACA;AAAA,cACA,gBACI,CAAC,CAAC,gBAAgB,cAAc,QAAQ;AAAA,cAE5C,cAAc,MAAM;AAAA,cACpB;AAAA;AAAA,UACJ;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACG,OAAO;AAAA,gBACH;AAAA,gBACA,aAAa,EAAE,0BAA0B;AAAA,cAC7C;AAAA,cAEA;AAAA;AAAA,kBAAC;AAAA;AAAA,oBACG;AAAA,oBACA;AAAA,oBACA,WAAW,MAAM;AAAA,oBACjB,WAAW,MAAM;AAAA,oBACjB,UAAU,MAAM;AAAA,oBAChB,cAAc;AAAA,oBACd,aAAa,MAAM;AAAA;AAAA,gBACvB;AAAA,gBACA;AAAA,kBAAC;AAAA;AAAA,oBACG;AAAA,oBACA;AAAA,oBACA,YAAY,MAAM;AAAA,oBAClB,aAAa,MAAM;AAAA;AAAA,gBACvB;AAAA;AAAA;AAAA,UACJ;AAAA;AAAA;AAAA,IACJ,GACJ;AAAA,EAER;AACJ;AAEA,IAAO,sBAAQ;","names":["error"]}
@@ -35,6 +35,7 @@ __export(Tooltip_exports, {
35
35
  module.exports = __toCommonJS(Tooltip_exports);
36
36
  var import_hooks = require("preact/hooks");
37
37
  var import_collab = require("../../../collab.style.cjs");
38
+ var import_collabUtils = require("../../../utils/collabUtils.cjs");
38
39
  var import_classnames = __toESM(require("classnames"), 1);
39
40
  var import_jsx_runtime = require("preact/jsx-runtime");
40
41
  var Tooltip = (props) => {
@@ -47,44 +48,24 @@ var Tooltip = (props) => {
47
48
  ...otherProps
48
49
  } = props;
49
50
  const [isVisible, setIsVisible] = (0, import_hooks.useState)(false);
51
+ const [actualPosition, setActualPosition] = (0, import_hooks.useState)(position);
50
52
  const tooltipRef = (0, import_hooks.useRef)(null);
51
53
  const targetRef = (0, import_hooks.useRef)(null);
54
+ const prevChildrenRef = (0, import_hooks.useRef)(children);
52
55
  (0, import_hooks.useEffect)(() => {
53
- const positionTooltip = () => {
54
- if (!isVisible || !tooltipRef.current || !targetRef.current) return;
55
- const targetRect = targetRef.current.getBoundingClientRect();
56
- const tooltipRect = tooltipRef.current.getBoundingClientRect();
57
- const margin = 8;
58
- const positions = {
59
- bottom: {
60
- top: targetRect.bottom + margin,
61
- left: targetRect.left + (targetRect.width - tooltipRect.width) / 2
62
- },
63
- top: {
64
- top: targetRect.top - tooltipRect.height - margin,
65
- left: targetRect.left + (targetRect.width - tooltipRect.width) / 2
66
- },
67
- left: {
68
- top: targetRect.top + (targetRect.height - tooltipRect.height) / 2,
69
- left: targetRect.left - tooltipRect.width - margin
70
- },
71
- right: {
72
- top: targetRect.top + (targetRect.height - tooltipRect.height) / 2,
73
- left: targetRect.right + margin
74
- }
75
- };
76
- const coords = positions[position];
77
- Object.assign(tooltipRef.current.style, {
78
- top: `${coords.top}px`,
79
- left: `${coords.left}px`
80
- });
81
- };
82
- positionTooltip();
83
- window.addEventListener("scroll", positionTooltip);
84
- window.addEventListener("resize", positionTooltip);
56
+ if (prevChildrenRef.current !== children) {
57
+ setIsVisible(false);
58
+ prevChildrenRef.current = children;
59
+ }
60
+ }, [children]);
61
+ (0, import_hooks.useEffect)(() => {
62
+ const updateTooltip = () => (0, import_collabUtils.positionTooltip)(tooltipRef, targetRef, position, setActualPosition);
63
+ updateTooltip();
64
+ window.addEventListener("scroll", updateTooltip);
65
+ window.addEventListener("resize", updateTooltip);
85
66
  return () => {
86
- window.removeEventListener("scroll", positionTooltip);
87
- window.removeEventListener("resize", positionTooltip);
67
+ window.removeEventListener("scroll", updateTooltip);
68
+ window.removeEventListener("resize", updateTooltip);
88
69
  };
89
70
  }, [isVisible, position]);
90
71
  return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
@@ -108,10 +89,13 @@ var Tooltip = (props) => {
108
89
  ref: tooltipRef,
109
90
  className: (0, import_classnames.default)(
110
91
  "collab-tooltip",
111
- (0, import_collab.collabStyles)()["collab-tooltip"]
92
+ `collab-tooltip--${actualPosition}`,
93
+ (0, import_collab.collabStyles)()["collab-tooltip"],
94
+ (0, import_collab.collabStyles)()[`collab-tooltip--${actualPosition}`]
112
95
  ),
113
96
  role: "tooltip",
114
97
  "aria-hidden": !isVisible,
98
+ "data-position": actualPosition,
115
99
  children: content
116
100
  }
117
101
  )
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/Tooltip/Tooltip.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useState, useRef, useEffect } from \"preact/hooks\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\ninterface TooltipProps {\n content: string;\n children: React.ReactNode;\n position?: \"top\" | \"bottom\" | \"left\" | \"right\";\n className?: string;\n testId?: string;\n}\n\ninterface PositionCoords {\n top: number;\n left: number;\n}\n\ninterface Positions {\n bottom: PositionCoords;\n top: PositionCoords;\n left: PositionCoords;\n right: PositionCoords;\n}\n\nconst Tooltip = (props: TooltipProps): JSX.Element => {\n const {\n content,\n children,\n position = \"bottom\",\n className,\n testId,\n ...otherProps\n } = props;\n const [isVisible, setIsVisible] = useState<boolean>(false);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const positionTooltip = (): void => {\n if (!isVisible || !tooltipRef.current || !targetRef.current) return;\n\n const targetRect: DOMRect =\n targetRef.current.getBoundingClientRect();\n const tooltipRect: DOMRect =\n tooltipRef.current.getBoundingClientRect();\n const margin: number = 8;\n\n const positions: Positions = {\n bottom: {\n top: targetRect.bottom + margin,\n left:\n targetRect.left +\n (targetRect.width - tooltipRect.width) / 2,\n },\n top: {\n top: targetRect.top - tooltipRect.height - margin,\n left:\n targetRect.left +\n (targetRect.width - tooltipRect.width) / 2,\n },\n left: {\n top:\n targetRect.top +\n (targetRect.height - tooltipRect.height) / 2,\n left: targetRect.left - tooltipRect.width - margin,\n },\n right: {\n top:\n targetRect.top +\n (targetRect.height - tooltipRect.height) / 2,\n left: targetRect.right + margin,\n },\n };\n\n const coords: PositionCoords = positions[position];\n Object.assign(tooltipRef.current.style, {\n top: `${coords.top}px`,\n left: `${coords.left}px`,\n });\n };\n\n positionTooltip();\n window.addEventListener(\"scroll\", positionTooltip);\n window.addEventListener(\"resize\", positionTooltip);\n\n return () => {\n window.removeEventListener(\"scroll\", positionTooltip);\n window.removeEventListener(\"resize\", positionTooltip);\n };\n }, [isVisible, position]);\n\n return (\n <div\n ref={targetRef}\n className={classNames(\n \"collab-tooltip--wrapper\",\n collabStyles()[\"collab-tooltip--wrapper\"],\n className\n )}\n onMouseEnter={() => setIsVisible(true)}\n onMouseLeave={() => setIsVisible(false)}\n data-testid={testId}\n {...otherProps}\n >\n {children}\n {isVisible && (\n <div\n ref={tooltipRef}\n className={classNames(\n \"collab-tooltip\",\n collabStyles()[\"collab-tooltip\"]\n )}\n role=\"tooltip\"\n aria-hidden={!isVisible}\n >\n {content}\n </div>\n )}\n </div>\n );\n};\n\nTooltip.defaultProps = {\n testId: \"collab-tooltip\",\n} as Partial<TooltipProps>;\n\nexport default Tooltip;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA4C;AAC5C,oBAA6B;AAC7B,wBAAuB;AA0Ff;AApER,IAAM,UAAU,CAAC,UAAqC;AAClD,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAkB,KAAK;AACzD,QAAM,iBAAa,qBAAuB,IAAI;AAC9C,QAAM,gBAAY,qBAAuB,IAAI;AAE7C,8BAAU,MAAM;AACZ,UAAM,kBAAkB,MAAY;AAChC,UAAI,CAAC,aAAa,CAAC,WAAW,WAAW,CAAC,UAAU,QAAS;AAE7D,YAAM,aACF,UAAU,QAAQ,sBAAsB;AAC5C,YAAM,cACF,WAAW,QAAQ,sBAAsB;AAC7C,YAAM,SAAiB;AAEvB,YAAM,YAAuB;AAAA,QACzB,QAAQ;AAAA,UACJ,KAAK,WAAW,SAAS;AAAA,UACzB,MACI,WAAW,QACV,WAAW,QAAQ,YAAY,SAAS;AAAA,QACjD;AAAA,QACA,KAAK;AAAA,UACD,KAAK,WAAW,MAAM,YAAY,SAAS;AAAA,UAC3C,MACI,WAAW,QACV,WAAW,QAAQ,YAAY,SAAS;AAAA,QACjD;AAAA,QACA,MAAM;AAAA,UACF,KACI,WAAW,OACV,WAAW,SAAS,YAAY,UAAU;AAAA,UAC/C,MAAM,WAAW,OAAO,YAAY,QAAQ;AAAA,QAChD;AAAA,QACA,OAAO;AAAA,UACH,KACI,WAAW,OACV,WAAW,SAAS,YAAY,UAAU;AAAA,UAC/C,MAAM,WAAW,QAAQ;AAAA,QAC7B;AAAA,MACJ;AAEA,YAAM,SAAyB,UAAU,QAAQ;AACjD,aAAO,OAAO,WAAW,QAAQ,OAAO;AAAA,QACpC,KAAK,GAAG,OAAO,GAAG;AAAA,QAClB,MAAM,GAAG,OAAO,IAAI;AAAA,MACxB,CAAC;AAAA,IACL;AAEA,oBAAgB;AAChB,WAAO,iBAAiB,UAAU,eAAe;AACjD,WAAO,iBAAiB,UAAU,eAAe;AAEjD,WAAO,MAAM;AACT,aAAO,oBAAoB,UAAU,eAAe;AACpD,aAAO,oBAAoB,UAAU,eAAe;AAAA,IACxD;AAAA,EACJ,GAAG,CAAC,WAAW,QAAQ,CAAC;AAExB,SACI;AAAA,IAAC;AAAA;AAAA,MACG,KAAK;AAAA,MACL,eAAW,kBAAAA;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,yBAAyB;AAAA,QACxC;AAAA,MACJ;AAAA,MACA,cAAc,MAAM,aAAa,IAAI;AAAA,MACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MACtC,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH;AAAA;AAAA,QACA,aACG;AAAA,UAAC;AAAA;AAAA,YACG,KAAK;AAAA,YACL,eAAW,kBAAAA;AAAA,cACP;AAAA,kBACA,4BAAa,EAAE,gBAAgB;AAAA,YACnC;AAAA,YACA,MAAK;AAAA,YACL,eAAa,CAAC;AAAA,YAEb;AAAA;AAAA,QACL;AAAA;AAAA;AAAA,EAER;AAER;AAEA,QAAQ,eAAe;AAAA,EACnB,QAAQ;AACZ;AAEA,IAAO,kBAAQ;","names":["classNames"]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/Tooltip/Tooltip.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useState, useRef, useEffect } from \"preact/hooks\";\nimport { collabStyles } from \"../../../collab.style\";\nimport { positionTooltip } from \"../../../utils/collabUtils\";\nimport classNames from \"classnames\";\n\ninterface TooltipProps {\n content: string;\n children: React.ReactNode;\n position?: \"top\" | \"bottom\" | \"left\" | \"right\";\n className?: string;\n testId?: string;\n}\n\ninterface PositionCoords {\n top: number;\n left: number;\n}\n\ninterface Positions {\n bottom: PositionCoords;\n top: PositionCoords;\n left: PositionCoords;\n right: PositionCoords;\n}\n\nconst Tooltip = (props: TooltipProps): JSX.Element => {\n const {\n content,\n children,\n position = \"bottom\",\n className,\n testId,\n ...otherProps\n } = props;\n const [isVisible, setIsVisible] = useState<boolean>(false);\n const [actualPosition, setActualPosition] = useState<\n \"top\" | \"bottom\" | \"left\" | \"right\"\n >(position);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const prevChildrenRef = useRef(children);\n\n useEffect(() => {\n if (prevChildrenRef.current !== children) {\n setIsVisible(false);\n prevChildrenRef.current = children;\n }\n }, [children]);\n\n useEffect(() => {\n const updateTooltip = () =>\n positionTooltip(tooltipRef, targetRef, position, setActualPosition);\n\n updateTooltip();\n window.addEventListener(\"scroll\", updateTooltip);\n window.addEventListener(\"resize\", updateTooltip);\n\n return () => {\n window.removeEventListener(\"scroll\", updateTooltip);\n window.removeEventListener(\"resize\", updateTooltip);\n };\n }, [isVisible, position]);\n\n return (\n <div\n ref={targetRef}\n className={classNames(\n \"collab-tooltip--wrapper\",\n collabStyles()[\"collab-tooltip--wrapper\"],\n className\n )}\n onMouseEnter={() => setIsVisible(true)}\n onMouseLeave={() => setIsVisible(false)}\n data-testid={testId}\n {...otherProps}\n >\n {children}\n {isVisible && (\n <div\n ref={tooltipRef}\n className={classNames(\n \"collab-tooltip\",\n `collab-tooltip--${actualPosition}`,\n collabStyles()[\"collab-tooltip\"],\n collabStyles()[`collab-tooltip--${actualPosition}`]\n )}\n role=\"tooltip\"\n aria-hidden={!isVisible}\n data-position={actualPosition}\n >\n {content}\n </div>\n )}\n </div>\n );\n};\n\nTooltip.defaultProps = {\n testId: \"collab-tooltip\",\n} as Partial<TooltipProps>;\n\nexport default Tooltip;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,mBAA4C;AAC5C,oBAA6B;AAC7B,yBAAgC;AAChC,wBAAuB;AA8Df;AAxCR,IAAM,UAAU,CAAC,UAAqC;AAClD,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,QAAM,CAAC,WAAW,YAAY,QAAI,uBAAkB,KAAK;AACzD,QAAM,CAAC,gBAAgB,iBAAiB,QAAI,uBAE1C,QAAQ;AACV,QAAM,iBAAa,qBAAuB,IAAI;AAC9C,QAAM,gBAAY,qBAAuB,IAAI;AAE7C,QAAM,sBAAkB,qBAAO,QAAQ;AAEvC,8BAAU,MAAM;AACZ,QAAI,gBAAgB,YAAY,UAAU;AACtC,mBAAa,KAAK;AAClB,sBAAgB,UAAU;AAAA,IAC9B;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AAEb,8BAAU,MAAM;AACZ,UAAM,gBAAgB,UAClB,oCAAgB,YAAY,WAAW,UAAU,iBAAiB;AAEtE,kBAAc;AACd,WAAO,iBAAiB,UAAU,aAAa;AAC/C,WAAO,iBAAiB,UAAU,aAAa;AAE/C,WAAO,MAAM;AACT,aAAO,oBAAoB,UAAU,aAAa;AAClD,aAAO,oBAAoB,UAAU,aAAa;AAAA,IACtD;AAAA,EACJ,GAAG,CAAC,WAAW,QAAQ,CAAC;AAExB,SACI;AAAA,IAAC;AAAA;AAAA,MACG,KAAK;AAAA,MACL,eAAW,kBAAAA;AAAA,QACP;AAAA,YACA,4BAAa,EAAE,yBAAyB;AAAA,QACxC;AAAA,MACJ;AAAA,MACA,cAAc,MAAM,aAAa,IAAI;AAAA,MACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MACtC,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH;AAAA;AAAA,QACA,aACG;AAAA,UAAC;AAAA;AAAA,YACG,KAAK;AAAA,YACL,eAAW,kBAAAA;AAAA,cACP;AAAA,cACA,mBAAmB,cAAc;AAAA,kBACjC,4BAAa,EAAE,gBAAgB;AAAA,kBAC/B,4BAAa,EAAE,mBAAmB,cAAc,EAAE;AAAA,YACtD;AAAA,YACA,MAAK;AAAA,YACL,eAAa,CAAC;AAAA,YACd,iBAAe;AAAA,YAEd;AAAA;AAAA,QACL;AAAA;AAAA;AAAA,EAER;AAER;AAEA,QAAQ,eAAe;AAAA,EACnB,QAAQ;AACZ;AAEA,IAAO,kBAAQ;","names":["classNames"]}
@@ -3,6 +3,7 @@ import "../../../../chunk-5WRI5ZAA.js";
3
3
  // src/visualBuilder/components/Collab/Tooltip/Tooltip.tsx
4
4
  import { useState, useRef, useEffect } from "preact/hooks";
5
5
  import { collabStyles } from "../../../collab.style.js";
6
+ import { positionTooltip } from "../../../utils/collabUtils.js";
6
7
  import classNames from "classnames";
7
8
  import { jsx, jsxs } from "preact/jsx-runtime";
8
9
  var Tooltip = (props) => {
@@ -15,44 +16,24 @@ var Tooltip = (props) => {
15
16
  ...otherProps
16
17
  } = props;
17
18
  const [isVisible, setIsVisible] = useState(false);
19
+ const [actualPosition, setActualPosition] = useState(position);
18
20
  const tooltipRef = useRef(null);
19
21
  const targetRef = useRef(null);
22
+ const prevChildrenRef = useRef(children);
20
23
  useEffect(() => {
21
- const positionTooltip = () => {
22
- if (!isVisible || !tooltipRef.current || !targetRef.current) return;
23
- const targetRect = targetRef.current.getBoundingClientRect();
24
- const tooltipRect = tooltipRef.current.getBoundingClientRect();
25
- const margin = 8;
26
- const positions = {
27
- bottom: {
28
- top: targetRect.bottom + margin,
29
- left: targetRect.left + (targetRect.width - tooltipRect.width) / 2
30
- },
31
- top: {
32
- top: targetRect.top - tooltipRect.height - margin,
33
- left: targetRect.left + (targetRect.width - tooltipRect.width) / 2
34
- },
35
- left: {
36
- top: targetRect.top + (targetRect.height - tooltipRect.height) / 2,
37
- left: targetRect.left - tooltipRect.width - margin
38
- },
39
- right: {
40
- top: targetRect.top + (targetRect.height - tooltipRect.height) / 2,
41
- left: targetRect.right + margin
42
- }
43
- };
44
- const coords = positions[position];
45
- Object.assign(tooltipRef.current.style, {
46
- top: `${coords.top}px`,
47
- left: `${coords.left}px`
48
- });
49
- };
50
- positionTooltip();
51
- window.addEventListener("scroll", positionTooltip);
52
- window.addEventListener("resize", positionTooltip);
24
+ if (prevChildrenRef.current !== children) {
25
+ setIsVisible(false);
26
+ prevChildrenRef.current = children;
27
+ }
28
+ }, [children]);
29
+ useEffect(() => {
30
+ const updateTooltip = () => positionTooltip(tooltipRef, targetRef, position, setActualPosition);
31
+ updateTooltip();
32
+ window.addEventListener("scroll", updateTooltip);
33
+ window.addEventListener("resize", updateTooltip);
53
34
  return () => {
54
- window.removeEventListener("scroll", positionTooltip);
55
- window.removeEventListener("resize", positionTooltip);
35
+ window.removeEventListener("scroll", updateTooltip);
36
+ window.removeEventListener("resize", updateTooltip);
56
37
  };
57
38
  }, [isVisible, position]);
58
39
  return /* @__PURE__ */ jsxs(
@@ -76,10 +57,13 @@ var Tooltip = (props) => {
76
57
  ref: tooltipRef,
77
58
  className: classNames(
78
59
  "collab-tooltip",
79
- collabStyles()["collab-tooltip"]
60
+ `collab-tooltip--${actualPosition}`,
61
+ collabStyles()["collab-tooltip"],
62
+ collabStyles()[`collab-tooltip--${actualPosition}`]
80
63
  ),
81
64
  role: "tooltip",
82
65
  "aria-hidden": !isVisible,
66
+ "data-position": actualPosition,
83
67
  children: content
84
68
  }
85
69
  )
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/Tooltip/Tooltip.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useState, useRef, useEffect } from \"preact/hooks\";\nimport { collabStyles } from \"../../../collab.style\";\nimport classNames from \"classnames\";\n\ninterface TooltipProps {\n content: string;\n children: React.ReactNode;\n position?: \"top\" | \"bottom\" | \"left\" | \"right\";\n className?: string;\n testId?: string;\n}\n\ninterface PositionCoords {\n top: number;\n left: number;\n}\n\ninterface Positions {\n bottom: PositionCoords;\n top: PositionCoords;\n left: PositionCoords;\n right: PositionCoords;\n}\n\nconst Tooltip = (props: TooltipProps): JSX.Element => {\n const {\n content,\n children,\n position = \"bottom\",\n className,\n testId,\n ...otherProps\n } = props;\n const [isVisible, setIsVisible] = useState<boolean>(false);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n const positionTooltip = (): void => {\n if (!isVisible || !tooltipRef.current || !targetRef.current) return;\n\n const targetRect: DOMRect =\n targetRef.current.getBoundingClientRect();\n const tooltipRect: DOMRect =\n tooltipRef.current.getBoundingClientRect();\n const margin: number = 8;\n\n const positions: Positions = {\n bottom: {\n top: targetRect.bottom + margin,\n left:\n targetRect.left +\n (targetRect.width - tooltipRect.width) / 2,\n },\n top: {\n top: targetRect.top - tooltipRect.height - margin,\n left:\n targetRect.left +\n (targetRect.width - tooltipRect.width) / 2,\n },\n left: {\n top:\n targetRect.top +\n (targetRect.height - tooltipRect.height) / 2,\n left: targetRect.left - tooltipRect.width - margin,\n },\n right: {\n top:\n targetRect.top +\n (targetRect.height - tooltipRect.height) / 2,\n left: targetRect.right + margin,\n },\n };\n\n const coords: PositionCoords = positions[position];\n Object.assign(tooltipRef.current.style, {\n top: `${coords.top}px`,\n left: `${coords.left}px`,\n });\n };\n\n positionTooltip();\n window.addEventListener(\"scroll\", positionTooltip);\n window.addEventListener(\"resize\", positionTooltip);\n\n return () => {\n window.removeEventListener(\"scroll\", positionTooltip);\n window.removeEventListener(\"resize\", positionTooltip);\n };\n }, [isVisible, position]);\n\n return (\n <div\n ref={targetRef}\n className={classNames(\n \"collab-tooltip--wrapper\",\n collabStyles()[\"collab-tooltip--wrapper\"],\n className\n )}\n onMouseEnter={() => setIsVisible(true)}\n onMouseLeave={() => setIsVisible(false)}\n data-testid={testId}\n {...otherProps}\n >\n {children}\n {isVisible && (\n <div\n ref={tooltipRef}\n className={classNames(\n \"collab-tooltip\",\n collabStyles()[\"collab-tooltip\"]\n )}\n role=\"tooltip\"\n aria-hidden={!isVisible}\n >\n {content}\n </div>\n )}\n </div>\n );\n};\n\nTooltip.defaultProps = {\n testId: \"collab-tooltip\",\n} as Partial<TooltipProps>;\n\nexport default Tooltip;\n"],"mappings":";;;AAEA,SAAS,UAAU,QAAQ,iBAAiB;AAC5C,SAAS,oBAAoB;AAC7B,OAAO,gBAAgB;AA0Ff,SAcQ,KAdR;AApER,IAAM,UAAU,CAAC,UAAqC;AAClD,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAkB,KAAK;AACzD,QAAM,aAAa,OAAuB,IAAI;AAC9C,QAAM,YAAY,OAAuB,IAAI;AAE7C,YAAU,MAAM;AACZ,UAAM,kBAAkB,MAAY;AAChC,UAAI,CAAC,aAAa,CAAC,WAAW,WAAW,CAAC,UAAU,QAAS;AAE7D,YAAM,aACF,UAAU,QAAQ,sBAAsB;AAC5C,YAAM,cACF,WAAW,QAAQ,sBAAsB;AAC7C,YAAM,SAAiB;AAEvB,YAAM,YAAuB;AAAA,QACzB,QAAQ;AAAA,UACJ,KAAK,WAAW,SAAS;AAAA,UACzB,MACI,WAAW,QACV,WAAW,QAAQ,YAAY,SAAS;AAAA,QACjD;AAAA,QACA,KAAK;AAAA,UACD,KAAK,WAAW,MAAM,YAAY,SAAS;AAAA,UAC3C,MACI,WAAW,QACV,WAAW,QAAQ,YAAY,SAAS;AAAA,QACjD;AAAA,QACA,MAAM;AAAA,UACF,KACI,WAAW,OACV,WAAW,SAAS,YAAY,UAAU;AAAA,UAC/C,MAAM,WAAW,OAAO,YAAY,QAAQ;AAAA,QAChD;AAAA,QACA,OAAO;AAAA,UACH,KACI,WAAW,OACV,WAAW,SAAS,YAAY,UAAU;AAAA,UAC/C,MAAM,WAAW,QAAQ;AAAA,QAC7B;AAAA,MACJ;AAEA,YAAM,SAAyB,UAAU,QAAQ;AACjD,aAAO,OAAO,WAAW,QAAQ,OAAO;AAAA,QACpC,KAAK,GAAG,OAAO,GAAG;AAAA,QAClB,MAAM,GAAG,OAAO,IAAI;AAAA,MACxB,CAAC;AAAA,IACL;AAEA,oBAAgB;AAChB,WAAO,iBAAiB,UAAU,eAAe;AACjD,WAAO,iBAAiB,UAAU,eAAe;AAEjD,WAAO,MAAM;AACT,aAAO,oBAAoB,UAAU,eAAe;AACpD,aAAO,oBAAoB,UAAU,eAAe;AAAA,IACxD;AAAA,EACJ,GAAG,CAAC,WAAW,QAAQ,CAAC;AAExB,SACI;AAAA,IAAC;AAAA;AAAA,MACG,KAAK;AAAA,MACL,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,yBAAyB;AAAA,QACxC;AAAA,MACJ;AAAA,MACA,cAAc,MAAM,aAAa,IAAI;AAAA,MACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MACtC,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH;AAAA;AAAA,QACA,aACG;AAAA,UAAC;AAAA;AAAA,YACG,KAAK;AAAA,YACL,WAAW;AAAA,cACP;AAAA,cACA,aAAa,EAAE,gBAAgB;AAAA,YACnC;AAAA,YACA,MAAK;AAAA,YACL,eAAa,CAAC;AAAA,YAEb;AAAA;AAAA,QACL;AAAA;AAAA;AAAA,EAER;AAER;AAEA,QAAQ,eAAe;AAAA,EACnB,QAAQ;AACZ;AAEA,IAAO,kBAAQ;","names":[]}
1
+ {"version":3,"sources":["../../../../../../src/visualBuilder/components/Collab/Tooltip/Tooltip.tsx"],"sourcesContent":["/** @jsxImportSource preact */\nimport React from \"preact/compat\";\nimport { useState, useRef, useEffect } from \"preact/hooks\";\nimport { collabStyles } from \"../../../collab.style\";\nimport { positionTooltip } from \"../../../utils/collabUtils\";\nimport classNames from \"classnames\";\n\ninterface TooltipProps {\n content: string;\n children: React.ReactNode;\n position?: \"top\" | \"bottom\" | \"left\" | \"right\";\n className?: string;\n testId?: string;\n}\n\ninterface PositionCoords {\n top: number;\n left: number;\n}\n\ninterface Positions {\n bottom: PositionCoords;\n top: PositionCoords;\n left: PositionCoords;\n right: PositionCoords;\n}\n\nconst Tooltip = (props: TooltipProps): JSX.Element => {\n const {\n content,\n children,\n position = \"bottom\",\n className,\n testId,\n ...otherProps\n } = props;\n const [isVisible, setIsVisible] = useState<boolean>(false);\n const [actualPosition, setActualPosition] = useState<\n \"top\" | \"bottom\" | \"left\" | \"right\"\n >(position);\n const tooltipRef = useRef<HTMLDivElement>(null);\n const targetRef = useRef<HTMLDivElement>(null);\n\n const prevChildrenRef = useRef(children);\n\n useEffect(() => {\n if (prevChildrenRef.current !== children) {\n setIsVisible(false);\n prevChildrenRef.current = children;\n }\n }, [children]);\n\n useEffect(() => {\n const updateTooltip = () =>\n positionTooltip(tooltipRef, targetRef, position, setActualPosition);\n\n updateTooltip();\n window.addEventListener(\"scroll\", updateTooltip);\n window.addEventListener(\"resize\", updateTooltip);\n\n return () => {\n window.removeEventListener(\"scroll\", updateTooltip);\n window.removeEventListener(\"resize\", updateTooltip);\n };\n }, [isVisible, position]);\n\n return (\n <div\n ref={targetRef}\n className={classNames(\n \"collab-tooltip--wrapper\",\n collabStyles()[\"collab-tooltip--wrapper\"],\n className\n )}\n onMouseEnter={() => setIsVisible(true)}\n onMouseLeave={() => setIsVisible(false)}\n data-testid={testId}\n {...otherProps}\n >\n {children}\n {isVisible && (\n <div\n ref={tooltipRef}\n className={classNames(\n \"collab-tooltip\",\n `collab-tooltip--${actualPosition}`,\n collabStyles()[\"collab-tooltip\"],\n collabStyles()[`collab-tooltip--${actualPosition}`]\n )}\n role=\"tooltip\"\n aria-hidden={!isVisible}\n data-position={actualPosition}\n >\n {content}\n </div>\n )}\n </div>\n );\n};\n\nTooltip.defaultProps = {\n testId: \"collab-tooltip\",\n} as Partial<TooltipProps>;\n\nexport default Tooltip;\n"],"mappings":";;;AAEA,SAAS,UAAU,QAAQ,iBAAiB;AAC5C,SAAS,oBAAoB;AAC7B,SAAS,uBAAuB;AAChC,OAAO,gBAAgB;AA8Df,SAcQ,KAdR;AAxCR,IAAM,UAAU,CAAC,UAAqC;AAClD,QAAM;AAAA,IACF;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACP,IAAI;AACJ,QAAM,CAAC,WAAW,YAAY,IAAI,SAAkB,KAAK;AACzD,QAAM,CAAC,gBAAgB,iBAAiB,IAAI,SAE1C,QAAQ;AACV,QAAM,aAAa,OAAuB,IAAI;AAC9C,QAAM,YAAY,OAAuB,IAAI;AAE7C,QAAM,kBAAkB,OAAO,QAAQ;AAEvC,YAAU,MAAM;AACZ,QAAI,gBAAgB,YAAY,UAAU;AACtC,mBAAa,KAAK;AAClB,sBAAgB,UAAU;AAAA,IAC9B;AAAA,EACJ,GAAG,CAAC,QAAQ,CAAC;AAEb,YAAU,MAAM;AACZ,UAAM,gBAAgB,MAClB,gBAAgB,YAAY,WAAW,UAAU,iBAAiB;AAEtE,kBAAc;AACd,WAAO,iBAAiB,UAAU,aAAa;AAC/C,WAAO,iBAAiB,UAAU,aAAa;AAE/C,WAAO,MAAM;AACT,aAAO,oBAAoB,UAAU,aAAa;AAClD,aAAO,oBAAoB,UAAU,aAAa;AAAA,IACtD;AAAA,EACJ,GAAG,CAAC,WAAW,QAAQ,CAAC;AAExB,SACI;AAAA,IAAC;AAAA;AAAA,MACG,KAAK;AAAA,MACL,WAAW;AAAA,QACP;AAAA,QACA,aAAa,EAAE,yBAAyB;AAAA,QACxC;AAAA,MACJ;AAAA,MACA,cAAc,MAAM,aAAa,IAAI;AAAA,MACrC,cAAc,MAAM,aAAa,KAAK;AAAA,MACtC,eAAa;AAAA,MACZ,GAAG;AAAA,MAEH;AAAA;AAAA,QACA,aACG;AAAA,UAAC;AAAA;AAAA,YACG,KAAK;AAAA,YACL,WAAW;AAAA,cACP;AAAA,cACA,mBAAmB,cAAc;AAAA,cACjC,aAAa,EAAE,gBAAgB;AAAA,cAC/B,aAAa,EAAE,mBAAmB,cAAc,EAAE;AAAA,YACtD;AAAA,YACA,MAAK;AAAA,YACL,eAAa,CAAC;AAAA,YACd,iBAAe;AAAA,YAEd;AAAA;AAAA,QACL;AAAA;AAAA;AAAA,EAER;AAER;AAEA,QAAQ,eAAe;AAAA,EACnB,QAAQ;AACZ;AAEA,IAAO,kBAAQ;","names":[]}