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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/README.md +2 -2
  2. package/dist/legacy/configManager/config.default.cjs +10 -1
  3. package/dist/legacy/configManager/config.default.cjs.map +1 -1
  4. package/dist/legacy/configManager/config.default.js +10 -1
  5. package/dist/legacy/configManager/config.default.js.map +1 -1
  6. package/dist/legacy/configManager/handleUserConfig.cjs +7 -3
  7. package/dist/legacy/configManager/handleUserConfig.cjs.map +1 -1
  8. package/dist/legacy/configManager/handleUserConfig.js +7 -3
  9. package/dist/legacy/configManager/handleUserConfig.js.map +1 -1
  10. package/dist/legacy/index.cjs +45 -1
  11. package/dist/legacy/index.cjs.map +1 -1
  12. package/dist/legacy/index.d.cts +16 -2
  13. package/dist/legacy/index.d.ts +16 -2
  14. package/dist/legacy/index.js +45 -1
  15. package/dist/legacy/index.js.map +1 -1
  16. package/dist/legacy/livePreview/editButton/editButton.cjs +86 -1
  17. package/dist/legacy/livePreview/editButton/editButton.cjs.map +1 -1
  18. package/dist/legacy/livePreview/editButton/editButton.d.cts +14 -1
  19. package/dist/legacy/livePreview/editButton/editButton.d.ts +14 -1
  20. package/dist/legacy/livePreview/editButton/editButton.js +85 -1
  21. package/dist/legacy/livePreview/editButton/editButton.js.map +1 -1
  22. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
  23. package/dist/legacy/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
  24. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs +6 -2
  25. package/dist/legacy/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  26. package/dist/legacy/preview/contentstack-live-preview-HOC.js +6 -2
  27. package/dist/legacy/preview/contentstack-live-preview-HOC.js.map +1 -1
  28. package/dist/legacy/types/types.cjs.map +1 -1
  29. package/dist/legacy/types/types.d.cts +10 -15
  30. package/dist/legacy/types/types.d.ts +10 -15
  31. package/dist/legacy/types/types.js.map +1 -1
  32. package/dist/legacy/visualBuilder/collab.style.cjs +131 -1
  33. package/dist/legacy/visualBuilder/collab.style.cjs.map +1 -1
  34. package/dist/legacy/visualBuilder/collab.style.d.cts +17 -0
  35. package/dist/legacy/visualBuilder/collab.style.d.ts +17 -0
  36. package/dist/legacy/visualBuilder/collab.style.js +131 -1
  37. package/dist/legacy/visualBuilder/collab.style.js.map +1 -1
  38. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs +70 -0
  39. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs.map +1 -0
  40. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.cts +12 -0
  41. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.ts +12 -0
  42. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js +41 -0
  43. package/dist/legacy/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js.map +1 -0
  44. package/dist/legacy/visualBuilder/components/Collab/Button/Button.cjs +32 -10
  45. package/dist/legacy/visualBuilder/components/Collab/Button/Button.cjs.map +1 -1
  46. package/dist/legacy/visualBuilder/components/Collab/Button/Button.d.cts +2 -0
  47. package/dist/legacy/visualBuilder/components/Collab/Button/Button.d.ts +2 -0
  48. package/dist/legacy/visualBuilder/components/Collab/Button/Button.js +33 -11
  49. package/dist/legacy/visualBuilder/components/Collab/Button/Button.js.map +1 -1
  50. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.cjs +11 -4
  51. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.cjs.map +1 -1
  52. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.js +11 -4
  53. package/dist/legacy/visualBuilder/components/Collab/CollabIndicator.js.map +1 -1
  54. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.cjs +6 -1
  55. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.cjs.map +1 -1
  56. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.d.cts +1 -0
  57. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.d.ts +1 -0
  58. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.js +6 -1
  59. package/dist/legacy/visualBuilder/components/Collab/Icon/Icon.js.map +1 -1
  60. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs +8 -3
  61. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs.map +1 -1
  62. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js +9 -4
  63. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js.map +1 -1
  64. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs +1 -2
  65. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs.map +1 -1
  66. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.js +2 -3
  67. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentCard.js.map +1 -1
  68. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs +2 -5
  69. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs.map +1 -1
  70. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js +3 -9
  71. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js.map +1 -1
  72. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs +98 -57
  73. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs.map +1 -1
  74. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js +98 -57
  75. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js.map +1 -1
  76. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs +92 -0
  77. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs.map +1 -0
  78. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.cts +13 -0
  79. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.ts +13 -0
  80. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js +63 -0
  81. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js.map +1 -0
  82. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs +1 -0
  83. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs.map +1 -1
  84. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js +1 -0
  85. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js.map +1 -1
  86. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs +19 -50
  87. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs.map +1 -1
  88. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js +21 -52
  89. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js.map +1 -1
  90. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.cjs +29 -18
  91. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.cjs.map +1 -1
  92. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.js +29 -18
  93. package/dist/legacy/visualBuilder/components/Collab/ThreadPopup/index.js.map +1 -1
  94. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.cjs +19 -35
  95. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.cjs.map +1 -1
  96. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.js +19 -35
  97. package/dist/legacy/visualBuilder/components/Collab/Tooltip/Tooltip.js.map +1 -1
  98. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs +28 -22
  99. package/dist/legacy/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  100. package/dist/legacy/visualBuilder/components/FieldToolbar.d.cts +1 -0
  101. package/dist/legacy/visualBuilder/components/FieldToolbar.d.ts +1 -0
  102. package/dist/legacy/visualBuilder/components/FieldToolbar.js +29 -24
  103. package/dist/legacy/visualBuilder/components/FieldToolbar.js.map +1 -1
  104. package/dist/legacy/visualBuilder/components/addInstanceButton.cjs +39 -11
  105. package/dist/legacy/visualBuilder/components/addInstanceButton.cjs.map +1 -1
  106. package/dist/legacy/visualBuilder/components/addInstanceButton.d.cts +5 -0
  107. package/dist/legacy/visualBuilder/components/addInstanceButton.d.ts +5 -0
  108. package/dist/legacy/visualBuilder/components/addInstanceButton.js +39 -11
  109. package/dist/legacy/visualBuilder/components/addInstanceButton.js.map +1 -1
  110. package/dist/legacy/visualBuilder/components/startEditingButton.cjs +38 -11
  111. package/dist/legacy/visualBuilder/components/startEditingButton.cjs.map +1 -1
  112. package/dist/legacy/visualBuilder/components/startEditingButton.d.cts +7 -2
  113. package/dist/legacy/visualBuilder/components/startEditingButton.d.ts +7 -2
  114. package/dist/legacy/visualBuilder/components/startEditingButton.js +34 -11
  115. package/dist/legacy/visualBuilder/components/startEditingButton.js.map +1 -1
  116. package/dist/legacy/visualBuilder/eventManager/useCollab.cjs +57 -19
  117. package/dist/legacy/visualBuilder/eventManager/useCollab.cjs.map +1 -1
  118. package/dist/legacy/visualBuilder/eventManager/useCollab.js +57 -19
  119. package/dist/legacy/visualBuilder/eventManager/useCollab.js.map +1 -1
  120. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs +7 -2
  121. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs.map +1 -1
  122. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js +7 -2
  123. package/dist/legacy/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js.map +1 -1
  124. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs +59 -4
  125. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs.map +1 -1
  126. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js +59 -4
  127. package/dist/legacy/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js.map +1 -1
  128. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.cjs +8 -2
  129. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.cjs.map +1 -1
  130. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.d.cts +9 -3
  131. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.d.ts +9 -3
  132. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.js +8 -2
  133. package/dist/legacy/visualBuilder/generators/generateAddInstanceButtons.js.map +1 -1
  134. package/dist/legacy/visualBuilder/generators/generateOverlay.cjs +5 -0
  135. package/dist/legacy/visualBuilder/generators/generateOverlay.cjs.map +1 -1
  136. package/dist/legacy/visualBuilder/generators/generateOverlay.js +5 -0
  137. package/dist/legacy/visualBuilder/generators/generateOverlay.js.map +1 -1
  138. package/dist/legacy/visualBuilder/generators/generateThread.cjs +103 -18
  139. package/dist/legacy/visualBuilder/generators/generateThread.cjs.map +1 -1
  140. package/dist/legacy/visualBuilder/generators/generateThread.d.cts +3 -1
  141. package/dist/legacy/visualBuilder/generators/generateThread.d.ts +3 -1
  142. package/dist/legacy/visualBuilder/generators/generateThread.js +101 -17
  143. package/dist/legacy/visualBuilder/generators/generateThread.js.map +1 -1
  144. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs +13 -5
  145. package/dist/legacy/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  146. package/dist/legacy/visualBuilder/generators/generateToolbar.d.cts +2 -2
  147. package/dist/legacy/visualBuilder/generators/generateToolbar.d.ts +2 -2
  148. package/dist/legacy/visualBuilder/generators/generateToolbar.js +13 -5
  149. package/dist/legacy/visualBuilder/generators/generateToolbar.js.map +1 -1
  150. package/dist/legacy/visualBuilder/hooks/useCollabOperations.cjs +9 -8
  151. package/dist/legacy/visualBuilder/hooks/useCollabOperations.cjs.map +1 -1
  152. package/dist/legacy/visualBuilder/hooks/useCollabOperations.js +9 -8
  153. package/dist/legacy/visualBuilder/hooks/useCollabOperations.js.map +1 -1
  154. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.cjs +23 -5
  155. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.cjs.map +1 -1
  156. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.d.cts +1 -0
  157. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.d.ts +1 -0
  158. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.js +23 -5
  159. package/dist/legacy/visualBuilder/hooks/useCommentTextArea.js.map +1 -1
  160. package/dist/legacy/visualBuilder/index.cjs +16 -11
  161. package/dist/legacy/visualBuilder/index.cjs.map +1 -1
  162. package/dist/legacy/visualBuilder/index.d.cts +1 -0
  163. package/dist/legacy/visualBuilder/index.d.ts +1 -0
  164. package/dist/legacy/visualBuilder/index.js +14 -5
  165. package/dist/legacy/visualBuilder/index.js.map +1 -1
  166. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs +81 -20
  167. package/dist/legacy/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  168. package/dist/legacy/visualBuilder/listeners/mouseClick.d.cts +4 -1
  169. package/dist/legacy/visualBuilder/listeners/mouseClick.d.ts +4 -1
  170. package/dist/legacy/visualBuilder/listeners/mouseClick.js +81 -20
  171. package/dist/legacy/visualBuilder/listeners/mouseClick.js.map +1 -1
  172. package/dist/legacy/visualBuilder/listeners/mouseHover.cjs +3 -1
  173. package/dist/legacy/visualBuilder/listeners/mouseHover.cjs.map +1 -1
  174. package/dist/legacy/visualBuilder/listeners/mouseHover.js +3 -1
  175. package/dist/legacy/visualBuilder/listeners/mouseHover.js.map +1 -1
  176. package/dist/legacy/visualBuilder/types/collab.types.cjs.map +1 -1
  177. package/dist/legacy/visualBuilder/types/collab.types.d.cts +22 -1
  178. package/dist/legacy/visualBuilder/types/collab.types.d.ts +22 -1
  179. package/dist/legacy/visualBuilder/utils/collabUtils.cjs +105 -2
  180. package/dist/legacy/visualBuilder/utils/collabUtils.cjs.map +1 -1
  181. package/dist/legacy/visualBuilder/utils/collabUtils.d.cts +25 -1
  182. package/dist/legacy/visualBuilder/utils/collabUtils.d.ts +25 -1
  183. package/dist/legacy/visualBuilder/utils/collabUtils.js +100 -2
  184. package/dist/legacy/visualBuilder/utils/collabUtils.js.map +1 -1
  185. package/dist/legacy/visualBuilder/utils/enableInlineEditing.cjs +94 -0
  186. package/dist/legacy/visualBuilder/utils/enableInlineEditing.cjs.map +1 -0
  187. package/dist/legacy/visualBuilder/utils/enableInlineEditing.d.cts +11 -0
  188. package/dist/legacy/visualBuilder/utils/enableInlineEditing.d.ts +11 -0
  189. package/dist/legacy/visualBuilder/utils/enableInlineEditing.js +74 -0
  190. package/dist/legacy/visualBuilder/utils/enableInlineEditing.js.map +1 -0
  191. package/dist/legacy/visualBuilder/utils/getChildrenDirection.cjs +8 -0
  192. package/dist/legacy/visualBuilder/utils/getChildrenDirection.cjs.map +1 -1
  193. package/dist/legacy/visualBuilder/utils/getChildrenDirection.d.cts +3 -1
  194. package/dist/legacy/visualBuilder/utils/getChildrenDirection.d.ts +3 -1
  195. package/dist/legacy/visualBuilder/utils/getChildrenDirection.js +8 -0
  196. package/dist/legacy/visualBuilder/utils/getChildrenDirection.js.map +1 -1
  197. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs +24 -112
  198. package/dist/legacy/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  199. package/dist/legacy/visualBuilder/utils/handleIndividualFields.d.cts +3 -5
  200. package/dist/legacy/visualBuilder/utils/handleIndividualFields.d.ts +3 -5
  201. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js +22 -116
  202. package/dist/legacy/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  203. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.cjs +81 -0
  204. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.cjs.map +1 -0
  205. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.d.cts +16 -0
  206. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.d.ts +16 -0
  207. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.js +58 -0
  208. package/dist/legacy/visualBuilder/utils/handleInlineEditableField.js.map +1 -0
  209. package/dist/legacy/visualBuilder/utils/isFieldMultiple.cjs +35 -0
  210. package/dist/legacy/visualBuilder/utils/isFieldMultiple.cjs.map +1 -0
  211. package/dist/legacy/visualBuilder/utils/isFieldMultiple.d.cts +6 -0
  212. package/dist/legacy/visualBuilder/utils/isFieldMultiple.d.ts +6 -0
  213. package/dist/legacy/visualBuilder/utils/isFieldMultiple.js +12 -0
  214. package/dist/legacy/visualBuilder/utils/isFieldMultiple.js.map +1 -0
  215. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs +14 -20
  216. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  217. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.d.cts +1 -1
  218. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.d.ts +1 -1
  219. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js +14 -20
  220. package/dist/legacy/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  221. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.cjs +44 -0
  222. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.cjs.map +1 -0
  223. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.d.cts +5 -0
  224. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.d.ts +5 -0
  225. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.js +21 -0
  226. package/dist/legacy/visualBuilder/utils/pasteAsPlainText.js.map +1 -0
  227. package/dist/legacy/visualBuilder/utils/types/index.types.cjs.map +1 -1
  228. package/dist/legacy/visualBuilder/utils/types/index.types.d.cts +6 -1
  229. package/dist/legacy/visualBuilder/utils/types/index.types.d.ts +6 -1
  230. package/dist/legacy/visualBuilder/utils/types/index.types.js.map +1 -1
  231. package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs +2 -1
  232. package/dist/legacy/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
  233. package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.cts +2 -1
  234. package/dist/legacy/visualBuilder/utils/types/postMessage.types.d.ts +2 -1
  235. package/dist/legacy/visualBuilder/utils/types/postMessage.types.js +2 -1
  236. package/dist/legacy/visualBuilder/utils/types/postMessage.types.js.map +1 -1
  237. package/dist/legacy/visualBuilder/visualBuilder.style.cjs +27 -5
  238. package/dist/legacy/visualBuilder/visualBuilder.style.cjs.map +1 -1
  239. package/dist/legacy/visualBuilder/visualBuilder.style.d.cts +6 -1
  240. package/dist/legacy/visualBuilder/visualBuilder.style.d.ts +6 -1
  241. package/dist/legacy/visualBuilder/visualBuilder.style.js +27 -5
  242. package/dist/legacy/visualBuilder/visualBuilder.style.js.map +1 -1
  243. package/dist/modern/configManager/config.default.cjs +10 -1
  244. package/dist/modern/configManager/config.default.cjs.map +1 -1
  245. package/dist/modern/configManager/config.default.js +10 -1
  246. package/dist/modern/configManager/config.default.js.map +1 -1
  247. package/dist/modern/configManager/handleUserConfig.cjs +4 -0
  248. package/dist/modern/configManager/handleUserConfig.cjs.map +1 -1
  249. package/dist/modern/configManager/handleUserConfig.js +4 -0
  250. package/dist/modern/configManager/handleUserConfig.js.map +1 -1
  251. package/dist/modern/index.cjs +45 -1
  252. package/dist/modern/index.cjs.map +1 -1
  253. package/dist/modern/index.d.cts +16 -2
  254. package/dist/modern/index.d.ts +16 -2
  255. package/dist/modern/index.js +45 -1
  256. package/dist/modern/index.js.map +1 -1
  257. package/dist/modern/livePreview/editButton/editButton.cjs +85 -1
  258. package/dist/modern/livePreview/editButton/editButton.cjs.map +1 -1
  259. package/dist/modern/livePreview/editButton/editButton.d.cts +14 -1
  260. package/dist/modern/livePreview/editButton/editButton.d.ts +14 -1
  261. package/dist/modern/livePreview/editButton/editButton.js +84 -1
  262. package/dist/modern/livePreview/editButton/editButton.js.map +1 -1
  263. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.cjs +1 -1
  264. package/dist/modern/livePreview/eventManager/postMessageEvent.hooks.js +1 -1
  265. package/dist/modern/preview/contentstack-live-preview-HOC.cjs +6 -2
  266. package/dist/modern/preview/contentstack-live-preview-HOC.cjs.map +1 -1
  267. package/dist/modern/preview/contentstack-live-preview-HOC.js +6 -2
  268. package/dist/modern/preview/contentstack-live-preview-HOC.js.map +1 -1
  269. package/dist/modern/types/types.cjs.map +1 -1
  270. package/dist/modern/types/types.d.cts +10 -15
  271. package/dist/modern/types/types.d.ts +10 -15
  272. package/dist/modern/types/types.js.map +1 -1
  273. package/dist/modern/visualBuilder/collab.style.cjs +131 -1
  274. package/dist/modern/visualBuilder/collab.style.cjs.map +1 -1
  275. package/dist/modern/visualBuilder/collab.style.d.cts +17 -0
  276. package/dist/modern/visualBuilder/collab.style.d.ts +17 -0
  277. package/dist/modern/visualBuilder/collab.style.js +131 -1
  278. package/dist/modern/visualBuilder/collab.style.js.map +1 -1
  279. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs +70 -0
  280. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.cjs.map +1 -0
  281. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.cts +12 -0
  282. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.d.ts +12 -0
  283. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js +41 -0
  284. package/dist/modern/visualBuilder/components/Collab/AsyncLoader/AsyncLoader.js.map +1 -0
  285. package/dist/modern/visualBuilder/components/Collab/Button/Button.cjs +32 -10
  286. package/dist/modern/visualBuilder/components/Collab/Button/Button.cjs.map +1 -1
  287. package/dist/modern/visualBuilder/components/Collab/Button/Button.d.cts +2 -0
  288. package/dist/modern/visualBuilder/components/Collab/Button/Button.d.ts +2 -0
  289. package/dist/modern/visualBuilder/components/Collab/Button/Button.js +33 -11
  290. package/dist/modern/visualBuilder/components/Collab/Button/Button.js.map +1 -1
  291. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.cjs +7 -1
  292. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.cjs.map +1 -1
  293. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.js +7 -1
  294. package/dist/modern/visualBuilder/components/Collab/CollabIndicator.js.map +1 -1
  295. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.cjs +6 -1
  296. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.cjs.map +1 -1
  297. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.d.cts +1 -0
  298. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.d.ts +1 -0
  299. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.js +6 -1
  300. package/dist/modern/visualBuilder/components/Collab/Icon/Icon.js.map +1 -1
  301. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs +8 -3
  302. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.cjs.map +1 -1
  303. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js +9 -4
  304. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentActionBar.js.map +1 -1
  305. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs +1 -2
  306. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.cjs.map +1 -1
  307. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.js +2 -3
  308. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentCard.js.map +1 -1
  309. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs +2 -5
  310. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.cjs.map +1 -1
  311. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js +3 -9
  312. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentResolvedText.js.map +1 -1
  313. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs +94 -57
  314. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.cjs.map +1 -1
  315. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js +94 -57
  316. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/CommentTextArea.js.map +1 -1
  317. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs +92 -0
  318. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.cjs.map +1 -0
  319. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.cts +13 -0
  320. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.d.ts +13 -0
  321. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js +63 -0
  322. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadActionBar.js.map +1 -0
  323. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs +1 -0
  324. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.cjs.map +1 -1
  325. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js +1 -0
  326. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadFooter.js.map +1 -1
  327. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs +19 -50
  328. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.cjs.map +1 -1
  329. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js +21 -52
  330. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/ThreadHeader.js.map +1 -1
  331. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.cjs +29 -18
  332. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.cjs.map +1 -1
  333. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.js +29 -18
  334. package/dist/modern/visualBuilder/components/Collab/ThreadPopup/index.js.map +1 -1
  335. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.cjs +19 -35
  336. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.cjs.map +1 -1
  337. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.js +19 -35
  338. package/dist/modern/visualBuilder/components/Collab/Tooltip/Tooltip.js.map +1 -1
  339. package/dist/modern/visualBuilder/components/FieldToolbar.cjs +28 -21
  340. package/dist/modern/visualBuilder/components/FieldToolbar.cjs.map +1 -1
  341. package/dist/modern/visualBuilder/components/FieldToolbar.d.cts +1 -0
  342. package/dist/modern/visualBuilder/components/FieldToolbar.d.ts +1 -0
  343. package/dist/modern/visualBuilder/components/FieldToolbar.js +29 -23
  344. package/dist/modern/visualBuilder/components/FieldToolbar.js.map +1 -1
  345. package/dist/modern/visualBuilder/components/addInstanceButton.cjs +38 -11
  346. package/dist/modern/visualBuilder/components/addInstanceButton.cjs.map +1 -1
  347. package/dist/modern/visualBuilder/components/addInstanceButton.d.cts +5 -0
  348. package/dist/modern/visualBuilder/components/addInstanceButton.d.ts +5 -0
  349. package/dist/modern/visualBuilder/components/addInstanceButton.js +38 -11
  350. package/dist/modern/visualBuilder/components/addInstanceButton.js.map +1 -1
  351. package/dist/modern/visualBuilder/components/startEditingButton.cjs +38 -11
  352. package/dist/modern/visualBuilder/components/startEditingButton.cjs.map +1 -1
  353. package/dist/modern/visualBuilder/components/startEditingButton.d.cts +7 -2
  354. package/dist/modern/visualBuilder/components/startEditingButton.d.ts +7 -2
  355. package/dist/modern/visualBuilder/components/startEditingButton.js +34 -11
  356. package/dist/modern/visualBuilder/components/startEditingButton.js.map +1 -1
  357. package/dist/modern/visualBuilder/eventManager/useCollab.cjs +45 -11
  358. package/dist/modern/visualBuilder/eventManager/useCollab.cjs.map +1 -1
  359. package/dist/modern/visualBuilder/eventManager/useCollab.js +45 -11
  360. package/dist/modern/visualBuilder/eventManager/useCollab.js.map +1 -1
  361. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs +5 -0
  362. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.cjs.map +1 -1
  363. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js +5 -0
  364. package/dist/modern/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.js.map +1 -1
  365. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs +59 -4
  366. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.cjs.map +1 -1
  367. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js +59 -4
  368. package/dist/modern/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.js.map +1 -1
  369. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.cjs +8 -2
  370. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.cjs.map +1 -1
  371. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.d.cts +9 -3
  372. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.d.ts +9 -3
  373. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.js +8 -2
  374. package/dist/modern/visualBuilder/generators/generateAddInstanceButtons.js.map +1 -1
  375. package/dist/modern/visualBuilder/generators/generateOverlay.cjs +5 -0
  376. package/dist/modern/visualBuilder/generators/generateOverlay.cjs.map +1 -1
  377. package/dist/modern/visualBuilder/generators/generateOverlay.js +5 -0
  378. package/dist/modern/visualBuilder/generators/generateOverlay.js.map +1 -1
  379. package/dist/modern/visualBuilder/generators/generateThread.cjs +102 -16
  380. package/dist/modern/visualBuilder/generators/generateThread.cjs.map +1 -1
  381. package/dist/modern/visualBuilder/generators/generateThread.d.cts +3 -1
  382. package/dist/modern/visualBuilder/generators/generateThread.d.ts +3 -1
  383. package/dist/modern/visualBuilder/generators/generateThread.js +100 -15
  384. package/dist/modern/visualBuilder/generators/generateThread.js.map +1 -1
  385. package/dist/modern/visualBuilder/generators/generateToolbar.cjs +13 -5
  386. package/dist/modern/visualBuilder/generators/generateToolbar.cjs.map +1 -1
  387. package/dist/modern/visualBuilder/generators/generateToolbar.d.cts +2 -2
  388. package/dist/modern/visualBuilder/generators/generateToolbar.d.ts +2 -2
  389. package/dist/modern/visualBuilder/generators/generateToolbar.js +13 -5
  390. package/dist/modern/visualBuilder/generators/generateToolbar.js.map +1 -1
  391. package/dist/modern/visualBuilder/hooks/useCollabOperations.cjs +9 -8
  392. package/dist/modern/visualBuilder/hooks/useCollabOperations.cjs.map +1 -1
  393. package/dist/modern/visualBuilder/hooks/useCollabOperations.js +9 -8
  394. package/dist/modern/visualBuilder/hooks/useCollabOperations.js.map +1 -1
  395. package/dist/modern/visualBuilder/hooks/useCommentTextArea.cjs +22 -5
  396. package/dist/modern/visualBuilder/hooks/useCommentTextArea.cjs.map +1 -1
  397. package/dist/modern/visualBuilder/hooks/useCommentTextArea.d.cts +1 -0
  398. package/dist/modern/visualBuilder/hooks/useCommentTextArea.d.ts +1 -0
  399. package/dist/modern/visualBuilder/hooks/useCommentTextArea.js +22 -5
  400. package/dist/modern/visualBuilder/hooks/useCommentTextArea.js.map +1 -1
  401. package/dist/modern/visualBuilder/index.cjs +16 -11
  402. package/dist/modern/visualBuilder/index.cjs.map +1 -1
  403. package/dist/modern/visualBuilder/index.d.cts +1 -0
  404. package/dist/modern/visualBuilder/index.d.ts +1 -0
  405. package/dist/modern/visualBuilder/index.js +14 -5
  406. package/dist/modern/visualBuilder/index.js.map +1 -1
  407. package/dist/modern/visualBuilder/listeners/mouseClick.cjs +78 -18
  408. package/dist/modern/visualBuilder/listeners/mouseClick.cjs.map +1 -1
  409. package/dist/modern/visualBuilder/listeners/mouseClick.d.cts +4 -1
  410. package/dist/modern/visualBuilder/listeners/mouseClick.d.ts +4 -1
  411. package/dist/modern/visualBuilder/listeners/mouseClick.js +78 -18
  412. package/dist/modern/visualBuilder/listeners/mouseClick.js.map +1 -1
  413. package/dist/modern/visualBuilder/listeners/mouseHover.cjs +3 -1
  414. package/dist/modern/visualBuilder/listeners/mouseHover.cjs.map +1 -1
  415. package/dist/modern/visualBuilder/listeners/mouseHover.js +3 -1
  416. package/dist/modern/visualBuilder/listeners/mouseHover.js.map +1 -1
  417. package/dist/modern/visualBuilder/types/collab.types.cjs.map +1 -1
  418. package/dist/modern/visualBuilder/types/collab.types.d.cts +22 -1
  419. package/dist/modern/visualBuilder/types/collab.types.d.ts +22 -1
  420. package/dist/modern/visualBuilder/utils/collabUtils.cjs +105 -2
  421. package/dist/modern/visualBuilder/utils/collabUtils.cjs.map +1 -1
  422. package/dist/modern/visualBuilder/utils/collabUtils.d.cts +25 -1
  423. package/dist/modern/visualBuilder/utils/collabUtils.d.ts +25 -1
  424. package/dist/modern/visualBuilder/utils/collabUtils.js +100 -2
  425. package/dist/modern/visualBuilder/utils/collabUtils.js.map +1 -1
  426. package/dist/modern/visualBuilder/utils/enableInlineEditing.cjs +94 -0
  427. package/dist/modern/visualBuilder/utils/enableInlineEditing.cjs.map +1 -0
  428. package/dist/modern/visualBuilder/utils/enableInlineEditing.d.cts +11 -0
  429. package/dist/modern/visualBuilder/utils/enableInlineEditing.d.ts +11 -0
  430. package/dist/modern/visualBuilder/utils/enableInlineEditing.js +74 -0
  431. package/dist/modern/visualBuilder/utils/enableInlineEditing.js.map +1 -0
  432. package/dist/modern/visualBuilder/utils/getChildrenDirection.cjs +8 -0
  433. package/dist/modern/visualBuilder/utils/getChildrenDirection.cjs.map +1 -1
  434. package/dist/modern/visualBuilder/utils/getChildrenDirection.d.cts +3 -1
  435. package/dist/modern/visualBuilder/utils/getChildrenDirection.d.ts +3 -1
  436. package/dist/modern/visualBuilder/utils/getChildrenDirection.js +8 -0
  437. package/dist/modern/visualBuilder/utils/getChildrenDirection.js.map +1 -1
  438. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs +23 -111
  439. package/dist/modern/visualBuilder/utils/handleIndividualFields.cjs.map +1 -1
  440. package/dist/modern/visualBuilder/utils/handleIndividualFields.d.cts +3 -5
  441. package/dist/modern/visualBuilder/utils/handleIndividualFields.d.ts +3 -5
  442. package/dist/modern/visualBuilder/utils/handleIndividualFields.js +21 -115
  443. package/dist/modern/visualBuilder/utils/handleIndividualFields.js.map +1 -1
  444. package/dist/modern/visualBuilder/utils/handleInlineEditableField.cjs +81 -0
  445. package/dist/modern/visualBuilder/utils/handleInlineEditableField.cjs.map +1 -0
  446. package/dist/modern/visualBuilder/utils/handleInlineEditableField.d.cts +16 -0
  447. package/dist/modern/visualBuilder/utils/handleInlineEditableField.d.ts +16 -0
  448. package/dist/modern/visualBuilder/utils/handleInlineEditableField.js +58 -0
  449. package/dist/modern/visualBuilder/utils/handleInlineEditableField.js.map +1 -0
  450. package/dist/modern/visualBuilder/utils/isFieldMultiple.cjs +35 -0
  451. package/dist/modern/visualBuilder/utils/isFieldMultiple.cjs.map +1 -0
  452. package/dist/modern/visualBuilder/utils/isFieldMultiple.d.cts +6 -0
  453. package/dist/modern/visualBuilder/utils/isFieldMultiple.d.ts +6 -0
  454. package/dist/modern/visualBuilder/utils/isFieldMultiple.js +12 -0
  455. package/dist/modern/visualBuilder/utils/isFieldMultiple.js.map +1 -0
  456. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs +14 -18
  457. package/dist/modern/visualBuilder/utils/multipleElementAddButton.cjs.map +1 -1
  458. package/dist/modern/visualBuilder/utils/multipleElementAddButton.d.cts +1 -1
  459. package/dist/modern/visualBuilder/utils/multipleElementAddButton.d.ts +1 -1
  460. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js +14 -18
  461. package/dist/modern/visualBuilder/utils/multipleElementAddButton.js.map +1 -1
  462. package/dist/modern/visualBuilder/utils/pasteAsPlainText.cjs +44 -0
  463. package/dist/modern/visualBuilder/utils/pasteAsPlainText.cjs.map +1 -0
  464. package/dist/modern/visualBuilder/utils/pasteAsPlainText.d.cts +5 -0
  465. package/dist/modern/visualBuilder/utils/pasteAsPlainText.d.ts +5 -0
  466. package/dist/modern/visualBuilder/utils/pasteAsPlainText.js +21 -0
  467. package/dist/modern/visualBuilder/utils/pasteAsPlainText.js.map +1 -0
  468. package/dist/modern/visualBuilder/utils/types/index.types.cjs.map +1 -1
  469. package/dist/modern/visualBuilder/utils/types/index.types.d.cts +6 -1
  470. package/dist/modern/visualBuilder/utils/types/index.types.d.ts +6 -1
  471. package/dist/modern/visualBuilder/utils/types/index.types.js.map +1 -1
  472. package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs +2 -1
  473. package/dist/modern/visualBuilder/utils/types/postMessage.types.cjs.map +1 -1
  474. package/dist/modern/visualBuilder/utils/types/postMessage.types.d.cts +2 -1
  475. package/dist/modern/visualBuilder/utils/types/postMessage.types.d.ts +2 -1
  476. package/dist/modern/visualBuilder/utils/types/postMessage.types.js +2 -1
  477. package/dist/modern/visualBuilder/utils/types/postMessage.types.js.map +1 -1
  478. package/dist/modern/visualBuilder/visualBuilder.style.cjs +27 -5
  479. package/dist/modern/visualBuilder/visualBuilder.style.cjs.map +1 -1
  480. package/dist/modern/visualBuilder/visualBuilder.style.d.cts +6 -1
  481. package/dist/modern/visualBuilder/visualBuilder.style.d.ts +6 -1
  482. package/dist/modern/visualBuilder/visualBuilder.style.js +27 -5
  483. package/dist/modern/visualBuilder/visualBuilder.style.js.map +1 -1
  484. package/package.json +4 -3
