@wordpress/editor 14.13.1-next.cd6172eb0.0 → 14.14.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 (360) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/bindings/pattern-overrides.js +1 -0
  3. package/build/bindings/pattern-overrides.js.map +1 -1
  4. package/build/bindings/post-meta.js +1 -0
  5. package/build/bindings/post-meta.js.map +1 -1
  6. package/build/components/autocompleters/user.js +1 -0
  7. package/build/components/autocompleters/user.js.map +1 -1
  8. package/build/components/block-removal-warnings/index.js +1 -0
  9. package/build/components/block-removal-warnings/index.js.map +1 -1
  10. package/build/components/block-settings-menu/content-only-settings-menu.js +1 -0
  11. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  12. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -0
  13. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  14. package/build/components/collab-sidebar/add-comment.js +1 -1
  15. package/build/components/collab-sidebar/add-comment.js.map +1 -1
  16. package/build/components/collab-sidebar/comment-button.js +7 -2
  17. package/build/components/collab-sidebar/comment-button.js.map +1 -1
  18. package/build/components/collab-sidebar/comment-form.js +4 -1
  19. package/build/components/collab-sidebar/comment-form.js.map +1 -1
  20. package/build/components/collab-sidebar/comments.js +199 -185
  21. package/build/components/collab-sidebar/comments.js.map +1 -1
  22. package/build/components/collab-sidebar/index.js +11 -4
  23. package/build/components/collab-sidebar/index.js.map +1 -1
  24. package/build/components/collab-sidebar/utils.js +1 -0
  25. package/build/components/collab-sidebar/utils.js.map +1 -1
  26. package/build/components/deprecated.js +1 -0
  27. package/build/components/deprecated.js.map +1 -1
  28. package/build/components/document-bar/index.js +3 -1
  29. package/build/components/document-bar/index.js.map +1 -1
  30. package/build/components/document-outline/index.js +1 -0
  31. package/build/components/document-outline/index.js.map +1 -1
  32. package/build/components/editor-help/index.native.js +1 -0
  33. package/build/components/editor-help/index.native.js.map +1 -1
  34. package/build/components/editor-notices/index.js +1 -0
  35. package/build/components/editor-notices/index.js.map +1 -1
  36. package/build/components/editor-snackbars/index.js +1 -0
  37. package/build/components/editor-snackbars/index.js.map +1 -1
  38. package/build/components/entities-saved-states/entity-type-list.js +1 -0
  39. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  40. package/build/components/entities-saved-states/hooks/use-is-dirty.js +1 -0
  41. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  42. package/build/components/entities-saved-states/index.js +1 -0
  43. package/build/components/entities-saved-states/index.js.map +1 -1
  44. package/build/components/error-boundary/index.js +26 -13
  45. package/build/components/error-boundary/index.js.map +1 -1
  46. package/build/components/keyboard-shortcut-help-modal/index.js +1 -0
  47. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  48. package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -0
  49. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  50. package/build/components/list-view-sidebar/index.js +1 -0
  51. package/build/components/list-view-sidebar/index.js.map +1 -1
  52. package/build/components/local-autosave-monitor/index.js +1 -0
  53. package/build/components/local-autosave-monitor/index.js.map +1 -1
  54. package/build/components/mode-switcher/index.js +1 -0
  55. package/build/components/mode-switcher/index.js.map +1 -1
  56. package/build/components/page-attributes/parent.js +1 -0
  57. package/build/components/page-attributes/parent.js.map +1 -1
  58. package/build/components/post-actions/actions.js +1 -0
  59. package/build/components/post-actions/actions.js.map +1 -1
  60. package/build/components/post-actions/index.js +77 -91
  61. package/build/components/post-actions/index.js.map +1 -1
  62. package/build/components/post-author/hook.js +1 -0
  63. package/build/components/post-author/hook.js.map +1 -1
  64. package/build/components/post-card-panel/index.js +56 -23
  65. package/build/components/post-card-panel/index.js.map +1 -1
  66. package/build/components/post-fields/index.js +1 -0
  67. package/build/components/post-fields/index.js.map +1 -1
  68. package/build/components/post-format/index.js +1 -0
  69. package/build/components/post-format/index.js.map +1 -1
  70. package/build/components/post-format/panel.js +1 -0
  71. package/build/components/post-format/panel.js.map +1 -1
  72. package/build/components/post-publish-button/index.js +1 -0
  73. package/build/components/post-publish-button/index.js.map +1 -1
  74. package/build/components/post-publish-panel/maybe-category-panel.js +1 -0
  75. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  76. package/build/components/post-publish-panel/maybe-post-format-panel.js +1 -0
  77. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  78. package/build/components/post-publish-panel/maybe-upload-media.js +1 -0
  79. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  80. package/build/components/post-publish-panel/media-util.js +1 -0
  81. package/build/components/post-publish-panel/media-util.js.map +1 -1
  82. package/build/components/post-publish-panel/prepublish.js +1 -1
  83. package/build/components/post-publish-panel/prepublish.js.map +1 -1
  84. package/build/components/post-saved-state/index.js +1 -0
  85. package/build/components/post-saved-state/index.js.map +1 -1
  86. package/build/components/post-schedule/index.js +1 -0
  87. package/build/components/post-schedule/index.js.map +1 -1
  88. package/build/components/post-taxonomies/flat-term-selector.js +1 -0
  89. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  90. package/build/components/post-taxonomies/hierarchical-term-selector.js +1 -0
  91. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  92. package/build/components/post-taxonomies/index.js +1 -0
  93. package/build/components/post-taxonomies/index.js.map +1 -1
  94. package/build/components/post-taxonomies/most-used-terms.js +1 -0
  95. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  96. package/build/components/post-template/classic-theme.js +1 -0
  97. package/build/components/post-template/classic-theme.js.map +1 -1
  98. package/build/components/post-template/swap-template-button.js +1 -0
  99. package/build/components/post-template/swap-template-button.js.map +1 -1
  100. package/build/components/post-transform-panel/hooks.js +1 -0
  101. package/build/components/post-transform-panel/hooks.js.map +1 -1
  102. package/build/components/post-type-support-check/index.js +1 -0
  103. package/build/components/post-type-support-check/index.js.map +1 -1
  104. package/build/components/preferences-modal/block-visibility.js +1 -0
  105. package/build/components/preferences-modal/block-visibility.js.map +1 -1
  106. package/build/components/preferences-modal/index.js +1 -0
  107. package/build/components/preferences-modal/index.js.map +1 -1
  108. package/build/components/provider/disable-non-page-content-blocks.js +1 -0
  109. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  110. package/build/components/provider/index.native.js +1 -0
  111. package/build/components/provider/index.native.js.map +1 -1
  112. package/build/components/provider/use-block-editor-settings.js +1 -0
  113. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  114. package/build/components/sidebar/index.js +1 -0
  115. package/build/components/sidebar/index.js.map +1 -1
  116. package/build/components/start-page-options/index.js +1 -0
  117. package/build/components/start-page-options/index.js.map +1 -1
  118. package/build/components/start-template-options/index.js +1 -0
  119. package/build/components/start-template-options/index.js.map +1 -1
  120. package/build/components/template-part-content-panel/index.js +1 -0
  121. package/build/components/template-part-content-panel/index.js.map +1 -1
  122. package/build/components/theme-support-check/index.js +1 -0
  123. package/build/components/theme-support-check/index.js.map +1 -1
  124. package/build/components/visual-editor/use-select-nearest-editable-block.js +1 -0
  125. package/build/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  126. package/build/dataviews/store/private-actions.js +16 -2
  127. package/build/dataviews/store/private-actions.js.map +1 -1
  128. package/build/dataviews/store/reducer.js +1 -0
  129. package/build/dataviews/store/reducer.js.map +1 -1
  130. package/build/hooks/custom-sources-backwards-compatibility.js +1 -0
  131. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  132. package/build/hooks/pattern-overrides.js +1 -0
  133. package/build/hooks/pattern-overrides.js.map +1 -1
  134. package/build/store/actions.js +1 -0
  135. package/build/store/actions.js.map +1 -1
  136. package/build/store/private-actions.js +1 -0
  137. package/build/store/private-actions.js.map +1 -1
  138. package/build/store/private-selectors.js +1 -0
  139. package/build/store/private-selectors.js.map +1 -1
  140. package/build/store/reducer.js +1 -0
  141. package/build/store/reducer.js.map +1 -1
  142. package/build/store/reducer.native.js +1 -0
  143. package/build/store/reducer.native.js.map +1 -1
  144. package/build/store/selectors.js +1 -0
  145. package/build/store/selectors.js.map +1 -1
  146. package/build/utils/get-template-info.js +1 -0
  147. package/build/utils/get-template-info.js.map +1 -1
  148. package/build/utils/pageTypeBadge.js +6 -12
  149. package/build/utils/pageTypeBadge.js.map +1 -1
  150. package/build/utils/terms.js +1 -0
  151. package/build/utils/terms.js.map +1 -1
  152. package/build-module/bindings/pattern-overrides.js +1 -0
  153. package/build-module/bindings/pattern-overrides.js.map +1 -1
  154. package/build-module/bindings/post-meta.js +1 -0
  155. package/build-module/bindings/post-meta.js.map +1 -1
  156. package/build-module/components/autocompleters/user.js +1 -0
  157. package/build-module/components/autocompleters/user.js.map +1 -1
  158. package/build-module/components/block-removal-warnings/index.js +1 -0
  159. package/build-module/components/block-removal-warnings/index.js.map +1 -1
  160. package/build-module/components/block-settings-menu/content-only-settings-menu.js +1 -0
  161. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  162. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -0
  163. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  164. package/build-module/components/collab-sidebar/add-comment.js +1 -1
  165. package/build-module/components/collab-sidebar/add-comment.js.map +1 -1
  166. package/build-module/components/collab-sidebar/comment-button.js +7 -2
  167. package/build-module/components/collab-sidebar/comment-button.js.map +1 -1
  168. package/build-module/components/collab-sidebar/comment-form.js +4 -1
  169. package/build-module/components/collab-sidebar/comment-form.js.map +1 -1
  170. package/build-module/components/collab-sidebar/comments.js +201 -187
  171. package/build-module/components/collab-sidebar/comments.js.map +1 -1
  172. package/build-module/components/collab-sidebar/index.js +11 -4
  173. package/build-module/components/collab-sidebar/index.js.map +1 -1
  174. package/build-module/components/collab-sidebar/utils.js +1 -0
  175. package/build-module/components/collab-sidebar/utils.js.map +1 -1
  176. package/build-module/components/deprecated.js +1 -0
  177. package/build-module/components/deprecated.js.map +1 -1
  178. package/build-module/components/document-bar/index.js +3 -1
  179. package/build-module/components/document-bar/index.js.map +1 -1
  180. package/build-module/components/document-outline/index.js +1 -0
  181. package/build-module/components/document-outline/index.js.map +1 -1
  182. package/build-module/components/editor-help/index.native.js +1 -0
  183. package/build-module/components/editor-help/index.native.js.map +1 -1
  184. package/build-module/components/editor-notices/index.js +1 -0
  185. package/build-module/components/editor-notices/index.js.map +1 -1
  186. package/build-module/components/editor-snackbars/index.js +1 -0
  187. package/build-module/components/editor-snackbars/index.js.map +1 -1
  188. package/build-module/components/entities-saved-states/entity-type-list.js +1 -0
  189. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  190. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +1 -0
  191. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  192. package/build-module/components/entities-saved-states/index.js +1 -0
  193. package/build-module/components/entities-saved-states/index.js.map +1 -1
  194. package/build-module/components/error-boundary/index.js +28 -15
  195. package/build-module/components/error-boundary/index.js.map +1 -1
  196. package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -0
  197. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  198. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +1 -0
  199. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  200. package/build-module/components/list-view-sidebar/index.js +1 -0
  201. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  202. package/build-module/components/local-autosave-monitor/index.js +1 -0
  203. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  204. package/build-module/components/mode-switcher/index.js +1 -0
  205. package/build-module/components/mode-switcher/index.js.map +1 -1
  206. package/build-module/components/page-attributes/parent.js +1 -0
  207. package/build-module/components/page-attributes/parent.js.map +1 -1
  208. package/build-module/components/post-actions/actions.js +1 -0
  209. package/build-module/components/post-actions/actions.js.map +1 -1
  210. package/build-module/components/post-actions/index.js +77 -92
  211. package/build-module/components/post-actions/index.js.map +1 -1
  212. package/build-module/components/post-author/hook.js +1 -0
  213. package/build-module/components/post-author/hook.js.map +1 -1
  214. package/build-module/components/post-card-panel/index.js +59 -24
  215. package/build-module/components/post-card-panel/index.js.map +1 -1
  216. package/build-module/components/post-fields/index.js +1 -0
  217. package/build-module/components/post-fields/index.js.map +1 -1
  218. package/build-module/components/post-format/index.js +1 -0
  219. package/build-module/components/post-format/index.js.map +1 -1
  220. package/build-module/components/post-format/panel.js +1 -0
  221. package/build-module/components/post-format/panel.js.map +1 -1
  222. package/build-module/components/post-publish-button/index.js +1 -0
  223. package/build-module/components/post-publish-button/index.js.map +1 -1
  224. package/build-module/components/post-publish-panel/maybe-category-panel.js +1 -0
  225. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  226. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +1 -0
  227. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  228. package/build-module/components/post-publish-panel/maybe-upload-media.js +1 -0
  229. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  230. package/build-module/components/post-publish-panel/media-util.js +1 -0
  231. package/build-module/components/post-publish-panel/media-util.js.map +1 -1
  232. package/build-module/components/post-publish-panel/prepublish.js +1 -1
  233. package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
  234. package/build-module/components/post-saved-state/index.js +1 -0
  235. package/build-module/components/post-saved-state/index.js.map +1 -1
  236. package/build-module/components/post-schedule/index.js +1 -0
  237. package/build-module/components/post-schedule/index.js.map +1 -1
  238. package/build-module/components/post-taxonomies/flat-term-selector.js +1 -0
  239. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  240. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +1 -0
  241. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  242. package/build-module/components/post-taxonomies/index.js +1 -0
  243. package/build-module/components/post-taxonomies/index.js.map +1 -1
  244. package/build-module/components/post-taxonomies/most-used-terms.js +1 -0
  245. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  246. package/build-module/components/post-template/classic-theme.js +1 -0
  247. package/build-module/components/post-template/classic-theme.js.map +1 -1
  248. package/build-module/components/post-template/swap-template-button.js +1 -0
  249. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  250. package/build-module/components/post-transform-panel/hooks.js +1 -0
  251. package/build-module/components/post-transform-panel/hooks.js.map +1 -1
  252. package/build-module/components/post-type-support-check/index.js +1 -0
  253. package/build-module/components/post-type-support-check/index.js.map +1 -1
  254. package/build-module/components/preferences-modal/block-visibility.js +1 -0
  255. package/build-module/components/preferences-modal/block-visibility.js.map +1 -1
  256. package/build-module/components/preferences-modal/index.js +1 -0
  257. package/build-module/components/preferences-modal/index.js.map +1 -1
  258. package/build-module/components/provider/disable-non-page-content-blocks.js +1 -0
  259. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  260. package/build-module/components/provider/index.native.js +1 -0
  261. package/build-module/components/provider/index.native.js.map +1 -1
  262. package/build-module/components/provider/use-block-editor-settings.js +1 -0
  263. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  264. package/build-module/components/sidebar/index.js +1 -0
  265. package/build-module/components/sidebar/index.js.map +1 -1
  266. package/build-module/components/start-page-options/index.js +1 -0
  267. package/build-module/components/start-page-options/index.js.map +1 -1
  268. package/build-module/components/start-template-options/index.js +1 -0
  269. package/build-module/components/start-template-options/index.js.map +1 -1
  270. package/build-module/components/template-part-content-panel/index.js +1 -0
  271. package/build-module/components/template-part-content-panel/index.js.map +1 -1
  272. package/build-module/components/theme-support-check/index.js +1 -0
  273. package/build-module/components/theme-support-check/index.js.map +1 -1
  274. package/build-module/components/visual-editor/use-select-nearest-editable-block.js +1 -0
  275. package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  276. package/build-module/dataviews/store/private-actions.js +16 -2
  277. package/build-module/dataviews/store/private-actions.js.map +1 -1
  278. package/build-module/dataviews/store/reducer.js +1 -0
  279. package/build-module/dataviews/store/reducer.js.map +1 -1
  280. package/build-module/hooks/custom-sources-backwards-compatibility.js +1 -0
  281. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  282. package/build-module/hooks/pattern-overrides.js +1 -0
  283. package/build-module/hooks/pattern-overrides.js.map +1 -1
  284. package/build-module/store/actions.js +1 -0
  285. package/build-module/store/actions.js.map +1 -1
  286. package/build-module/store/private-actions.js +1 -0
  287. package/build-module/store/private-actions.js.map +1 -1
  288. package/build-module/store/private-selectors.js +1 -0
  289. package/build-module/store/private-selectors.js.map +1 -1
  290. package/build-module/store/reducer.js +1 -0
  291. package/build-module/store/reducer.js.map +1 -1
  292. package/build-module/store/reducer.native.js +1 -0
  293. package/build-module/store/reducer.native.js.map +1 -1
  294. package/build-module/store/selectors.js +1 -0
  295. package/build-module/store/selectors.js.map +1 -1
  296. package/build-module/utils/get-template-info.js +1 -0
  297. package/build-module/utils/get-template-info.js.map +1 -1
  298. package/build-module/utils/pageTypeBadge.js +6 -12
  299. package/build-module/utils/pageTypeBadge.js.map +1 -1
  300. package/build-module/utils/terms.js +1 -0
  301. package/build-module/utils/terms.js.map +1 -1
  302. package/build-style/style-rtl.css +22 -3
  303. package/build-style/style.css +22 -3
  304. package/build-types/components/autocompleters/user.d.ts +7 -1
  305. package/build-types/components/autocompleters/user.d.ts.map +1 -1
  306. package/build-types/components/collab-sidebar/comment-button.d.ts.map +1 -1
  307. package/build-types/components/collab-sidebar/comment-form.d.ts.map +1 -1
  308. package/build-types/components/collab-sidebar/comments.d.ts +11 -7
  309. package/build-types/components/collab-sidebar/comments.d.ts.map +1 -1
  310. package/build-types/components/collab-sidebar/constants.d.ts.map +1 -1
  311. package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
  312. package/build-types/components/document-bar/index.d.ts.map +1 -1
  313. package/build-types/components/error-boundary/index.d.ts.map +1 -1
  314. package/build-types/components/keyboard-shortcut-help-modal/shortcut.d.ts +1 -1
  315. package/build-types/components/media-categories/index.d.ts.map +1 -1
  316. package/build-types/components/pattern-duplicate-modal/index.d.ts.map +1 -1
  317. package/build-types/components/pattern-rename-modal/index.d.ts.map +1 -1
  318. package/build-types/components/post-actions/index.d.ts +5 -0
  319. package/build-types/components/post-actions/index.d.ts.map +1 -1
  320. package/build-types/components/post-card-panel/index.d.ts +13 -4
  321. package/build-types/components/post-card-panel/index.d.ts.map +1 -1
  322. package/build-types/components/post-taxonomies/flat-term-selector.d.ts +4 -4
  323. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -1
  324. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts +4 -4
  325. package/build-types/components/post-taxonomies/hierarchical-term-selector.d.ts.map +1 -1
  326. package/build-types/components/post-title/constants.d.ts.map +1 -1
  327. package/build-types/dataviews/api.d.ts.map +1 -1
  328. package/build-types/dataviews/store/private-actions.d.ts.map +1 -1
  329. package/build-types/dataviews/store/reducer.d.ts +1 -1
  330. package/build-types/hooks/custom-sources-backwards-compatibility.d.ts.map +1 -1
  331. package/build-types/hooks/pattern-overrides.d.ts.map +1 -1
  332. package/build-types/store/actions.d.ts +7 -9
  333. package/build-types/store/actions.d.ts.map +1 -1
  334. package/build-types/store/private-actions.d.ts +1 -1
  335. package/build-types/store/private-actions.d.ts.map +1 -1
  336. package/build-types/store/private-selectors.d.ts +20 -4
  337. package/build-types/store/private-selectors.d.ts.map +1 -1
  338. package/build-types/store/reducer.d.ts +1 -1
  339. package/build-types/store/selectors.d.ts +376 -76
  340. package/build-types/store/selectors.d.ts.map +1 -1
  341. package/build-types/utils/pageTypeBadge.d.ts +3 -1
  342. package/build-types/utils/pageTypeBadge.d.ts.map +1 -1
  343. package/package.json +36 -36
  344. package/src/components/collab-sidebar/add-comment.js +1 -1
  345. package/src/components/collab-sidebar/comment-button.js +12 -7
  346. package/src/components/collab-sidebar/comment-form.js +4 -1
  347. package/src/components/collab-sidebar/comments.js +260 -243
  348. package/src/components/collab-sidebar/index.js +10 -2
  349. package/src/components/collab-sidebar/style.scss +10 -1
  350. package/src/components/document-bar/index.js +3 -1
  351. package/src/components/error-boundary/index.js +30 -16
  352. package/src/components/error-boundary/style.scss +5 -1
  353. package/src/components/post-actions/index.js +89 -95
  354. package/src/components/post-card-panel/index.js +65 -29
  355. package/src/components/post-card-panel/style.scss +5 -0
  356. package/src/components/post-publish-panel/prepublish.js +1 -1
  357. package/src/components/post-publish-panel/test/__snapshots__/index.js.snap +2 -2
  358. package/src/dataviews/store/private-actions.ts +23 -8
  359. package/src/utils/pageTypeBadge.js +7 -10
  360. package/tsconfig.tsbuildinfo +1 -1
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -30,12 +31,14 @@ var _jsxRuntime = require("react/jsx-runtime");
30
31
  /**
31
32
  * Renders the Comments component.
32
33
  *
33
- * @param {Object} props - The component props.
34
- * @param {Array} props.threads - The array of comment threads.
35
- * @param {Function} props.onEditComment - The function to handle comment editing.
36
- * @param {Function} props.onAddReply - The function to add a reply to a comment.
37
- * @param {Function} props.onCommentDelete - The function to delete a comment.
38
- * @param {Function} props.onCommentResolve - The function to mark a comment as resolved.
34
+ * @param {Object} props - The component props.
35
+ * @param {Array} props.threads - The array of comment threads.
36
+ * @param {Function} props.onEditComment - The function to handle comment editing.
37
+ * @param {Function} props.onAddReply - The function to add a reply to a comment.
38
+ * @param {Function} props.onCommentDelete - The function to delete a comment.
39
+ * @param {Function} props.onCommentResolve - The function to mark a comment as resolved.
40
+ * @param {boolean} props.showCommentBoard - Whether to show the comment board.
41
+ * @param {Function} props.setShowCommentBoard - The function to set the comment board visibility.
39
42
  * @return {React.ReactNode} The rendered Comments component.
40
43
  */
