@wordpress/editor 14.44.0 → 14.45.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 (363) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/collab-sidebar/{comment-menu-item.cjs → add-note-menu-item.cjs} +17 -14
  3. package/build/components/collab-sidebar/add-note-menu-item.cjs.map +7 -0
  4. package/build/components/collab-sidebar/add-note.cjs +100 -0
  5. package/build/components/collab-sidebar/add-note.cjs.map +7 -0
  6. package/build/components/collab-sidebar/board-store.cjs +106 -0
  7. package/build/components/collab-sidebar/board-store.cjs.map +7 -0
  8. package/build/components/collab-sidebar/floating-container.cjs +63 -0
  9. package/build/components/collab-sidebar/floating-container.cjs.map +7 -0
  10. package/build/components/collab-sidebar/hooks.cjs +105 -140
  11. package/build/components/collab-sidebar/hooks.cjs.map +3 -3
  12. package/build/components/collab-sidebar/index.cjs +28 -90
  13. package/build/components/collab-sidebar/index.cjs.map +3 -3
  14. package/build/components/collab-sidebar/{comment-author-info.cjs → note-byline.cjs} +13 -9
  15. package/build/components/collab-sidebar/note-byline.cjs.map +7 -0
  16. package/build/components/collab-sidebar/note-card.cjs +58 -0
  17. package/build/components/collab-sidebar/note-card.cjs.map +7 -0
  18. package/build/components/collab-sidebar/{comment-form.cjs → note-form.cjs} +46 -45
  19. package/build/components/collab-sidebar/note-form.cjs.map +7 -0
  20. package/build/components/collab-sidebar/{comment-indicator-toolbar.cjs → note-indicator-toolbar.cjs} +31 -27
  21. package/build/components/collab-sidebar/note-indicator-toolbar.cjs.map +7 -0
  22. package/build/components/collab-sidebar/note-thread.cjs +321 -0
  23. package/build/components/collab-sidebar/note-thread.cjs.map +7 -0
  24. package/build/components/collab-sidebar/note.cjs +207 -0
  25. package/build/components/collab-sidebar/note.cjs.map +7 -0
  26. package/build/components/collab-sidebar/notes.cjs +237 -0
  27. package/build/components/collab-sidebar/notes.cjs.map +7 -0
  28. package/build/components/collab-sidebar/utils.cjs +80 -14
  29. package/build/components/collab-sidebar/utils.cjs.map +2 -2
  30. package/build/components/collaborators-presence/avatar/component.cjs.map +1 -1
  31. package/build/components/collaborators-presence/index.cjs +3 -3
  32. package/build/components/collaborators-presence/index.cjs.map +2 -2
  33. package/build/components/collaborators-presence/list.cjs +3 -3
  34. package/build/components/collaborators-presence/list.cjs.map +2 -2
  35. package/build/components/document-bar/index.cjs.map +3 -3
  36. package/build/components/error-boundary/index.cjs.map +3 -3
  37. package/build/components/list-view-sidebar/list-view-outline.cjs.map +3 -3
  38. package/build/components/media/media-editor-modal.cjs +93 -0
  39. package/build/components/media/media-editor-modal.cjs.map +7 -0
  40. package/build/components/media-categories/index.cjs +1 -1
  41. package/build/components/media-categories/index.cjs.map +1 -1
  42. package/build/components/more-menu/index.cjs +4 -3
  43. package/build/components/more-menu/index.cjs.map +2 -2
  44. package/build/components/post-actions/set-as-homepage.cjs.map +3 -3
  45. package/build/components/post-actions/set-as-posts-page.cjs.map +3 -3
  46. package/build/components/post-card-panel/index.cjs +2 -2
  47. package/build/components/post-card-panel/index.cjs.map +3 -3
  48. package/build/components/post-content-information/index.cjs.map +3 -3
  49. package/build/components/post-excerpt/panel.cjs.map +3 -3
  50. package/build/components/post-last-edited-panel/index.cjs.map +3 -3
  51. package/build/components/post-preview-button/index.cjs +3 -2
  52. package/build/components/post-preview-button/index.cjs.map +2 -2
  53. package/build/components/post-publish-button/index.cjs +2 -2
  54. package/build/components/post-publish-button/index.cjs.map +2 -2
  55. package/build/components/post-publish-button/label.cjs +4 -2
  56. package/build/components/post-publish-button/label.cjs.map +2 -2
  57. package/build/components/post-publish-panel/maybe-upload-media.cjs +1 -1
  58. package/build/components/post-publish-panel/maybe-upload-media.cjs.map +1 -1
  59. package/build/components/post-publish-panel/postpublish.cjs +3 -2
  60. package/build/components/post-publish-panel/postpublish.cjs.map +2 -2
  61. package/build/components/post-revisions-panel/index.cjs +2 -2
  62. package/build/components/post-revisions-panel/index.cjs.map +2 -2
  63. package/build/components/post-revisions-preview/diff-markers.cjs +1 -1
  64. package/build/components/post-revisions-preview/diff-markers.cjs.map +2 -2
  65. package/build/components/post-revisions-preview/revisions-slider.cjs +1 -0
  66. package/build/components/post-revisions-preview/revisions-slider.cjs.map +2 -2
  67. package/build/components/post-saved-state/index.cjs +4 -1
  68. package/build/components/post-saved-state/index.cjs.map +2 -2
  69. package/build/components/post-text-editor/index.cjs +3 -4
  70. package/build/components/post-text-editor/index.cjs.map +2 -2
  71. package/build/components/preview-dropdown/index.cjs +3 -2
  72. package/build/components/preview-dropdown/index.cjs.map +2 -2
  73. package/build/components/provider/index.cjs +3 -1
  74. package/build/components/provider/index.cjs.map +3 -3
  75. package/build/components/provider/use-block-editor-settings.cjs +7 -1
  76. package/build/components/provider/use-block-editor-settings.cjs.map +3 -3
  77. package/build/components/provider/use-upload-save-lock.cjs +2 -12
  78. package/build/components/provider/use-upload-save-lock.cjs.map +2 -2
  79. package/build/components/resizable-editor/resize-handle.cjs +2 -1
  80. package/build/components/resizable-editor/resize-handle.cjs.map +2 -2
  81. package/build/components/revision-created-panel/index.cjs.map +3 -3
  82. package/build/components/site-discussion/index.cjs.map +2 -2
  83. package/build/components/style-book/constants.cjs +1 -1
  84. package/build/components/style-book/constants.cjs.map +1 -1
  85. package/build/components/style-book/index.cjs +1 -1
  86. package/build/components/style-book/index.cjs.map +1 -1
  87. package/build/components/template-actions-panel/classic-theme-content.cjs.map +2 -2
  88. package/build/components/template-part-menu-items/convert-to-regular.cjs +54 -11
  89. package/build/components/template-part-menu-items/convert-to-regular.cjs.map +3 -3
  90. package/build/components/visual-editor/index.cjs +5 -22
  91. package/build/components/visual-editor/index.cjs.map +2 -2
  92. package/build/store/private-actions.cjs +0 -8
  93. package/build/store/private-actions.cjs.map +2 -2
  94. package/build/store/private-selectors.cjs +0 -5
  95. package/build/store/private-selectors.cjs.map +2 -2
  96. package/build/store/reducer.cjs +0 -10
  97. package/build/store/reducer.cjs.map +2 -2
  98. package/build/utils/media-finalize/index.cjs +3 -2
  99. package/build/utils/media-finalize/index.cjs.map +2 -2
  100. package/build/utils/media-upload/index.cjs +14 -25
  101. package/build/utils/media-upload/index.cjs.map +2 -2
  102. package/build-module/components/collab-sidebar/{comment-menu-item.mjs → add-note-menu-item.mjs} +10 -11
  103. package/build-module/components/collab-sidebar/add-note-menu-item.mjs.map +7 -0
  104. package/build-module/components/collab-sidebar/add-note.mjs +78 -0
  105. package/build-module/components/collab-sidebar/add-note.mjs.map +7 -0
  106. package/build-module/components/collab-sidebar/board-store.mjs +81 -0
  107. package/build-module/components/collab-sidebar/board-store.mjs.map +7 -0
  108. package/build-module/components/collab-sidebar/floating-container.mjs +28 -0
  109. package/build-module/components/collab-sidebar/floating-container.mjs.map +7 -0
  110. package/build-module/components/collab-sidebar/hooks.mjs +105 -144
  111. package/build-module/components/collab-sidebar/hooks.mjs.map +2 -2
  112. package/build-module/components/collab-sidebar/index.mjs +29 -95
  113. package/build-module/components/collab-sidebar/index.mjs.map +2 -2
  114. package/build-module/components/collab-sidebar/{comment-author-info.mjs → note-byline.mjs} +7 -7
  115. package/build-module/components/collab-sidebar/note-byline.mjs.map +7 -0
  116. package/build-module/components/collab-sidebar/note-card.mjs +33 -0
  117. package/build-module/components/collab-sidebar/note-card.mjs.map +7 -0
  118. package/build-module/components/collab-sidebar/note-form.mjs +84 -0
  119. package/build-module/components/collab-sidebar/note-form.mjs.map +7 -0
  120. package/build-module/components/collab-sidebar/{comment-indicator-toolbar.mjs → note-indicator-toolbar.mjs} +25 -29
  121. package/build-module/components/collab-sidebar/note-indicator-toolbar.mjs.map +7 -0
  122. package/build-module/components/collab-sidebar/note-thread.mjs +289 -0
  123. package/build-module/components/collab-sidebar/note-thread.mjs.map +7 -0
  124. package/build-module/components/collab-sidebar/note.mjs +176 -0
  125. package/build-module/components/collab-sidebar/note.mjs.map +7 -0
  126. package/build-module/components/collab-sidebar/notes.mjs +215 -0
  127. package/build-module/components/collab-sidebar/notes.mjs.map +7 -0
  128. package/build-module/components/collab-sidebar/utils.mjs +76 -10
  129. package/build-module/components/collab-sidebar/utils.mjs.map +2 -2
  130. package/build-module/components/collaborators-presence/avatar/component.mjs.map +1 -1
  131. package/build-module/components/collaborators-presence/index.mjs +3 -3
  132. package/build-module/components/collaborators-presence/index.mjs.map +2 -2
  133. package/build-module/components/collaborators-presence/list.mjs +3 -3
  134. package/build-module/components/collaborators-presence/list.mjs.map +2 -2
  135. package/build-module/components/document-bar/index.mjs +3 -3
  136. package/build-module/components/document-bar/index.mjs.map +2 -2
  137. package/build-module/components/error-boundary/index.mjs +2 -2
  138. package/build-module/components/error-boundary/index.mjs.map +2 -2
  139. package/build-module/components/list-view-sidebar/list-view-outline.mjs +5 -5
  140. package/build-module/components/list-view-sidebar/list-view-outline.mjs.map +2 -2
  141. package/build-module/components/media/media-editor-modal.mjs +62 -0
  142. package/build-module/components/media/media-editor-modal.mjs.map +7 -0
  143. package/build-module/components/media-categories/index.mjs +1 -1
  144. package/build-module/components/media-categories/index.mjs.map +1 -1
  145. package/build-module/components/more-menu/index.mjs +4 -8
  146. package/build-module/components/more-menu/index.mjs.map +2 -2
  147. package/build-module/components/post-actions/set-as-homepage.mjs +2 -2
  148. package/build-module/components/post-actions/set-as-homepage.mjs.map +2 -2
  149. package/build-module/components/post-actions/set-as-posts-page.mjs +2 -2
  150. package/build-module/components/post-actions/set-as-posts-page.mjs.map +2 -2
  151. package/build-module/components/post-card-panel/index.mjs +5 -5
  152. package/build-module/components/post-card-panel/index.mjs.map +2 -2
  153. package/build-module/components/post-content-information/index.mjs +2 -2
  154. package/build-module/components/post-content-information/index.mjs.map +2 -2
  155. package/build-module/components/post-excerpt/panel.mjs +2 -2
  156. package/build-module/components/post-excerpt/panel.mjs.map +2 -2
  157. package/build-module/components/post-last-edited-panel/index.mjs +2 -2
  158. package/build-module/components/post-last-edited-panel/index.mjs.map +2 -2
  159. package/build-module/components/post-preview-button/index.mjs +3 -2
  160. package/build-module/components/post-preview-button/index.mjs.map +2 -2
  161. package/build-module/components/post-publish-button/index.mjs +2 -2
  162. package/build-module/components/post-publish-button/index.mjs.map +2 -2
  163. package/build-module/components/post-publish-button/label.mjs +4 -2
  164. package/build-module/components/post-publish-button/label.mjs.map +2 -2
  165. package/build-module/components/post-publish-panel/maybe-upload-media.mjs +1 -1
  166. package/build-module/components/post-publish-panel/maybe-upload-media.mjs.map +1 -1
  167. package/build-module/components/post-publish-panel/postpublish.mjs +3 -3
  168. package/build-module/components/post-publish-panel/postpublish.mjs.map +2 -2
  169. package/build-module/components/post-revisions-panel/index.mjs +2 -2
  170. package/build-module/components/post-revisions-panel/index.mjs.map +2 -2
  171. package/build-module/components/post-revisions-preview/diff-markers.mjs +1 -1
  172. package/build-module/components/post-revisions-preview/diff-markers.mjs.map +2 -2
  173. package/build-module/components/post-revisions-preview/revisions-slider.mjs +1 -0
  174. package/build-module/components/post-revisions-preview/revisions-slider.mjs.map +2 -2
  175. package/build-module/components/post-saved-state/index.mjs +4 -1
  176. package/build-module/components/post-saved-state/index.mjs.map +2 -2
  177. package/build-module/components/post-text-editor/index.mjs +2 -3
  178. package/build-module/components/post-text-editor/index.mjs.map +2 -2
  179. package/build-module/components/preview-dropdown/index.mjs +2 -2
  180. package/build-module/components/preview-dropdown/index.mjs.map +2 -2
  181. package/build-module/components/provider/index.mjs +3 -1
  182. package/build-module/components/provider/index.mjs.map +2 -2
  183. package/build-module/components/provider/use-block-editor-settings.mjs +7 -1
  184. package/build-module/components/provider/use-block-editor-settings.mjs.map +2 -2
  185. package/build-module/components/provider/use-upload-save-lock.mjs +2 -12
  186. package/build-module/components/provider/use-upload-save-lock.mjs.map +2 -2
  187. package/build-module/components/resizable-editor/resize-handle.mjs +2 -5
  188. package/build-module/components/resizable-editor/resize-handle.mjs.map +2 -2
  189. package/build-module/components/revision-created-panel/index.mjs +2 -2
  190. package/build-module/components/revision-created-panel/index.mjs.map +2 -2
  191. package/build-module/components/site-discussion/index.mjs +2 -2
  192. package/build-module/components/site-discussion/index.mjs.map +2 -2
  193. package/build-module/components/style-book/constants.mjs +1 -1
  194. package/build-module/components/style-book/constants.mjs.map +1 -1
  195. package/build-module/components/style-book/index.mjs +1 -1
  196. package/build-module/components/style-book/index.mjs.map +1 -1
  197. package/build-module/components/template-actions-panel/classic-theme-content.mjs +2 -2
  198. package/build-module/components/template-actions-panel/classic-theme-content.mjs.map +2 -2
  199. package/build-module/components/template-part-menu-items/convert-to-regular.mjs +60 -14
  200. package/build-module/components/template-part-menu-items/convert-to-regular.mjs.map +2 -2
  201. package/build-module/components/visual-editor/index.mjs +5 -22
  202. package/build-module/components/visual-editor/index.mjs.map +2 -2
  203. package/build-module/store/private-actions.mjs +0 -7
  204. package/build-module/store/private-actions.mjs.map +2 -2
  205. package/build-module/store/private-selectors.mjs +0 -4
  206. package/build-module/store/private-selectors.mjs.map +2 -2
  207. package/build-module/store/reducer.mjs +0 -9
  208. package/build-module/store/reducer.mjs.map +2 -2
  209. package/build-module/utils/media-finalize/index.mjs +3 -2
  210. package/build-module/utils/media-finalize/index.mjs.map +2 -2
  211. package/build-module/utils/media-upload/index.mjs +14 -25
  212. package/build-module/utils/media-upload/index.mjs.map +2 -2
  213. package/build-style/style-rtl.css +397 -171
  214. package/build-style/style.css +397 -171
  215. package/build-types/components/collab-sidebar/add-note-menu-item.d.ts +5 -0
  216. package/build-types/components/collab-sidebar/add-note-menu-item.d.ts.map +1 -0
  217. package/build-types/components/collab-sidebar/add-note.d.ts +6 -0
  218. package/build-types/components/collab-sidebar/add-note.d.ts.map +1 -0
  219. package/build-types/components/collab-sidebar/board-store.d.ts +9 -0
  220. package/build-types/components/collab-sidebar/board-store.d.ts.map +1 -0
  221. package/build-types/components/collab-sidebar/floating-container.d.ts +8 -0
  222. package/build-types/components/collab-sidebar/floating-container.d.ts.map +1 -0
  223. package/build-types/components/collab-sidebar/hooks.d.ts +13 -22
  224. package/build-types/components/collab-sidebar/hooks.d.ts.map +1 -1
  225. package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
  226. package/build-types/components/collab-sidebar/note-byline.d.ts +7 -0
  227. package/build-types/components/collab-sidebar/note-byline.d.ts.map +1 -0
  228. package/build-types/components/collab-sidebar/note-card.d.ts +8 -0
  229. package/build-types/components/collab-sidebar/note-card.d.ts.map +1 -0
  230. package/build-types/components/collab-sidebar/note-form.d.ts +7 -0
  231. package/build-types/components/collab-sidebar/note-form.d.ts.map +1 -0
  232. package/build-types/components/collab-sidebar/note-indicator-toolbar.d.ts +5 -0
  233. package/build-types/components/collab-sidebar/note-indicator-toolbar.d.ts.map +1 -0
  234. package/build-types/components/collab-sidebar/note-thread.d.ts +11 -0
  235. package/build-types/components/collab-sidebar/note-thread.d.ts.map +1 -0
  236. package/build-types/components/collab-sidebar/note.d.ts +9 -0
  237. package/build-types/components/collab-sidebar/note.d.ts.map +1 -0
  238. package/build-types/components/collab-sidebar/notes.d.ts +7 -0
  239. package/build-types/components/collab-sidebar/notes.d.ts.map +1 -0
  240. package/build-types/components/collab-sidebar/utils.d.ts +41 -17
  241. package/build-types/components/collab-sidebar/utils.d.ts.map +1 -1
  242. package/build-types/components/media/media-editor-modal.d.ts +11 -0
  243. package/build-types/components/media/media-editor-modal.d.ts.map +1 -0
  244. package/build-types/components/more-menu/index.d.ts.map +1 -1
  245. package/build-types/components/post-preview-button/index.d.ts.map +1 -1
  246. package/build-types/components/post-publish-button/index.d.ts.map +1 -1
  247. package/build-types/components/post-publish-button/label.d.ts.map +1 -1
  248. package/build-types/components/post-revisions-preview/revisions-slider.d.ts.map +1 -1
  249. package/build-types/components/post-saved-state/index.d.ts.map +1 -1
  250. package/build-types/components/provider/index.d.ts.map +1 -1
  251. package/build-types/components/provider/use-block-editor-settings.d.ts.map +1 -1
  252. package/build-types/components/provider/use-upload-save-lock.d.ts +0 -2
  253. package/build-types/components/provider/use-upload-save-lock.d.ts.map +1 -1
  254. package/build-types/components/resizable-editor/resize-handle.d.ts.map +1 -1
  255. package/build-types/components/style-book/constants.d.ts +1 -1
  256. package/build-types/components/style-book/constants.d.ts.map +1 -1
  257. package/build-types/components/template-part-menu-items/convert-to-regular.d.ts.map +1 -1
  258. package/build-types/components/visual-editor/index.d.ts.map +1 -1
  259. package/build-types/store/private-actions.d.ts +0 -7
  260. package/build-types/store/private-actions.d.ts.map +1 -1
  261. package/build-types/store/private-selectors.d.ts +0 -7
  262. package/build-types/store/private-selectors.d.ts.map +1 -1
  263. package/build-types/store/reducer.d.ts +0 -10
  264. package/build-types/store/reducer.d.ts.map +1 -1
  265. package/build-types/utils/media-finalize/index.d.ts +1 -1
  266. package/build-types/utils/media-finalize/index.d.ts.map +1 -1
  267. package/build-types/utils/media-upload/index.d.ts.map +1 -1
  268. package/package.json +46 -46
  269. package/src/components/collab-sidebar/README.md +117 -0
  270. package/src/components/collab-sidebar/{comment-menu-item.js → add-note-menu-item.js} +8 -10
  271. package/src/components/collab-sidebar/{add-comment.js → add-note.js} +26 -49
  272. package/src/components/collab-sidebar/board-store.js +85 -0
  273. package/src/components/collab-sidebar/floating-container.js +30 -0
  274. package/src/components/collab-sidebar/hooks.js +130 -178
  275. package/src/components/collab-sidebar/index.js +35 -106
  276. package/src/components/collab-sidebar/{comment-author-info.js → note-byline.js} +5 -6
  277. package/src/components/collab-sidebar/note-card.js +36 -0
  278. package/src/components/collab-sidebar/{comment-form.js → note-form.js} +29 -40
  279. package/src/components/collab-sidebar/{comment-indicator-toolbar.js → note-indicator-toolbar.js} +29 -32
  280. package/src/components/collab-sidebar/note-thread.js +331 -0
  281. package/src/components/collab-sidebar/note.js +209 -0
  282. package/src/components/collab-sidebar/notes.js +276 -0
  283. package/src/components/collab-sidebar/style.scss +21 -11
  284. package/src/components/collab-sidebar/test/utils.js +155 -0
  285. package/src/components/collab-sidebar/utils.js +125 -19
  286. package/src/components/collaborators-presence/avatar/component.tsx +1 -1
  287. package/src/components/collaborators-presence/styles/collaborators-list.scss +1 -1
  288. package/src/components/collaborators-presence/styles/collaborators-presence.scss +1 -1
  289. package/src/components/document-bar/index.js +4 -4
  290. package/src/components/document-outline/style.scss +1 -1
  291. package/src/components/error-boundary/index.js +3 -3
  292. package/src/components/list-view-sidebar/list-view-outline.js +6 -6
  293. package/src/components/media/media-editor-modal.js +95 -0
  294. package/src/components/media-categories/index.js +1 -1
  295. package/src/components/more-menu/index.js +4 -8
  296. package/src/components/post-actions/set-as-homepage.js +2 -2
  297. package/src/components/post-actions/set-as-posts-page.js +2 -2
  298. package/src/components/post-card-panel/index.js +7 -7
  299. package/src/components/post-content-information/index.js +3 -3
  300. package/src/components/post-excerpt/panel.js +3 -3
  301. package/src/components/post-last-edited-panel/index.js +3 -3
  302. package/src/components/post-preview-button/index.js +3 -2
  303. package/src/components/post-publish-button/index.js +6 -5
  304. package/src/components/post-publish-button/label.js +3 -1
  305. package/src/components/post-publish-panel/maybe-upload-media.js +1 -1
  306. package/src/components/post-publish-panel/postpublish.js +2 -2
  307. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +10 -16
  308. package/src/components/post-revisions-panel/index.js +3 -3
  309. package/src/components/post-revisions-preview/diff-markers.js +1 -1
  310. package/src/components/post-revisions-preview/revisions-slider.js +1 -0
  311. package/src/components/post-revisions-preview/style.scss +1 -1
  312. package/src/components/post-saved-state/index.js +4 -1
  313. package/src/components/post-saved-state/test/__snapshots__/index.js.snap +0 -1
  314. package/src/components/post-text-editor/index.js +3 -3
  315. package/src/components/preview-dropdown/index.js +2 -2
  316. package/src/components/provider/index.js +4 -0
  317. package/src/components/provider/use-block-editor-settings.js +10 -0
  318. package/src/components/provider/use-upload-save-lock.js +2 -17
  319. package/src/components/resizable-editor/resize-handle.js +2 -5
  320. package/src/components/revision-created-panel/index.js +3 -3
  321. package/src/components/site-discussion/index.js +3 -3
  322. package/src/components/style-book/constants.ts +1 -1
  323. package/src/components/style-book/index.js +1 -1
  324. package/src/components/template-actions-panel/classic-theme-content.js +3 -3
  325. package/src/components/template-actions-panel/style.scss +1 -1
  326. package/src/components/template-part-menu-items/convert-to-regular.js +74 -12
  327. package/src/components/visual-editor/index.js +2 -29
  328. package/src/store/private-actions.js +0 -13
  329. package/src/store/private-selectors.js +0 -10
  330. package/src/store/reducer.js +0 -16
  331. package/src/utils/media-finalize/index.js +2 -1
  332. package/src/utils/media-finalize/test/index.js +25 -1
  333. package/src/utils/media-upload/index.js +26 -29
  334. package/build/components/collab-sidebar/add-comment.cjs +0 -129
  335. package/build/components/collab-sidebar/add-comment.cjs.map +0 -7
  336. package/build/components/collab-sidebar/comment-author-info.cjs.map +0 -7
  337. package/build/components/collab-sidebar/comment-form.cjs.map +0 -7
  338. package/build/components/collab-sidebar/comment-indicator-toolbar.cjs.map +0 -7
  339. package/build/components/collab-sidebar/comment-menu-item.cjs.map +0 -7
  340. package/build/components/collab-sidebar/comments.cjs +0 -816
  341. package/build/components/collab-sidebar/comments.cjs.map +0 -7
  342. package/build-module/components/collab-sidebar/add-comment.mjs +0 -100
  343. package/build-module/components/collab-sidebar/add-comment.mjs.map +0 -7
  344. package/build-module/components/collab-sidebar/comment-author-info.mjs.map +0 -7
  345. package/build-module/components/collab-sidebar/comment-form.mjs +0 -90
  346. package/build-module/components/collab-sidebar/comment-form.mjs.map +0 -7
  347. package/build-module/components/collab-sidebar/comment-indicator-toolbar.mjs.map +0 -7
  348. package/build-module/components/collab-sidebar/comment-menu-item.mjs.map +0 -7
  349. package/build-module/components/collab-sidebar/comments.mjs +0 -799
  350. package/build-module/components/collab-sidebar/comments.mjs.map +0 -7
  351. package/build-types/components/collab-sidebar/add-comment.d.ts +0 -10
  352. package/build-types/components/collab-sidebar/add-comment.d.ts.map +0 -1
  353. package/build-types/components/collab-sidebar/comment-author-info.d.ts +0 -8
  354. package/build-types/components/collab-sidebar/comment-author-info.d.ts.map +0 -1
  355. package/build-types/components/collab-sidebar/comment-form.d.ts +0 -11
  356. package/build-types/components/collab-sidebar/comment-form.d.ts.map +0 -1
  357. package/build-types/components/collab-sidebar/comment-indicator-toolbar.d.ts +0 -6
  358. package/build-types/components/collab-sidebar/comment-indicator-toolbar.d.ts.map +0 -1
  359. package/build-types/components/collab-sidebar/comment-menu-item.d.ts +0 -6
  360. package/build-types/components/collab-sidebar/comment-menu-item.d.ts.map +0 -1
  361. package/build-types/components/collab-sidebar/comments.d.ts +0 -12
  362. package/build-types/components/collab-sidebar/comments.d.ts.map +0 -1
  363. package/src/components/collab-sidebar/comments.js +0 -985