@@ -46,9 +46,14 @@ var handleRemoveCommentIcons = (fromShare = false) => {
46
46
  (0, import_generateThread.removeAllCollabIcons)();
47
47
  };
48
48
  var useCollab = () => {
49
+ const config = import_configManager.default.get();
49
50
  const collabEnable = import_visualBuilderPostMessage.default?.on(
50
51
  import_postMessage.VisualBuilderPostMessageEvents.COLLAB_ENABLE,
51
52
  (data) => {
53
+ if (!data?.data?.collab) {
54
+ console.error("Invalid collab data structure:", data);
55
+ return;
56
+ }
52
57
  if (data?.data?.collab?.fromShare) {
53
58
  import_configManager.default.set(
54
59
  "collab.pauseFeedback",
@@ -57,22 +62,37 @@ var useCollab = () => {
57
62
  (0, import_generateThread.showAllCollabIcons)();
58
63
  return;
59
64
  }
60
- if (!data?.data?.collab) {
61
- console.error("Invalid collab data structure:", data);
62
- return;
63
- }
64
65
  import_configManager.default.set("collab.enable", data.data.collab.enable ?? false);
65
66
  import_configManager.default.set(
66
67
  "collab.isFeedbackMode",
67
68
  data.data.collab.isFeedbackMode ?? false
68
69
  );
70
+ import_configManager.default.set(
71
+ "collab.pauseFeedback",
72
+ data?.data?.collab?.pauseFeedback
73
+ );
69
74
  import_configManager.default.set(
70
75
  "collab.inviteMetadata",
71
76
  data.data.collab.inviteMetadata
72
77
  );
73
- const missingThreadIds = data?.data?.payload?.map(
74
- (payload) => (0, import_generateThread2.generateThread)(payload, { isNewThread: false })
75
- ).filter(Boolean);
78
+ }
79
+ );
80
+ const collabPayload = import_visualBuilderPostMessage.default?.on(
81
+ import_postMessage.VisualBuilderPostMessageEvents.COLLAB_DATA_UPDATE,
82
+ (data) => {
83
+ if (!config?.collab?.enable) return;
84
+ if (!data?.data?.collab) {
85
+ console.error("Invalid collab data structure:", data);
86
+ return;
87
+ }
88
+ if (data?.data?.collab?.inviteMetadata) {
89
+ import_configManager.default.set(
90
+ "collab.inviteMetadata",
91
+ data?.data?.collab?.inviteMetadata
92
+ );
93
+ return;
94
+ }
95
+ const missingThreadIds = data?.data?.collab?.payload?.map((payload) => (0, import_generateThread2.generateThread)(payload)).filter((id) => id !== void 0) || [];
76
96
  if (missingThreadIds.length > 0) {
77
97
  (0, import_generateThread2.handleMissingThreads)({
78
98
  payload: { isElementPresent: false },
@@ -98,17 +118,28 @@ var useCollab = () => {
98
118
  }
99
119
  );
100
120
  const collabThreadRemove = import_visualBuilderPostMessage.default?.on(
101
- import_postMessage.VisualBuilderPostMessageEvents.COLLAB_THREAD_REMOVE,
121
+ import_postMessage.VisualBuilderPostMessageEvents.COLLAB_THREADS_REMOVE,
102
122
  (data) => {
103
- const { threadUid } = data.data;
104
- (0, import_generateThread.removeCollabIcon)(threadUid);
123
+ const threadUids = data?.data?.threadUids;
124
+ if (!config?.collab?.enable) return;
125
+ if (data?.data?.updateConfig) {
126
+ import_configManager.default.set("collab.isFeedbackMode", true);
127
+ }
128
+ if (threadUids.length > 0) {
129
+ threadUids.forEach((threadUid) => {
130
+ (0, import_generateThread.removeCollabIcon)(threadUid);
131
+ });
132
+ }
105
133
  }
106
134
  );
107
135
  const collabThreadReopen = import_visualBuilderPostMessage.default?.on(
108
136
  import_postMessage.VisualBuilderPostMessageEvents.COLLAB_THREAD_REOPEN,
109
137
  (data) => {
110
138
  const thread = data.data.thread;
111
- const result = (0, import_generateThread2.generateThread)(thread, { isNewThread: false });
139
+ if (!config?.collab?.enable) return;
140
+ const result = (0, import_generateThread2.generateThread)(thread, {
141
+ hidden: Boolean(config?.collab?.pauseFeedback)
142
+ });
112
143
  if (result) {
113
144
  (0, import_generateThread2.handleMissingThreads)({
114
145
  payload: { isElementPresent: false },
@@ -121,11 +152,14 @@ var useCollab = () => {
121
152
  import_postMessage.VisualBuilderPostMessageEvents.COLLAB_THREAD_HIGHLIGHT,
122
153
  (data) => {
123
154
  const { threadUid } = data.data;
155
+ if (!config?.collab?.enable || config?.collab?.pauseFeedback)
156
+ return;
124
157
  (0, import_generateThread.HighlightThread)(threadUid);
125
158
  }
126
159
  );
127
160
  return () => {
128
161
  collabEnable?.unregister();
162
+ collabPayload?.unregister();
129
163
  collabDisable?.unregister();
130
164
  collabThreadRemove?.unregister();
131
165
  collabThreadReopen?.unregister();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useCollab.ts"],"sourcesContent":["import visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\nimport Config from \"../../configManager/configManager\";\nimport {\n removeAllCollabIcons,\n hideAllCollabIcons,\n removeCollabIcon,\n HighlightThread,\n showAllCollabIcons,\n} from \"../generators/generateThread\";\nimport {\n generateThread,\n handleMissingThreads,\n} from \"../generators/generateThread\";\nimport { IThreadDTO } from \"../types/collab.types\";\n\nconst handleRemoveCommentIcons = (fromShare: boolean = false): void => {\n if (fromShare) {\n hideAllCollabIcons();\n return;\n }\n removeAllCollabIcons();\n};\n\nexport const useCollab = () => {\n const collabEnable = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_ENABLE,\n (data: any) => {\n if (data?.data?.collab?.fromShare) {\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n showAllCollabIcons();\n return;\n }\n\n if (!data?.data?.collab) {\n console.error(\"Invalid collab data structure:\", data);\n return;\n }\n Config.set(\"collab.enable\", data.data.collab.enable ?? false);\n Config.set(\n \"collab.isFeedbackMode\",\n data.data.collab.isFeedbackMode ?? false\n );\n Config.set(\n \"collab.inviteMetadata\",\n data.data.collab.inviteMetadata\n );\n\n const missingThreadIds = data?.data?.payload\n ?.map((payload: IThreadDTO) =>\n generateThread(payload, { isNewThread: false })\n )\n .filter(Boolean);\n if (missingThreadIds.length > 0) {\n handleMissingThreads({\n payload: { isElementPresent: false },\n threadUids: missingThreadIds,\n });\n }\n }\n );\n\n const collabDisable = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_DISABLE,\n (data: any) => {\n if (data?.data?.collab?.fromShare) {\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n handleRemoveCommentIcons(true);\n return;\n }\n\n Config.set(\"collab.enable\", false);\n Config.set(\"collab.isFeedbackMode\", false);\n\n handleRemoveCommentIcons();\n }\n );\n\n const collabThreadRemove = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_REMOVE,\n (data: any) => {\n const { threadUid } = data.data;\n removeCollabIcon(threadUid);\n }\n );\n\n const collabThreadReopen = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_REOPEN,\n (data: any) => {\n const thread = data.data.thread;\n const result = generateThread(thread, { isNewThread: false });\n if (result) {\n handleMissingThreads({\n payload: { isElementPresent: false },\n threadUids: [result],\n });\n }\n }\n );\n\n const collabThreadHighlight = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_HIGHLIGHT,\n (data: any) => {\n const { threadUid } = data.data;\n HighlightThread(threadUid);\n }\n );\n\n return () => {\n collabEnable?.unregister();\n collabDisable?.unregister();\n collabThreadRemove?.unregister();\n collabThreadReopen?.unregister();\n collabThreadHighlight?.unregister();\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAqC;AACrC,yBAA+C;AAC/C,2BAAmB;AACnB,4BAMO;AACP,IAAAA,yBAGO;AAGP,IAAM,2BAA2B,CAAC,YAAqB,UAAgB;AACnE,MAAI,WAAW;AACX,kDAAmB;AACnB;AAAA,EACJ;AACA,kDAAqB;AACzB;AAEO,IAAM,YAAY,MAAM;AAC3B,QAAM,eAAe,gCAAAC,SAA0B;AAAA,IAC3C,kDAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,UAAI,MAAM,MAAM,QAAQ,WAAW;AAC/B,6BAAAC,QAAO;AAAA,UACH;AAAA,UACA,MAAM,MAAM,QAAQ;AAAA,QACxB;AACA,sDAAmB;AACnB;AAAA,MACJ;AAEA,UAAI,CAAC,MAAM,MAAM,QAAQ;AACrB,gBAAQ,MAAM,kCAAkC,IAAI;AACpD;AAAA,MACJ;AACA,2BAAAA,QAAO,IAAI,iBAAiB,KAAK,KAAK,OAAO,UAAU,KAAK;AAC5D,2BAAAA,QAAO;AAAA,QACH;AAAA,QACA,KAAK,KAAK,OAAO,kBAAkB;AAAA,MACvC;AACA,2BAAAA,QAAO;AAAA,QACH;AAAA,QACA,KAAK,KAAK,OAAO;AAAA,MACrB;AAEA,YAAM,mBAAmB,MAAM,MAAM,SAC/B;AAAA,QAAI,CAAC,gBACH,uCAAe,SAAS,EAAE,aAAa,MAAM,CAAC;AAAA,MAClD,EACC,OAAO,OAAO;AACnB,UAAI,iBAAiB,SAAS,GAAG;AAC7B,yDAAqB;AAAA,UACjB,SAAS,EAAE,kBAAkB,MAAM;AAAA,UACnC,YAAY;AAAA,QAChB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,gBAAgB,gCAAAD,SAA0B;AAAA,IAC5C,kDAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,UAAI,MAAM,MAAM,QAAQ,WAAW;AAC/B,6BAAAC,QAAO;AAAA,UACH;AAAA,UACA,MAAM,MAAM,QAAQ;AAAA,QACxB;AACA,iCAAyB,IAAI;AAC7B;AAAA,MACJ;AAEA,2BAAAA,QAAO,IAAI,iBAAiB,KAAK;AACjC,2BAAAA,QAAO,IAAI,yBAAyB,KAAK;AAEzC,+BAAyB;AAAA,IAC7B;AAAA,EACJ;AAEA,QAAM,qBAAqB,gCAAAD,SAA0B;AAAA,IACjD,kDAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,YAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,kDAAiB,SAAS;AAAA,IAC9B;AAAA,EACJ;AAEA,QAAM,qBAAqB,gCAAAA,SAA0B;AAAA,IACjD,kDAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,YAAM,SAAS,KAAK,KAAK;AACzB,YAAM,aAAS,uCAAe,QAAQ,EAAE,aAAa,MAAM,CAAC;AAC5D,UAAI,QAAQ;AACR,yDAAqB;AAAA,UACjB,SAAS,EAAE,kBAAkB,MAAM;AAAA,UACnC,YAAY,CAAC,MAAM;AAAA,QACvB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,wBAAwB,gCAAAA,SAA0B;AAAA,IACpD,kDAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,YAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,iDAAgB,SAAS;AAAA,IAC7B;AAAA,EACJ;AAEA,SAAO,MAAM;AACT,kBAAc,WAAW;AACzB,mBAAe,WAAW;AAC1B,wBAAoB,WAAW;AAC/B,wBAAoB,WAAW;AAC/B,2BAAuB,WAAW;AAAA,EACtC;AACJ;","names":["import_generateThread","visualBuilderPostMessage","Config"]}
1
+ {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useCollab.ts"],"sourcesContent":["import visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\nimport Config from \"../../configManager/configManager\";\nimport {\n removeAllCollabIcons,\n hideAllCollabIcons,\n removeCollabIcon,\n HighlightThread,\n showAllCollabIcons,\n} from \"../generators/generateThread\";\nimport {\n generateThread,\n handleMissingThreads,\n} from \"../generators/generateThread\";\nimport {\n IThreadDTO,\n ICollabConfig,\n IThreadIdentifier,\n IThreadRemove,\n IThreadReopen,\n} from \"../types/collab.types\";\nimport { OnEvent } from \"@contentstack/advanced-post-message\";\n\nconst handleRemoveCommentIcons = (fromShare: boolean = false): void => {\n if (fromShare) {\n hideAllCollabIcons();\n return;\n }\n removeAllCollabIcons();\n};\n\nexport const useCollab = () => {\n const config = Config.get();\n const collabEnable = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_ENABLE,\n (data: OnEvent<ICollabConfig>) => {\n if (!data?.data?.collab) {\n console.error(\"Invalid collab data structure:\", data);\n return;\n }\n if (data?.data?.collab?.fromShare) {\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n showAllCollabIcons();\n return;\n }\n\n Config.set(\"collab.enable\", data.data.collab.enable ?? false);\n Config.set(\n \"collab.isFeedbackMode\",\n data.data.collab.isFeedbackMode ?? false\n );\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n Config.set(\n \"collab.inviteMetadata\",\n data.data.collab.inviteMetadata\n );\n }\n );\n\n const collabPayload = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_DATA_UPDATE,\n (data: OnEvent<ICollabConfig>) => {\n if (!config?.collab?.enable) return;\n\n if (!data?.data?.collab) {\n console.error(\"Invalid collab data structure:\", data);\n return;\n }\n\n if (data?.data?.collab?.inviteMetadata) {\n Config.set(\n \"collab.inviteMetadata\",\n data?.data?.collab?.inviteMetadata\n );\n return;\n }\n\n const missingThreadIds =\n data?.data?.collab?.payload\n ?.map((payload: IThreadDTO) => generateThread(payload))\n .filter((id): id is string => id !== undefined) || [];\n if (missingThreadIds.length > 0) {\n handleMissingThreads({\n payload: { isElementPresent: false },\n threadUids: missingThreadIds,\n });\n }\n }\n );\n\n const collabDisable = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_DISABLE,\n (data: OnEvent<ICollabConfig>) => {\n if (data?.data?.collab?.fromShare) {\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n handleRemoveCommentIcons(true);\n return;\n }\n\n Config.set(\"collab.enable\", false);\n Config.set(\"collab.isFeedbackMode\", false);\n\n handleRemoveCommentIcons();\n }\n );\n\n const collabThreadRemove = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREADS_REMOVE,\n (data: OnEvent<IThreadRemove>) => {\n const threadUids = data?.data?.threadUids;\n\n if (!config?.collab?.enable) return;\n\n if (data?.data?.updateConfig) {\n Config.set(\"collab.isFeedbackMode\", true);\n }\n if (threadUids.length > 0) {\n threadUids.forEach((threadUid) => {\n removeCollabIcon(threadUid);\n });\n }\n }\n );\n\n const collabThreadReopen = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_REOPEN,\n (data: OnEvent<IThreadReopen>) => {\n const thread = data.data.thread;\n\n if (!config?.collab?.enable) return;\n\n const result = generateThread(thread, {\n hidden: Boolean(config?.collab?.pauseFeedback),\n });\n if (result) {\n handleMissingThreads({\n payload: { isElementPresent: false },\n threadUids: [result],\n });\n }\n }\n );\n\n const collabThreadHighlight = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_HIGHLIGHT,\n (data: OnEvent<IThreadIdentifier>) => {\n const { threadUid } = data.data;\n if (!config?.collab?.enable || config?.collab?.pauseFeedback)\n return;\n\n HighlightThread(threadUid);\n }\n );\n\n return () => {\n collabEnable?.unregister();\n collabPayload?.unregister();\n collabDisable?.unregister();\n collabThreadRemove?.unregister();\n collabThreadReopen?.unregister();\n collabThreadHighlight?.unregister();\n };\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sCAAqC;AACrC,yBAA+C;AAC/C,2BAAmB;AACnB,4BAMO;AACP,IAAAA,yBAGO;AAUP,IAAM,2BAA2B,CAAC,YAAqB,UAAgB;AACnE,MAAI,WAAW;AACX,kDAAmB;AACnB;AAAA,EACJ;AACA,kDAAqB;AACzB;AAEO,IAAM,YAAY,MAAM;AAC3B,QAAM,SAAS,qBAAAC,QAAO,IAAI;AAC1B,QAAM,eAAe,gCAAAC,SAA0B;AAAA,IAC3C,kDAA+B;AAAA,IAC/B,CAAC,SAAiC;AAC9B,UAAI,CAAC,MAAM,MAAM,QAAQ;AACrB,gBAAQ,MAAM,kCAAkC,IAAI;AACpD;AAAA,MACJ;AACA,UAAI,MAAM,MAAM,QAAQ,WAAW;AAC/B,6BAAAD,QAAO;AAAA,UACH;AAAA,UACA,MAAM,MAAM,QAAQ;AAAA,QACxB;AACA,sDAAmB;AACnB;AAAA,MACJ;AAEA,2BAAAA,QAAO,IAAI,iBAAiB,KAAK,KAAK,OAAO,UAAU,KAAK;AAC5D,2BAAAA,QAAO;AAAA,QACH;AAAA,QACA,KAAK,KAAK,OAAO,kBAAkB;AAAA,MACvC;AACA,2BAAAA,QAAO;AAAA,QACH;AAAA,QACA,MAAM,MAAM,QAAQ;AAAA,MACxB;AACA,2BAAAA,QAAO;AAAA,QACH;AAAA,QACA,KAAK,KAAK,OAAO;AAAA,MACrB;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,gBAAgB,gCAAAC,SAA0B;AAAA,IAC5C,kDAA+B;AAAA,IAC/B,CAAC,SAAiC;AAC9B,UAAI,CAAC,QAAQ,QAAQ,OAAQ;AAE7B,UAAI,CAAC,MAAM,MAAM,QAAQ;AACrB,gBAAQ,MAAM,kCAAkC,IAAI;AACpD;AAAA,MACJ;AAEA,UAAI,MAAM,MAAM,QAAQ,gBAAgB;AACpC,6BAAAD,QAAO;AAAA,UACH;AAAA,UACA,MAAM,MAAM,QAAQ;AAAA,QACxB;AACA;AAAA,MACJ;AAEA,YAAM,mBACF,MAAM,MAAM,QAAQ,SACd,IAAI,CAAC,gBAAwB,uCAAe,OAAO,CAAC,EACrD,OAAO,CAAC,OAAqB,OAAO,MAAS,KAAK,CAAC;AAC5D,UAAI,iBAAiB,SAAS,GAAG;AAC7B,yDAAqB;AAAA,UACjB,SAAS,EAAE,kBAAkB,MAAM;AAAA,UACnC,YAAY;AAAA,QAChB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,gBAAgB,gCAAAC,SAA0B;AAAA,IAC5C,kDAA+B;AAAA,IAC/B,CAAC,SAAiC;AAC9B,UAAI,MAAM,MAAM,QAAQ,WAAW;AAC/B,6BAAAD,QAAO;AAAA,UACH;AAAA,UACA,MAAM,MAAM,QAAQ;AAAA,QACxB;AACA,iCAAyB,IAAI;AAC7B;AAAA,MACJ;AAEA,2BAAAA,QAAO,IAAI,iBAAiB,KAAK;AACjC,2BAAAA,QAAO,IAAI,yBAAyB,KAAK;AAEzC,+BAAyB;AAAA,IAC7B;AAAA,EACJ;AAEA,QAAM,qBAAqB,gCAAAC,SAA0B;AAAA,IACjD,kDAA+B;AAAA,IAC/B,CAAC,SAAiC;AAC9B,YAAM,aAAa,MAAM,MAAM;AAE/B,UAAI,CAAC,QAAQ,QAAQ,OAAQ;AAE7B,UAAI,MAAM,MAAM,cAAc;AAC1B,6BAAAD,QAAO,IAAI,yBAAyB,IAAI;AAAA,MAC5C;AACA,UAAI,WAAW,SAAS,GAAG;AACvB,mBAAW,QAAQ,CAAC,cAAc;AAC9B,sDAAiB,SAAS;AAAA,QAC9B,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,qBAAqB,gCAAAC,SAA0B;AAAA,IACjD,kDAA+B;AAAA,IAC/B,CAAC,SAAiC;AAC9B,YAAM,SAAS,KAAK,KAAK;AAEzB,UAAI,CAAC,QAAQ,QAAQ,OAAQ;AAE7B,YAAM,aAAS,uCAAe,QAAQ;AAAA,QAClC,QAAQ,QAAQ,QAAQ,QAAQ,aAAa;AAAA,MACjD,CAAC;AACD,UAAI,QAAQ;AACR,yDAAqB;AAAA,UACjB,SAAS,EAAE,kBAAkB,MAAM;AAAA,UACnC,YAAY,CAAC,MAAM;AAAA,QACvB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,wBAAwB,gCAAAA,SAA0B;AAAA,IACpD,kDAA+B;AAAA,IAC/B,CAAC,SAAqC;AAClC,YAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,UAAI,CAAC,QAAQ,QAAQ,UAAU,QAAQ,QAAQ;AAC3C;AAEJ,iDAAgB,SAAS;AAAA,IAC7B;AAAA,EACJ;AAEA,SAAO,MAAM;AACT,kBAAc,WAAW;AACzB,mBAAe,WAAW;AAC1B,mBAAe,WAAW;AAC1B,wBAAoB,WAAW;AAC/B,wBAAoB,WAAW;AAC/B,2BAAuB,WAAW;AAAA,EACtC;AACJ;","names":["import_generateThread","Config","visualBuilderPostMessage"]}
@@ -23,9 +23,14 @@ var handleRemoveCommentIcons = (fromShare = false) => {
23
23
  removeAllCollabIcons();
24
24
  };
25
25
  var useCollab = () => {
26
+ const config = Config.get();
26
27
  const collabEnable = visualBuilderPostMessage?.on(
27
28
  VisualBuilderPostMessageEvents.COLLAB_ENABLE,
28
29
  (data) => {
30
+ if (!data?.data?.collab) {
31
+ console.error("Invalid collab data structure:", data);
32
+ return;
33
+ }
29
34
  if (data?.data?.collab?.fromShare) {
30
35
  Config.set(
31
36
  "collab.pauseFeedback",
@@ -34,22 +39,37 @@ var useCollab = () => {
34
39
  showAllCollabIcons();
35
40
  return;
36
41
  }
37
- if (!data?.data?.collab) {
38
- console.error("Invalid collab data structure:", data);
39
- return;
40
- }
41
42
  Config.set("collab.enable", data.data.collab.enable ?? false);
42
43
  Config.set(
43
44
  "collab.isFeedbackMode",
44
45
  data.data.collab.isFeedbackMode ?? false
45
46
  );
47
+ Config.set(
48
+ "collab.pauseFeedback",
49
+ data?.data?.collab?.pauseFeedback
50
+ );
46
51
  Config.set(
47
52
  "collab.inviteMetadata",
48
53
  data.data.collab.inviteMetadata
49
54
  );
50
- const missingThreadIds = data?.data?.payload?.map(
51
- (payload) => generateThread(payload, { isNewThread: false })
52
- ).filter(Boolean);
55
+ }
56
+ );
57
+ const collabPayload = visualBuilderPostMessage?.on(
58
+ VisualBuilderPostMessageEvents.COLLAB_DATA_UPDATE,
59
+ (data) => {
60
+ if (!config?.collab?.enable) return;
61
+ if (!data?.data?.collab) {
62
+ console.error("Invalid collab data structure:", data);
63
+ return;
64
+ }
65
+ if (data?.data?.collab?.inviteMetadata) {
66
+ Config.set(
67
+ "collab.inviteMetadata",
68
+ data?.data?.collab?.inviteMetadata
69
+ );
70
+ return;
71
+ }
72
+ const missingThreadIds = data?.data?.collab?.payload?.map((payload) => generateThread(payload)).filter((id) => id !== void 0) || [];
53
73
  if (missingThreadIds.length > 0) {
54
74
  handleMissingThreads({
55
75
  payload: { isElementPresent: false },
@@ -75,17 +95,28 @@ var useCollab = () => {
75
95
  }
76
96
  );
77
97
  const collabThreadRemove = visualBuilderPostMessage?.on(
78
- VisualBuilderPostMessageEvents.COLLAB_THREAD_REMOVE,
98
+ VisualBuilderPostMessageEvents.COLLAB_THREADS_REMOVE,
79
99
  (data) => {
80
- const { threadUid } = data.data;
81
- removeCollabIcon(threadUid);
100
+ const threadUids = data?.data?.threadUids;
101
+ if (!config?.collab?.enable) return;
102
+ if (data?.data?.updateConfig) {
103
+ Config.set("collab.isFeedbackMode", true);
104
+ }
105
+ if (threadUids.length > 0) {
106
+ threadUids.forEach((threadUid) => {
107
+ removeCollabIcon(threadUid);
108
+ });
109
+ }
82
110
  }
83
111
  );
84
112
  const collabThreadReopen = visualBuilderPostMessage?.on(
85
113
  VisualBuilderPostMessageEvents.COLLAB_THREAD_REOPEN,
86
114
  (data) => {
87
115
  const thread = data.data.thread;
88
- const result = generateThread(thread, { isNewThread: false });
116
+ if (!config?.collab?.enable) return;
117
+ const result = generateThread(thread, {
118
+ hidden: Boolean(config?.collab?.pauseFeedback)
119
+ });
89
120
  if (result) {
90
121
  handleMissingThreads({
91
122
  payload: { isElementPresent: false },
@@ -98,11 +129,14 @@ var useCollab = () => {
98
129
  VisualBuilderPostMessageEvents.COLLAB_THREAD_HIGHLIGHT,
99
130
  (data) => {
100
131
  const { threadUid } = data.data;
132
+ if (!config?.collab?.enable || config?.collab?.pauseFeedback)
133
+ return;
101
134
  HighlightThread(threadUid);
102
135
  }
103
136
  );
104
137
  return () => {
105
138
  collabEnable?.unregister();
139
+ collabPayload?.unregister();
106
140
  collabDisable?.unregister();
107
141
  collabThreadRemove?.unregister();
108
142
  collabThreadReopen?.unregister();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useCollab.ts"],"sourcesContent":["import visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\nimport Config from \"../../configManager/configManager\";\nimport {\n removeAllCollabIcons,\n hideAllCollabIcons,\n removeCollabIcon,\n HighlightThread,\n showAllCollabIcons,\n} from \"../generators/generateThread\";\nimport {\n generateThread,\n handleMissingThreads,\n} from \"../generators/generateThread\";\nimport { IThreadDTO } from \"../types/collab.types\";\n\nconst handleRemoveCommentIcons = (fromShare: boolean = false): void => {\n if (fromShare) {\n hideAllCollabIcons();\n return;\n }\n removeAllCollabIcons();\n};\n\nexport const useCollab = () => {\n const collabEnable = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_ENABLE,\n (data: any) => {\n if (data?.data?.collab?.fromShare) {\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n showAllCollabIcons();\n return;\n }\n\n if (!data?.data?.collab) {\n console.error(\"Invalid collab data structure:\", data);\n return;\n }\n Config.set(\"collab.enable\", data.data.collab.enable ?? false);\n Config.set(\n \"collab.isFeedbackMode\",\n data.data.collab.isFeedbackMode ?? false\n );\n Config.set(\n \"collab.inviteMetadata\",\n data.data.collab.inviteMetadata\n );\n\n const missingThreadIds = data?.data?.payload\n ?.map((payload: IThreadDTO) =>\n generateThread(payload, { isNewThread: false })\n )\n .filter(Boolean);\n if (missingThreadIds.length > 0) {\n handleMissingThreads({\n payload: { isElementPresent: false },\n threadUids: missingThreadIds,\n });\n }\n }\n );\n\n const collabDisable = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_DISABLE,\n (data: any) => {\n if (data?.data?.collab?.fromShare) {\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n handleRemoveCommentIcons(true);\n return;\n }\n\n Config.set(\"collab.enable\", false);\n Config.set(\"collab.isFeedbackMode\", false);\n\n handleRemoveCommentIcons();\n }\n );\n\n const collabThreadRemove = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_REMOVE,\n (data: any) => {\n const { threadUid } = data.data;\n removeCollabIcon(threadUid);\n }\n );\n\n const collabThreadReopen = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_REOPEN,\n (data: any) => {\n const thread = data.data.thread;\n const result = generateThread(thread, { isNewThread: false });\n if (result) {\n handleMissingThreads({\n payload: { isElementPresent: false },\n threadUids: [result],\n });\n }\n }\n );\n\n const collabThreadHighlight = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_HIGHLIGHT,\n (data: any) => {\n const { threadUid } = data.data;\n HighlightThread(threadUid);\n }\n );\n\n return () => {\n collabEnable?.unregister();\n collabDisable?.unregister();\n collabThreadRemove?.unregister();\n collabThreadReopen?.unregister();\n collabThreadHighlight?.unregister();\n };\n};\n"],"mappings":";;;AAAA,OAAO,8BAA8B;AACrC,SAAS,sCAAsC;AAC/C,OAAO,YAAY;AACnB;AAAA,EACI;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACG;AACP;AAAA,EACI;AAAA,EACA;AAAA,OACG;AAGP,IAAM,2BAA2B,CAAC,YAAqB,UAAgB;AACnE,MAAI,WAAW;AACX,uBAAmB;AACnB;AAAA,EACJ;AACA,uBAAqB;AACzB;AAEO,IAAM,YAAY,MAAM;AAC3B,QAAM,eAAe,0BAA0B;AAAA,IAC3C,+BAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,UAAI,MAAM,MAAM,QAAQ,WAAW;AAC/B,eAAO;AAAA,UACH;AAAA,UACA,MAAM,MAAM,QAAQ;AAAA,QACxB;AACA,2BAAmB;AACnB;AAAA,MACJ;AAEA,UAAI,CAAC,MAAM,MAAM,QAAQ;AACrB,gBAAQ,MAAM,kCAAkC,IAAI;AACpD;AAAA,MACJ;AACA,aAAO,IAAI,iBAAiB,KAAK,KAAK,OAAO,UAAU,KAAK;AAC5D,aAAO;AAAA,QACH;AAAA,QACA,KAAK,KAAK,OAAO,kBAAkB;AAAA,MACvC;AACA,aAAO;AAAA,QACH;AAAA,QACA,KAAK,KAAK,OAAO;AAAA,MACrB;AAEA,YAAM,mBAAmB,MAAM,MAAM,SAC/B;AAAA,QAAI,CAAC,YACH,eAAe,SAAS,EAAE,aAAa,MAAM,CAAC;AAAA,MAClD,EACC,OAAO,OAAO;AACnB,UAAI,iBAAiB,SAAS,GAAG;AAC7B,6BAAqB;AAAA,UACjB,SAAS,EAAE,kBAAkB,MAAM;AAAA,UACnC,YAAY;AAAA,QAChB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,gBAAgB,0BAA0B;AAAA,IAC5C,+BAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,UAAI,MAAM,MAAM,QAAQ,WAAW;AAC/B,eAAO;AAAA,UACH;AAAA,UACA,MAAM,MAAM,QAAQ;AAAA,QACxB;AACA,iCAAyB,IAAI;AAC7B;AAAA,MACJ;AAEA,aAAO,IAAI,iBAAiB,KAAK;AACjC,aAAO,IAAI,yBAAyB,KAAK;AAEzC,+BAAyB;AAAA,IAC7B;AAAA,EACJ;AAEA,QAAM,qBAAqB,0BAA0B;AAAA,IACjD,+BAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,YAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,uBAAiB,SAAS;AAAA,IAC9B;AAAA,EACJ;AAEA,QAAM,qBAAqB,0BAA0B;AAAA,IACjD,+BAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,YAAM,SAAS,KAAK,KAAK;AACzB,YAAM,SAAS,eAAe,QAAQ,EAAE,aAAa,MAAM,CAAC;AAC5D,UAAI,QAAQ;AACR,6BAAqB;AAAA,UACjB,SAAS,EAAE,kBAAkB,MAAM;AAAA,UACnC,YAAY,CAAC,MAAM;AAAA,QACvB,CAAC;AAAA,MACL;AAAA,IACJ;AAAA,EACJ;AAEA,QAAM,wBAAwB,0BAA0B;AAAA,IACpD,+BAA+B;AAAA,IAC/B,CAAC,SAAc;AACX,YAAM,EAAE,UAAU,IAAI,KAAK;AAC3B,sBAAgB,SAAS;AAAA,IAC7B;AAAA,EACJ;AAEA,SAAO,MAAM;AACT,kBAAc,WAAW;AACzB,mBAAe,WAAW;AAC1B,wBAAoB,WAAW;AAC/B,wBAAoB,WAAW;AAC/B,2BAAuB,WAAW;AAAA,EACtC;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useCollab.ts"],"sourcesContent":["import visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\nimport Config from \"../../configManager/configManager\";\nimport {\n removeAllCollabIcons,\n hideAllCollabIcons,\n removeCollabIcon,\n HighlightThread,\n showAllCollabIcons,\n} from \"../generators/generateThread\";\nimport {\n generateThread,\n handleMissingThreads,\n} from \"../generators/generateThread\";\nimport {\n IThreadDTO,\n ICollabConfig,\n IThreadIdentifier,\n IThreadRemove,\n IThreadReopen,\n} from \"../types/collab.types\";\nimport { OnEvent } from \"@contentstack/advanced-post-message\";\n\nconst handleRemoveCommentIcons = (fromShare: boolean = false): void => {\n if (fromShare) {\n hideAllCollabIcons();\n return;\n }\n removeAllCollabIcons();\n};\n\nexport const useCollab = () => {\n const config = Config.get();\n const collabEnable = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_ENABLE,\n (data: OnEvent<ICollabConfig>) => {\n if (!data?.data?.collab) {\n console.error(\"Invalid collab data structure:\", data);\n return;\n }\n if (data?.data?.collab?.fromShare) {\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n showAllCollabIcons();\n return;\n }\n\n Config.set(\"collab.enable\", data.data.collab.enable ?? false);\n Config.set(\n \"collab.isFeedbackMode\",\n data.data.collab.isFeedbackMode ?? false\n );\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n Config.set(\n \"collab.inviteMetadata\",\n data.data.collab.inviteMetadata\n );\n }\n );\n\n const collabPayload = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_DATA_UPDATE,\n (data: OnEvent<ICollabConfig>) => {\n if (!config?.collab?.enable) return;\n\n if (!data?.data?.collab) {\n console.error(\"Invalid collab data structure:\", data);\n return;\n }\n\n if (data?.data?.collab?.inviteMetadata) {\n Config.set(\n \"collab.inviteMetadata\",\n data?.data?.collab?.inviteMetadata\n );\n return;\n }\n\n const missingThreadIds =\n data?.data?.collab?.payload\n ?.map((payload: IThreadDTO) => generateThread(payload))\n .filter((id): id is string => id !== undefined) || [];\n if (missingThreadIds.length > 0) {\n handleMissingThreads({\n payload: { isElementPresent: false },\n threadUids: missingThreadIds,\n });\n }\n }\n );\n\n const collabDisable = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_DISABLE,\n (data: OnEvent<ICollabConfig>) => {\n if (data?.data?.collab?.fromShare) {\n Config.set(\n \"collab.pauseFeedback\",\n data?.data?.collab?.pauseFeedback\n );\n handleRemoveCommentIcons(true);\n return;\n }\n\n Config.set(\"collab.enable\", false);\n Config.set(\"collab.isFeedbackMode\", false);\n\n handleRemoveCommentIcons();\n }\n );\n\n const collabThreadRemove = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREADS_REMOVE,\n (data: OnEvent<IThreadRemove>) => {\n const threadUids = data?.data?.threadUids;\n\n if (!config?.collab?.enable) return;\n\n if (data?.data?.updateConfig) {\n Config.set(\"collab.isFeedbackMode\", true);\n }\n if (threadUids.length > 0) {\n threadUids.forEach((threadUid) => {\n removeCollabIcon(threadUid);\n });\n }\n }\n );\n\n const collabThreadReopen = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_REOPEN,\n (data: OnEvent<IThreadReopen>) => {\n const thread = data.data.thread;\n\n if (!config?.collab?.enable) return;\n\n const result = generateThread(thread, {\n hidden: Boolean(config?.collab?.pauseFeedback),\n });\n if (result) {\n handleMissingThreads({\n payload: { isElementPresent: false },\n threadUids: [result],\n });\n }\n }\n );\n\n const collabThreadHighlight = visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.COLLAB_THREAD_HIGHLIGHT,\n (data: OnEvent<IThreadIdentifier>) => {\n const { threadUid } = data.data;\n if (!config?.collab?.enable || config?.collab?.pauseFeedback)\n return;\n\n HighlightThread(threadUid);\n }\n );\n\n return () => {\n collabEnable?.unregister();\n collabPayload?.unregister();\n collabDisable?.unregister();\n collabThreadRemove?.unregister();\n collabThreadReopen?.unregister();\n collabThreadHighlight?.unregister();\n };\n};\n"],"mappings":"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","names":[]}
@@ -36,6 +36,7 @@ module.exports = __toCommonJS(useHideFocusOverlayPostMessageEvent_exports);
36
36
  var import_generateOverlay = require("../generators/generateOverlay.cjs");
37
37
  var import_visualBuilderPostMessage = __toESM(require("../utils/visualBuilderPostMessage.cjs"), 1);
38
38
  var import_postMessage = require("../utils/types/postMessage.types.cjs");
39
+ var import_configManager = __toESM(require("../../configManager/configManager.cjs"), 1);
39
40
  function useHideFocusOverlayPostMessageEvent({
40
41
  visualBuilderContainer,
41
42
  overlayWrapper,
@@ -45,6 +46,10 @@ function useHideFocusOverlayPostMessageEvent({
45
46
  import_visualBuilderPostMessage.default?.on(
46
47
  import_postMessage.VisualBuilderPostMessageEvents.HIDE_FOCUS_OVERLAY,
47
48
  (args) => {
49
+ if (Boolean(args?.data?.fromCollab)) {
50
+ import_configManager.default.set("collab.enable", true);
51
+ import_configManager.default.set("collab.pauseFeedback", true);
52
+ }
48
53
  (0, import_generateOverlay.hideOverlay)({
49
54
  visualBuilderOverlayWrapper: overlayWrapper,
50
55
  visualBuilderContainer,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.ts"],"sourcesContent":["import { hideOverlay } from \"../generators/generateOverlay\";\nimport EventListenerHandlerParams from \"../listeners/types\";\nimport visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\n\ntype HideFocusOverlayEventHandlerParams = Omit<\n EventListenerHandlerParams,\n \"event\" | \"eventDetails\" | \"customCursor\" | \"previousSelectedEditableDOM\"\n>;\n\nexport function useHideFocusOverlayPostMessageEvent({\n visualBuilderContainer,\n overlayWrapper,\n focusedToolbar,\n resizeObserver,\n}: HideFocusOverlayEventHandlerParams): void {\n visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.HIDE_FOCUS_OVERLAY,\n (args: { data: { noTrigger: boolean } }) => {\n hideOverlay({\n visualBuilderOverlayWrapper: overlayWrapper,\n visualBuilderContainer,\n focusedToolbar,\n resizeObserver,\n noTrigger: Boolean(args?.data?.noTrigger)\n });\n }\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAA4B;AAE5B,sCAAqC;AACrC,yBAA+C;AAOxC,SAAS,oCAAoC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAA6C;AACzC,kCAAAA,SAA0B;AAAA,IACtB,kDAA+B;AAAA,IAC/B,CAAC,SAA2C;AACxC,8CAAY;AAAA,QACR,6BAA6B;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,QAAQ,MAAM,MAAM,SAAS;AAAA,MAC5C,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;","names":["visualBuilderPostMessage"]}
1
+ {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.ts"],"sourcesContent":["import { hideOverlay } from \"../generators/generateOverlay\";\nimport EventListenerHandlerParams from \"../listeners/types\";\nimport visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\nimport Config from \"../../configManager/configManager\";\n\ntype HideFocusOverlayEventHandlerParams = Omit<\n EventListenerHandlerParams,\n \"event\" | \"eventDetails\" | \"customCursor\" | \"previousSelectedEditableDOM\"\n>;\n\nexport function useHideFocusOverlayPostMessageEvent({\n visualBuilderContainer,\n overlayWrapper,\n focusedToolbar,\n resizeObserver,\n}: HideFocusOverlayEventHandlerParams): void {\n visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.HIDE_FOCUS_OVERLAY,\n (args: { data: { noTrigger: boolean; fromCollab: boolean } }) => {\n if (Boolean(args?.data?.fromCollab)) {\n Config.set(\"collab.enable\", true);\n Config.set(\"collab.pauseFeedback\", true);\n }\n\n hideOverlay({\n visualBuilderOverlayWrapper: overlayWrapper,\n visualBuilderContainer,\n focusedToolbar,\n resizeObserver,\n noTrigger: Boolean(args?.data?.noTrigger),\n });\n }\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAA4B;AAE5B,sCAAqC;AACrC,yBAA+C;AAC/C,2BAAmB;AAOZ,SAAS,oCAAoC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAA6C;AACzC,kCAAAA,SAA0B;AAAA,IACtB,kDAA+B;AAAA,IAC/B,CAAC,SAAgE;AAC7D,UAAI,QAAQ,MAAM,MAAM,UAAU,GAAG;AACjC,6BAAAC,QAAO,IAAI,iBAAiB,IAAI;AAChC,6BAAAA,QAAO,IAAI,wBAAwB,IAAI;AAAA,MAC3C;AAEA,8CAAY;AAAA,QACR,6BAA6B;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,QAAQ,MAAM,MAAM,SAAS;AAAA,MAC5C,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;","names":["visualBuilderPostMessage","Config"]}
@@ -4,6 +4,7 @@ import "../../chunk-5WRI5ZAA.js";
4
4
  import { hideOverlay } from "../generators/generateOverlay.js";
5
5
  import visualBuilderPostMessage from "../utils/visualBuilderPostMessage.js";
6
6
  import { VisualBuilderPostMessageEvents } from "../utils/types/postMessage.types.js";
7
+ import Config from "../../configManager/configManager.js";
7
8
  function useHideFocusOverlayPostMessageEvent({
8
9
  visualBuilderContainer,
9
10
  overlayWrapper,
@@ -13,6 +14,10 @@ function useHideFocusOverlayPostMessageEvent({
13
14
  visualBuilderPostMessage?.on(
14
15
  VisualBuilderPostMessageEvents.HIDE_FOCUS_OVERLAY,
15
16
  (args) => {
17
+ if (Boolean(args?.data?.fromCollab)) {
18
+ Config.set("collab.enable", true);
19
+ Config.set("collab.pauseFeedback", true);
20
+ }
16
21
  hideOverlay({
17
22
  visualBuilderOverlayWrapper: overlayWrapper,
18
23
  visualBuilderContainer,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.ts"],"sourcesContent":["import { hideOverlay } from \"../generators/generateOverlay\";\nimport EventListenerHandlerParams from \"../listeners/types\";\nimport visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\n\ntype HideFocusOverlayEventHandlerParams = Omit<\n EventListenerHandlerParams,\n \"event\" | \"eventDetails\" | \"customCursor\" | \"previousSelectedEditableDOM\"\n>;\n\nexport function useHideFocusOverlayPostMessageEvent({\n visualBuilderContainer,\n overlayWrapper,\n focusedToolbar,\n resizeObserver,\n}: HideFocusOverlayEventHandlerParams): void {\n visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.HIDE_FOCUS_OVERLAY,\n (args: { data: { noTrigger: boolean } }) => {\n hideOverlay({\n visualBuilderOverlayWrapper: overlayWrapper,\n visualBuilderContainer,\n focusedToolbar,\n resizeObserver,\n noTrigger: Boolean(args?.data?.noTrigger)\n });\n }\n );\n}\n"],"mappings":";;;AAAA,SAAS,mBAAmB;AAE5B,OAAO,8BAA8B;AACrC,SAAS,sCAAsC;AAOxC,SAAS,oCAAoC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAA6C;AACzC,4BAA0B;AAAA,IACtB,+BAA+B;AAAA,IAC/B,CAAC,SAA2C;AACxC,kBAAY;AAAA,QACR,6BAA6B;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,QAAQ,MAAM,MAAM,SAAS;AAAA,MAC5C,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;","names":[]}
1
+ {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useHideFocusOverlayPostMessageEvent.ts"],"sourcesContent":["import { hideOverlay } from \"../generators/generateOverlay\";\nimport EventListenerHandlerParams from \"../listeners/types\";\nimport visualBuilderPostMessage from \"../utils/visualBuilderPostMessage\";\nimport { VisualBuilderPostMessageEvents } from \"../utils/types/postMessage.types\";\nimport Config from \"../../configManager/configManager\";\n\ntype HideFocusOverlayEventHandlerParams = Omit<\n EventListenerHandlerParams,\n \"event\" | \"eventDetails\" | \"customCursor\" | \"previousSelectedEditableDOM\"\n>;\n\nexport function useHideFocusOverlayPostMessageEvent({\n visualBuilderContainer,\n overlayWrapper,\n focusedToolbar,\n resizeObserver,\n}: HideFocusOverlayEventHandlerParams): void {\n visualBuilderPostMessage?.on(\n VisualBuilderPostMessageEvents.HIDE_FOCUS_OVERLAY,\n (args: { data: { noTrigger: boolean; fromCollab: boolean } }) => {\n if (Boolean(args?.data?.fromCollab)) {\n Config.set(\"collab.enable\", true);\n Config.set(\"collab.pauseFeedback\", true);\n }\n\n hideOverlay({\n visualBuilderOverlayWrapper: overlayWrapper,\n visualBuilderContainer,\n focusedToolbar,\n resizeObserver,\n noTrigger: Boolean(args?.data?.noTrigger),\n });\n }\n );\n}\n"],"mappings":";;;AAAA,SAAS,mBAAmB;AAE5B,OAAO,8BAA8B;AACrC,SAAS,sCAAsC;AAC/C,OAAO,YAAY;AAOZ,SAAS,oCAAoC;AAAA,EAChD;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACJ,GAA6C;AACzC,4BAA0B;AAAA,IACtB,+BAA+B;AAAA,IAC/B,CAAC,SAAgE;AAC7D,UAAI,QAAQ,MAAM,MAAM,UAAU,GAAG;AACjC,eAAO,IAAI,iBAAiB,IAAI;AAChC,eAAO,IAAI,wBAAwB,IAAI;AAAA,MAC3C;AAEA,kBAAY;AAAA,QACR,6BAA6B;AAAA,QAC7B;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW,QAAQ,MAAM,MAAM,SAAS;AAAA,MAC5C,CAAC;AAAA,IACL;AAAA,EACJ;AACJ;","names":[]}
@@ -57,8 +57,10 @@ function updateVariantClasses({
57
57
  const observers = [];
58
58
  const updateElementClasses = (element, dataCslp, observer) => {
59
59
  if (!dataCslp) return;
60
- if (dataCslp.startsWith("v2:") && element.classList.contains("visual-builder__base-field")) {
61
- element.classList.remove("visual-builder__base-field");
60
+ if (dataCslp.startsWith("v2:") && !element.classList.contains("visual-builder__variant-field")) {
61
+ if (element.classList.contains("visual-builder__base-field")) {
62
+ element.classList.remove("visual-builder__base-field");
63
+ }
62
64
  if (highlightVariantFields) {
63
65
  element.classList.add(
64
66
  (0, import_visualBuilder.visualBuilderStyles)()["visual-builder__variant-field"],
@@ -80,12 +82,53 @@ function updateVariantClasses({
80
82
  );
81
83
  element.classList.add("visual-builder__disabled-variant-field");
82
84
  }
85
+ if (!observer) return;
83
86
  observer.disconnect();
84
87
  const index = observers.indexOf(observer);
85
88
  if (index > -1) {
86
89
  observers.splice(index, 1);
87
90
  }
88
91
  };
92
+ const addElementClasses = (element) => {
93
+ const dataCslp = element.getAttribute(import_constants.DATA_CSLP_ATTR_SELECTOR);
94
+ if (!dataCslp) {
95
+ element.childNodes.forEach((child) => {
96
+ if (child instanceof HTMLElement) {
97
+ addElementClasses(child);
98
+ }
99
+ });
100
+ return;
101
+ }
102
+ if (dataCslp.startsWith("v2:") && element.classList.contains("visual-builder__variant-field")) {
103
+ return;
104
+ }
105
+ if (dataCslp.startsWith("v2:") && !element.classList.contains("visual-builder__variant-field")) {
106
+ if (element.classList.contains("visual-builder__base-field")) {
107
+ element.classList.remove("visual-builder__base-field");
108
+ }
109
+ if (highlightVariantFields) {
110
+ element.classList.add(
111
+ (0, import_visualBuilder.visualBuilderStyles)()["visual-builder__variant-field"],
112
+ "visual-builder__variant-field"
113
+ );
114
+ } else {
115
+ element.classList.add("visual-builder__variant-field");
116
+ }
117
+ } else if (!dataCslp.startsWith("v2:")) {
118
+ if (element.classList.contains("visual-builder__variant-field")) {
119
+ element.classList.remove(
120
+ (0, import_visualBuilder.visualBuilderStyles)()["visual-builder__variant-field"],
121
+ "visual-builder__variant-field"
122
+ );
123
+ }
124
+ element.classList.add("visual-builder__base-field");
125
+ }
126
+ element.childNodes.forEach((child) => {
127
+ if (child instanceof HTMLElement) {
128
+ addElementClasses(child);
129
+ }
130
+ });
131
+ };
89
132
  const elementsWithCslp = document.querySelectorAll(
90
133
  `[${import_constants.DATA_CSLP_ATTR_SELECTOR}]`
91
134
  );
@@ -93,7 +136,14 @@ function updateVariantClasses({
93
136
  const element = elementNode;
94
137
  const observer = new MutationObserver((mutations) => {
95
138
  mutations.forEach((mutation) => {
96
- if (mutation.type === "attributes" && mutation.attributeName === import_constants.DATA_CSLP_ATTR_SELECTOR) {
139
+ if (mutation.type === "attributes" && mutation.attributeName === import_constants.DATA_CSLP_ATTR_SELECTOR || mutation.type === "childList") {
140
+ if (mutation.addedNodes.length > 0) {
141
+ mutation.addedNodes.forEach((node) => {
142
+ if (node instanceof HTMLElement) {
143
+ addElementClasses(node);
144
+ }
145
+ });
146
+ }
97
147
  const dataCslp = element.getAttribute(
98
148
  import_constants.DATA_CSLP_ATTR_SELECTOR
99
149
  );
@@ -102,7 +152,12 @@ function updateVariantClasses({
102
152
  });
103
153
  });
104
154
  observers.push(observer);
105
- observer.observe(element, { attributes: true });
155
+ observer.observe(element, {
156
+ attributes: true,
157
+ childList: true,
158
+ // Observe direct children
159
+ subtree: true
160
+ });
106
161
  });
107
162
  setTimeout(() => {
108
163
  if (observers.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport livePreviewPostMessage from \"../../livePreview/eventManager/livePreviewEventManager\";\nimport { LIVE_PREVIEW_POST_MESSAGE_EVENTS } from \"../../livePreview/eventManager/livePreviewEventManager.constant\";\nimport { DATA_CSLP_ATTR_SELECTOR } from \"../utils/constants\";\nimport { visualBuilderStyles } from \"../visualBuilder.style\";\n\nconst VARIANT_UPDATE_DELAY_MS: Readonly<number> = 8000;\n\ntype OnAudienceModeVariantPatchUpdate = {\n highlightVariantFields: boolean;\n expectedCSLPValues: Record<\"variant\" | \"base\", string>;\n};\n\n/**\n * Registers a post message event listener for updating the variant / base classes in the live preview for audience mode.\n */\nexport function useRecalculateVariantDataCSLPValues(): void {\n livePreviewPostMessage?.on<OnAudienceModeVariantPatchUpdate>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.VARIANT_PATCH,\n (event) => {\n if (VisualBuilder.VisualBuilderGlobalState.value.audienceMode) {\n updateVariantClasses(event.data);\n }\n }\n );\n}\nfunction updateVariantClasses({\n highlightVariantFields,\n expectedCSLPValues,\n}: OnAudienceModeVariantPatchUpdate): void {\n const variant = VisualBuilder.VisualBuilderGlobalState.value.variant;\n const observers: MutationObserver[] = [];\n\n // Helper function to update element classes\n const updateElementClasses = (\n element: HTMLElement,\n dataCslp: string,\n observer: MutationObserver\n ) => {\n if (!dataCslp) return;\n\n if (\n dataCslp.startsWith(\"v2:\") &&\n element.classList.contains(\"visual-builder__base-field\")\n ) {\n element.classList.remove(\"visual-builder__base-field\");\n if (highlightVariantFields) {\n element.classList.add(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n } else {\n element.classList.add(\"visual-builder__variant-field\");\n }\n } else if (\n !dataCslp.startsWith(\"v2:\") &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n element.classList.add(\"visual-builder__base-field\");\n } else if (\n dataCslp.startsWith(\"v2:\") &&\n variant &&\n !dataCslp.includes(variant) &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n element.classList.add(\"visual-builder__disabled-variant-field\");\n }\n\n // Disconnect this observer after processing\n observer.disconnect();\n const index = observers.indexOf(observer);\n if (index > -1) {\n observers.splice(index, 1);\n }\n };\n\n // Create a separate observer for each element\n const elementsWithCslp = document.querySelectorAll(\n `[${DATA_CSLP_ATTR_SELECTOR}]`\n );\n\n elementsWithCslp.forEach((elementNode) => {\n const element = elementNode as HTMLElement;\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === \"attributes\" &&\n mutation.attributeName === DATA_CSLP_ATTR_SELECTOR\n ) {\n const dataCslp = element.getAttribute(\n DATA_CSLP_ATTR_SELECTOR\n );\n updateElementClasses(element, dataCslp || \"\", observer);\n }\n });\n });\n\n observers.push(observer);\n observer.observe(element, { attributes: true });\n });\n\n setTimeout(() => {\n if (observers.length > 0) {\n observers.forEach((observer) => observer.disconnect());\n observers.length = 0;\n }\n }, VARIANT_UPDATE_DELAY_MS);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAA8B;AAC9B,qCAAmC;AACnC,IAAAA,kCAAiD;AACjD,uBAAwC;AACxC,2BAAoC;AAEpC,IAAM,0BAA4C;AAU3C,SAAS,sCAA4C;AACxD,iCAAAC,SAAwB;AAAA,IACpB,iEAAiC;AAAA,IACjC,CAAC,UAAU;AACP,UAAI,uBAAc,yBAAyB,MAAM,cAAc;AAC3D,6BAAqB,MAAM,IAAI;AAAA,MACnC;AAAA,IACJ;AAAA,EACJ;AACJ;AACA,SAAS,qBAAqB;AAAA,EAC1B;AAAA,EACA;AACJ,GAA2C;AACvC,QAAM,UAAU,uBAAc,yBAAyB,MAAM;AAC7D,QAAM,YAAgC,CAAC;AAGvC,QAAM,uBAAuB,CACzB,SACA,UACA,aACC;AACD,QAAI,CAAC,SAAU;AAEf,QACI,SAAS,WAAW,KAAK,KACzB,QAAQ,UAAU,SAAS,4BAA4B,GACzD;AACE,cAAQ,UAAU,OAAO,4BAA4B;AACrD,UAAI,wBAAwB;AACxB,gBAAQ,UAAU;AAAA,cACd,0CAAoB,EAAE,+BAA+B;AAAA,UACrD;AAAA,QACJ;AAAA,MACJ,OAAO;AACH,gBAAQ,UAAU,IAAI,+BAA+B;AAAA,MACzD;AAAA,IACJ,WACI,CAAC,SAAS,WAAW,KAAK,KAC1B,QAAQ,UAAU,SAAS,+BAA+B,GAC5D;AACE,cAAQ,UAAU;AAAA,YACd,0CAAoB,EAAE,+BAA+B;AAAA,QACrD;AAAA,MACJ;AACA,cAAQ,UAAU,IAAI,4BAA4B;AAAA,IACtD,WACI,SAAS,WAAW,KAAK,KACzB,WACA,CAAC,SAAS,SAAS,OAAO,KAC1B,QAAQ,UAAU,SAAS,+BAA+B,GAC5D;AACE,cAAQ,UAAU;AAAA,YACd,0CAAoB,EAAE,+BAA+B;AAAA,QACrD;AAAA,MACJ;AACA,cAAQ,UAAU,IAAI,wCAAwC;AAAA,IAClE;AAGA,aAAS,WAAW;AACpB,UAAM,QAAQ,UAAU,QAAQ,QAAQ;AACxC,QAAI,QAAQ,IAAI;AACZ,gBAAU,OAAO,OAAO,CAAC;AAAA,IAC7B;AAAA,EACJ;AAGA,QAAM,mBAAmB,SAAS;AAAA,IAC9B,IAAI,wCAAuB;AAAA,EAC/B;AAEA,mBAAiB,QAAQ,CAAC,gBAAgB;AACtC,UAAM,UAAU;AAEhB,UAAM,WAAW,IAAI,iBAAiB,CAAC,cAAc;AACjD,gBAAU,QAAQ,CAAC,aAAa;AAC5B,YACI,SAAS,SAAS,gBAClB,SAAS,kBAAkB,0CAC7B;AACE,gBAAM,WAAW,QAAQ;AAAA,YACrB;AAAA,UACJ;AACA,+BAAqB,SAAS,YAAY,IAAI,QAAQ;AAAA,QAC1D;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AAED,cAAU,KAAK,QAAQ;AACvB,aAAS,QAAQ,SAAS,EAAE,YAAY,KAAK,CAAC;AAAA,EAClD,CAAC;AAED,aAAW,MAAM;AACb,QAAI,UAAU,SAAS,GAAG;AACtB,gBAAU,QAAQ,CAAC,aAAa,SAAS,WAAW,CAAC;AACrD,gBAAU,SAAS;AAAA,IACvB;AAAA,EACJ,GAAG,uBAAuB;AAC9B;","names":["import_livePreviewEventManager","livePreviewPostMessage"]}
1
+ {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport livePreviewPostMessage from \"../../livePreview/eventManager/livePreviewEventManager\";\nimport { LIVE_PREVIEW_POST_MESSAGE_EVENTS } from \"../../livePreview/eventManager/livePreviewEventManager.constant\";\nimport { DATA_CSLP_ATTR_SELECTOR } from \"../utils/constants\";\nimport { visualBuilderStyles } from \"../visualBuilder.style\";\n\nconst VARIANT_UPDATE_DELAY_MS: Readonly<number> = 8000;\n\ntype OnAudienceModeVariantPatchUpdate = {\n highlightVariantFields: boolean;\n expectedCSLPValues: Record<\"variant\" | \"base\", string>;\n};\n\n/**\n * Registers a post message event listener for updating the variant / base classes in the live preview for audience mode.\n */\nexport function useRecalculateVariantDataCSLPValues(): void {\n livePreviewPostMessage?.on<OnAudienceModeVariantPatchUpdate>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.VARIANT_PATCH,\n (event) => {\n if (VisualBuilder.VisualBuilderGlobalState.value.audienceMode) {\n updateVariantClasses(event.data);\n }\n }\n );\n}\nfunction updateVariantClasses({\n highlightVariantFields,\n expectedCSLPValues,\n}: OnAudienceModeVariantPatchUpdate): void {\n const variant = VisualBuilder.VisualBuilderGlobalState.value.variant;\n const observers: MutationObserver[] = [];\n\n // Helper function to update element classes\n const updateElementClasses = (\n element: HTMLElement,\n dataCslp: string,\n observer?: MutationObserver\n ) => {\n if (!dataCslp) return;\n\n if (\n dataCslp.startsWith(\"v2:\") &&\n !element.classList.contains(\"visual-builder__variant-field\")\n ) {\n if (element.classList.contains(\"visual-builder__base-field\")) {\n element.classList.remove(\"visual-builder__base-field\");\n }\n if (highlightVariantFields) {\n element.classList.add(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n } else {\n element.classList.add(\"visual-builder__variant-field\");\n }\n } else if (\n !dataCslp.startsWith(\"v2:\") &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n element.classList.add(\"visual-builder__base-field\");\n } else if (\n dataCslp.startsWith(\"v2:\") &&\n variant &&\n !dataCslp.includes(variant) &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n element.classList.add(\"visual-builder__disabled-variant-field\");\n }\n if (!observer) return;\n // Disconnect this observer after processing\n observer.disconnect();\n const index = observers.indexOf(observer);\n if (index > -1) {\n observers.splice(index, 1);\n }\n };\n\n const addElementClasses = (element: HTMLElement) => {\n const dataCslp = element.getAttribute(DATA_CSLP_ATTR_SELECTOR);\n\n if (!dataCslp) {\n //recursive call for child nodes\n element.childNodes.forEach((child) => {\n if (child instanceof HTMLElement) {\n addElementClasses(child);\n }\n });\n return;\n }\n //if element might have been updated by another observer\n if (\n dataCslp.startsWith(\"v2:\") &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n return;\n }\n // if element has not given variant/base class\n if (\n dataCslp.startsWith(\"v2:\") &&\n !element.classList.contains(\"visual-builder__variant-field\")\n ) {\n if (element.classList.contains(\"visual-builder__base-field\")) {\n element.classList.remove(\"visual-builder__base-field\");\n }\n if (highlightVariantFields) {\n element.classList.add(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n } else {\n element.classList.add(\"visual-builder__variant-field\");\n }\n } else if (!dataCslp.startsWith(\"v2:\")) {\n if (element.classList.contains(\"visual-builder__variant-field\")) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n }\n element.classList.add(\"visual-builder__base-field\");\n }\n\n //recursive call for child nodes\n element.childNodes.forEach((child) => {\n if (child instanceof HTMLElement) {\n addElementClasses(child);\n }\n });\n };\n\n // Create a separate observer for each element\n const elementsWithCslp = document.querySelectorAll(\n `[${DATA_CSLP_ATTR_SELECTOR}]`\n );\n elementsWithCslp.forEach((elementNode) => {\n const element = elementNode as HTMLElement;\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n (mutation.type === \"attributes\" &&\n mutation.attributeName === DATA_CSLP_ATTR_SELECTOR) ||\n mutation.type === \"childList\"\n ) {\n if (mutation.addedNodes.length > 0) {\n mutation.addedNodes.forEach((node) => {\n if (node instanceof HTMLElement) {\n addElementClasses(node);\n }\n });\n }\n const dataCslp = element.getAttribute(\n DATA_CSLP_ATTR_SELECTOR\n );\n updateElementClasses(element, dataCslp || \"\", observer);\n }\n });\n });\n\n observers.push(observer);\n observer.observe(element, {\n attributes: true,\n childList: true, // Observe direct children\n subtree: true,\n });\n });\n\n setTimeout(() => {\n if (observers.length > 0) {\n observers.forEach((observer) => observer.disconnect());\n observers.length = 0;\n }\n }, VARIANT_UPDATE_DELAY_MS);\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,eAA8B;AAC9B,qCAAmC;AACnC,IAAAA,kCAAiD;AACjD,uBAAwC;AACxC,2BAAoC;AAEpC,IAAM,0BAA4C;AAU3C,SAAS,sCAA4C;AACxD,iCAAAC,SAAwB;AAAA,IACpB,iEAAiC;AAAA,IACjC,CAAC,UAAU;AACP,UAAI,uBAAc,yBAAyB,MAAM,cAAc;AAC3D,6BAAqB,MAAM,IAAI;AAAA,MACnC;AAAA,IACJ;AAAA,EACJ;AACJ;AACA,SAAS,qBAAqB;AAAA,EAC1B;AAAA,EACA;AACJ,GAA2C;AACvC,QAAM,UAAU,uBAAc,yBAAyB,MAAM;AAC7D,QAAM,YAAgC,CAAC;AAGvC,QAAM,uBAAuB,CACzB,SACA,UACA,aACC;AACD,QAAI,CAAC,SAAU;AAEf,QACI,SAAS,WAAW,KAAK,KACzB,CAAC,QAAQ,UAAU,SAAS,+BAA+B,GAC7D;AACE,UAAI,QAAQ,UAAU,SAAS,4BAA4B,GAAG;AAC1D,gBAAQ,UAAU,OAAO,4BAA4B;AAAA,MACzD;AACA,UAAI,wBAAwB;AACxB,gBAAQ,UAAU;AAAA,cACd,0CAAoB,EAAE,+BAA+B;AAAA,UACrD;AAAA,QACJ;AAAA,MACJ,OAAO;AACH,gBAAQ,UAAU,IAAI,+BAA+B;AAAA,MACzD;AAAA,IACJ,WACI,CAAC,SAAS,WAAW,KAAK,KAC1B,QAAQ,UAAU,SAAS,+BAA+B,GAC5D;AACE,cAAQ,UAAU;AAAA,YACd,0CAAoB,EAAE,+BAA+B;AAAA,QACrD;AAAA,MACJ;AACA,cAAQ,UAAU,IAAI,4BAA4B;AAAA,IACtD,WACI,SAAS,WAAW,KAAK,KACzB,WACA,CAAC,SAAS,SAAS,OAAO,KAC1B,QAAQ,UAAU,SAAS,+BAA+B,GAC5D;AACE,cAAQ,UAAU;AAAA,YACd,0CAAoB,EAAE,+BAA+B;AAAA,QACrD;AAAA,MACJ;AACA,cAAQ,UAAU,IAAI,wCAAwC;AAAA,IAClE;AACA,QAAI,CAAC,SAAU;AAEf,aAAS,WAAW;AACpB,UAAM,QAAQ,UAAU,QAAQ,QAAQ;AACxC,QAAI,QAAQ,IAAI;AACZ,gBAAU,OAAO,OAAO,CAAC;AAAA,IAC7B;AAAA,EACJ;AAEA,QAAM,oBAAoB,CAAC,YAAyB;AAChD,UAAM,WAAW,QAAQ,aAAa,wCAAuB;AAE7D,QAAI,CAAC,UAAU;AAEX,cAAQ,WAAW,QAAQ,CAAC,UAAU;AAClC,YAAI,iBAAiB,aAAa;AAC9B,4BAAkB,KAAK;AAAA,QAC3B;AAAA,MACJ,CAAC;AACD;AAAA,IACJ;AAEA,QACI,SAAS,WAAW,KAAK,KACzB,QAAQ,UAAU,SAAS,+BAA+B,GAC5D;AACE;AAAA,IACJ;AAEA,QACI,SAAS,WAAW,KAAK,KACzB,CAAC,QAAQ,UAAU,SAAS,+BAA+B,GAC7D;AACE,UAAI,QAAQ,UAAU,SAAS,4BAA4B,GAAG;AAC1D,gBAAQ,UAAU,OAAO,4BAA4B;AAAA,MACzD;AACA,UAAI,wBAAwB;AACxB,gBAAQ,UAAU;AAAA,cACd,0CAAoB,EAAE,+BAA+B;AAAA,UACrD;AAAA,QACJ;AAAA,MACJ,OAAO;AACH,gBAAQ,UAAU,IAAI,+BAA+B;AAAA,MACzD;AAAA,IACJ,WAAW,CAAC,SAAS,WAAW,KAAK,GAAG;AACpC,UAAI,QAAQ,UAAU,SAAS,+BAA+B,GAAG;AAC7D,gBAAQ,UAAU;AAAA,cACd,0CAAoB,EAAE,+BAA+B;AAAA,UACrD;AAAA,QACJ;AAAA,MACJ;AACA,cAAQ,UAAU,IAAI,4BAA4B;AAAA,IACtD;AAGA,YAAQ,WAAW,QAAQ,CAAC,UAAU;AAClC,UAAI,iBAAiB,aAAa;AAC9B,0BAAkB,KAAK;AAAA,MAC3B;AAAA,IACJ,CAAC;AAAA,EACL;AAGA,QAAM,mBAAmB,SAAS;AAAA,IAC9B,IAAI,wCAAuB;AAAA,EAC/B;AACA,mBAAiB,QAAQ,CAAC,gBAAgB;AACtC,UAAM,UAAU;AAChB,UAAM,WAAW,IAAI,iBAAiB,CAAC,cAAc;AACjD,gBAAU,QAAQ,CAAC,aAAa;AAC5B,YACK,SAAS,SAAS,gBACf,SAAS,kBAAkB,4CAC/B,SAAS,SAAS,aACpB;AACE,cAAI,SAAS,WAAW,SAAS,GAAG;AAChC,qBAAS,WAAW,QAAQ,CAAC,SAAS;AAClC,kBAAI,gBAAgB,aAAa;AAC7B,kCAAkB,IAAI;AAAA,cAC1B;AAAA,YACJ,CAAC;AAAA,UACL;AACA,gBAAM,WAAW,QAAQ;AAAA,YACrB;AAAA,UACJ;AACA,+BAAqB,SAAS,YAAY,IAAI,QAAQ;AAAA,QAC1D;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AAED,cAAU,KAAK,QAAQ;AACvB,aAAS,QAAQ,SAAS;AAAA,MACtB,YAAY;AAAA,MACZ,WAAW;AAAA;AAAA,MACX,SAAS;AAAA,IACb,CAAC;AAAA,EACL,CAAC;AAED,aAAW,MAAM;AACb,QAAI,UAAU,SAAS,GAAG;AACtB,gBAAU,QAAQ,CAAC,aAAa,SAAS,WAAW,CAAC;AACrD,gBAAU,SAAS;AAAA,IACvB;AAAA,EACJ,GAAG,uBAAuB;AAC9B;","names":["import_livePreviewEventManager","livePreviewPostMessage"]}
@@ -25,8 +25,10 @@ function updateVariantClasses({
25
25
  const observers = [];
26
26
  const updateElementClasses = (element, dataCslp, observer) => {
27
27
  if (!dataCslp) return;
28
- if (dataCslp.startsWith("v2:") && element.classList.contains("visual-builder__base-field")) {
29
- element.classList.remove("visual-builder__base-field");
28
+ if (dataCslp.startsWith("v2:") && !element.classList.contains("visual-builder__variant-field")) {
29
+ if (element.classList.contains("visual-builder__base-field")) {
30
+ element.classList.remove("visual-builder__base-field");
31
+ }
30
32
  if (highlightVariantFields) {
31
33
  element.classList.add(
32
34
  visualBuilderStyles()["visual-builder__variant-field"],
@@ -48,12 +50,53 @@ function updateVariantClasses({
48
50
  );
49
51
  element.classList.add("visual-builder__disabled-variant-field");
50
52
  }
53
+ if (!observer) return;
51
54
  observer.disconnect();
52
55
  const index = observers.indexOf(observer);
53
56
  if (index > -1) {
54
57
  observers.splice(index, 1);
55
58
  }
56
59
  };
60
+ const addElementClasses = (element) => {
61
+ const dataCslp = element.getAttribute(DATA_CSLP_ATTR_SELECTOR);
62
+ if (!dataCslp) {
63
+ element.childNodes.forEach((child) => {
64
+ if (child instanceof HTMLElement) {
65
+ addElementClasses(child);
66
+ }
67
+ });
68
+ return;
69
+ }
70
+ if (dataCslp.startsWith("v2:") && element.classList.contains("visual-builder__variant-field")) {
71
+ return;
72
+ }
73
+ if (dataCslp.startsWith("v2:") && !element.classList.contains("visual-builder__variant-field")) {
74
+ if (element.classList.contains("visual-builder__base-field")) {
75
+ element.classList.remove("visual-builder__base-field");
76
+ }
77
+ if (highlightVariantFields) {
78
+ element.classList.add(
79
+ visualBuilderStyles()["visual-builder__variant-field"],
80
+ "visual-builder__variant-field"
81
+ );
82
+ } else {
83
+ element.classList.add("visual-builder__variant-field");
84
+ }
85
+ } else if (!dataCslp.startsWith("v2:")) {
86
+ if (element.classList.contains("visual-builder__variant-field")) {
87
+ element.classList.remove(
88
+ visualBuilderStyles()["visual-builder__variant-field"],
89
+ "visual-builder__variant-field"
90
+ );
91
+ }
92
+ element.classList.add("visual-builder__base-field");
93
+ }
94
+ element.childNodes.forEach((child) => {
95
+ if (child instanceof HTMLElement) {
96
+ addElementClasses(child);
97
+ }
98
+ });
99
+ };
57
100
  const elementsWithCslp = document.querySelectorAll(
58
101
  `[${DATA_CSLP_ATTR_SELECTOR}]`
59
102
  );
@@ -61,7 +104,14 @@ function updateVariantClasses({
61
104
  const element = elementNode;
62
105
  const observer = new MutationObserver((mutations) => {
63
106
  mutations.forEach((mutation) => {
64
- if (mutation.type === "attributes" && mutation.attributeName === DATA_CSLP_ATTR_SELECTOR) {
107
+ if (mutation.type === "attributes" && mutation.attributeName === DATA_CSLP_ATTR_SELECTOR || mutation.type === "childList") {
108
+ if (mutation.addedNodes.length > 0) {
109
+ mutation.addedNodes.forEach((node) => {
110
+ if (node instanceof HTMLElement) {
111
+ addElementClasses(node);
112
+ }
113
+ });
114
+ }
65
115
  const dataCslp = element.getAttribute(
66
116
  DATA_CSLP_ATTR_SELECTOR
67
117
  );
@@ -70,7 +120,12 @@ function updateVariantClasses({
70
120
  });
71
121
  });
72
122
  observers.push(observer);
73
- observer.observe(element, { attributes: true });
123
+ observer.observe(element, {
124
+ attributes: true,
125
+ childList: true,
126
+ // Observe direct children
127
+ subtree: true
128
+ });
74
129
  });
75
130
  setTimeout(() => {
76
131
  if (observers.length > 0) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport livePreviewPostMessage from \"../../livePreview/eventManager/livePreviewEventManager\";\nimport { LIVE_PREVIEW_POST_MESSAGE_EVENTS } from \"../../livePreview/eventManager/livePreviewEventManager.constant\";\nimport { DATA_CSLP_ATTR_SELECTOR } from \"../utils/constants\";\nimport { visualBuilderStyles } from \"../visualBuilder.style\";\n\nconst VARIANT_UPDATE_DELAY_MS: Readonly<number> = 8000;\n\ntype OnAudienceModeVariantPatchUpdate = {\n highlightVariantFields: boolean;\n expectedCSLPValues: Record<\"variant\" | \"base\", string>;\n};\n\n/**\n * Registers a post message event listener for updating the variant / base classes in the live preview for audience mode.\n */\nexport function useRecalculateVariantDataCSLPValues(): void {\n livePreviewPostMessage?.on<OnAudienceModeVariantPatchUpdate>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.VARIANT_PATCH,\n (event) => {\n if (VisualBuilder.VisualBuilderGlobalState.value.audienceMode) {\n updateVariantClasses(event.data);\n }\n }\n );\n}\nfunction updateVariantClasses({\n highlightVariantFields,\n expectedCSLPValues,\n}: OnAudienceModeVariantPatchUpdate): void {\n const variant = VisualBuilder.VisualBuilderGlobalState.value.variant;\n const observers: MutationObserver[] = [];\n\n // Helper function to update element classes\n const updateElementClasses = (\n element: HTMLElement,\n dataCslp: string,\n observer: MutationObserver\n ) => {\n if (!dataCslp) return;\n\n if (\n dataCslp.startsWith(\"v2:\") &&\n element.classList.contains(\"visual-builder__base-field\")\n ) {\n element.classList.remove(\"visual-builder__base-field\");\n if (highlightVariantFields) {\n element.classList.add(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n } else {\n element.classList.add(\"visual-builder__variant-field\");\n }\n } else if (\n !dataCslp.startsWith(\"v2:\") &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n element.classList.add(\"visual-builder__base-field\");\n } else if (\n dataCslp.startsWith(\"v2:\") &&\n variant &&\n !dataCslp.includes(variant) &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n element.classList.add(\"visual-builder__disabled-variant-field\");\n }\n\n // Disconnect this observer after processing\n observer.disconnect();\n const index = observers.indexOf(observer);\n if (index > -1) {\n observers.splice(index, 1);\n }\n };\n\n // Create a separate observer for each element\n const elementsWithCslp = document.querySelectorAll(\n `[${DATA_CSLP_ATTR_SELECTOR}]`\n );\n\n elementsWithCslp.forEach((elementNode) => {\n const element = elementNode as HTMLElement;\n\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n mutation.type === \"attributes\" &&\n mutation.attributeName === DATA_CSLP_ATTR_SELECTOR\n ) {\n const dataCslp = element.getAttribute(\n DATA_CSLP_ATTR_SELECTOR\n );\n updateElementClasses(element, dataCslp || \"\", observer);\n }\n });\n });\n\n observers.push(observer);\n observer.observe(element, { attributes: true });\n });\n\n setTimeout(() => {\n if (observers.length > 0) {\n observers.forEach((observer) => observer.disconnect());\n observers.length = 0;\n }\n }, VARIANT_UPDATE_DELAY_MS);\n}\n"],"mappings":";;;AAAA,SAAS,qBAAqB;AAC9B,OAAO,4BAA4B;AACnC,SAAS,wCAAwC;AACjD,SAAS,+BAA+B;AACxC,SAAS,2BAA2B;AAEpC,IAAM,0BAA4C;AAU3C,SAAS,sCAA4C;AACxD,0BAAwB;AAAA,IACpB,iCAAiC;AAAA,IACjC,CAAC,UAAU;AACP,UAAI,cAAc,yBAAyB,MAAM,cAAc;AAC3D,6BAAqB,MAAM,IAAI;AAAA,MACnC;AAAA,IACJ;AAAA,EACJ;AACJ;AACA,SAAS,qBAAqB;AAAA,EAC1B;AAAA,EACA;AACJ,GAA2C;AACvC,QAAM,UAAU,cAAc,yBAAyB,MAAM;AAC7D,QAAM,YAAgC,CAAC;AAGvC,QAAM,uBAAuB,CACzB,SACA,UACA,aACC;AACD,QAAI,CAAC,SAAU;AAEf,QACI,SAAS,WAAW,KAAK,KACzB,QAAQ,UAAU,SAAS,4BAA4B,GACzD;AACE,cAAQ,UAAU,OAAO,4BAA4B;AACrD,UAAI,wBAAwB;AACxB,gBAAQ,UAAU;AAAA,UACd,oBAAoB,EAAE,+BAA+B;AAAA,UACrD;AAAA,QACJ;AAAA,MACJ,OAAO;AACH,gBAAQ,UAAU,IAAI,+BAA+B;AAAA,MACzD;AAAA,IACJ,WACI,CAAC,SAAS,WAAW,KAAK,KAC1B,QAAQ,UAAU,SAAS,+BAA+B,GAC5D;AACE,cAAQ,UAAU;AAAA,QACd,oBAAoB,EAAE,+BAA+B;AAAA,QACrD;AAAA,MACJ;AACA,cAAQ,UAAU,IAAI,4BAA4B;AAAA,IACtD,WACI,SAAS,WAAW,KAAK,KACzB,WACA,CAAC,SAAS,SAAS,OAAO,KAC1B,QAAQ,UAAU,SAAS,+BAA+B,GAC5D;AACE,cAAQ,UAAU;AAAA,QACd,oBAAoB,EAAE,+BAA+B;AAAA,QACrD;AAAA,MACJ;AACA,cAAQ,UAAU,IAAI,wCAAwC;AAAA,IAClE;AAGA,aAAS,WAAW;AACpB,UAAM,QAAQ,UAAU,QAAQ,QAAQ;AACxC,QAAI,QAAQ,IAAI;AACZ,gBAAU,OAAO,OAAO,CAAC;AAAA,IAC7B;AAAA,EACJ;AAGA,QAAM,mBAAmB,SAAS;AAAA,IAC9B,IAAI,uBAAuB;AAAA,EAC/B;AAEA,mBAAiB,QAAQ,CAAC,gBAAgB;AACtC,UAAM,UAAU;AAEhB,UAAM,WAAW,IAAI,iBAAiB,CAAC,cAAc;AACjD,gBAAU,QAAQ,CAAC,aAAa;AAC5B,YACI,SAAS,SAAS,gBAClB,SAAS,kBAAkB,yBAC7B;AACE,gBAAM,WAAW,QAAQ;AAAA,YACrB;AAAA,UACJ;AACA,+BAAqB,SAAS,YAAY,IAAI,QAAQ;AAAA,QAC1D;AAAA,MACJ,CAAC;AAAA,IACL,CAAC;AAED,cAAU,KAAK,QAAQ;AACvB,aAAS,QAAQ,SAAS,EAAE,YAAY,KAAK,CAAC;AAAA,EAClD,CAAC;AAED,aAAW,MAAM;AACb,QAAI,UAAU,SAAS,GAAG;AACtB,gBAAU,QAAQ,CAAC,aAAa,SAAS,WAAW,CAAC;AACrD,gBAAU,SAAS;AAAA,IACvB;AAAA,EACJ,GAAG,uBAAuB;AAC9B;","names":[]}
1
+ {"version":3,"sources":["../../../../src/visualBuilder/eventManager/useRecalculateVariantDataCSLPValues.ts"],"sourcesContent":["import { VisualBuilder } from \"..\";\nimport livePreviewPostMessage from \"../../livePreview/eventManager/livePreviewEventManager\";\nimport { LIVE_PREVIEW_POST_MESSAGE_EVENTS } from \"../../livePreview/eventManager/livePreviewEventManager.constant\";\nimport { DATA_CSLP_ATTR_SELECTOR } from \"../utils/constants\";\nimport { visualBuilderStyles } from \"../visualBuilder.style\";\n\nconst VARIANT_UPDATE_DELAY_MS: Readonly<number> = 8000;\n\ntype OnAudienceModeVariantPatchUpdate = {\n highlightVariantFields: boolean;\n expectedCSLPValues: Record<\"variant\" | \"base\", string>;\n};\n\n/**\n * Registers a post message event listener for updating the variant / base classes in the live preview for audience mode.\n */\nexport function useRecalculateVariantDataCSLPValues(): void {\n livePreviewPostMessage?.on<OnAudienceModeVariantPatchUpdate>(\n LIVE_PREVIEW_POST_MESSAGE_EVENTS.VARIANT_PATCH,\n (event) => {\n if (VisualBuilder.VisualBuilderGlobalState.value.audienceMode) {\n updateVariantClasses(event.data);\n }\n }\n );\n}\nfunction updateVariantClasses({\n highlightVariantFields,\n expectedCSLPValues,\n}: OnAudienceModeVariantPatchUpdate): void {\n const variant = VisualBuilder.VisualBuilderGlobalState.value.variant;\n const observers: MutationObserver[] = [];\n\n // Helper function to update element classes\n const updateElementClasses = (\n element: HTMLElement,\n dataCslp: string,\n observer?: MutationObserver\n ) => {\n if (!dataCslp) return;\n\n if (\n dataCslp.startsWith(\"v2:\") &&\n !element.classList.contains(\"visual-builder__variant-field\")\n ) {\n if (element.classList.contains(\"visual-builder__base-field\")) {\n element.classList.remove(\"visual-builder__base-field\");\n }\n if (highlightVariantFields) {\n element.classList.add(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n } else {\n element.classList.add(\"visual-builder__variant-field\");\n }\n } else if (\n !dataCslp.startsWith(\"v2:\") &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n element.classList.add(\"visual-builder__base-field\");\n } else if (\n dataCslp.startsWith(\"v2:\") &&\n variant &&\n !dataCslp.includes(variant) &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n element.classList.add(\"visual-builder__disabled-variant-field\");\n }\n if (!observer) return;\n // Disconnect this observer after processing\n observer.disconnect();\n const index = observers.indexOf(observer);\n if (index > -1) {\n observers.splice(index, 1);\n }\n };\n\n const addElementClasses = (element: HTMLElement) => {\n const dataCslp = element.getAttribute(DATA_CSLP_ATTR_SELECTOR);\n\n if (!dataCslp) {\n //recursive call for child nodes\n element.childNodes.forEach((child) => {\n if (child instanceof HTMLElement) {\n addElementClasses(child);\n }\n });\n return;\n }\n //if element might have been updated by another observer\n if (\n dataCslp.startsWith(\"v2:\") &&\n element.classList.contains(\"visual-builder__variant-field\")\n ) {\n return;\n }\n // if element has not given variant/base class\n if (\n dataCslp.startsWith(\"v2:\") &&\n !element.classList.contains(\"visual-builder__variant-field\")\n ) {\n if (element.classList.contains(\"visual-builder__base-field\")) {\n element.classList.remove(\"visual-builder__base-field\");\n }\n if (highlightVariantFields) {\n element.classList.add(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n } else {\n element.classList.add(\"visual-builder__variant-field\");\n }\n } else if (!dataCslp.startsWith(\"v2:\")) {\n if (element.classList.contains(\"visual-builder__variant-field\")) {\n element.classList.remove(\n visualBuilderStyles()[\"visual-builder__variant-field\"],\n \"visual-builder__variant-field\"\n );\n }\n element.classList.add(\"visual-builder__base-field\");\n }\n\n //recursive call for child nodes\n element.childNodes.forEach((child) => {\n if (child instanceof HTMLElement) {\n addElementClasses(child);\n }\n });\n };\n\n // Create a separate observer for each element\n const elementsWithCslp = document.querySelectorAll(\n `[${DATA_CSLP_ATTR_SELECTOR}]`\n );\n elementsWithCslp.forEach((elementNode) => {\n const element = elementNode as HTMLElement;\n const observer = new MutationObserver((mutations) => {\n mutations.forEach((mutation) => {\n if (\n (mutation.type === \"attributes\" &&\n mutation.attributeName === DATA_CSLP_ATTR_SELECTOR) ||\n mutation.type === \"childList\"\n ) {\n if (mutation.addedNodes.length > 0) {\n mutation.addedNodes.forEach((node) => {\n if (node instanceof HTMLElement) {\n addElementClasses(node);\n }\n });\n }\n const dataCslp = element.getAttribute(\n DATA_CSLP_ATTR_SELECTOR\n );\n updateElementClasses(element, dataCslp || \"\", observer);\n }\n });\n });\n\n observers.push(observer);\n observer.observe(element, {\n attributes: true,\n childList: true, // Observe direct children\n subtree: true,\n });\n });\n\n setTimeout(() => {\n if (observers.length > 0) {\n observers.forEach((observer) => observer.disconnect());\n observers.length = 0;\n }\n }, VARIANT_UPDATE_DELAY_MS);\n}\n"],"mappings":"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","names":[]}