41
44
  function Comments({
@@ -43,101 +46,26 @@ function Comments({
43
46
  onEditComment,
44
47
  onAddReply,
45
48
  onCommentDelete,
46
- onCommentResolve
49
+ onCommentResolve,
50
+ showCommentBoard,
51
+ setShowCommentBoard
47
52
  }) {
48
- const [actionState, setActionState] = (0, _element.useState)(false);
49
- const [isConfirmDialogOpen, setIsConfirmDialogOpen] = (0, _element.useState)(false);
50
- const handleConfirmDelete = () => {
51
- onCommentDelete(actionState.id);
52
- setActionState(false);
53
- setIsConfirmDialogOpen(false);
54
- };
55
- const handleConfirmResolve = () => {
56
- onCommentResolve(actionState.id);
57
- setActionState(false);
58
- setIsConfirmDialogOpen(false);
59
- };
60
- const handleCancelDelete = () => {
61
- setActionState(false);
62
- setIsConfirmDialogOpen(false);
63
- };
64
- const blockCommentId = (0, _data.useSelect)(select => {
65
- var _select$getBlock$attr;
66
- const clientID = select(_blockEditor.store).getSelectedBlockClientId();
67
- return (_select$getBlock$attr = select(_blockEditor.store).getBlock(clientID)?.attributes?.blockCommentId) !== null && _select$getBlock$attr !== void 0 ? _select$getBlock$attr : false;
53
+ const {
54
+ blockCommentId
55
+ } = (0, _data.useSelect)(select => {
56
+ const {
57
+ getBlockAttributes,
58
+ getSelectedBlockClientId
59
+ } = select(_blockEditor.store);
60
+ const _clientId = getSelectedBlockClientId();
61
+ return {
62
+ blockCommentId: _clientId ? getBlockAttributes(_clientId)?.blockCommentId : null
63
+ };
68
64
  }, []);
69
- const CommentBoard = ({
70
- thread,
71
- parentThread
72
- }) => {
73
- var _parentThread$status;
74
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
75
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CommentHeader, {
76
- thread: thread,
77
- onResolve: () => {
78
- var _parentThread$id;
79
- setActionState({
80
- action: 'resolve',
81
- id: (_parentThread$id = parentThread?.id) !== null && _parentThread$id !== void 0 ? _parentThread$id : thread.id
82
- });
83
- setIsConfirmDialogOpen(true);
84
- },
85
- onEdit: () => setActionState({
86
- action: 'edit',
87
- id: thread.id
88
- }),
89
- onDelete: () => {
90
- setActionState({
91
- action: 'delete',
92
- id: thread.id
93
- });
94
- setIsConfirmDialogOpen(true);
95
- },
96
- onReply: !parentThread ? () => setActionState({
97
- action: 'reply',
98
- id: thread.id
99
- }) : undefined,
100
- status: (_parentThread$status = parentThread?.status) !== null && _parentThread$status !== void 0 ? _parentThread$status : thread.status
101
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
102
- alignment: "left",
103
- spacing: "3",
104
- justify: "flex-start",
105
- className: "editor-collab-sidebar-panel__user-comment",
106
- children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
107
- spacing: "3",
108
- className: "editor-collab-sidebar-panel__comment-field",
109
- children: ['edit' === actionState?.action && thread.id === actionState?.id && /*#__PURE__*/(0, _jsxRuntime.jsx)(_commentForm.default, {
110
- onSubmit: value => {
111
- onEditComment(thread.id, value);
112
- setActionState(false);
113
- },
114
- onCancel: () => setActionState(false),
115
- thread: thread,
116
- submitButtonText: (0, _i18n._x)('Update', 'verb')
117
- }), (!actionState || 'edit' !== actionState?.action) && /*#__PURE__*/(0, _jsxRuntime.jsx)(_element.RawHTML, {
118
- children: thread?.content?.raw
119
- })]
120
- })
121
- }), 'resolve' === actionState?.action && thread.id === actionState?.id && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalConfirmDialog, {
122
- isOpen: isConfirmDialogOpen,
123
- onConfirm: handleConfirmResolve,
124
- onCancel: handleCancelDelete,
125
- confirmButtonText: "Yes",
126
- cancelButtonText: "No",
127
- children:
128
- // translators: message displayed when confirming an action
129
- (0, _i18n.__)('Are you sure you want to mark this comment as resolved?')
130
- }), 'delete' === actionState?.action && thread.id === actionState?.id && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalConfirmDialog, {
131
- isOpen: isConfirmDialogOpen,
132
- onConfirm: handleConfirmDelete,
133
- onCancel: handleCancelDelete,
134
- confirmButtonText: "Yes",
135
- cancelButtonText: "No",
136
- children:
137
- // translators: message displayed when confirming an action
138
- (0, _i18n.__)('Are you sure you want to delete this comment?')
139
- })]
140
- });
65
+ const [focusThread, setFocusThread] = (0, _element.useState)(showCommentBoard && blockCommentId ? blockCommentId : null);
66
+ const clearThreadFocus = () => {
67
+ setFocusThread(null);
68
+ setShowCommentBoard(false);
141
69
  };