@@ -1,816 +0,0 @@
1
- "use strict";
2
- var __create = Object.create;
3
- var __defProp = Object.defineProperty;
4
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
- var __getOwnPropNames = Object.getOwnPropertyNames;
6
- var __getProtoOf = Object.getPrototypeOf;
7
- var __hasOwnProp = Object.prototype.hasOwnProperty;
8
- var __export = (target, all) => {
9
- for (var name in all)
10
- __defProp(target, name, { get: all[name], enumerable: true });
11
- };
12
- var __copyProps = (to, from, except, desc) => {
13
- if (from && typeof from === "object" || typeof from === "function") {
14
- for (let key of __getOwnPropNames(from))
15
- if (!__hasOwnProp.call(to, key) && key !== except)
16
- __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
17
- }
18
- return to;
19
- };
20
- var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
21
- // If the importer is in node compatibility mode or this is not an ESM
22
- // file that has been converted to a CommonJS file using a Babel-
23
- // compatible transform (i.e. "__esModule" has not been set), then set
24
- // "default" to the CommonJS "module.exports" for node compatibility.
25
- isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
26
- mod
27
- ));
28
- var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
-
30
- // packages/editor/src/components/collab-sidebar/comments.js
31
- var comments_exports = {};
32
- __export(comments_exports, {
33
- Comments: () => Comments,
34
- default: () => comments_default
35
- });
36
- module.exports = __toCommonJS(comments_exports);
37
- var import_clsx = __toESM(require("clsx"));
38
- var import_element = require("@wordpress/element");
39
- var import_components = require("@wordpress/components");
40
- var import_compose = require("@wordpress/compose");
41
- var import_icons = require("@wordpress/icons");
42
- var import_i18n = require("@wordpress/i18n");
43
- var import_data = require("@wordpress/data");
44
- var import_dom = require("@wordpress/dom");
45
- var import_block_editor = require("@wordpress/block-editor");
46
- var import_lock_unlock = require("../../lock-unlock.cjs");
47
- var import_comment_author_info = __toESM(require("./comment-author-info.cjs"));
48
- var import_comment_form = __toESM(require("./comment-form.cjs"));
49
- var import_utils = require("./utils.cjs");
50
- var import_hooks = require("./hooks.cjs");
51
- var import_add_comment = require("./add-comment.cjs");
52
- var import_store = require("../../store/index.cjs");
53
- var import_jsx_runtime = require("react/jsx-runtime");
54
- var { useBlockElement } = (0, import_lock_unlock.unlock)(import_block_editor.privateApis);
55
- var { Menu } = (0, import_lock_unlock.unlock)(import_components.privateApis);
56
- function Comments({
57
- threads: noteThreads,
58
- onEditComment,
59
- onAddReply,
60
- onCommentDelete,
61
- commentSidebarRef,
62
- reflowComments,
63
- isFloating = false,
64
- commentLastUpdated
65
- }) {
66
- const [heights, setHeights] = (0, import_element.useState)({});
67
- const [boardOffsets, setBoardOffsets] = (0, import_element.useState)({});
68
- const [blockRefs, setBlockRefs] = (0, import_element.useState)({});
69
- const { setCanvasMinHeight, selectNote } = (0, import_lock_unlock.unlock)(
70
- (0, import_data.useDispatch)(import_store.store)
71
- );
72
- const { selectBlock, toggleBlockSpotlight } = (0, import_lock_unlock.unlock)(
73
- (0, import_data.useDispatch)(import_block_editor.store)
74
- );
75
- const { blockCommentId, selectedBlockClientId, orderedBlockIds } = (0, import_data.useSelect)((select) => {
76
- const {
77
- getBlockAttributes,
78
- getSelectedBlockClientId,
79
- getClientIdsWithDescendants
80
- } = select(import_block_editor.store);
81
- const clientId = getSelectedBlockClientId();
82
- return {
83
- blockCommentId: clientId ? getBlockAttributes(clientId)?.metadata?.noteId : null,
84
- selectedBlockClientId: clientId,
85
- orderedBlockIds: getClientIdsWithDescendants()
86
- };
87
- }, []);
88
- const { selectedNote, noteFocused } = (0, import_data.useSelect)((select) => {
89
- const { getSelectedNote, isNoteFocused } = (0, import_lock_unlock.unlock)(
90
- select(import_store.store)
91
- );
92
- return {
93
- selectedNote: getSelectedNote(),
94
- noteFocused: isNoteFocused()
95
- };
96
- }, []);
97
- const relatedBlockElement = useBlockElement(selectedBlockClientId);
98
- const threads = (0, import_element.useMemo)(() => {
99
- const t = [...noteThreads];
100
- const orderedThreads = [];
101
- if (isFloating && selectedNote === "new") {
102
- const newNoteThread = {
103
- id: "new",
104
- blockClientId: selectedBlockClientId,
105
- content: { rendered: "" }
106
- };
107
- orderedBlockIds.forEach((blockId) => {
108
- if (blockId === selectedBlockClientId) {
109
- orderedThreads.push(newNoteThread);
110
- } else {
111
- const threadForBlock = t.find(
112
- (thread) => thread.blockClientId === blockId
113
- );
114
- if (threadForBlock) {
115
- orderedThreads.push(threadForBlock);
116
- }
117
- }
118
- });
119
- return orderedThreads;
120
- }
121
- return t;
122
- }, [
123
- noteThreads,
124
- isFloating,
125
- selectedNote,
126
- selectedBlockClientId,
127
- orderedBlockIds
128
- ]);
129
- const handleDelete = async (comment) => {
130
- const currentIndex = threads.findIndex((t) => t.id === comment.id);
131
- const nextThread = threads[currentIndex + 1];
132
- const prevThread = threads[currentIndex - 1];
133
- await onCommentDelete(comment);
134
- if (comment.parent !== 0) {
135
- selectNote(comment.parent);
136
- (0, import_utils.focusCommentThread)(comment.parent, commentSidebarRef.current);
137
- return;
138
- }
139
- if (nextThread) {
140
- selectNote(nextThread.id);
141
- (0, import_utils.focusCommentThread)(nextThread.id, commentSidebarRef.current);
142
- } else if (prevThread) {
143
- selectNote(prevThread.id);
144
- (0, import_utils.focusCommentThread)(prevThread.id, commentSidebarRef.current);
145
- } else {
146
- selectNote(void 0);
147
- toggleBlockSpotlight(comment.blockClientId, false);
148
- relatedBlockElement?.focus();
149
- }
150
- };
151
- (0, import_element.useEffect)(() => {
152
- selectNote(blockCommentId ?? void 0);
153
- }, [blockCommentId, selectNote]);
154
- (0, import_element.useEffect)(() => {
155
- if (noteFocused && selectedNote) {
156
- (0, import_utils.focusCommentThread)(
157
- selectedNote,
158
- commentSidebarRef.current,
159
- selectedNote === "new" ? "textarea" : void 0
160
- );
161
- selectNote(selectedNote);
162
- }
163
- }, [noteFocused, selectedNote, selectNote, commentSidebarRef]);
164
- (0, import_element.useEffect)(() => {
165
- const calculateAllOffsets = () => {
166
- const offsets = {};
167
- if (!isFloating) {
168
- return { offsets, minHeight: 0 };
169
- }
170
- const selectedThreadIndex = threads.findIndex(
171
- (t) => t.id === selectedNote
172
- );
173
- const breakIndex = selectedThreadIndex === -1 ? 0 : selectedThreadIndex;
174
- const selectedThreadData = threads[breakIndex];
175
- if (!selectedThreadData || !blockRefs[selectedThreadData.id]) {
176
- return { offsets, minHeight: 0 };
177
- }
178
- let blockElement = blockRefs[selectedThreadData.id];
179
- let blockRect = blockElement?.getBoundingClientRect();
180
- const selectedThreadTop = blockRect?.top || 0;
181
- const selectedThreadHeight = heights[selectedThreadData.id] || 0;
182
- offsets[selectedThreadData.id] = -16;
183
- let previousThreadData = {
184
- threadTop: selectedThreadTop - 16,
185
- threadHeight: selectedThreadHeight
186
- };
187
- for (let i = breakIndex + 1; i < threads.length; i++) {
188
- const thread = threads[i];
189
- if (!blockRefs[thread.id]) {
190
- continue;
191
- }
192
- blockElement = blockRefs[thread.id];
193
- blockRect = blockElement?.getBoundingClientRect();
194
- const threadTop = blockRect?.top || 0;
195
- const threadHeight = heights[thread.id] || 0;
196
- let additionalOffset = -16;
197
- const previousBottom = previousThreadData.threadTop + previousThreadData.threadHeight;
198
- if (threadTop < previousBottom + 16) {
199
- additionalOffset = previousBottom - threadTop + 20;
200
- }
201
- offsets[thread.id] = additionalOffset;
202
- previousThreadData = {
203
- threadTop: threadTop + additionalOffset,
204
- threadHeight
205
- };
206
- }
207
- let nextThreadData = {
208
- threadTop: selectedThreadTop - 16
209
- };
210
- for (let i = selectedThreadIndex - 1; i >= 0; i--) {
211
- const thread = threads[i];
212
- if (!blockRefs[thread.id]) {
213
- continue;
214
- }
215
- blockElement = blockRefs[thread.id];
216
- blockRect = blockElement?.getBoundingClientRect();
217
- const threadTop = blockRect?.top || 0;
218
- const threadHeight = heights[thread.id] || 0;
219
- let additionalOffset = -16;
220
- const threadBottom = threadTop + threadHeight;
221
- if (threadBottom > nextThreadData.threadTop) {
222
- additionalOffset = nextThreadData.threadTop - threadTop - threadHeight - 20;
223
- }
224
- offsets[thread.id] = additionalOffset;
225
- nextThreadData = {
226
- threadTop: threadTop + additionalOffset
227
- };
228
- }
229
- let editorMinHeight = 0;
230
- const lastThread = threads[threads.length - 1];
231
- if (blockRefs[lastThread.id]) {
232
- const lastBlockElement = blockRefs[lastThread.id];
233
- const lastBlockRect = lastBlockElement?.getBoundingClientRect();
234
- const lastThreadTop = lastBlockRect?.top || 0;
235
- const lastThreadHeight = heights[lastThread.id] || 0;
236
- const lastThreadOffset = offsets[lastThread.id] || 0;
237
- editorMinHeight = lastThreadTop + lastThreadHeight + lastThreadOffset + 32;
238
- }
239
- return { offsets, minHeight: editorMinHeight };
240
- };
241
- const { offsets: newOffsets, minHeight } = calculateAllOffsets();
242
- if (Object.keys(newOffsets).length > 0) {
243
- setBoardOffsets(newOffsets);
244
- }
245
- setCanvasMinHeight(minHeight);
246
- }, [
247
- heights,
248
- blockRefs,
249
- isFloating,
250
- threads,
251
- selectedNote,
252
- setCanvasMinHeight
253
- ]);
254
- const handleThreadNavigation = (event, thread, isSelected) => {
255
- if (event.defaultPrevented) {
256
- return;
257
- }
258
- const currentIndex = threads.findIndex((t) => t.id === thread.id);
259
- if ((event.key === "Enter" || event.key === "ArrowRight") && event.currentTarget === event.target && !isSelected) {
260
- selectNote(thread.id);
261
- if (!!thread.blockClientId) {
262
- selectBlock(thread.blockClientId, null);
263
- toggleBlockSpotlight(thread.blockClientId, true);
264
- }
265
- } else if ((event.key === "Enter" || event.key === "ArrowLeft") && event.currentTarget === event.target && isSelected || event.key === "Escape") {
266
- selectNote(void 0);
267
- if (thread.blockClientId) {
268
- toggleBlockSpotlight(thread.blockClientId, false);
269
- }
270
- (0, import_utils.focusCommentThread)(thread.id, commentSidebarRef.current);
271
- } else if (event.key === "ArrowDown" && currentIndex < threads.length - 1 && event.currentTarget === event.target) {
272
- const nextThread = threads[currentIndex + 1];
273
- (0, import_utils.focusCommentThread)(nextThread.id, commentSidebarRef.current);
274
- } else if (event.key === "ArrowUp" && currentIndex > 0 && event.currentTarget === event.target) {
275
- const prevThread = threads[currentIndex - 1];
276
- (0, import_utils.focusCommentThread)(prevThread.id, commentSidebarRef.current);
277
- } else if (event.key === "Home" && event.currentTarget === event.target) {
278
- (0, import_utils.focusCommentThread)(threads[0].id, commentSidebarRef.current);
279
- } else if (event.key === "End" && event.currentTarget === event.target) {
280
- (0, import_utils.focusCommentThread)(
281
- threads[threads.length - 1].id,
282
- commentSidebarRef.current
283
- );
284
- }
285
- };
286
- const setBlockRef = (0, import_element.useCallback)((id, blockRef) => {
287
- setBlockRefs((prev) => ({ ...prev, [id]: blockRef }));
288
- }, []);
289
- const hasThreads = Array.isArray(threads) && threads.length > 0;
290
- if (!hasThreads && !isFloating) {
291
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
292
- import_add_comment.AddComment,
293
- {
294
- onSubmit: onAddReply,
295
- commentSidebarRef
296
- }
297
- );
298
- }
299
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_jsx_runtime.Fragment, { children: [
300
- !isFloating && selectedNote === "new" && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
301
- import_add_comment.AddComment,
302
- {
303
- onSubmit: onAddReply,
304
- commentSidebarRef
305
- }
306
- ),
307
- threads.map((thread) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
308
- Thread,
309
- {
310
- thread,
311
- onAddReply,
312
- onCommentDelete: handleDelete,
313
- onEditComment,
314
- isSelected: selectedNote === thread.id,
315
- commentSidebarRef,
316
- reflowComments,
317
- isFloating,
318
- calculatedOffset: boardOffsets[thread.id] ?? 0,
319
- setHeights,
320
- setBlockRef,
321
- commentLastUpdated,
322
- onKeyDown: (event) => handleThreadNavigation(
323
- event,
324
- thread,
325
- selectedNote === thread.id
326
- )
327
- },
328
- thread.id
329
- ))
330
- ] });
331
- }
332
- function Thread({
333
- thread,
334
- onEditComment,
335
- onAddReply,
336
- onCommentDelete,
337
- isSelected,
338
- commentSidebarRef,
339
- reflowComments,
340
- isFloating,
341
- calculatedOffset,
342
- setHeights,
343
- setBlockRef,
344
- commentLastUpdated,
345
- onKeyDown
346
- }) {
347
- const { toggleBlockHighlight, selectBlock, toggleBlockSpotlight } = (0, import_lock_unlock.unlock)(
348
- (0, import_data.useDispatch)(import_block_editor.store)
349
- );
350
- const { selectNote } = (0, import_lock_unlock.unlock)((0, import_data.useDispatch)(import_store.store));
351
- const selectedNote = (0, import_data.useSelect)(
352
- (select) => (0, import_lock_unlock.unlock)(select(import_store.store)).getSelectedNote(),
353
- []
354
- );
355
- const relatedBlockElement = useBlockElement(thread.blockClientId);
356
- const debouncedToggleBlockHighlight = (0, import_compose.useDebounce)(
357
- toggleBlockHighlight,
358
- 50
359
- );
360
- const { y, refs } = (0, import_hooks.useFloatingThread)({
361
- thread,
362
- calculatedOffset,
363
- setHeights,
364
- setBlockRef,
365
- selectedThread: selectedNote,
366
- commentLastUpdated
367
- });
368
- const isKeyboardTabbingRef = (0, import_element.useRef)(false);
369
- const onMouseEnter = () => {
370
- debouncedToggleBlockHighlight(thread.blockClientId, true);
371
- };
372
- const onMouseLeave = () => {
373
- debouncedToggleBlockHighlight(thread.blockClientId, false);
374
- };
375
- const onFocus = () => {
376
- toggleBlockHighlight(thread.blockClientId, true);
377
- };
378
- const onBlur = (event) => {
379
- if (!document.hasFocus()) {
380
- return;
381
- }
382
- const isNoteFocused = event.relatedTarget?.closest(
383
- ".editor-collab-sidebar-panel__thread"
384
- );
385
- const isDialogFocused = event.relatedTarget?.closest('[role="dialog"]');
386
- const isTabbing = isKeyboardTabbingRef.current;
387
- if (isNoteFocused && !isTabbing) {
388
- return;
389
- }
390
- if (isDialogFocused) {
391
- return;
392
- }
393
- if (isTabbing && event.currentTarget.contains(event.relatedTarget)) {
394
- return;
395
- }
396
- toggleBlockHighlight(thread.blockClientId, false);
397
- unselectThread();
398
- };
399
- const handleCommentSelect = () => {
400
- selectNote(thread.id);
401
- toggleBlockSpotlight(thread.blockClientId, true);
402
- if (!!thread.blockClientId) {
403
- selectBlock(thread.blockClientId, null);
404
- }
405
- };
406
- const unselectThread = () => {
407
- selectNote(void 0);
408
- toggleBlockSpotlight(thread.blockClientId, false);
409
- };
410
- const allReplies = thread?.reply || [];
411
- const lastReply = allReplies.length > 0 ? allReplies[allReplies.length - 1] : void 0;
412
- const restReplies = allReplies.length > 0 ? allReplies.slice(0, -1) : [];
413
- const commentExcerpt = (0, import_utils.getCommentExcerpt)(
414
- (0, import_dom.__unstableStripHTML)(thread.content?.rendered),
415
- 10
416
- );
417
- const ariaLabel = !!thread.blockClientId ? (0, import_i18n.sprintf)(
418
- // translators: %s: note excerpt
419
- (0, import_i18n.__)("Note: %s"),
420
- commentExcerpt
421
- ) : (0, import_i18n.sprintf)(
422
- // translators: %s: note excerpt
423
- (0, import_i18n.__)("Original block deleted. Note: %s"),
424
- commentExcerpt
425
- );
426
- if (isFloating && thread.id === "new") {
427
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
428
- import_add_comment.AddComment,
429
- {
430
- onSubmit: onAddReply,
431
- commentSidebarRef,
432
- reflowComments,
433
- isFloating,
434
- y,
435
- refs
436
- }
437
- );
438
- }
439
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
440
- import_components.__experimentalVStack,
441
- {
442
- className: (0, import_clsx.default)("editor-collab-sidebar-panel__thread", {
443
- "is-selected": isSelected,
444
- "is-floating": isFloating
445
- }),
446
- id: `comment-thread-${thread.id}`,
447
- spacing: "3",
448
- onClick: handleCommentSelect,
449
- onMouseEnter,
450
- onMouseLeave,
451
- onFocus,
452
- onBlur,
453
- onKeyUp: (event) => {
454
- if (event.key === "Tab") {
455
- isKeyboardTabbingRef.current = false;
456
- }
457
- },
458
- onKeyDown: (event) => {
459
- if (event.key === "Tab") {
460
- isKeyboardTabbingRef.current = true;
461
- } else {
462
- onKeyDown(event);
463
- }
464
- },
465
- tabIndex: 0,
466
- role: "treeitem",
467
- "aria-label": ariaLabel,
468
- "aria-expanded": isSelected,
469
- ref: isFloating ? refs.setFloating : void 0,
470
- style: isFloating ? { top: y } : void 0,
471
- children: [
472
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
473
- import_components.Button,
474
- {
475
- className: "editor-collab-sidebar-panel__skip-to-comment",
476
- variant: "secondary",
477
- size: "compact",
478
- onClick: () => {
479
- (0, import_utils.focusCommentThread)(
480
- thread.id,
481
- commentSidebarRef.current,
482
- "textarea"
483
- );
484
- },
485
- children: (0, import_i18n.__)("Add new reply")
486
- }
487
- ),
488
- !thread.blockClientId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalText, { as: "p", weight: 500, variant: "muted", children: (0, import_i18n.__)("Original block deleted.") }),
489
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
490
- CommentBoard,
491
- {
492
- thread,
493
- isExpanded: isSelected,
494
- onEdit: (params = {}) => {
495
- onEditComment(params);
496
- if (params.status === "approved") {
497
- unselectThread();
498
- if (isFloating) {
499
- relatedBlockElement?.focus();
500
- } else {
501
- (0, import_utils.focusCommentThread)(
502
- thread.id,
503
- commentSidebarRef.current
504
- );
505
- }
506
- }
507
- },
508
- onDelete: onCommentDelete,
509
- reflowComments
510
- }
511
- ),
512
- isSelected && allReplies.map((reply) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
513
- CommentBoard,
514
- {
515
- thread: reply,
516
- parent: thread,
517
- isExpanded: isSelected,
518
- onEdit: onEditComment,
519
- onDelete: onCommentDelete,
520
- reflowComments
521
- },
522
- reply.id
523
- )),
524
- !isSelected && restReplies.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalHStack, { className: "editor-collab-sidebar-panel__more-reply-separator", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
525
- import_components.Button,
526
- {
527
- size: "compact",
528
- variant: "tertiary",
529
- className: "editor-collab-sidebar-panel__more-reply-button",
530
- onClick: () => {
531
- selectNote(thread.id);
532
- (0, import_utils.focusCommentThread)(
533
- thread.id,
534
- commentSidebarRef.current
535
- );
536
- },
537
- children: (0, import_i18n.sprintf)(
538
- // translators: %s: number of replies.
539
- (0, import_i18n._n)(
540
- "%s more reply",
541
- "%s more replies",
542
- restReplies.length
543
- ),
544
- restReplies.length
545
- )
546
- }
547
- ) }),
548
- !isSelected && lastReply && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
549
- CommentBoard,
550
- {
551
- thread: lastReply,
552
- parent: thread,
553
- isExpanded: isSelected,
554
- onEdit: onEditComment,
555
- onDelete: onCommentDelete,
556
- reflowComments
557
- }
558
- ),
559
- isSelected && /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalVStack, { spacing: "2", role: "treeitem", children: [
560
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalHStack, { alignment: "left", spacing: "3", justify: "flex-start", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_comment_author_info.default, {}) }),
561
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_components.__experimentalVStack, { spacing: "2", children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
562
- import_comment_form.default,
563
- {
564
- onSubmit: (inputComment) => {
565
- if ("approved" === thread.status) {
566
- onEditComment({
567
- id: thread.id,
568
- status: "hold",
569
- content: inputComment
570
- });
571
- } else {
572
- onAddReply({
573
- content: inputComment,
574
- parent: thread.id
575
- });
576
- }
577
- },
578
- onCancel: (event) => {
579
- event.stopPropagation();
580
- unselectThread();
581
- (0, import_utils.focusCommentThread)(
582
- thread.id,
583
- commentSidebarRef.current
584
- );
585
- },
586
- submitButtonText: "approved" === thread.status ? (0, import_i18n.__)("Reopen & Reply") : (0, import_i18n.__)("Reply"),
587
- rows: "approved" === thread.status ? 2 : 4,
588
- labelText: (0, import_i18n.sprintf)(
589
- // translators: %1$s: note identifier, %2$s: author name
590
- (0, import_i18n.__)("Reply to note %1$s by %2$s"),
591
- thread.id,
592
- thread.author_name
593
- ),
594
- reflowComments
595
- }
596
- ) })
597
- ] }),
598
- !!thread.blockClientId && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
599
- import_components.Button,
600
- {
601
- className: "editor-collab-sidebar-panel__skip-to-block",
602
- variant: "secondary",
603
- size: "compact",
604
- onClick: (event) => {
605
- event.stopPropagation();
606
- relatedBlockElement?.focus();
607
- },
608
- children: (0, import_i18n.__)("Back to block")
609
- }
610
- )
611
- ]
612
- }
613
- );
614
- }
615
- var CommentBoard = ({
616
- thread,
617
- parent,
618
- isExpanded,
619
- onEdit,
620
- onDelete,
621
- reflowComments
622
- }) => {
623
- const [actionState, setActionState] = (0, import_element.useState)(false);
624
- const [showConfirmDialog, setShowConfirmDialog] = (0, import_element.useState)(false);
625
- const actionButtonRef = (0, import_element.useRef)(null);
626
- const handleConfirmDelete = () => {
627
- onDelete(thread);
628
- setActionState(false);
629
- setShowConfirmDialog(false);
630
- };
631
- const handleCancel = () => {
632
- setActionState(false);
633
- setShowConfirmDialog(false);
634
- actionButtonRef.current?.focus();
635
- };
636
- const isResolutionComment = thread.type === "note" && thread.meta && (thread.meta._wp_note_status === "resolved" || thread.meta._wp_note_status === "reopen");
637
- const actions = [
638
- {
639
- id: "edit",
640
- title: (0, import_i18n.__)("Edit"),
641
- isEligible: ({ status }) => status !== "approved",
642
- onClick: () => {
643
- setActionState("edit");
644
- }
645
- },
646
- {
647
- id: "reopen",
648
- title: (0, import_i18n._x)("Reopen", "Reopen note"),
649
- isEligible: ({ status }) => status === "approved",
650
- onClick: () => {
651
- onEdit({ id: thread.id, status: "hold" });
652
- }
653
- },
654
- {
655
- id: "delete",
656
- title: (0, import_i18n.__)("Delete"),
657
- isEligible: () => true,
658
- onClick: () => {
659
- setActionState("delete");
660
- setShowConfirmDialog(true);
661
- }
662
- }
663
- ];
664
- const canResolve = thread.parent === 0;
665
- const moreActions = parent?.status !== "approved" ? actions.filter((item) => item.isEligible(thread)) : [];
666
- const deleteConfirmMessage = (
667
- // When deleting a top level note, descendants will also be deleted.
668
- thread.parent === 0 ? (0, import_i18n.__)(
669
- "Are you sure you want to delete this note? This will also delete all of this note's replies."
670
- ) : (0, import_i18n.__)("Are you sure you want to delete this reply?")
671
- );
672
- return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(
673
- import_components.__experimentalVStack,
674
- {
675
- spacing: "2",
676
- role: thread.parent !== 0 ? "treeitem" : void 0,
677
- children: [
678
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { alignment: "left", spacing: "3", justify: "flex-start", children: [
679
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
680
- import_comment_author_info.default,
681
- {
682
- avatar: thread?.author_avatar_urls?.[48],
683
- name: thread?.author_name,
684
- date: thread?.date,
685
- userId: thread?.author
686
- }
687
- ),
688
- isExpanded && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
689
- import_components.FlexItem,
690
- {
691
- className: "editor-collab-sidebar-panel__comment-status",
692
- onClick: (event) => {
693
- event.stopPropagation();
694
- },
695
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_components.__experimentalHStack, { spacing: "0", children: [
696
- canResolve && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
697
- import_components.Button,
698
- {
699
- label: (0, import_i18n._x)(
700
- "Resolve",
701
- "Mark note as resolved"
702
- ),
703
- size: "small",
704
- icon: import_icons.published,
705
- disabled: thread.status === "approved",
706
- accessibleWhenDisabled: thread.status === "approved",
707
- onClick: () => {
708
- onEdit({
709
- id: thread.id,
710
- status: "approved"
711
- });
712
- }
713
- }
714
- ),
715
- /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(Menu, { placement: "bottom-end", children: [
716
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
717
- Menu.TriggerButton,
718
- {
719
- render: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
720
- import_components.Button,
721
- {
722
- ref: actionButtonRef,
723
- size: "small",
724
- icon: import_icons.moreVertical,
725
- label: (0, import_i18n.__)("Actions"),
726
- disabled: !moreActions.length,
727
- accessibleWhenDisabled: true
728
- }
729
- )
730
- }
731
- ),
732
- /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
733
- Menu.Popover,
734
- {
735
- modal: false,
736
- children: moreActions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
737
- Menu.Item,
738
- {
739
- onClick: () => action.onClick(),
740
- children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(Menu.ItemLabel, { children: action.title })
741
- },
742
- action.id
743
- ))
744
- }
745
- )
746
- ] })
747
- ] })
748
- }
749
- )
750
- ] }),
751
- "edit" === actionState ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
752
- import_comment_form.default,
753
- {
754
- onSubmit: (value) => {
755
- onEdit({
756
- id: thread.id,
757
- content: value
758
- });
759
- setActionState(false);
760
- actionButtonRef.current?.focus();
761
- },
762
- onCancel: () => handleCancel(),
763
- thread,
764
- submitButtonText: (0, import_i18n._x)("Update", "verb"),
765
- labelText: (0, import_i18n.sprintf)(
766
- // translators: %1$s: note identifier, %2$s: author name.
767
- (0, import_i18n.__)("Edit note %1$s by %2$s"),
768
- thread.id,
769
- thread.author_name
770
- ),
771
- reflowComments
772
- }
773
- ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
774
- import_element.RawHTML,
775
- {
776
- className: (0, import_clsx.default)(
777
- "editor-collab-sidebar-panel__user-comment",
778
- {
779
- "editor-collab-sidebar-panel__resolution-text": isResolutionComment
780
- }
781
- ),
782
- children: isResolutionComment ? (() => {
783
- const actionText = thread.meta._wp_note_status === "resolved" ? (0, import_i18n.__)("Marked as resolved") : (0, import_i18n.__)("Reopened");
784
- const content = thread?.content?.raw;
785
- if (content && typeof content === "string" && content.trim() !== "") {
786
- return (0, import_i18n.sprintf)(
787
- // translators: %1$s: action label ("Marked as resolved" or "Reopened"); %2$s: note text.
788
- (0, import_i18n.__)("%1$s: %2$s"),
789
- actionText,
790
- content
791
- );
792
- }
793
- return actionText;
794
- })() : thread?.content?.rendered
795
- }
796
- ),
797
- "delete" === actionState && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
798
- import_components.__experimentalConfirmDialog,
799
- {
800
- isOpen: showConfirmDialog,
801
- onConfirm: handleConfirmDelete,
802
- onCancel: handleCancel,
803
- confirmButtonText: (0, import_i18n.__)("Delete"),
804
- children: deleteConfirmMessage
805
- }
806
- )
807
- ]
808
- }
809
- );
810
- };
811
- var comments_default = Comments;
812
- // Annotate the CommonJS export names for ESM import in node:
813
- 0 && (module.exports = {
814
- Comments
815
- });
816
- //# sourceMappingURL=comments.cjs.map