142
70
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
143
71
  children: [
@@ -150,114 +78,200 @@ function Comments({
150
78
  children:
151
79
  // translators: message displayed when there are no comments available
152
80
  (0, _i18n.__)('No comments available')
153
- }), Array.isArray(threads) && threads.length > 0 && threads.map(thread => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
81
+ }), Array.isArray(threads) && threads.length > 0 && threads.map(thread => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
154
82
  className: (0, _clsx.default)('editor-collab-sidebar-panel__thread', {
155
- 'editor-collab-sidebar-panel__active-thread': blockCommentId && blockCommentId === thread.id
83
+ 'editor-collab-sidebar-panel__active-thread': blockCommentId && blockCommentId === thread.id,
84
+ 'editor-collab-sidebar-panel__focus-thread': focusThread && focusThread === thread.id
156
85
  }),
157
86
  id: thread.id,
158
87
  spacing: "3",
159
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CommentBoard, {
160
- thread: thread
161
- }), 0 < thread?.reply?.length && thread.reply.map(reply => /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
88
+ onClick: () => setFocusThread(thread.id),
89
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(Thread, {
90
+ thread: thread,
91
+ onAddReply: onAddReply,
92
+ onCommentDelete: onCommentDelete,
93
+ onCommentResolve: onCommentResolve,
94
+ onEditComment: onEditComment,
95
+ isFocused: focusThread === thread.id,
96
+ clearThreadFocus: clearThreadFocus
97
+ })
98
+ }, thread.id))]
99
+ });
100
+ }
101
+ function Thread({
102
+ thread,
103
+ onEditComment,
104
+ onAddReply,
105
+ onCommentDelete,
106
+ onCommentResolve,
107
+ isFocused,
108
+ clearThreadFocus
109
+ }) {
110
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
111
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(CommentBoard, {
112
+ thread: thread,
113
+ onResolve: onCommentResolve,
114
+ onEdit: onEditComment,
115
+ onDelete: onCommentDelete,
116
+ status: thread.status
117
+ }), 0 < thread?.reply?.length && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
118
+ children: [!isFocused && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
119
+ className: "editor-collab-sidebar-panel__show-more-reply",
120
+ children: (0, _i18n.sprintf)(
121
+ // translators: 1: number of replies.
122
+ (0, _i18n._x)('%s more replies..', 'Show replies button'), thread?.reply?.length)
123
+ }), isFocused && thread.reply.map(reply => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
162
124
  className: "editor-collab-sidebar-panel__child-thread",
163
125
  id: reply.id,
164
126
  spacing: "2",
165
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(CommentBoard, {
127
+ children: ['approved' !== thread.status && /*#__PURE__*/(0, _jsxRuntime.jsx)(CommentBoard, {
166
128
  thread: reply,
167
- parentThread: thread
168
- })
169
- }, reply.id)), 'reply' === actionState?.action && thread.id === actionState?.id && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
170
- className: "editor-collab-sidebar-panel__child-thread",
171
- spacing: "2",
172
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
173
- alignment: "left",
174
- spacing: "3",
175
- justify: "flex-start",
176
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_commentAuthorInfo.default, {})
177
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
178
- spacing: "3",
179
- className: "editor-collab-sidebar-panel__comment-field",
180
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_commentForm.default, {
181
- onSubmit: inputComment => {
182
- onAddReply(inputComment, thread.id);
183
- setActionState(false);
184
- },
185
- onCancel: () => setActionState(false),
186
- submitButtonText: (0, _i18n._x)('Reply', 'Add reply comment')
187
- })
129
+ onEdit: onEditComment,
130
+ onDelete: onCommentDelete
131
+ }), 'approved' === thread.status && /*#__PURE__*/(0, _jsxRuntime.jsx)(CommentBoard, {
132
+ thread: reply
188
133
  })]
134
+ }, reply.id))]
135
+ }), 'approved' !== thread.status && isFocused && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
136
+ className: "editor-collab-sidebar-panel__child-thread",
137
+ spacing: "2",
138
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
139
+ alignment: "left",
140
+ spacing: "3",
141
+ justify: "flex-start",
142
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_commentAuthorInfo.default, {})
143
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalVStack, {
144
+ spacing: "3",
145
+ className: "editor-collab-sidebar-panel__comment-field",
146
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_commentForm.default, {
147
+ onSubmit: inputComment => {
148
+ onAddReply(inputComment, thread.id);
149
+ },
150
+ onCancel: event => {
151
+ event.stopPropagation(); // Prevent the parent onClick from being triggered
152
+ clearThreadFocus();
153
+ },
154
+ submitButtonText: (0, _i18n._x)('Reply', 'Add reply comment')
155
+ })
189
156
  })]
190
- }, thread.id))]
157
+ })]
191
158
  });
192
159
  }
193
-
194
- /**
195
- * Renders the header of a comment in the collaboration sidebar.
196
- *
197
- * @param {Object} props - The component props.
198
- * @param {Object} props.thread - The comment thread object.
199
- * @param {Function} props.onResolve - The function to resolve the comment.
200
- * @param {Function} props.onEdit - The function to edit the comment.
201
- * @param {Function} props.onDelete - The function to delete the comment.
202
- * @param {Function} props.onReply - The function to reply to the comment.
203
- * @param {string} props.status - The status of the comment.
204
- * @return {React.ReactNode} The rendered comment header.
205
- */
206
- function CommentHeader({
160
+ const CommentBoard = ({
207
161
  thread,
208
162
  onResolve,
209
163
  onEdit,
210
164
  onDelete,
211
- onReply,
212
165
  status
213
- }) {
214
- const actions = [{
166
+ }) => {
167
+ const [actionState, setActionState] = (0, _element.useState)(false);
168
+ const [showConfirmDialog, setShowConfirmDialog] = (0, _element.useState)(false);
169
+ const handleConfirmDelete = () => {
170
+ onDelete(thread.id);
171
+ setActionState(false);
172
+ setShowConfirmDialog(false);
173
+ };
174
+ const handleConfirmResolve = () => {
175
+ onResolve(thread.id);
176
+ setActionState(false);
177
+ setShowConfirmDialog(false);
178
+ };
179
+ const handleCancel = () => {
180
+ setActionState(false);
181
+ setShowConfirmDialog(false);
182
+ };
183
+ const actions = [onEdit && {
215
184
  title: (0, _i18n._x)('Edit', 'Edit comment'),
216
- onClick: onEdit
217
- }, {
185
+ onClick: () => {
186
+ setActionState('edit');
187
+ }
188
+ }, onDelete && {
218
189
  title: (0, _i18n._x)('Delete', 'Delete comment'),
219
- onClick: onDelete
220
- }, {
221
- title: (0, _i18n._x)('Reply', 'Reply on a comment'),
222
- onClick: onReply
190
+ onClick: () => {
191
+ setActionState('delete');
192
+ setShowConfirmDialog(true);
193
+ }
223
194
  }];
224
- const moreActions = actions.filter(item => item.onClick);
225
- return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
226
- alignment: "left",
227
- spacing: "3",
228
- justify: "flex-start",
229
- children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_commentAuthorInfo.default, {
230
- avatar: thread?.author_avatar_urls?.[48],
231
- name: thread?.author_name,
232
- date: thread?.date
233
- }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
234
- className: "editor-collab-sidebar-panel__comment-status",
235
- children: [status !== 'approved' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
236
- alignment: "right",
237
- justify: "flex-end",
238
- spacing: "0",
239
- children: [0 === thread?.parent && onResolve && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
240
- label: (0, _i18n._x)('Resolve', 'Mark comment as resolved'),
241
- __next40pxDefaultSize: true,
242
- icon: _icons.published,
243
- onClick: onResolve,
244
- showTooltip: true
245
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.DropdownMenu, {
246
- icon: _icons.moreVertical,
247
- label: (0, _i18n._x)('Select an action', 'Select comment action'),
248
- className: "editor-collab-sidebar-panel__comment-dropdown-menu",
249
- controls: moreActions
195
+ const moreActions = actions.filter(item => item?.onClick);
196
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
197
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
198
+ alignment: "left",
199
+ spacing: "3",
200
+ justify: "flex-start",
201
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_commentAuthorInfo.default, {
202
+ avatar: thread?.author_avatar_urls?.[48],
203
+ name: thread?.author_name,
204
+ date: thread?.date
205
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)("span", {
206
+ className: "editor-collab-sidebar-panel__comment-status",
207
+ children: [status !== 'approved' && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalHStack, {
208
+ alignment: "right",
209
+ justify: "flex-end",
210
+ spacing: "0",
211
+ children: [0 === thread?.parent && onResolve && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.Button, {
212
+ label: (0, _i18n._x)('Resolve', 'Mark comment as resolved'),
213
+ __next40pxDefaultSize: true,
214
+ icon: _icons.published,
215
+ onClick: () => {
216
+ setActionState('resolve');
217
+ setShowConfirmDialog(true);
218
+ },
219
+ showTooltip: true
220
+ }), 0 < moreActions.length && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.DropdownMenu, {
221
+ icon: _icons.moreVertical,
222
+ label: (0, _i18n._x)('Select an action', 'Select comment action'),
223
+ className: "editor-collab-sidebar-panel__comment-dropdown-menu",
224
+ controls: moreActions
225
+ })]
226
+ }), status === 'approved' &&
227
+ /*#__PURE__*/
228
+ // translators: tooltip for resolved comment
229
+ (0, _jsxRuntime.jsx)(_components.Tooltip, {
230
+ text: (0, _i18n.__)('Resolved'),
231
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
232
+ icon: _icons.check
233
+ })
250
234
  })]
251
- }), status === 'approved' &&
252
- /*#__PURE__*/
253
- // translators: tooltip for resolved comment
254
- (0, _jsxRuntime.jsx)(_components.Tooltip, {
255
- text: (0, _i18n.__)('Resolved'),
256
- children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_icons.Icon, {
257
- icon: _icons.check
258
- })
259
235
  })]
236
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalHStack, {
237
+ alignment: "left",
238
+ spacing: "3",
239
+ justify: "flex-start",
240
+ className: "editor-collab-sidebar-panel__user-comment",
241
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_components.__experimentalVStack, {
242
+ spacing: "3",
243
+ className: "editor-collab-sidebar-panel__comment-field",
244
+ children: ['edit' === actionState && /*#__PURE__*/(0, _jsxRuntime.jsx)(_commentForm.default, {
245
+ onSubmit: value => {
246
+ onEdit(thread.id, value);
247
+ setActionState(false);
248
+ },
249
+ onCancel: () => handleCancel(),
250
+ thread: thread,
251
+ submitButtonText: (0, _i18n._x)('Update', 'verb')
252
+ }), 'edit' !== actionState && /*#__PURE__*/(0, _jsxRuntime.jsx)(_element.RawHTML, {
253
+ children: thread?.content?.raw
254
+ })]
255
+ })
256
+ }), 'resolve' === actionState && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalConfirmDialog, {
257
+ isOpen: showConfirmDialog,
258
+ onConfirm: handleConfirmResolve,
259
+ onCancel: handleCancel,
260
+ confirmButtonText: "Yes",
261
+ cancelButtonText: "No",
262
+ children:
263
+ // translators: message displayed when confirming an action
264
+ (0, _i18n.__)('Are you sure you want to mark this comment as resolved?')
265
+ }), 'delete' === actionState && /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.__experimentalConfirmDialog, {
266
+ isOpen: showConfirmDialog,
267
+ onConfirm: handleConfirmDelete,
268
+ onCancel: handleCancel,
269
+ confirmButtonText: "Yes",
270
+ cancelButtonText: "No",
271
+ children:
272
+ // translators: message displayed when confirming an action
273
+ (0, _i18n.__)('Are you sure you want to delete this comment?')
260
274
  })]
261
275
  });
262
- }
276
+ };
263
277
  //# sourceMappingURL=comments.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_components","_icons","_i18n","_data","_blockEditor","_commentAuthorInfo","_commentForm","_jsxRuntime","Comments","threads","onEditComment","onAddReply","onCommentDelete","onCommentResolve","actionState","setActionState","useState","isConfirmDialogOpen","setIsConfirmDialogOpen","handleConfirmDelete","id","handleConfirmResolve","handleCancelDelete","blockCommentId","useSelect","select","_select$getBlock$attr","clientID","blockEditorStore","getSelectedBlockClientId","getBlock","attributes","CommentBoard","thread","parentThread","_parentThread$status","jsxs","Fragment","children","jsx","CommentHeader","onResolve","_parentThread$id","action","onEdit","onDelete","onReply","undefined","status","__experimentalHStack","alignment","spacing","justify","className","__experimentalVStack","default","onSubmit","value","onCancel","submitButtonText","_x","RawHTML","content","raw","__experimentalConfirmDialog","isOpen","onConfirm","confirmButtonText","cancelButtonText","__","Array","isArray","length","map","clsx","reply","inputComment","actions","title","onClick","moreActions","filter","item","avatar","author_avatar_urls","name","author_name","date","parent","Button","label","__next40pxDefaultSize","icon","published","showTooltip","DropdownMenu","moreVertical","controls","Tooltip","text","Icon","check"],"sources":["@wordpress/editor/src/components/collab-sidebar/comments.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, RawHTML } from '@wordpress/element';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tButton,\n\tDropdownMenu,\n\tTooltip,\n} from '@wordpress/components';\nimport { Icon, check, published, moreVertical } from '@wordpress/icons';\nimport { __, _x } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport CommentAuthorInfo from './comment-author-info';\nimport CommentForm from './comment-form';\n\n/**\n * Renders the Comments component.\n *\n * @param {Object} props - The component props.\n * @param {Array} props.threads - The array of comment threads.\n * @param {Function} props.onEditComment - The function to handle comment editing.\n * @param {Function} props.onAddReply - The function to add a reply to a comment.\n * @param {Function} props.onCommentDelete - The function to delete a comment.\n * @param {Function} props.onCommentResolve - The function to mark a comment as resolved.\n * @return {React.ReactNode} The rendered Comments component.\n */\nexport function Comments( {\n\tthreads,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tonCommentResolve,\n} ) {\n\tconst [ actionState, setActionState ] = useState( false );\n\tconst [ isConfirmDialogOpen, setIsConfirmDialogOpen ] = useState( false );\n\n\tconst handleConfirmDelete = () => {\n\t\tonCommentDelete( actionState.id );\n\t\tsetActionState( false );\n\t\tsetIsConfirmDialogOpen( false );\n\t};\n\n\tconst handleConfirmResolve = () => {\n\t\tonCommentResolve( actionState.id );\n\t\tsetActionState( false );\n\t\tsetIsConfirmDialogOpen( false );\n\t};\n\n\tconst handleCancelDelete = () => {\n\t\tsetActionState( false );\n\t\tsetIsConfirmDialogOpen( false );\n\t};\n\n\tconst blockCommentId = useSelect( ( select ) => {\n\t\tconst clientID = select( blockEditorStore ).getSelectedBlockClientId();\n\t\treturn (\n\t\t\tselect( blockEditorStore ).getBlock( clientID )?.attributes\n\t\t\t\t?.blockCommentId ?? false\n\t\t);\n\t}, [] );\n\n\tconst CommentBoard = ( { thread, parentThread } ) => {\n\t\treturn (\n\t\t\t<>\n\t\t\t\t<CommentHeader\n\t\t\t\t\tthread={ thread }\n\t\t\t\t\tonResolve={ () => {\n\t\t\t\t\t\tsetActionState( {\n\t\t\t\t\t\t\taction: 'resolve',\n\t\t\t\t\t\t\tid: parentThread?.id ?? thread.id,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetIsConfirmDialogOpen( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonEdit={ () =>\n\t\t\t\t\t\tsetActionState( { action: 'edit', id: thread.id } )\n\t\t\t\t\t}\n\t\t\t\t\tonDelete={ () => {\n\t\t\t\t\t\tsetActionState( { action: 'delete', id: thread.id } );\n\t\t\t\t\t\tsetIsConfirmDialogOpen( true );\n\t\t\t\t\t} }\n\t\t\t\t\tonReply={\n\t\t\t\t\t\t! parentThread\n\t\t\t\t\t\t\t? () =>\n\t\t\t\t\t\t\t\t\tsetActionState( {\n\t\t\t\t\t\t\t\t\t\taction: 'reply',\n\t\t\t\t\t\t\t\t\t\tid: thread.id,\n\t\t\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t\tstatus={ parentThread?.status ?? thread.status }\n\t\t\t\t/>\n\t\t\t\t<HStack\n\t\t\t\t\talignment=\"left\"\n\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__user-comment\"\n\t\t\t\t>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-field\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{ 'edit' === actionState?.action &&\n\t\t\t\t\t\t\tthread.id === actionState?.id && (\n\t\t\t\t\t\t\t\t<CommentForm\n\t\t\t\t\t\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t\t\t\t\t\tonEditComment( thread.id, value );\n\t\t\t\t\t\t\t\t\t\tsetActionState( false );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tonCancel={ () => setActionState( false ) }\n\t\t\t\t\t\t\t\t\tthread={ thread }\n\t\t\t\t\t\t\t\t\tsubmitButtonText={ _x( 'Update', 'verb' ) }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t{ ( ! actionState ||\n\t\t\t\t\t\t\t'edit' !== actionState?.action ) && (\n\t\t\t\t\t\t\t<RawHTML>{ thread?.content?.raw }</RawHTML>\n\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t</HStack>\n\t\t\t\t{ 'resolve' === actionState?.action &&\n\t\t\t\t\tthread.id === actionState?.id && (\n\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\tisOpen={ isConfirmDialogOpen }\n\t\t\t\t\t\t\tonConfirm={ handleConfirmResolve }\n\t\t\t\t\t\t\tonCancel={ handleCancelDelete }\n\t\t\t\t\t\t\tconfirmButtonText=\"Yes\"\n\t\t\t\t\t\t\tcancelButtonText=\"No\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// translators: message displayed when confirming an action\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to mark this comment as resolved?'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</ConfirmDialog>\n\t\t\t\t\t) }\n\t\t\t\t{ 'delete' === actionState?.action &&\n\t\t\t\t\tthread.id === actionState?.id && (\n\t\t\t\t\t\t<ConfirmDialog\n\t\t\t\t\t\t\tisOpen={ isConfirmDialogOpen }\n\t\t\t\t\t\t\tonConfirm={ handleConfirmDelete }\n\t\t\t\t\t\t\tonCancel={ handleCancelDelete }\n\t\t\t\t\t\t\tconfirmButtonText=\"Yes\"\n\t\t\t\t\t\t\tcancelButtonText=\"No\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t// translators: message displayed when confirming an action\n\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t'Are you sure you want to delete this comment?'\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t</ConfirmDialog>\n\t\t\t\t\t) }\n\t\t\t</>\n\t\t);\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{\n\t\t\t\t// If there are no comments, show a message indicating no comments are available.\n\t\t\t\t( ! Array.isArray( threads ) || threads.length === 0 ) && (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__thread\"\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// translators: message displayed when there are no comments available\n\t\t\t\t\t\t\t__( 'No comments available' )\n\t\t\t\t\t\t}\n\t\t\t\t\t</VStack>\n\t\t\t\t)\n\t\t\t}\n\n\t\t\t{ Array.isArray( threads ) &&\n\t\t\t\tthreads.length > 0 &&\n\t\t\t\tthreads.map( ( thread ) => (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tkey={ thread.id }\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'editor-collab-sidebar-panel__thread',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'editor-collab-sidebar-panel__active-thread':\n\t\t\t\t\t\t\t\t\tblockCommentId &&\n\t\t\t\t\t\t\t\t\tblockCommentId === thread.id,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tid={ thread.id }\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<CommentBoard thread={ thread } />\n\t\t\t\t\t\t{ 0 < thread?.reply?.length &&\n\t\t\t\t\t\t\tthread.reply.map( ( reply ) => (\n\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\tkey={ reply.id }\n\t\t\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__child-thread\"\n\t\t\t\t\t\t\t\t\tid={ reply.id }\n\t\t\t\t\t\t\t\t\tspacing=\"2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<CommentBoard\n\t\t\t\t\t\t\t\t\t\tthread={ reply }\n\t\t\t\t\t\t\t\t\t\tparentThread={ thread }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t{ 'reply' === actionState?.action &&\n\t\t\t\t\t\t\tthread.id === actionState?.id && (\n\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__child-thread\"\n\t\t\t\t\t\t\t\t\tspacing=\"2\"\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<CommentAuthorInfo />\n\t\t\t\t\t\t\t\t\t</HStack>\n\t\t\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-field\"\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<CommentForm\n\t\t\t\t\t\t\t\t\t\t\tonSubmit={ ( inputComment ) => {\n\t\t\t\t\t\t\t\t\t\t\t\tonAddReply(\n\t\t\t\t\t\t\t\t\t\t\t\t\tinputComment,\n\t\t\t\t\t\t\t\t\t\t\t\t\tthread.id\n\t\t\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t\t\t\tsetActionState( false );\n\t\t\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\t\t\tonCancel={ () =>\n\t\t\t\t\t\t\t\t\t\t\t\tsetActionState( false )\n\t\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\t\tsubmitButtonText={ _x(\n\t\t\t\t\t\t\t\t\t\t\t\t'Reply',\n\t\t\t\t\t\t\t\t\t\t\t\t'Add reply comment'\n\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t</VStack>\n\t\t\t\t) ) }\n\t\t</>\n\t);\n}\n\n/**\n * Renders the header of a comment in the collaboration sidebar.\n *\n * @param {Object} props - The component props.\n * @param {Object} props.thread - The comment thread object.\n * @param {Function} props.onResolve - The function to resolve the comment.\n * @param {Function} props.onEdit - The function to edit the comment.\n * @param {Function} props.onDelete - The function to delete the comment.\n * @param {Function} props.onReply - The function to reply to the comment.\n * @param {string} props.status - The status of the comment.\n * @return {React.ReactNode} The rendered comment header.\n */\nfunction CommentHeader( {\n\tthread,\n\tonResolve,\n\tonEdit,\n\tonDelete,\n\tonReply,\n\tstatus,\n} ) {\n\tconst actions = [\n\t\t{\n\t\t\ttitle: _x( 'Edit', 'Edit comment' ),\n\t\t\tonClick: onEdit,\n\t\t},\n\t\t{\n\t\t\ttitle: _x( 'Delete', 'Delete comment' ),\n\t\t\tonClick: onDelete,\n\t\t},\n\t\t{\n\t\t\ttitle: _x( 'Reply', 'Reply on a comment' ),\n\t\t\tonClick: onReply,\n\t\t},\n\t];\n\n\tconst moreActions = actions.filter( ( item ) => item.onClick );\n\n\treturn (\n\t\t<HStack alignment=\"left\" spacing=\"3\" justify=\"flex-start\">\n\t\t\t<CommentAuthorInfo\n\t\t\t\tavatar={ thread?.author_avatar_urls?.[ 48 ] }\n\t\t\t\tname={ thread?.author_name }\n\t\t\t\tdate={ thread?.date }\n\t\t\t/>\n\t\t\t<span className=\"editor-collab-sidebar-panel__comment-status\">\n\t\t\t\t{ status !== 'approved' && (\n\t\t\t\t\t<HStack alignment=\"right\" justify=\"flex-end\" spacing=\"0\">\n\t\t\t\t\t\t{ 0 === thread?.parent && onResolve && (\n\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t'Resolve',\n\t\t\t\t\t\t\t\t\t'Mark comment as resolved'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\ticon={ published }\n\t\t\t\t\t\t\t\tonClick={ onResolve }\n\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t'Select an action',\n\t\t\t\t\t\t\t\t'Select comment action'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-dropdown-menu\"\n\t\t\t\t\t\t\tcontrols={ moreActions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</HStack>\n\t\t\t\t) }\n\t\t\t\t{ status === 'approved' && (\n\t\t\t\t\t// translators: tooltip for resolved comment\n\t\t\t\t\t<Tooltip text={ __( 'Resolved' ) }>\n\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t</Tooltip>\n\t\t\t\t) }\n\t\t\t</span>\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_clsx","_interopRequireDefault","require","_element","_components","_icons","_i18n","_data","_blockEditor","_commentAuthorInfo","_commentForm","_jsxRuntime","Comments","threads","onEditComment","onAddReply","onCommentDelete","onCommentResolve","showCommentBoard","setShowCommentBoard","blockCommentId","useSelect","select","getBlockAttributes","getSelectedBlockClientId","blockEditorStore","_clientId","focusThread","setFocusThread","useState","clearThreadFocus","jsxs","Fragment","children","Array","isArray","length","jsx","__experimentalVStack","alignment","className","justify","spacing","__","map","thread","clsx","id","onClick","Thread","isFocused","CommentBoard","onResolve","onEdit","onDelete","status","reply","sprintf","_x","__experimentalHStack","default","onSubmit","inputComment","onCancel","event","stopPropagation","submitButtonText","actionState","setActionState","showConfirmDialog","setShowConfirmDialog","handleConfirmDelete","handleConfirmResolve","handleCancel","actions","title","moreActions","filter","item","avatar","author_avatar_urls","name","author_name","date","parent","Button","label","__next40pxDefaultSize","icon","published","showTooltip","DropdownMenu","moreVertical","controls","Tooltip","text","Icon","check","value","RawHTML","content","raw","__experimentalConfirmDialog","isOpen","onConfirm","confirmButtonText","cancelButtonText"],"sources":["@wordpress/editor/src/components/collab-sidebar/comments.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, RawHTML } from '@wordpress/element';\nimport {\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tButton,\n\tDropdownMenu,\n\tTooltip,\n} from '@wordpress/components';\nimport { Icon, check, published, moreVertical } from '@wordpress/icons';\nimport { __, _x, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport CommentAuthorInfo from './comment-author-info';\nimport CommentForm from './comment-form';\n\n/**\n * Renders the Comments component.\n *\n * @param {Object} props - The component props.\n * @param {Array} props.threads - The array of comment threads.\n * @param {Function} props.onEditComment - The function to handle comment editing.\n * @param {Function} props.onAddReply - The function to add a reply to a comment.\n * @param {Function} props.onCommentDelete - The function to delete a comment.\n * @param {Function} props.onCommentResolve - The function to mark a comment as resolved.\n * @param {boolean} props.showCommentBoard - Whether to show the comment board.\n * @param {Function} props.setShowCommentBoard - The function to set the comment board visibility.\n * @return {React.ReactNode} The rendered Comments component.\n */\nexport function Comments( {\n\tthreads,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tonCommentResolve,\n\tshowCommentBoard,\n\tsetShowCommentBoard,\n} ) {\n\tconst { blockCommentId } = useSelect( ( select ) => {\n\t\tconst { getBlockAttributes, getSelectedBlockClientId } =\n\t\t\tselect( blockEditorStore );\n\t\tconst _clientId = getSelectedBlockClientId();\n\n\t\treturn {\n\t\t\tblockCommentId: _clientId\n\t\t\t\t? getBlockAttributes( _clientId )?.blockCommentId\n\t\t\t\t: null,\n\t\t};\n\t}, [] );\n\n\tconst [ focusThread, setFocusThread ] = useState(\n\t\tshowCommentBoard && blockCommentId ? blockCommentId : null\n\t);\n\n\tconst clearThreadFocus = () => {\n\t\tsetFocusThread( null );\n\t\tsetShowCommentBoard( false );\n\t};\n\n\treturn (\n\t\t<>\n\t\t\t{\n\t\t\t\t// If there are no comments, show a message indicating no comments are available.\n\t\t\t\t( ! Array.isArray( threads ) || threads.length === 0 ) && (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\talignment=\"left\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__thread\"\n\t\t\t\t\t\tjustify=\"flex-start\"\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t>\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t// translators: message displayed when there are no comments available\n\t\t\t\t\t\t\t__( 'No comments available' )\n\t\t\t\t\t\t}\n\t\t\t\t\t</VStack>\n\t\t\t\t)\n\t\t\t}\n\t\t\t{ Array.isArray( threads ) &&\n\t\t\t\tthreads.length > 0 &&\n\t\t\t\tthreads.map( ( thread ) => (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tkey={ thread.id }\n\t\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t\t'editor-collab-sidebar-panel__thread',\n\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t'editor-collab-sidebar-panel__active-thread':\n\t\t\t\t\t\t\t\t\tblockCommentId &&\n\t\t\t\t\t\t\t\t\tblockCommentId === thread.id,\n\t\t\t\t\t\t\t\t'editor-collab-sidebar-panel__focus-thread':\n\t\t\t\t\t\t\t\t\tfocusThread && focusThread === thread.id,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tid={ thread.id }\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t\tonClick={ () => setFocusThread( thread.id ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t<Thread\n\t\t\t\t\t\t\tthread={ thread }\n\t\t\t\t\t\t\tonAddReply={ onAddReply }\n\t\t\t\t\t\t\tonCommentDelete={ onCommentDelete }\n\t\t\t\t\t\t\tonCommentResolve={ onCommentResolve }\n\t\t\t\t\t\t\tonEditComment={ onEditComment }\n\t\t\t\t\t\t\tisFocused={ focusThread === thread.id }\n\t\t\t\t\t\t\tclearThreadFocus={ clearThreadFocus }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t) ) }\n\t\t</>\n\t);\n}\n\nfunction Thread( {\n\tthread,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tonCommentResolve,\n\tisFocused,\n\tclearThreadFocus,\n} ) {\n\treturn (\n\t\t<>\n\t\t\t<CommentBoard\n\t\t\t\tthread={ thread }\n\t\t\t\tonResolve={ onCommentResolve }\n\t\t\t\tonEdit={ onEditComment }\n\t\t\t\tonDelete={ onCommentDelete }\n\t\t\t\tstatus={ thread.status }\n\t\t\t/>\n\t\t\t{ 0 < thread?.reply?.length && (\n\t\t\t\t<>\n\t\t\t\t\t{ ! isFocused && (\n\t\t\t\t\t\t<VStack className=\"editor-collab-sidebar-panel__show-more-reply\">\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t// translators: 1: number of replies.\n\t\t\t\t\t\t\t\t_x(\n\t\t\t\t\t\t\t\t\t'%s more replies..',\n\t\t\t\t\t\t\t\t\t'Show replies button'\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\tthread?.reply?.length\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</VStack>\n\t\t\t\t\t) }\n\n\t\t\t\t\t{ isFocused &&\n\t\t\t\t\t\tthread.reply.map( ( reply ) => (\n\t\t\t\t\t\t\t<VStack\n\t\t\t\t\t\t\t\tkey={ reply.id }\n\t\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__child-thread\"\n\t\t\t\t\t\t\t\tid={ reply.id }\n\t\t\t\t\t\t\t\tspacing=\"2\"\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t{ 'approved' !== thread.status && (\n\t\t\t\t\t\t\t\t\t<CommentBoard\n\t\t\t\t\t\t\t\t\t\tthread={ reply }\n\t\t\t\t\t\t\t\t\t\tonEdit={ onEditComment }\n\t\t\t\t\t\t\t\t\t\tonDelete={ onCommentDelete }\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t{ 'approved' === thread.status && (\n\t\t\t\t\t\t\t\t\t<CommentBoard thread={ reply } />\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</VStack>\n\t\t\t\t\t\t) ) }\n\t\t\t\t</>\n\t\t\t) }\n\t\t\t{ 'approved' !== thread.status && isFocused && (\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__child-thread\"\n\t\t\t\t\tspacing=\"2\"\n\t\t\t\t>\n\t\t\t\t\t<HStack alignment=\"left\" spacing=\"3\" justify=\"flex-start\">\n\t\t\t\t\t\t<CommentAuthorInfo />\n\t\t\t\t\t</HStack>\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-field\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<CommentForm\n\t\t\t\t\t\t\tonSubmit={ ( inputComment ) => {\n\t\t\t\t\t\t\t\tonAddReply( inputComment, thread.id );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCancel={ ( event ) => {\n\t\t\t\t\t\t\t\tevent.stopPropagation(); // Prevent the parent onClick from being triggered\n\t\t\t\t\t\t\t\tclearThreadFocus();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsubmitButtonText={ _x(\n\t\t\t\t\t\t\t\t'Reply',\n\t\t\t\t\t\t\t\t'Add reply comment'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t</VStack>\n\t\t\t\t</VStack>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nconst CommentBoard = ( { thread, onResolve, onEdit, onDelete, status } ) => {\n\tconst [ actionState, setActionState ] = useState( false );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tconst handleConfirmDelete = () => {\n\t\tonDelete( thread.id );\n\t\tsetActionState( false );\n\t\tsetShowConfirmDialog( false );\n\t};\n\n\tconst handleConfirmResolve = () => {\n\t\tonResolve( thread.id );\n\t\tsetActionState( false );\n\t\tsetShowConfirmDialog( false );\n\t};\n\n\tconst handleCancel = () => {\n\t\tsetActionState( false );\n\t\tsetShowConfirmDialog( false );\n\t};\n\n\tconst actions = [\n\t\tonEdit && {\n\t\t\ttitle: _x( 'Edit', 'Edit comment' ),\n\t\t\tonClick: () => {\n\t\t\t\tsetActionState( 'edit' );\n\t\t\t},\n\t\t},\n\t\tonDelete && {\n\t\t\ttitle: _x( 'Delete', 'Delete comment' ),\n\t\t\tonClick: () => {\n\t\t\t\tsetActionState( 'delete' );\n\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t},\n\t\t},\n\t];\n\n\tconst moreActions = actions.filter( ( item ) => item?.onClick );\n\n\treturn (\n\t\t<>\n\t\t\t<HStack alignment=\"left\" spacing=\"3\" justify=\"flex-start\">\n\t\t\t\t<CommentAuthorInfo\n\t\t\t\t\tavatar={ thread?.author_avatar_urls?.[ 48 ] }\n\t\t\t\t\tname={ thread?.author_name }\n\t\t\t\t\tdate={ thread?.date }\n\t\t\t\t/>\n\t\t\t\t<span className=\"editor-collab-sidebar-panel__comment-status\">\n\t\t\t\t\t{ status !== 'approved' && (\n\t\t\t\t\t\t<HStack\n\t\t\t\t\t\t\talignment=\"right\"\n\t\t\t\t\t\t\tjustify=\"flex-end\"\n\t\t\t\t\t\t\tspacing=\"0\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ 0 === thread?.parent && onResolve && (\n\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t\t'Resolve',\n\t\t\t\t\t\t\t\t\t\t'Mark comment as resolved'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\t\t\ticon={ published }\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tsetActionState( 'resolve' );\n\t\t\t\t\t\t\t\t\t\tsetShowConfirmDialog( true );\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t\tshowTooltip\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t{ 0 < moreActions.length && (\n\t\t\t\t\t\t\t\t<DropdownMenu\n\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\tlabel={ _x(\n\t\t\t\t\t\t\t\t\t\t'Select an action',\n\t\t\t\t\t\t\t\t\t\t'Select comment action'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-dropdown-menu\"\n\t\t\t\t\t\t\t\t\tcontrols={ moreActions }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t) }\n\t\t\t\t\t{ status === 'approved' && (\n\t\t\t\t\t\t// translators: tooltip for resolved comment\n\t\t\t\t\t\t<Tooltip text={ __( 'Resolved' ) }>\n\t\t\t\t\t\t\t<Icon icon={ check } />\n\t\t\t\t\t\t</Tooltip>\n\t\t\t\t\t) }\n\t\t\t\t</span>\n\t\t\t</HStack>\n\t\t\t<HStack\n\t\t\t\talignment=\"left\"\n\t\t\t\tspacing=\"3\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tclassName=\"editor-collab-sidebar-panel__user-comment\"\n\t\t\t>\n\t\t\t\t<VStack\n\t\t\t\t\tspacing=\"3\"\n\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-field\"\n\t\t\t\t>\n\t\t\t\t\t{ 'edit' === actionState && (\n\t\t\t\t\t\t<CommentForm\n\t\t\t\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t\t\t\tonEdit( thread.id, value );\n\t\t\t\t\t\t\t\tsetActionState( false );\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tonCancel={ () => handleCancel() }\n\t\t\t\t\t\t\tthread={ thread }\n\t\t\t\t\t\t\tsubmitButtonText={ _x( 'Update', 'verb' ) }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ 'edit' !== actionState && (\n\t\t\t\t\t\t<RawHTML>{ thread?.content?.raw }</RawHTML>\n\t\t\t\t\t) }\n\t\t\t\t</VStack>\n\t\t\t</HStack>\n\t\t\t{ 'resolve' === actionState && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ handleConfirmResolve }\n\t\t\t\t\tonCancel={ handleCancel }\n\t\t\t\t\tconfirmButtonText=\"Yes\"\n\t\t\t\t\tcancelButtonText=\"No\"\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t// translators: message displayed when confirming an action\n\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t'Are you sure you want to mark this comment as resolved?'\n\t\t\t\t\t\t)\n\t\t\t\t\t}\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t\t{ 'delete' === actionState && (\n\t\t\t\t<ConfirmDialog\n\t\t\t\t\tisOpen={ showConfirmDialog }\n\t\t\t\t\tonConfirm={ handleConfirmDelete }\n\t\t\t\t\tonCancel={ handleCancel }\n\t\t\t\t\tconfirmButtonText=\"Yes\"\n\t\t\t\t\tcancelButtonText=\"No\"\n\t\t\t\t>\n\t\t\t\t\t{\n\t\t\t\t\t\t// translators: message displayed when confirming an action\n\t\t\t\t\t\t__( 'Are you sure you want to delete this comment?' )\n\t\t\t\t\t}\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</>\n\t);\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  "use strict";
2
3
 
3
4
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
@@ -182,8 +183,10 @@ function CollabSidebarContent({
182
183
  onEditComment: onEditComment,
183
184
  onAddReply: addNewComment,
184
185
  onCommentDelete: onCommentDelete,
185
- onCommentResolve: onCommentResolve
186
- })]
186
+ onCommentResolve: onCommentResolve,
187
+ showCommentBoard: showCommentBoard,
188
+ setShowCommentBoard: setShowCommentBoard
189
+ }, getSelectedBlockClientId())]
187
190
  });
188
191
  }
189
192
 
@@ -276,11 +279,15 @@ function CollabSidebar() {
276
279
  sortedThreads: []
277
280
  };
278
281
  }
282
+ const updatedResult = result.map(item => ({
283
+ ...item,
284
+ reply: [...item.reply].reverse()
285
+ }));
279
286
  const blockCommentIds = (0, _utils.getCommentIdsFromBlocks)(blocks);
280
- const threadIdMap = new Map(result.map(thread => [thread.id, thread]));
287
+ const threadIdMap = new Map(updatedResult.map(thread => [thread.id, thread]));
281
288
  const sortedComments = blockCommentIds.map(id => threadIdMap.get(id)).filter(thread => thread !== undefined);
282
289
  return {
283
- resultComments: result,
290
+ resultComments: updatedResult,
284
291
  sortedThreads: sortedComments
285
292
  };
286
293
  }, [threads, blocks]);