@wordpress/editor 14.32.0 → 14.32.1-next.ff1cebbba.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 (1263) hide show
  1. package/build/bindings/api.js +45 -33
  2. package/build/bindings/api.js.map +7 -1
  3. package/build/bindings/entity.js +78 -0
  4. package/build/bindings/entity.js.map +7 -0
  5. package/build/bindings/pattern-overrides.js +58 -65
  6. package/build/bindings/pattern-overrides.js.map +7 -1
  7. package/build/bindings/post-data.js +71 -91
  8. package/build/bindings/post-data.js.map +7 -1
  9. package/build/bindings/post-meta.js +74 -106
  10. package/build/bindings/post-meta.js.map +7 -1
  11. package/build/components/autocompleters/index.js +36 -11
  12. package/build/components/autocompleters/index.js.map +7 -1
  13. package/build/components/autocompleters/user.js +66 -54
  14. package/build/components/autocompleters/user.js.map +7 -1
  15. package/build/components/autosave-monitor/index.js +59 -73
  16. package/build/components/autosave-monitor/index.js.map +7 -1
  17. package/build/components/block-removal-warnings/index.js +81 -57
  18. package/build/components/block-removal-warnings/index.js.map +7 -1
  19. package/build/components/block-settings-menu/content-only-settings-menu.js +161 -121
  20. package/build/components/block-settings-menu/content-only-settings-menu.js.map +7 -1
  21. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +42 -99
  22. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +7 -1
  23. package/build/components/block-visibility/index.js +123 -0
  24. package/build/components/block-visibility/index.js.map +7 -0
  25. package/build/components/blog-title/index.js +127 -108
  26. package/build/components/blog-title/index.js.map +7 -1
  27. package/build/components/character-count/index.js +30 -23
  28. package/build/components/character-count/index.js.map +7 -1
  29. package/build/components/collab-sidebar/add-comment.js +89 -70
  30. package/build/components/collab-sidebar/add-comment.js.map +7 -1
  31. package/build/components/collab-sidebar/comment-author-info.js +72 -84
  32. package/build/components/collab-sidebar/comment-author-info.js.map +7 -1
  33. package/build/components/collab-sidebar/comment-form.js +92 -81
  34. package/build/components/collab-sidebar/comment-form.js.map +7 -1
  35. package/build/components/collab-sidebar/comment-indicator-toolbar.js +96 -83
  36. package/build/components/collab-sidebar/comment-indicator-toolbar.js.map +7 -1
  37. package/build/components/collab-sidebar/comment-menu-item.js +46 -0
  38. package/build/components/collab-sidebar/comment-menu-item.js.map +7 -0
  39. package/build/components/collab-sidebar/comments.js +544 -317
  40. package/build/components/collab-sidebar/comments.js.map +7 -1
  41. package/build/components/collab-sidebar/constants.js +30 -7
  42. package/build/components/collab-sidebar/constants.js.map +7 -1
  43. package/build/components/collab-sidebar/hooks.js +312 -58
  44. package/build/components/collab-sidebar/hooks.js.map +7 -1
  45. package/build/components/collab-sidebar/index.js +183 -252
  46. package/build/components/collab-sidebar/index.js.map +7 -1
  47. package/build/components/collab-sidebar/utils.js +94 -79
  48. package/build/components/collab-sidebar/utils.js.map +7 -1
  49. package/build/components/collapsible-block-toolbar/index.js +70 -60
  50. package/build/components/collapsible-block-toolbar/index.js.map +7 -1
  51. package/build/components/commands/index.js +218 -268
  52. package/build/components/commands/index.js.map +7 -1
  53. package/build/components/deprecated.js +328 -248
  54. package/build/components/deprecated.js.map +7 -1
  55. package/build/components/document-bar/index.js +145 -153
  56. package/build/components/document-bar/index.js.map +7 -1
  57. package/build/components/document-outline/check.js +28 -27
  58. package/build/components/document-outline/check.js.map +7 -1
  59. package/build/components/document-outline/index.js +169 -207
  60. package/build/components/document-outline/index.js.map +7 -1
  61. package/build/components/document-outline/item.js +68 -35
  62. package/build/components/document-outline/item.js.map +7 -1
  63. package/build/components/document-tools/index.js +145 -133
  64. package/build/components/document-tools/index.js.map +7 -1
  65. package/build/components/editor/index.js +99 -63
  66. package/build/components/editor/index.js.map +7 -1
  67. package/build/components/editor-history/redo.js +51 -54
  68. package/build/components/editor-history/redo.js.map +7 -1
  69. package/build/components/editor-history/undo.js +50 -53
  70. package/build/components/editor-history/undo.js.map +7 -1
  71. package/build/components/editor-interface/content-slot-fill.js +27 -12
  72. package/build/components/editor-interface/content-slot-fill.js.map +7 -1
  73. package/build/components/editor-interface/index.js +142 -127
  74. package/build/components/editor-interface/index.js.map +7 -1
  75. package/build/components/editor-notices/index.js +74 -58
  76. package/build/components/editor-notices/index.js.map +7 -1
  77. package/build/components/editor-snackbars/index.js +40 -32
  78. package/build/components/editor-snackbars/index.js.map +7 -1
  79. package/build/components/entities-saved-states/entity-record-item.js +70 -70
  80. package/build/components/entities-saved-states/entity-record-item.js.map +7 -1
  81. package/build/components/entities-saved-states/entity-type-list.js +108 -78
  82. package/build/components/entities-saved-states/entity-type-list.js.map +7 -1
  83. package/build/components/entities-saved-states/hooks/use-is-dirty.js +62 -61
  84. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +7 -1
  85. package/build/components/entities-saved-states/index.js +177 -161
  86. package/build/components/entities-saved-states/index.js.map +7 -1
  87. package/build/components/error-boundary/index.js +59 -85
  88. package/build/components/error-boundary/index.js.map +7 -1
  89. package/build/components/global-keyboard-shortcuts/index.js +58 -71
  90. package/build/components/global-keyboard-shortcuts/index.js.map +7 -1
  91. package/build/components/global-keyboard-shortcuts/register-shortcuts.js +106 -93
  92. package/build/components/global-keyboard-shortcuts/register-shortcuts.js.map +7 -1
  93. package/build/components/global-styles-provider/index.js +173 -146
  94. package/build/components/global-styles-provider/index.js.map +7 -1
  95. package/build/components/header/back-button.js +40 -26
  96. package/build/components/header/back-button.js.map +7 -1
  97. package/build/components/header/index.js +175 -162
  98. package/build/components/header/index.js.map +7 -1
  99. package/build/components/index.js +311 -780
  100. package/build/components/index.js.map +7 -1
  101. package/build/components/inserter-sidebar/index.js +62 -71
  102. package/build/components/inserter-sidebar/index.js.map +7 -1
  103. package/build/components/keyboard-shortcut-help-modal/config.js +74 -70
  104. package/build/components/keyboard-shortcut-help-modal/config.js.map +7 -1
  105. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +61 -43
  106. package/build/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +7 -1
  107. package/build/components/keyboard-shortcut-help-modal/index.js +165 -111
  108. package/build/components/keyboard-shortcut-help-modal/index.js.map +7 -1
  109. package/build/components/keyboard-shortcut-help-modal/shortcut.js +76 -55
  110. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +7 -1
  111. package/build/components/list-view-sidebar/index.js +117 -121
  112. package/build/components/list-view-sidebar/index.js.map +7 -1
  113. package/build/components/list-view-sidebar/list-view-outline.js +56 -41
  114. package/build/components/list-view-sidebar/list-view-outline.js.map +7 -1
  115. package/build/components/local-autosave-monitor/index.js +118 -148
  116. package/build/components/local-autosave-monitor/index.js.map +7 -1
  117. package/build/components/media-categories/index.js +160 -144
  118. package/build/components/media-categories/index.js.map +7 -1
  119. package/build/components/mode-switcher/index.js +68 -63
  120. package/build/components/mode-switcher/index.js.map +7 -1
  121. package/build/components/more-menu/copy-content-menu-item.js +46 -43
  122. package/build/components/more-menu/copy-content-menu-item.js.map +7 -1
  123. package/build/components/more-menu/index.js +174 -119
  124. package/build/components/more-menu/index.js.map +7 -1
  125. package/build/components/more-menu/tools-more-menu-group.js +27 -21
  126. package/build/components/more-menu/tools-more-menu-group.js.map +7 -1
  127. package/build/components/more-menu/view-more-menu-group.js +30 -22
  128. package/build/components/more-menu/view-more-menu-group.js.map +7 -1
  129. package/build/components/page-attributes/check.js +37 -40
  130. package/build/components/page-attributes/check.js.map +7 -1
  131. package/build/components/page-attributes/order.js +66 -64
  132. package/build/components/page-attributes/order.js.map +7 -1
  133. package/build/components/page-attributes/panel.js +45 -43
  134. package/build/components/page-attributes/panel.js.map +7 -1
  135. package/build/components/page-attributes/parent.js +224 -207
  136. package/build/components/page-attributes/parent.js.map +7 -1
  137. package/build/components/pattern-duplicate-modal/index.js +58 -48
  138. package/build/components/pattern-duplicate-modal/index.js.map +7 -1
  139. package/build/components/pattern-overrides-panel/index.js +33 -23
  140. package/build/components/pattern-overrides-panel/index.js.map +7 -1
  141. package/build/components/pattern-rename-modal/index.js +51 -47
  142. package/build/components/pattern-rename-modal/index.js.map +7 -1
  143. package/build/components/plugin-document-setting-panel/index.js +74 -114
  144. package/build/components/plugin-document-setting-panel/index.js.map +7 -1
  145. package/build/components/plugin-more-menu-item/index.js +37 -78
  146. package/build/components/plugin-more-menu-item/index.js.map +7 -1
  147. package/build/components/plugin-post-publish-panel/index.js +37 -59
  148. package/build/components/plugin-post-publish-panel/index.js.map +7 -1
  149. package/build/components/plugin-post-status-info/index.js +27 -73
  150. package/build/components/plugin-post-status-info/index.js.map +7 -1
  151. package/build/components/plugin-pre-publish-panel/index.js +37 -62
  152. package/build/components/plugin-pre-publish-panel/index.js.map +7 -1
  153. package/build/components/plugin-preview-menu-item/index.js +37 -57
  154. package/build/components/plugin-preview-menu-item/index.js.map +7 -1
  155. package/build/components/plugin-sidebar/index.js +34 -86
  156. package/build/components/plugin-sidebar/index.js.map +7 -1
  157. package/build/components/plugin-sidebar-more-menu-item/index.js +33 -67
  158. package/build/components/plugin-sidebar-more-menu-item/index.js.map +7 -1
  159. package/build/components/post-actions/actions.js +111 -103
  160. package/build/components/post-actions/actions.js.map +7 -1
  161. package/build/components/post-actions/index.js +126 -131
  162. package/build/components/post-actions/index.js.map +7 -1
  163. package/build/components/post-actions/set-as-homepage.js +123 -123
  164. package/build/components/post-actions/set-as-homepage.js.map +7 -1
  165. package/build/components/post-actions/set-as-posts-page.js +118 -120
  166. package/build/components/post-actions/set-as-posts-page.js.map +7 -1
  167. package/build/components/post-author/check.js +41 -38
  168. package/build/components/post-author/check.js.map +7 -1
  169. package/build/components/post-author/combobox.js +50 -52
  170. package/build/components/post-author/combobox.js.map +7 -1
  171. package/build/components/post-author/constants.js +34 -10
  172. package/build/components/post-author/constants.js.map +7 -1
  173. package/build/components/post-author/hook.js +71 -71
  174. package/build/components/post-author/hook.js.map +7 -1
  175. package/build/components/post-author/index.js +43 -31
  176. package/build/components/post-author/index.js.map +7 -1
  177. package/build/components/post-author/panel.js +106 -95
  178. package/build/components/post-author/panel.js.map +7 -1
  179. package/build/components/post-author/select.js +45 -40
  180. package/build/components/post-author/select.js.map +7 -1
  181. package/build/components/post-card-panel/index.js +128 -113
  182. package/build/components/post-card-panel/index.js.map +7 -1
  183. package/build/components/post-comments/index.js +60 -55
  184. package/build/components/post-comments/index.js.map +7 -1
  185. package/build/components/post-content-information/index.js +64 -65
  186. package/build/components/post-content-information/index.js.map +7 -1
  187. package/build/components/post-discussion/panel.js +114 -128
  188. package/build/components/post-discussion/panel.js.map +7 -1
  189. package/build/components/post-excerpt/check.js +37 -27
  190. package/build/components/post-excerpt/check.js.map +7 -1
  191. package/build/components/post-excerpt/index.js +75 -71
  192. package/build/components/post-excerpt/index.js.map +7 -1
  193. package/build/components/post-excerpt/panel.js +152 -141
  194. package/build/components/post-excerpt/panel.js.map +7 -1
  195. package/build/components/post-excerpt/plugin.js +28 -70
  196. package/build/components/post-excerpt/plugin.js.map +7 -1
  197. package/build/components/post-featured-image/check.js +38 -32
  198. package/build/components/post-featured-image/check.js.map +7 -1
  199. package/build/components/post-featured-image/index.js +224 -211
  200. package/build/components/post-featured-image/index.js.map +7 -1
  201. package/build/components/post-featured-image/panel.js +55 -59
  202. package/build/components/post-featured-image/panel.js.map +7 -1
  203. package/build/components/post-fields/index.js +55 -56
  204. package/build/components/post-fields/index.js.map +7 -1
  205. package/build/components/post-format/check.js +42 -33
  206. package/build/components/post-format/check.js.map +7 -1
  207. package/build/components/post-format/index.js +100 -113
  208. package/build/components/post-format/index.js.map +7 -1
  209. package/build/components/post-format/panel.js +91 -82
  210. package/build/components/post-format/panel.js.map +7 -1
  211. package/build/components/post-last-edited-panel/index.js +38 -29
  212. package/build/components/post-last-edited-panel/index.js.map +7 -1
  213. package/build/components/post-last-revision/check.js +41 -41
  214. package/build/components/post-last-revision/check.js.map +7 -1
  215. package/build/components/post-last-revision/index.js +75 -66
  216. package/build/components/post-last-revision/index.js.map +7 -1
  217. package/build/components/post-last-revision/panel.js +39 -30
  218. package/build/components/post-last-revision/panel.js.map +7 -1
  219. package/build/components/post-locked-modal/index.js +148 -145
  220. package/build/components/post-locked-modal/index.js.map +7 -1
  221. package/build/components/post-panel-row/index.js +49 -35
  222. package/build/components/post-panel-row/index.js.map +7 -1
  223. package/build/components/post-panel-section/index.js +38 -26
  224. package/build/components/post-panel-section/index.js.map +7 -1
  225. package/build/components/post-pending-status/check.js +34 -40
  226. package/build/components/post-pending-status/check.js.map +7 -1
  227. package/build/components/post-pending-status/index.js +58 -41
  228. package/build/components/post-pending-status/index.js.map +7 -1
  229. package/build/components/post-pingbacks/index.js +52 -44
  230. package/build/components/post-pingbacks/index.js.map +7 -1
  231. package/build/components/post-preview-button/index.js +90 -120
  232. package/build/components/post-preview-button/index.js.map +7 -1
  233. package/build/components/post-publish-button/index.js +125 -137
  234. package/build/components/post-publish-button/index.js.map +7 -1
  235. package/build/components/post-publish-button/label.js +39 -40
  236. package/build/components/post-publish-button/label.js.map +7 -1
  237. package/build/components/post-publish-button/post-publish-button-or-toggle.js +62 -68
  238. package/build/components/post-publish-button/post-publish-button-or-toggle.js.map +7 -1
  239. package/build/components/post-publish-panel/index.js +136 -135
  240. package/build/components/post-publish-panel/index.js.map +7 -1
  241. package/build/components/post-publish-panel/maybe-category-panel.js +71 -67
  242. package/build/components/post-publish-panel/maybe-category-panel.js.map +7 -1
  243. package/build/components/post-publish-panel/maybe-post-format-panel.js +72 -63
  244. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +7 -1
  245. package/build/components/post-publish-panel/maybe-tags-panel.js +86 -80
  246. package/build/components/post-publish-panel/maybe-tags-panel.js.map +7 -1
  247. package/build/components/post-publish-panel/maybe-upload-media.js +172 -214
  248. package/build/components/post-publish-panel/maybe-upload-media.js.map +7 -1
  249. package/build/components/post-publish-panel/media-util.js +63 -72
  250. package/build/components/post-publish-panel/media-util.js.map +7 -1
  251. package/build/components/post-publish-panel/postpublish.js +135 -130
  252. package/build/components/post-publish-panel/postpublish.js.map +7 -1
  253. package/build/components/post-publish-panel/prepublish.js +137 -103
  254. package/build/components/post-publish-panel/prepublish.js.map +7 -1
  255. package/build/components/post-saved-state/index.js +115 -131
  256. package/build/components/post-saved-state/index.js.map +7 -1
  257. package/build/components/post-schedule/check.js +27 -29
  258. package/build/components/post-schedule/check.js.map +7 -1
  259. package/build/components/post-schedule/index.js +96 -93
  260. package/build/components/post-schedule/index.js.map +7 -1
  261. package/build/components/post-schedule/label.js +79 -86
  262. package/build/components/post-schedule/label.js.map +7 -1
  263. package/build/components/post-schedule/panel.js +88 -73
  264. package/build/components/post-schedule/panel.js.map +7 -1
  265. package/build/components/post-status/index.js +238 -202
  266. package/build/components/post-status/index.js.map +7 -1
  267. package/build/components/post-sticky/check.js +30 -35
  268. package/build/components/post-sticky/check.js.map +7 -1
  269. package/build/components/post-sticky/index.js +50 -40
  270. package/build/components/post-sticky/index.js.map +7 -1
  271. package/build/components/post-sticky/panel.js +43 -21
  272. package/build/components/post-sticky/panel.js.map +7 -1
  273. package/build/components/post-switch-to-draft-button/index.js +80 -75
  274. package/build/components/post-switch-to-draft-button/index.js.map +7 -1
  275. package/build/components/post-sync-status/index.js +45 -44
  276. package/build/components/post-sync-status/index.js.map +7 -1
  277. package/build/components/post-taxonomies/check.js +36 -33
  278. package/build/components/post-taxonomies/check.js.map +7 -1
  279. package/build/components/post-taxonomies/flat-term-selector.js +189 -189
  280. package/build/components/post-taxonomies/flat-term-selector.js.map +7 -1
  281. package/build/components/post-taxonomies/hierarchical-term-selector.js +244 -280
  282. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +7 -1
  283. package/build/components/post-taxonomies/index.js +68 -58
  284. package/build/components/post-taxonomies/index.js.map +7 -1
  285. package/build/components/post-taxonomies/most-used-terms.js +73 -56
  286. package/build/components/post-taxonomies/most-used-terms.js.map +7 -1
  287. package/build/components/post-taxonomies/panel.js +66 -69
  288. package/build/components/post-taxonomies/panel.js.map +7 -1
  289. package/build/components/post-template/block-theme.js +165 -123
  290. package/build/components/post-template/block-theme.js.map +7 -1
  291. package/build/components/post-template/classic-theme.js +193 -187
  292. package/build/components/post-template/classic-theme.js.map +7 -1
  293. package/build/components/post-template/create-new-template-modal.js +139 -110
  294. package/build/components/post-template/create-new-template-modal.js.map +7 -1
  295. package/build/components/post-template/create-new-template.js +65 -46
  296. package/build/components/post-template/create-new-template.js.map +7 -1
  297. package/build/components/post-template/hooks.js +116 -84
  298. package/build/components/post-template/hooks.js.map +7 -1
  299. package/build/components/post-template/panel.js +56 -52
  300. package/build/components/post-template/panel.js.map +7 -1
  301. package/build/components/post-template/reset-default-template.js +49 -43
  302. package/build/components/post-template/reset-default-template.js.map +7 -1
  303. package/build/components/post-template/swap-template-button.js +109 -91
  304. package/build/components/post-template/swap-template-button.js.map +7 -1
  305. package/build/components/post-text-editor/index.js +80 -81
  306. package/build/components/post-text-editor/index.js.map +7 -1
  307. package/build/components/post-title/constants.js +30 -7
  308. package/build/components/post-title/constants.js.map +7 -1
  309. package/build/components/post-title/index.js +99 -126
  310. package/build/components/post-title/index.js.map +7 -1
  311. package/build/components/post-title/post-title-raw.js +74 -78
  312. package/build/components/post-title/post-title-raw.js.map +7 -1
  313. package/build/components/post-title/use-post-title-focus.js +35 -52
  314. package/build/components/post-title/use-post-title-focus.js.map +7 -1
  315. package/build/components/post-title/use-post-title.js +30 -37
  316. package/build/components/post-title/use-post-title.js.map +7 -1
  317. package/build/components/post-transform-panel/hooks.js +70 -67
  318. package/build/components/post-transform-panel/hooks.js.map +7 -1
  319. package/build/components/post-transform-panel/index.js +69 -75
  320. package/build/components/post-transform-panel/index.js.map +7 -1
  321. package/build/components/post-trash/check.js +33 -42
  322. package/build/components/post-trash/check.js.map +7 -1
  323. package/build/components/post-trash/index.js +78 -67
  324. package/build/components/post-trash/index.js.map +7 -1
  325. package/build/components/post-type-support-check/index.js +34 -47
  326. package/build/components/post-type-support-check/index.js.map +7 -1
  327. package/build/components/post-url/check.js +31 -32
  328. package/build/components/post-url/check.js.map +7 -1
  329. package/build/components/post-url/index.js +155 -156
  330. package/build/components/post-url/index.js.map +7 -1
  331. package/build/components/post-url/label.js +35 -30
  332. package/build/components/post-url/label.js.map +7 -1
  333. package/build/components/post-url/panel.js +111 -112
  334. package/build/components/post-url/panel.js.map +7 -1
  335. package/build/components/post-view-link/index.js +48 -47
  336. package/build/components/post-view-link/index.js.map +7 -1
  337. package/build/components/post-visibility/check.js +28 -33
  338. package/build/components/post-visibility/check.js.map +7 -1
  339. package/build/components/post-visibility/index.js +83 -84
  340. package/build/components/post-visibility/index.js.map +7 -1
  341. package/build/components/post-visibility/label.js +35 -30
  342. package/build/components/post-visibility/label.js.map +7 -1
  343. package/build/components/post-visibility/utils.js +44 -23
  344. package/build/components/post-visibility/utils.js.map +7 -1
  345. package/build/components/posts-per-page/index.js +110 -98
  346. package/build/components/posts-per-page/index.js.map +7 -1
  347. package/build/components/preferences-modal/enable-panel.js +47 -42
  348. package/build/components/preferences-modal/enable-panel.js.map +7 -1
  349. package/build/components/preferences-modal/enable-plugin-document-setting-panel.js +40 -31
  350. package/build/components/preferences-modal/enable-plugin-document-setting-panel.js.map +7 -1
  351. package/build/components/preferences-modal/enable-publish-sidebar.js +39 -32
  352. package/build/components/preferences-modal/enable-publish-sidebar.js.map +7 -1
  353. package/build/components/preferences-modal/index.js +391 -231
  354. package/build/components/preferences-modal/index.js.map +7 -1
  355. package/build/components/preview-dropdown/index.js +165 -151
  356. package/build/components/preview-dropdown/index.js.map +7 -1
  357. package/build/components/provider/disable-non-page-content-blocks.js +67 -82
  358. package/build/components/provider/disable-non-page-content-blocks.js.map +7 -1
  359. package/build/components/provider/index.js +283 -325
  360. package/build/components/provider/index.js.map +7 -1
  361. package/build/components/provider/navigation-block-editing-mode.js +32 -29
  362. package/build/components/provider/navigation-block-editing-mode.js.map +7 -1
  363. package/build/components/provider/use-auto-switch-editor-sidebars.js +48 -39
  364. package/build/components/provider/use-auto-switch-editor-sidebars.js.map +7 -1
  365. package/build/components/provider/use-block-editor-settings.js +249 -178
  366. package/build/components/provider/use-block-editor-settings.js.map +7 -1
  367. package/build/components/provider/use-hide-blocks-from-inserter.js +87 -46
  368. package/build/components/provider/use-hide-blocks-from-inserter.js.map +7 -1
  369. package/build/components/provider/use-post-content-blocks.js +48 -29
  370. package/build/components/provider/use-post-content-blocks.js.map +7 -1
  371. package/build/components/provider/with-registry-provider.js +52 -46
  372. package/build/components/provider/with-registry-provider.js.map +7 -1
  373. package/build/components/resizable-editor/index.js +99 -86
  374. package/build/components/resizable-editor/index.js.map +7 -1
  375. package/build/components/resizable-editor/resize-handle.js +42 -36
  376. package/build/components/resizable-editor/resize-handle.js.map +7 -1
  377. package/build/components/save-publish-panels/index.js +88 -69
  378. package/build/components/save-publish-panels/index.js.map +7 -1
  379. package/build/components/sidebar/constants.js +29 -8
  380. package/build/components/sidebar/constants.js.map +7 -1
  381. package/build/components/sidebar/header.js +56 -50
  382. package/build/components/sidebar/header.js.map +7 -1
  383. package/build/components/sidebar/index.js +156 -136
  384. package/build/components/sidebar/index.js.map +7 -1
  385. package/build/components/sidebar/post-summary.js +114 -91
  386. package/build/components/sidebar/post-summary.js.map +7 -1
  387. package/build/components/site-discussion/index.js +132 -113
  388. package/build/components/site-discussion/index.js.map +7 -1
  389. package/build/components/start-page-options/index.js +136 -146
  390. package/build/components/start-page-options/index.js.map +7 -1
  391. package/build/components/start-template-options/index.js +168 -157
  392. package/build/components/start-template-options/index.js.map +7 -1
  393. package/build/components/table-of-contents/index.js +78 -69
  394. package/build/components/table-of-contents/index.js.map +7 -1
  395. package/build/components/table-of-contents/panel.js +101 -94
  396. package/build/components/table-of-contents/panel.js.map +7 -1
  397. package/build/components/template-content-panel/index.js +74 -58
  398. package/build/components/template-content-panel/index.js.map +7 -1
  399. package/build/components/template-part-content-panel/index.js +51 -54
  400. package/build/components/template-part-content-panel/index.js.map +7 -1
  401. package/build/components/template-part-menu-items/convert-to-regular.js +44 -32
  402. package/build/components/template-part-menu-items/convert-to-regular.js.map +7 -1
  403. package/build/components/template-part-menu-items/convert-to-template-part.js +76 -68
  404. package/build/components/template-part-menu-items/convert-to-template-part.js.map +7 -1
  405. package/build/components/template-part-menu-items/index.js +62 -52
  406. package/build/components/template-part-menu-items/index.js.map +7 -1
  407. package/build/components/template-validation-notice/index.js +71 -47
  408. package/build/components/template-validation-notice/index.js.map +7 -1
  409. package/build/components/text-editor/index.js +68 -62
  410. package/build/components/text-editor/index.js.map +7 -1
  411. package/build/components/theme-support-check/index.js +32 -43
  412. package/build/components/theme-support-check/index.js.map +7 -1
  413. package/build/components/time-to-read/index.js +54 -51
  414. package/build/components/time-to-read/index.js.map +7 -1
  415. package/build/components/unsaved-changes-warning/index.js +34 -38
  416. package/build/components/unsaved-changes-warning/index.js.map +7 -1
  417. package/build/components/visual-editor/edit-template-blocks-notification.js +64 -68
  418. package/build/components/visual-editor/edit-template-blocks-notification.js.map +7 -1
  419. package/build/components/visual-editor/index.js +286 -247
  420. package/build/components/visual-editor/index.js.map +7 -1
  421. package/build/components/visual-editor/use-select-nearest-editable-block.js +75 -68
  422. package/build/components/visual-editor/use-select-nearest-editable-block.js.map +7 -1
  423. package/build/components/visual-editor/use-zoom-out-mode-exit.js +52 -46
  424. package/build/components/visual-editor/use-zoom-out-mode-exit.js.map +7 -1
  425. package/build/components/word-count/index.js +34 -35
  426. package/build/components/word-count/index.js.map +7 -1
  427. package/build/components/zoom-out-toggle/index.js +88 -72
  428. package/build/components/zoom-out-toggle/index.js.map +7 -1
  429. package/build/dataviews/api.js +47 -80
  430. package/build/dataviews/api.js.map +7 -1
  431. package/build/dataviews/fields/content-preview/content-preview-view.js +81 -89
  432. package/build/dataviews/fields/content-preview/content-preview-view.js.map +7 -1
  433. package/build/dataviews/fields/content-preview/index.js +39 -21
  434. package/build/dataviews/fields/content-preview/index.js.map +7 -1
  435. package/build/dataviews/store/private-actions.js +122 -56
  436. package/build/dataviews/store/private-actions.js.map +7 -1
  437. package/build/dataviews/store/private-selectors.js +32 -15
  438. package/build/dataviews/store/private-selectors.js.map +7 -1
  439. package/build/dataviews/store/reducer.js +50 -31
  440. package/build/dataviews/store/reducer.js.map +7 -1
  441. package/build/hooks/custom-sources-backwards-compatibility.js +70 -83
  442. package/build/hooks/custom-sources-backwards-compatibility.js.map +7 -1
  443. package/build/hooks/default-autocompleters.js +9 -17
  444. package/build/hooks/default-autocompleters.js.map +7 -1
  445. package/build/hooks/index.js +7 -7
  446. package/build/hooks/index.js.map +7 -1
  447. package/build/hooks/media-upload.js +8 -9
  448. package/build/hooks/media-upload.js.map +7 -1
  449. package/build/hooks/navigation-link-view-button.js +44 -66
  450. package/build/hooks/navigation-link-view-button.js.map +7 -1
  451. package/build/hooks/pattern-overrides.js +51 -70
  452. package/build/hooks/pattern-overrides.js.map +7 -1
  453. package/build/hooks/template-part-navigation-edit-button.js +91 -0
  454. package/build/hooks/template-part-navigation-edit-button.js.map +7 -0
  455. package/build/index.js +41 -77
  456. package/build/index.js.map +7 -1
  457. package/build/lock-unlock.js +31 -14
  458. package/build/lock-unlock.js.map +7 -1
  459. package/build/private-apis.js +76 -59
  460. package/build/private-apis.js.map +7 -1
  461. package/build/store/actions.js +516 -931
  462. package/build/store/actions.js.map +7 -1
  463. package/build/store/constants.js +70 -31
  464. package/build/store/constants.js.map +7 -1
  465. package/build/store/defaults.js +31 -33
  466. package/build/store/defaults.js.map +7 -1
  467. package/build/store/index.js +52 -41
  468. package/build/store/index.js.map +7 -1
  469. package/build/store/local-autosave.js +39 -27
  470. package/build/store/local-autosave.js.map +7 -1
  471. package/build/store/private-actions.js +290 -299
  472. package/build/store/private-actions.js.map +7 -1
  473. package/build/store/private-selectors.js +189 -188
  474. package/build/store/private-selectors.js.map +7 -1
  475. package/build/store/reducer.js +128 -280
  476. package/build/store/reducer.js.map +7 -1
  477. package/build/store/selectors.js +819 -1470
  478. package/build/store/selectors.js.map +7 -1
  479. package/build/store/utils/is-template-revertable.js +24 -19
  480. package/build/store/utils/is-template-revertable.js.map +7 -1
  481. package/build/store/utils/notice-builder.js +73 -94
  482. package/build/store/utils/notice-builder.js.map +7 -1
  483. package/build/utils/get-item-title.js +34 -25
  484. package/build/utils/get-item-title.js.map +7 -1
  485. package/build/utils/get-template-info.js +37 -46
  486. package/build/utils/get-template-info.js.map +7 -1
  487. package/build/utils/get-template-part-icon.js +34 -24
  488. package/build/utils/get-template-part-icon.js.map +7 -1
  489. package/build/utils/index.js +41 -24
  490. package/build/utils/index.js.map +7 -1
  491. package/build/utils/media-sideload/index.js +26 -19
  492. package/build/utils/media-sideload/index.js.map +7 -1
  493. package/build/utils/media-upload/index.js +46 -63
  494. package/build/utils/media-upload/index.js.map +7 -1
  495. package/build/utils/pageTypeBadge.js +33 -31
  496. package/build/utils/pageTypeBadge.js.map +7 -1
  497. package/build/utils/search-templates.js +45 -47
  498. package/build/utils/search-templates.js.map +7 -1
  499. package/build/utils/terms.js +57 -63
  500. package/build/utils/terms.js.map +7 -1
  501. package/build/utils/url.js +43 -33
  502. package/build/utils/url.js.map +7 -1
  503. package/build-module/bindings/api.js +11 -26
  504. package/build-module/bindings/api.js.map +7 -1
  505. package/build-module/bindings/entity.js +58 -0
  506. package/build-module/bindings/entity.js.map +7 -0
  507. package/build-module/bindings/pattern-overrides.js +39 -59
  508. package/build-module/bindings/pattern-overrides.js.map +7 -1
  509. package/build-module/bindings/post-data.js +53 -87
  510. package/build-module/bindings/post-data.js.map +7 -1
  511. package/build-module/bindings/post-meta.js +55 -101
  512. package/build-module/bindings/post-meta.js.map +7 -1
  513. package/build-module/components/autocompleters/index.js +5 -2
  514. package/build-module/components/autocompleters/index.js.map +7 -1
  515. package/build-module/components/autocompleters/user.js +45 -49
  516. package/build-module/components/autocompleters/user.js.map +7 -1
  517. package/build-module/components/autosave-monitor/index.js +37 -67
  518. package/build-module/components/autosave-monitor/index.js.map +7 -1
  519. package/build-module/components/block-removal-warnings/index.js +64 -54
  520. package/build-module/components/block-removal-warnings/index.js.map +7 -1
  521. package/build-module/components/block-settings-menu/content-only-settings-menu.js +136 -113
  522. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +7 -1
  523. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +23 -93
  524. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +7 -1
  525. package/build-module/components/block-visibility/index.js +103 -0
  526. package/build-module/components/block-visibility/index.js.map +7 -0
  527. package/build-module/components/blog-title/index.js +102 -101
  528. package/build-module/components/blog-title/index.js.map +7 -1
  529. package/build-module/components/character-count/index.js +13 -20
  530. package/build-module/components/character-count/index.js.map +7 -1
  531. package/build-module/components/collab-sidebar/add-comment.js +64 -66
  532. package/build-module/components/collab-sidebar/add-comment.js.map +7 -1
  533. package/build-module/components/collab-sidebar/comment-author-info.js +55 -77
  534. package/build-module/components/collab-sidebar/comment-author-info.js.map +7 -1
  535. package/build-module/components/collab-sidebar/comment-form.js +68 -75
  536. package/build-module/components/collab-sidebar/comment-form.js.map +7 -1
  537. package/build-module/components/collab-sidebar/comment-indicator-toolbar.js +67 -76
  538. package/build-module/components/collab-sidebar/comment-indicator-toolbar.js.map +7 -1
  539. package/build-module/components/collab-sidebar/comment-menu-item.js +26 -0
  540. package/build-module/components/collab-sidebar/comment-menu-item.js.map +7 -0
  541. package/build-module/components/collab-sidebar/comments.js +521 -309
  542. package/build-module/components/collab-sidebar/comments.js.map +7 -1
  543. package/build-module/components/collab-sidebar/constants.js +7 -3
  544. package/build-module/components/collab-sidebar/constants.js.map +7 -1
  545. package/build-module/components/collab-sidebar/hooks.js +301 -54
  546. package/build-module/components/collab-sidebar/hooks.js.map +7 -1
  547. package/build-module/components/collab-sidebar/index.js +158 -245
  548. package/build-module/components/collab-sidebar/index.js.map +7 -1
  549. package/build-module/components/collab-sidebar/utils.js +71 -76
  550. package/build-module/components/collab-sidebar/utils.js.map +7 -1
  551. package/build-module/components/collapsible-block-toolbar/index.js +44 -52
  552. package/build-module/components/collapsible-block-toolbar/index.js.map +7 -1
  553. package/build-module/components/commands/index.js +188 -241
  554. package/build-module/components/commands/index.js.map +7 -1
  555. package/build-module/components/deprecated.js +297 -237
  556. package/build-module/components/deprecated.js.map +7 -1
  557. package/build-module/components/document-bar/index.js +114 -141
  558. package/build-module/components/document-bar/index.js.map +7 -1
  559. package/build-module/components/document-outline/check.js +10 -23
  560. package/build-module/components/document-outline/check.js.map +7 -1
  561. package/build-module/components/document-outline/index.js +141 -203
  562. package/build-module/components/document-outline/index.js.map +7 -1
  563. package/build-module/components/document-outline/item.js +40 -29
  564. package/build-module/components/document-outline/item.js.map +7 -1
  565. package/build-module/components/document-tools/index.js +115 -125
  566. package/build-module/components/document-tools/index.js.map +7 -1
  567. package/build-module/components/editor/index.js +71 -57
  568. package/build-module/components/editor/index.js.map +7 -1
  569. package/build-module/components/editor-history/redo.js +33 -49
  570. package/build-module/components/editor-history/redo.js.map +7 -1
  571. package/build-module/components/editor-history/undo.js +32 -48
  572. package/build-module/components/editor-history/undo.js.map +7 -1
  573. package/build-module/components/editor-interface/content-slot-fill.js +9 -7
  574. package/build-module/components/editor-interface/content-slot-fill.js.map +7 -1
  575. package/build-module/components/editor-interface/index.js +111 -118
  576. package/build-module/components/editor-interface/index.js.map +7 -1
  577. package/build-module/components/editor-notices/index.js +43 -53
  578. package/build-module/components/editor-notices/index.js.map +7 -1
  579. package/build-module/components/editor-snackbars/index.js +23 -29
  580. package/build-module/components/editor-snackbars/index.js.map +7 -1
  581. package/build-module/components/entities-saved-states/entity-record-item.js +52 -65
  582. package/build-module/components/entities-saved-states/entity-record-item.js.map +7 -1
  583. package/build-module/components/entities-saved-states/entity-type-list.js +81 -73
  584. package/build-module/components/entities-saved-states/entity-type-list.js.map +7 -1
  585. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +39 -55
  586. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +7 -1
  587. package/build-module/components/entities-saved-states/index.js +150 -152
  588. package/build-module/components/entities-saved-states/index.js.map +7 -1
  589. package/build-module/components/error-boundary/index.js +42 -77
  590. package/build-module/components/error-boundary/index.js.map +7 -1
  591. package/build-module/components/global-keyboard-shortcuts/index.js +39 -66
  592. package/build-module/components/global-keyboard-shortcuts/index.js.map +7 -1
  593. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js +86 -88
  594. package/build-module/components/global-keyboard-shortcuts/register-shortcuts.js.map +7 -1
  595. package/build-module/components/global-styles-provider/index.js +135 -134
  596. package/build-module/components/global-styles-provider/index.js.map +7 -1
  597. package/build-module/components/header/back-button.js +20 -20
  598. package/build-module/components/header/back-button.js.map +7 -1
  599. package/build-module/components/header/index.js +148 -151
  600. package/build-module/components/header/index.js.map +7 -1
  601. package/build-module/components/index.js +192 -118
  602. package/build-module/components/index.js.map +7 -1
  603. package/build-module/components/inserter-sidebar/index.js +45 -64
  604. package/build-module/components/inserter-sidebar/index.js.map +7 -1
  605. package/build-module/components/keyboard-shortcut-help-modal/config.js +62 -75
  606. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +7 -1
  607. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js +33 -37
  608. package/build-module/components/keyboard-shortcut-help-modal/dynamic-shortcut.js.map +7 -1
  609. package/build-module/components/keyboard-shortcut-help-modal/index.js +140 -105
  610. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +7 -1
  611. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +58 -50
  612. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +7 -1
  613. package/build-module/components/list-view-sidebar/index.js +86 -109
  614. package/build-module/components/list-view-sidebar/index.js.map +7 -1
  615. package/build-module/components/list-view-sidebar/list-view-outline.js +29 -36
  616. package/build-module/components/list-view-sidebar/list-view-outline.js.map +7 -1
  617. package/build-module/components/local-autosave-monitor/index.js +81 -130
  618. package/build-module/components/local-autosave-monitor/index.js.map +7 -1
  619. package/build-module/components/media-categories/index.js +139 -137
  620. package/build-module/components/media-categories/index.js.map +7 -1
  621. package/build-module/components/mode-switcher/index.js +50 -60
  622. package/build-module/components/mode-switcher/index.js.map +7 -1
  623. package/build-module/components/more-menu/copy-content-menu-item.js +27 -37
  624. package/build-module/components/more-menu/copy-content-menu-item.js.map +7 -1
  625. package/build-module/components/more-menu/index.js +154 -113
  626. package/build-module/components/more-menu/index.js.map +7 -1
  627. package/build-module/components/more-menu/tools-more-menu-group.js +9 -16
  628. package/build-module/components/more-menu/tools-more-menu-group.js.map +7 -1
  629. package/build-module/components/more-menu/view-more-menu-group.js +12 -17
  630. package/build-module/components/more-menu/view-more-menu-group.js.map +7 -1
  631. package/build-module/components/page-attributes/check.js +15 -35
  632. package/build-module/components/page-attributes/check.js.map +7 -1
  633. package/build-module/components/page-attributes/order.js +42 -58
  634. package/build-module/components/page-attributes/order.js.map +7 -1
  635. package/build-module/components/page-attributes/panel.js +18 -37
  636. package/build-module/components/page-attributes/panel.js.map +7 -1
  637. package/build-module/components/page-attributes/parent.js +198 -197
  638. package/build-module/components/page-attributes/parent.js.map +7 -1
  639. package/build-module/components/pattern-duplicate-modal/index.js +36 -42
  640. package/build-module/components/pattern-duplicate-modal/index.js.map +7 -1
  641. package/build-module/components/pattern-overrides-panel/index.js +16 -19
  642. package/build-module/components/pattern-overrides-panel/index.js.map +7 -1
  643. package/build-module/components/pattern-rename-modal/index.js +29 -41
  644. package/build-module/components/pattern-rename-modal/index.js.map +7 -1
  645. package/build-module/components/plugin-document-setting-panel/index.js +46 -108
  646. package/build-module/components/plugin-document-setting-panel/index.js.map +7 -1
  647. package/build-module/components/plugin-more-menu-item/index.js +18 -74
  648. package/build-module/components/plugin-more-menu-item/index.js.map +7 -1
  649. package/build-module/components/plugin-post-publish-panel/index.js +19 -54
  650. package/build-module/components/plugin-post-publish-panel/index.js.map +7 -1
  651. package/build-module/components/plugin-post-status-info/index.js +9 -68
  652. package/build-module/components/plugin-post-status-info/index.js.map +7 -1
  653. package/build-module/components/plugin-pre-publish-panel/index.js +19 -57
  654. package/build-module/components/plugin-pre-publish-panel/index.js.map +7 -1
  655. package/build-module/components/plugin-preview-menu-item/index.js +18 -53
  656. package/build-module/components/plugin-preview-menu-item/index.js.map +7 -1
  657. package/build-module/components/plugin-sidebar/index.js +16 -83
  658. package/build-module/components/plugin-sidebar/index.js.map +7 -1
  659. package/build-module/components/plugin-sidebar-more-menu-item/index.js +15 -64
  660. package/build-module/components/plugin-sidebar-more-menu-item/index.js.map +7 -1
  661. package/build-module/components/post-actions/actions.js +85 -94
  662. package/build-module/components/post-actions/actions.js.map +7 -1
  663. package/build-module/components/post-actions/index.js +104 -121
  664. package/build-module/components/post-actions/index.js.map +7 -1
  665. package/build-module/components/post-actions/set-as-homepage.js +104 -115
  666. package/build-module/components/post-actions/set-as-homepage.js.map +7 -1
  667. package/build-module/components/post-actions/set-as-posts-page.js +99 -112
  668. package/build-module/components/post-actions/set-as-posts-page.js.map +7 -1
  669. package/build-module/components/post-author/check.js +12 -33
  670. package/build-module/components/post-author/check.js.map +7 -1
  671. package/build-module/components/post-author/combobox.js +32 -47
  672. package/build-module/components/post-author/combobox.js.map +7 -1
  673. package/build-module/components/post-author/constants.js +11 -6
  674. package/build-module/components/post-author/constants.js.map +7 -1
  675. package/build-module/components/post-author/hook.js +48 -65
  676. package/build-module/components/post-author/hook.js.map +7 -1
  677. package/build-module/components/post-author/index.js +14 -24
  678. package/build-module/components/post-author/index.js.map +7 -1
  679. package/build-module/components/post-author/panel.js +73 -87
  680. package/build-module/components/post-author/panel.js.map +7 -1
  681. package/build-module/components/post-author/select.js +28 -36
  682. package/build-module/components/post-author/select.js.map +7 -1
  683. package/build-module/components/post-card-panel/index.js +107 -105
  684. package/build-module/components/post-card-panel/index.js.map +7 -1
  685. package/build-module/components/post-comments/index.js +45 -50
  686. package/build-module/components/post-comments/index.js.map +7 -1
  687. package/build-module/components/post-content-information/index.js +49 -61
  688. package/build-module/components/post-content-information/index.js.map +7 -1
  689. package/build-module/components/post-discussion/panel.js +90 -122
  690. package/build-module/components/post-discussion/panel.js.map +7 -1
  691. package/build-module/components/post-excerpt/check.js +9 -23
  692. package/build-module/components/post-excerpt/check.js.map +7 -1
  693. package/build-module/components/post-excerpt/index.js +57 -68
  694. package/build-module/components/post-excerpt/index.js.map +7 -1
  695. package/build-module/components/post-excerpt/panel.js +124 -134
  696. package/build-module/components/post-excerpt/panel.js.map +7 -1
  697. package/build-module/components/post-excerpt/plugin.js +10 -65
  698. package/build-module/components/post-excerpt/plugin.js.map +7 -1
  699. package/build-module/components/post-featured-image/check.js +10 -28
  700. package/build-module/components/post-featured-image/check.js.map +7 -1
  701. package/build-module/components/post-featured-image/index.js +203 -200
  702. package/build-module/components/post-featured-image/index.js.map +7 -1
  703. package/build-module/components/post-featured-image/panel.js +26 -52
  704. package/build-module/components/post-featured-image/panel.js.map +7 -1
  705. package/build-module/components/post-fields/index.js +36 -49
  706. package/build-module/components/post-fields/index.js.map +7 -1
  707. package/build-module/components/post-format/check.js +14 -29
  708. package/build-module/components/post-format/check.js.map +7 -1
  709. package/build-module/components/post-format/index.js +68 -107
  710. package/build-module/components/post-format/index.js.map +7 -1
  711. package/build-module/components/post-format/panel.js +60 -73
  712. package/build-module/components/post-format/panel.js.map +7 -1
  713. package/build-module/components/post-last-edited-panel/index.js +20 -24
  714. package/build-module/components/post-last-edited-panel/index.js.map +7 -1
  715. package/build-module/components/post-last-revision/check.js +13 -37
  716. package/build-module/components/post-last-revision/check.js.map +7 -1
  717. package/build-module/components/post-last-revision/index.js +43 -59
  718. package/build-module/components/post-last-revision/index.js.map +7 -1
  719. package/build-module/components/post-last-revision/panel.js +10 -25
  720. package/build-module/components/post-last-revision/panel.js.map +7 -1
  721. package/build-module/components/post-locked-modal/index.js +133 -137
  722. package/build-module/components/post-locked-modal/index.js.map +7 -1
  723. package/build-module/components/post-panel-row/index.js +21 -29
  724. package/build-module/components/post-panel-row/index.js.map +7 -1
  725. package/build-module/components/post-panel-section/index.js +10 -20
  726. package/build-module/components/post-panel-section/index.js.map +7 -1
  727. package/build-module/components/post-pending-status/check.js +12 -35
  728. package/build-module/components/post-pending-status/check.js.map +7 -1
  729. package/build-module/components/post-pending-status/index.js +27 -36
  730. package/build-module/components/post-pending-status/index.js.map +7 -1
  731. package/build-module/components/post-pingbacks/index.js +34 -39
  732. package/build-module/components/post-pingbacks/index.js.map +7 -1
  733. package/build-module/components/post-preview-button/index.js +71 -114
  734. package/build-module/components/post-preview-button/index.js.map +7 -1
  735. package/build-module/components/post-publish-button/index.js +93 -130
  736. package/build-module/components/post-publish-button/index.js.map +7 -1
  737. package/build-module/components/post-publish-button/label.js +20 -35
  738. package/build-module/components/post-publish-button/label.js.map +7 -1
  739. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js +28 -56
  740. package/build-module/components/post-publish-button/post-publish-button-or-toggle.js.map +7 -1
  741. package/build-module/components/post-publish-panel/index.js +108 -126
  742. package/build-module/components/post-publish-panel/index.js.map +7 -1
  743. package/build-module/components/post-publish-panel/maybe-category-panel.js +40 -58
  744. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +7 -1
  745. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +55 -59
  746. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +7 -1
  747. package/build-module/components/post-publish-panel/maybe-tags-panel.js +57 -73
  748. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +7 -1
  749. package/build-module/components/post-publish-panel/maybe-upload-media.js +158 -207
  750. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +7 -1
  751. package/build-module/components/post-publish-panel/media-util.js +42 -69
  752. package/build-module/components/post-publish-panel/media-util.js.map +7 -1
  753. package/build-module/components/post-publish-panel/postpublish.js +109 -120
  754. package/build-module/components/post-publish-panel/postpublish.js.map +7 -1
  755. package/build-module/components/post-publish-panel/prepublish.js +108 -96
  756. package/build-module/components/post-publish-panel/prepublish.js.map +7 -1
  757. package/build-module/components/post-saved-state/index.js +87 -124
  758. package/build-module/components/post-saved-state/index.js.map +7 -1
  759. package/build-module/components/post-schedule/check.js +9 -25
  760. package/build-module/components/post-schedule/check.js.map +7 -1
  761. package/build-module/components/post-schedule/index.js +75 -88
  762. package/build-module/components/post-schedule/index.js.map +7 -1
  763. package/build-module/components/post-schedule/label.js +49 -73
  764. package/build-module/components/post-schedule/label.js.map +7 -1
  765. package/build-module/components/post-schedule/panel.js +63 -65
  766. package/build-module/components/post-schedule/panel.js.map +7 -1
  767. package/build-module/components/post-status/index.js +223 -194
  768. package/build-module/components/post-status/index.js.map +7 -1
  769. package/build-module/components/post-sticky/check.js +10 -29
  770. package/build-module/components/post-sticky/check.js.map +7 -1
  771. package/build-module/components/post-sticky/index.js +22 -36
  772. package/build-module/components/post-sticky/index.js.map +7 -1
  773. package/build-module/components/post-sticky/panel.js +12 -15
  774. package/build-module/components/post-sticky/panel.js.map +7 -1
  775. package/build-module/components/post-switch-to-draft-button/index.js +54 -70
  776. package/build-module/components/post-switch-to-draft-button/index.js.map +7 -1
  777. package/build-module/components/post-sync-status/index.js +17 -40
  778. package/build-module/components/post-sync-status/index.js.map +7 -1
  779. package/build-module/components/post-taxonomies/check.js +17 -28
  780. package/build-module/components/post-taxonomies/check.js.map +7 -1
  781. package/build-module/components/post-taxonomies/flat-term-selector.js +154 -177
  782. package/build-module/components/post-taxonomies/flat-term-selector.js.map +7 -1
  783. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +232 -270
  784. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +7 -1
  785. package/build-module/components/post-taxonomies/index.js +34 -49
  786. package/build-module/components/post-taxonomies/index.js.map +7 -1
  787. package/build-module/components/post-taxonomies/most-used-terms.js +54 -50
  788. package/build-module/components/post-taxonomies/most-used-terms.js.map +7 -1
  789. package/build-module/components/post-taxonomies/panel.js +39 -66
  790. package/build-module/components/post-taxonomies/panel.js.map +7 -1
  791. package/build-module/components/post-template/block-theme.js +134 -114
  792. package/build-module/components/post-template/block-theme.js.map +7 -1
  793. package/build-module/components/post-template/classic-theme.js +161 -177
  794. package/build-module/components/post-template/classic-theme.js.map +7 -1
  795. package/build-module/components/post-template/create-new-template-modal.js +126 -104
  796. package/build-module/components/post-template/create-new-template-modal.js.map +7 -1
  797. package/build-module/components/post-template/create-new-template.js +36 -39
  798. package/build-module/components/post-template/create-new-template.js.map +7 -1
  799. package/build-module/components/post-template/hooks.js +95 -80
  800. package/build-module/components/post-template/hooks.js.map +7 -1
  801. package/build-module/components/post-template/panel.js +25 -45
  802. package/build-module/components/post-template/panel.js.map +7 -1
  803. package/build-module/components/post-template/reset-default-template.js +33 -36
  804. package/build-module/components/post-template/reset-default-template.js.map +7 -1
  805. package/build-module/components/post-template/swap-template-button.js +86 -81
  806. package/build-module/components/post-template/swap-template-button.js.map +7 -1
  807. package/build-module/components/post-text-editor/index.js +49 -74
  808. package/build-module/components/post-text-editor/index.js.map +7 -1
  809. package/build-module/components/post-title/constants.js +7 -3
  810. package/build-module/components/post-title/constants.js.map +7 -1
  811. package/build-module/components/post-title/index.js +67 -111
  812. package/build-module/components/post-title/index.js.map +7 -1
  813. package/build-module/components/post-title/post-title-raw.js +43 -71
  814. package/build-module/components/post-title/post-title-raw.js.map +7 -1
  815. package/build-module/components/post-title/use-post-title-focus.js +15 -46
  816. package/build-module/components/post-title/use-post-title-focus.js.map +7 -1
  817. package/build-module/components/post-title/use-post-title.js +13 -33
  818. package/build-module/components/post-title/use-post-title.js.map +7 -1
  819. package/build-module/components/post-transform-panel/hooks.js +44 -58
  820. package/build-module/components/post-transform-panel/hooks.js.map +7 -1
  821. package/build-module/components/post-transform-panel/index.js +53 -69
  822. package/build-module/components/post-transform-panel/index.js.map +7 -1
  823. package/build-module/components/post-trash/check.js +14 -37
  824. package/build-module/components/post-trash/check.js.map +7 -1
  825. package/build-module/components/post-trash/index.js +49 -59
  826. package/build-module/components/post-trash/index.js.map +7 -1
  827. package/build-module/components/post-type-support-check/index.js +16 -42
  828. package/build-module/components/post-type-support-check/index.js.map +7 -1
  829. package/build-module/components/post-url/check.js +9 -24
  830. package/build-module/components/post-url/check.js.map +7 -1
  831. package/build-module/components/post-url/index.js +137 -146
  832. package/build-module/components/post-url/index.js.map +7 -1
  833. package/build-module/components/post-url/label.js +14 -26
  834. package/build-module/components/post-url/label.js.map +7 -1
  835. package/build-module/components/post-url/panel.js +80 -105
  836. package/build-module/components/post-url/panel.js.map +7 -1
  837. package/build-module/components/post-view-link/index.js +27 -39
  838. package/build-module/components/post-view-link/index.js.map +7 -1
  839. package/build-module/components/post-visibility/check.js +10 -29
  840. package/build-module/components/post-visibility/check.js.map +7 -1
  841. package/build-module/components/post-visibility/index.js +66 -78
  842. package/build-module/components/post-visibility/index.js.map +7 -1
  843. package/build-module/components/post-visibility/label.js +15 -27
  844. package/build-module/components/post-visibility/label.js.map +7 -1
  845. package/build-module/components/post-visibility/utils.js +22 -18
  846. package/build-module/components/post-visibility/utils.js.map +7 -1
  847. package/build-module/components/posts-per-page/index.js +85 -91
  848. package/build-module/components/posts-per-page/index.js.map +7 -1
  849. package/build-module/components/preferences-modal/enable-panel.js +30 -38
  850. package/build-module/components/preferences-modal/enable-panel.js.map +7 -1
  851. package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js +12 -25
  852. package/build-module/components/preferences-modal/enable-plugin-document-setting-panel.js.map +7 -1
  853. package/build-module/components/preferences-modal/enable-publish-sidebar.js +21 -27
  854. package/build-module/components/preferences-modal/enable-publish-sidebar.js.map +7 -1
  855. package/build-module/components/preferences-modal/index.js +365 -225
  856. package/build-module/components/preferences-modal/index.js.map +7 -1
  857. package/build-module/components/preview-dropdown/index.js +140 -141
  858. package/build-module/components/preview-dropdown/index.js.map +7 -1
  859. package/build-module/components/provider/disable-non-page-content-blocks.js +34 -72
  860. package/build-module/components/provider/disable-non-page-content-blocks.js.map +7 -1
  861. package/build-module/components/provider/index.js +257 -317
  862. package/build-module/components/provider/index.js.map +7 -1
  863. package/build-module/components/provider/navigation-block-editing-mode.js +14 -25
  864. package/build-module/components/provider/navigation-block-editing-mode.js.map +7 -1
  865. package/build-module/components/provider/use-auto-switch-editor-sidebars.js +28 -33
  866. package/build-module/components/provider/use-auto-switch-editor-sidebars.js.map +7 -1
  867. package/build-module/components/provider/use-block-editor-settings.js +223 -166
  868. package/build-module/components/provider/use-block-editor-settings.js.map +7 -1
  869. package/build-module/components/provider/use-hide-blocks-from-inserter.js +65 -42
  870. package/build-module/components/provider/use-hide-blocks-from-inserter.js.map +7 -1
  871. package/build-module/components/provider/use-post-content-blocks.js +31 -25
  872. package/build-module/components/provider/use-post-content-blocks.js.map +7 -1
  873. package/build-module/components/provider/with-registry-provider.js +34 -41
  874. package/build-module/components/provider/with-registry-provider.js.map +7 -1
  875. package/build-module/components/resizable-editor/index.js +70 -80
  876. package/build-module/components/resizable-editor/index.js.map +7 -1
  877. package/build-module/components/resizable-editor/resize-handle.js +27 -30
  878. package/build-module/components/resizable-editor/resize-handle.js.map +7 -1
  879. package/build-module/components/save-publish-panels/index.js +56 -62
  880. package/build-module/components/save-publish-panels/index.js.map +7 -1
  881. package/build-module/components/sidebar/constants.js +7 -4
  882. package/build-module/components/sidebar/constants.js.map +7 -1
  883. package/build-module/components/sidebar/header.js +38 -45
  884. package/build-module/components/sidebar/header.js.map +7 -1
  885. package/build-module/components/sidebar/index.js +136 -125
  886. package/build-module/components/sidebar/index.js.map +7 -1
  887. package/build-module/components/sidebar/post-summary.js +86 -87
  888. package/build-module/components/sidebar/post-summary.js.map +7 -1
  889. package/build-module/components/site-discussion/index.js +110 -107
  890. package/build-module/components/site-discussion/index.js.map +7 -1
  891. package/build-module/components/start-page-options/index.js +114 -137
  892. package/build-module/components/start-page-options/index.js.map +7 -1
  893. package/build-module/components/start-template-options/index.js +148 -150
  894. package/build-module/components/start-template-options/index.js.map +7 -1
  895. package/build-module/components/table-of-contents/index.js +50 -63
  896. package/build-module/components/table-of-contents/index.js.map +7 -1
  897. package/build-module/components/table-of-contents/panel.js +73 -88
  898. package/build-module/components/table-of-contents/panel.js.map +7 -1
  899. package/build-module/components/template-content-panel/index.js +57 -54
  900. package/build-module/components/template-content-panel/index.js.map +7 -1
  901. package/build-module/components/template-part-content-panel/index.js +35 -48
  902. package/build-module/components/template-part-content-panel/index.js.map +7 -1
  903. package/build-module/components/template-part-menu-items/convert-to-regular.js +26 -27
  904. package/build-module/components/template-part-menu-items/convert-to-regular.js.map +7 -1
  905. package/build-module/components/template-part-menu-items/convert-to-template-part.js +56 -61
  906. package/build-module/components/template-part-menu-items/convert-to-template-part.js.map +7 -1
  907. package/build-module/components/template-part-menu-items/index.js +38 -47
  908. package/build-module/components/template-part-menu-items/index.js.map +7 -1
  909. package/build-module/components/template-validation-notice/index.js +55 -41
  910. package/build-module/components/template-validation-notice/index.js.map +7 -1
  911. package/build-module/components/text-editor/index.js +38 -54
  912. package/build-module/components/text-editor/index.js.map +7 -1
  913. package/build-module/components/theme-support-check/index.js +13 -38
  914. package/build-module/components/theme-support-check/index.js.map +7 -1
  915. package/build-module/components/time-to-read/index.js +36 -48
  916. package/build-module/components/time-to-read/index.js.map +7 -1
  917. package/build-module/components/unsaved-changes-warning/index.js +16 -34
  918. package/build-module/components/unsaved-changes-warning/index.js.map +7 -1
  919. package/build-module/components/visual-editor/edit-template-blocks-notification.js +44 -63
  920. package/build-module/components/visual-editor/edit-template-blocks-notification.js.map +7 -1
  921. package/build-module/components/visual-editor/index.js +256 -225
  922. package/build-module/components/visual-editor/index.js.map +7 -1
  923. package/build-module/components/visual-editor/use-select-nearest-editable-block.js +58 -64
  924. package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +7 -1
  925. package/build-module/components/visual-editor/use-zoom-out-mode-exit.js +31 -43
  926. package/build-module/components/visual-editor/use-zoom-out-mode-exit.js.map +7 -1
  927. package/build-module/components/word-count/index.js +16 -32
  928. package/build-module/components/word-count/index.js.map +7 -1
  929. package/build-module/components/zoom-out-toggle/index.js +72 -66
  930. package/build-module/components/zoom-out-toggle/index.js.map +7 -1
  931. package/build-module/dataviews/api.js +26 -77
  932. package/build-module/dataviews/api.js.map +7 -1
  933. package/build-module/dataviews/fields/content-preview/content-preview-view.js +66 -85
  934. package/build-module/dataviews/fields/content-preview/content-preview-view.js.map +7 -1
  935. package/build-module/dataviews/fields/content-preview/index.js +10 -15
  936. package/build-module/dataviews/fields/content-preview/index.js.map +7 -1
  937. package/build-module/dataviews/store/private-actions.js +113 -43
  938. package/build-module/dataviews/store/private-actions.js.map +7 -1
  939. package/build-module/dataviews/store/private-selectors.js +11 -12
  940. package/build-module/dataviews/store/private-selectors.js.map +7 -1
  941. package/build-module/dataviews/store/reducer.js +32 -26
  942. package/build-module/dataviews/store/reducer.js.map +7 -1
  943. package/build-module/hooks/custom-sources-backwards-compatibility.js +70 -83
  944. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +7 -1
  945. package/build-module/hooks/default-autocompleters.js +9 -15
  946. package/build-module/hooks/default-autocompleters.js.map +7 -1
  947. package/build-module/hooks/index.js +7 -9
  948. package/build-module/hooks/index.js.map +7 -1
  949. package/build-module/hooks/media-upload.js +8 -7
  950. package/build-module/hooks/media-upload.js.map +7 -1
  951. package/build-module/hooks/navigation-link-view-button.js +46 -63
  952. package/build-module/hooks/navigation-link-view-button.js.map +7 -1
  953. package/build-module/hooks/pattern-overrides.js +48 -67
  954. package/build-module/hooks/pattern-overrides.js.map +7 -1
  955. package/build-module/hooks/template-part-navigation-edit-button.js +97 -0
  956. package/build-module/hooks/template-part-navigation-edit-button.js.map +7 -0
  957. package/build-module/index.js +13 -15
  958. package/build-module/index.js.map +7 -1
  959. package/build-module/lock-unlock.js +8 -7
  960. package/build-module/lock-unlock.js.map +7 -1
  961. package/build-module/private-apis.js +31 -31
  962. package/build-module/private-apis.js.map +7 -1
  963. package/build-module/store/actions.js +424 -872
  964. package/build-module/store/actions.js.map +7 -1
  965. package/build-module/store/constants.js +36 -27
  966. package/build-module/store/constants.js.map +7 -1
  967. package/build-module/store/defaults.js +8 -28
  968. package/build-module/store/defaults.js.map +7 -1
  969. package/build-module/store/index.js +15 -30
  970. package/build-module/store/index.js.map +7 -1
  971. package/build-module/store/local-autosave.js +18 -24
  972. package/build-module/store/local-autosave.js.map +7 -1
  973. package/build-module/store/private-actions.js +242 -257
  974. package/build-module/store/private-actions.js.map +7 -1
  975. package/build-module/store/private-selectors.js +157 -174
  976. package/build-module/store/private-selectors.js.map +7 -1
  977. package/build-module/store/reducer.js +89 -267
  978. package/build-module/store/reducer.js.map +7 -1
  979. package/build-module/store/selectors.js +712 -1433
  980. package/build-module/store/selectors.js.map +7 -1
  981. package/build-module/store/utils/is-template-revertable.js +6 -15
  982. package/build-module/store/utils/is-template-revertable.js.map +7 -1
  983. package/build-module/store/utils/notice-builder.js +52 -91
  984. package/build-module/store/utils/notice-builder.js.map +7 -1
  985. package/build-module/utils/get-item-title.js +10 -19
  986. package/build-module/utils/get-item-title.js.map +7 -1
  987. package/build-module/utils/get-template-info.js +14 -38
  988. package/build-module/utils/get-template-info.js.map +7 -1
  989. package/build-module/utils/get-template-part-icon.js +14 -16
  990. package/build-module/utils/get-template-part-icon.js.map +7 -1
  991. package/build-module/utils/index.js +9 -8
  992. package/build-module/utils/index.js.map +7 -1
  993. package/build-module/utils/media-sideload/index.js +8 -14
  994. package/build-module/utils/media-sideload/index.js.map +7 -1
  995. package/build-module/utils/media-upload/index.js +26 -56
  996. package/build-module/utils/media-upload/index.js.map +7 -1
  997. package/build-module/utils/pageTypeBadge.js +16 -28
  998. package/build-module/utils/pageTypeBadge.js.map +7 -1
  999. package/build-module/utils/search-templates.js +12 -41
  1000. package/build-module/utils/search-templates.js.map +7 -1
  1001. package/build-module/utils/terms.js +32 -55
  1002. package/build-module/utils/terms.js.map +7 -1
  1003. package/build-module/utils/url.js +11 -28
  1004. package/build-module/utils/url.js.map +7 -1
  1005. package/build-style/style-rtl.css +327 -136
  1006. package/build-style/style.css +327 -136
  1007. package/build-types/bindings/entity.d.ts +16 -0
  1008. package/build-types/bindings/entity.d.ts.map +1 -0
  1009. package/build-types/bindings/post-data.d.ts +16 -0
  1010. package/build-types/bindings/post-meta.d.ts +13 -0
  1011. package/build-types/components/{preferences-modal/block-visibility.d.ts → block-visibility/index.d.ts} +1 -1
  1012. package/build-types/components/block-visibility/index.d.ts.map +1 -0
  1013. package/build-types/components/collab-sidebar/add-comment.d.ts +6 -14
  1014. package/build-types/components/collab-sidebar/add-comment.d.ts.map +1 -1
  1015. package/build-types/components/collab-sidebar/comment-form.d.ts +9 -18
  1016. package/build-types/components/collab-sidebar/comment-form.d.ts.map +1 -1
  1017. package/build-types/components/collab-sidebar/comment-menu-item.d.ts +5 -0
  1018. package/build-types/components/collab-sidebar/comment-menu-item.d.ts.map +1 -0
  1019. package/build-types/components/collab-sidebar/comments.d.ts +10 -1
  1020. package/build-types/components/collab-sidebar/comments.d.ts.map +1 -1
  1021. package/build-types/components/collab-sidebar/hooks.d.ts +33 -0
  1022. package/build-types/components/collab-sidebar/hooks.d.ts.map +1 -1
  1023. package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
  1024. package/build-types/components/collab-sidebar/utils.d.ts +20 -0
  1025. package/build-types/components/collab-sidebar/utils.d.ts.map +1 -1
  1026. package/build-types/components/document-tools/index.d.ts.map +1 -1
  1027. package/build-types/components/header/index.d.ts.map +1 -1
  1028. package/build-types/components/post-excerpt/panel.d.ts.map +1 -1
  1029. package/build-types/components/post-template/block-theme.d.ts.map +1 -1
  1030. package/build-types/components/post-template/hooks.d.ts.map +1 -1
  1031. package/build-types/components/provider/disable-non-page-content-blocks.d.ts.map +1 -1
  1032. package/build-types/components/provider/use-hide-blocks-from-inserter.d.ts.map +1 -1
  1033. package/build-types/components/visual-editor/index.d.ts.map +1 -1
  1034. package/build-types/hooks/template-part-navigation-edit-button.d.ts +2 -0
  1035. package/build-types/hooks/template-part-navigation-edit-button.d.ts.map +1 -0
  1036. package/build-types/store/actions.d.ts.map +1 -1
  1037. package/package.json +59 -39
  1038. package/src/bindings/api.js +2 -2
  1039. package/src/bindings/entity.js +89 -0
  1040. package/src/bindings/post-data.js +23 -0
  1041. package/src/bindings/post-meta.js +19 -0
  1042. package/src/components/autocompleters/style.scss +2 -0
  1043. package/src/components/block-settings-menu/style.scss +2 -0
  1044. package/src/components/{preferences-modal/block-visibility.js → block-visibility/index.js} +37 -5
  1045. package/src/components/block-visibility/style.scss +25 -0
  1046. package/src/components/blog-title/style.scss +2 -0
  1047. package/src/components/collab-sidebar/add-comment.js +18 -17
  1048. package/src/components/collab-sidebar/comment-author-info.js +2 -2
  1049. package/src/components/collab-sidebar/comment-form.js +15 -17
  1050. package/src/components/collab-sidebar/comment-indicator-toolbar.js +2 -2
  1051. package/src/components/collab-sidebar/{comment-button.js → comment-menu-item.js} +4 -4
  1052. package/src/components/collab-sidebar/comments.js +413 -183
  1053. package/src/components/collab-sidebar/hooks.js +343 -22
  1054. package/src/components/collab-sidebar/index.js +94 -190
  1055. package/src/components/collab-sidebar/style.scss +44 -26
  1056. package/src/components/collab-sidebar/utils.js +55 -0
  1057. package/src/components/collapsible-block-toolbar/style.scss +5 -1
  1058. package/src/components/commands/index.js +2 -2
  1059. package/src/components/document-bar/style.scss +5 -0
  1060. package/src/components/document-outline/style.scss +3 -0
  1061. package/src/components/document-tools/index.js +1 -20
  1062. package/src/components/document-tools/style.scss +4 -0
  1063. package/src/components/editor-help/style.scss +3 -0
  1064. package/src/components/editor-interface/style.scss +2 -0
  1065. package/src/components/editor-notices/style.scss +3 -0
  1066. package/src/components/entities-saved-states/style.scss +3 -0
  1067. package/src/components/error-boundary/style.scss +3 -0
  1068. package/src/components/header/index.js +3 -8
  1069. package/src/components/header/style.scss +6 -0
  1070. package/src/components/inserter-sidebar/style.scss +2 -0
  1071. package/src/components/keyboard-shortcut-help-modal/style.scss +2 -0
  1072. package/src/components/list-view-sidebar/style.scss +4 -1
  1073. package/src/components/page-attributes/style.scss +2 -0
  1074. package/src/components/post-actions/style.scss +2 -0
  1075. package/src/components/post-author/style.scss +2 -0
  1076. package/src/components/post-card-panel/style.scss +4 -0
  1077. package/src/components/post-content-information/style.scss +2 -0
  1078. package/src/components/post-discussion/style.scss +2 -0
  1079. package/src/components/post-excerpt/panel.js +12 -6
  1080. package/src/components/post-excerpt/style.scss +2 -0
  1081. package/src/components/post-featured-image/style.scss +7 -0
  1082. package/src/components/post-format/style.scss +2 -0
  1083. package/src/components/post-last-edited-panel/style.scss +2 -0
  1084. package/src/components/post-last-revision/style.scss +3 -0
  1085. package/src/components/post-locked-modal/style.scss +2 -0
  1086. package/src/components/post-panel-row/style.scss +2 -0
  1087. package/src/components/post-panel-section/style.scss +2 -0
  1088. package/src/components/post-publish-button/post-publish-button-or-toggle.js +1 -1
  1089. package/src/components/post-publish-panel/style.scss +5 -0
  1090. package/src/components/post-saved-state/style.scss +4 -0
  1091. package/src/components/post-schedule/style.scss +2 -0
  1092. package/src/components/post-status/style.scss +3 -0
  1093. package/src/components/post-sticky/style.scss +3 -0
  1094. package/src/components/post-sync-status/style.scss +2 -0
  1095. package/src/components/post-taxonomies/style.scss +2 -0
  1096. package/src/components/post-template/block-theme.js +45 -3
  1097. package/src/components/post-template/hooks.js +48 -21
  1098. package/src/components/post-template/style.scss +5 -0
  1099. package/src/components/post-text-editor/style.scss +4 -0
  1100. package/src/components/post-title/style.scss +2 -0
  1101. package/src/components/post-url/style.scss +2 -0
  1102. package/src/components/posts-per-page/style.scss +2 -0
  1103. package/src/components/preferences-modal/index.js +1 -1
  1104. package/src/components/provider/disable-non-page-content-blocks.js +7 -13
  1105. package/src/components/provider/use-hide-blocks-from-inserter.js +37 -6
  1106. package/src/components/resizable-editor/style.scss +4 -0
  1107. package/src/components/save-publish-panels/style.scss +4 -0
  1108. package/src/components/sidebar/style.scss +3 -0
  1109. package/src/components/site-discussion/style.scss +2 -1
  1110. package/src/components/start-page-options/style.scss +5 -0
  1111. package/src/components/start-template-options/style.scss +5 -0
  1112. package/src/components/table-of-contents/style.scss +5 -0
  1113. package/src/components/text-editor/style.scss +6 -0
  1114. package/src/components/visual-editor/index.js +11 -21
  1115. package/src/components/visual-editor/style.scss +3 -1
  1116. package/src/dataviews/fields/content-preview/style.scss +2 -0
  1117. package/src/hooks/index.js +1 -0
  1118. package/src/hooks/template-part-navigation-edit-button.js +145 -0
  1119. package/src/store/actions.js +6 -1
  1120. package/src/style.scss +57 -56
  1121. package/tsconfig.tsbuildinfo +1 -1
  1122. package/build/bindings/term-data.js +0 -171
  1123. package/build/bindings/term-data.js.map +0 -1
  1124. package/build/components/block-settings-menu/content-only-settings-menu.native.js +0 -11
  1125. package/build/components/block-settings-menu/content-only-settings-menu.native.js.map +0 -1
  1126. package/build/components/collab-sidebar/comment-button.js +0 -42
  1127. package/build/components/collab-sidebar/comment-button.js.map +0 -1
  1128. package/build/components/commands/index.native.js +0 -9
  1129. package/build/components/commands/index.native.js.map +0 -1
  1130. package/build/components/deprecated.native.js +0 -121
  1131. package/build/components/deprecated.native.js.map +0 -1
  1132. package/build/components/editor-help/add-blocks.native.js +0 -41
  1133. package/build/components/editor-help/add-blocks.native.js.map +0 -1
  1134. package/build/components/editor-help/customize-blocks.native.js +0 -41
  1135. package/build/components/editor-help/customize-blocks.native.js.map +0 -1
  1136. package/build/components/editor-help/help-detail-navigation-screen.native.js +0 -69
  1137. package/build/components/editor-help/help-detail-navigation-screen.native.js.map +0 -1
  1138. package/build/components/editor-help/help-get-support-button.native.js +0 -41
  1139. package/build/components/editor-help/help-get-support-button.native.js.map +0 -1
  1140. package/build/components/editor-help/help-section-title.native.js +0 -37
  1141. package/build/components/editor-help/help-section-title.native.js.map +0 -1
  1142. package/build/components/editor-help/help-topic-row.native.js +0 -42
  1143. package/build/components/editor-help/help-topic-row.native.js.map +0 -1
  1144. package/build/components/editor-help/icon-move-blocks.native.js +0 -19
  1145. package/build/components/editor-help/icon-move-blocks.native.js.map +0 -1
  1146. package/build/components/editor-help/index.native.js +0 -173
  1147. package/build/components/editor-help/index.native.js.map +0 -1
  1148. package/build/components/editor-help/intro-to-blocks.native.js +0 -70
  1149. package/build/components/editor-help/intro-to-blocks.native.js.map +0 -1
  1150. package/build/components/editor-help/move-blocks.native.js +0 -52
  1151. package/build/components/editor-help/move-blocks.native.js.map +0 -1
  1152. package/build/components/editor-help/remove-blocks.native.js +0 -39
  1153. package/build/components/editor-help/remove-blocks.native.js.map +0 -1
  1154. package/build/components/editor-help/view-sections.native.js +0 -80
  1155. package/build/components/editor-help/view-sections.native.js.map +0 -1
  1156. package/build/components/error-boundary/index.native.js +0 -143
  1157. package/build/components/error-boundary/index.native.js.map +0 -1
  1158. package/build/components/index.native.js +0 -85
  1159. package/build/components/index.native.js.map +0 -1
  1160. package/build/components/offline-status/index.native.js +0 -83
  1161. package/build/components/offline-status/index.native.js.map +0 -1
  1162. package/build/components/post-title/index.native.js +0 -251
  1163. package/build/components/post-title/index.native.js.map +0 -1
  1164. package/build/components/preferences-modal/block-visibility.js +0 -88
  1165. package/build/components/preferences-modal/block-visibility.js.map +0 -1
  1166. package/build/components/provider/index.native.js +0 -426
  1167. package/build/components/provider/index.native.js.map +0 -1
  1168. package/build/components/provider/use-block-editor-settings.native.js +0 -46
  1169. package/build/components/provider/use-block-editor-settings.native.js.map +0 -1
  1170. package/build/components/template-part-menu-items/index.native.js +0 -10
  1171. package/build/components/template-part-menu-items/index.native.js.map +0 -1
  1172. package/build/hooks/index.native.js +0 -2
  1173. package/build/hooks/index.native.js.map +0 -1
  1174. package/build/index.native.js +0 -56
  1175. package/build/index.native.js.map +0 -1
  1176. package/build/private-apis.native.js +0 -44
  1177. package/build/private-apis.native.js.map +0 -1
  1178. package/build/store/actions.native.js +0 -51
  1179. package/build/store/actions.native.js.map +0 -1
  1180. package/build/store/reducer.native.js +0 -105
  1181. package/build/store/reducer.native.js.map +0 -1
  1182. package/build/store/selectors.native.js +0 -70
  1183. package/build/store/selectors.native.js.map +0 -1
  1184. package/build/utils/index.native.js +0 -14
  1185. package/build/utils/index.native.js.map +0 -1
  1186. package/build/utils/media-sideload/index.native.js +0 -8
  1187. package/build/utils/media-sideload/index.native.js.map +0 -1
  1188. package/build/utils/media-upload/index.native.js +0 -8
  1189. package/build/utils/media-upload/index.native.js.map +0 -1
  1190. package/build-module/bindings/term-data.js +0 -165
  1191. package/build-module/bindings/term-data.js.map +0 -1
  1192. package/build-module/components/block-settings-menu/content-only-settings-menu.native.js +0 -5
  1193. package/build-module/components/block-settings-menu/content-only-settings-menu.native.js.map +0 -1
  1194. package/build-module/components/collab-sidebar/comment-button.js +0 -35
  1195. package/build-module/components/collab-sidebar/comment-button.js.map +0 -1
  1196. package/build-module/components/commands/index.native.js +0 -3
  1197. package/build-module/components/commands/index.native.js.map +0 -1
  1198. package/build-module/components/deprecated.native.js +0 -7
  1199. package/build-module/components/deprecated.native.js.map +0 -1
  1200. package/build-module/components/editor-help/add-blocks.native.js +0 -33
  1201. package/build-module/components/editor-help/add-blocks.native.js.map +0 -1
  1202. package/build-module/components/editor-help/customize-blocks.native.js +0 -33
  1203. package/build-module/components/editor-help/customize-blocks.native.js.map +0 -1
  1204. package/build-module/components/editor-help/help-detail-navigation-screen.native.js +0 -61
  1205. package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +0 -1
  1206. package/build-module/components/editor-help/help-get-support-button.native.js +0 -33
  1207. package/build-module/components/editor-help/help-get-support-button.native.js.map +0 -1
  1208. package/build-module/components/editor-help/help-section-title.native.js +0 -29
  1209. package/build-module/components/editor-help/help-section-title.native.js.map +0 -1
  1210. package/build-module/components/editor-help/help-topic-row.native.js +0 -35
  1211. package/build-module/components/editor-help/help-topic-row.native.js.map +0 -1
  1212. package/build-module/components/editor-help/icon-move-blocks.native.js +0 -13
  1213. package/build-module/components/editor-help/icon-move-blocks.native.js.map +0 -1
  1214. package/build-module/components/editor-help/index.native.js +0 -165
  1215. package/build-module/components/editor-help/index.native.js.map +0 -1
  1216. package/build-module/components/editor-help/intro-to-blocks.native.js +0 -62
  1217. package/build-module/components/editor-help/intro-to-blocks.native.js.map +0 -1
  1218. package/build-module/components/editor-help/move-blocks.native.js +0 -44
  1219. package/build-module/components/editor-help/move-blocks.native.js.map +0 -1
  1220. package/build-module/components/editor-help/remove-blocks.native.js +0 -31
  1221. package/build-module/components/editor-help/remove-blocks.native.js.map +0 -1
  1222. package/build-module/components/editor-help/view-sections.native.js +0 -69
  1223. package/build-module/components/editor-help/view-sections.native.js.map +0 -1
  1224. package/build-module/components/error-boundary/index.native.js +0 -135
  1225. package/build-module/components/error-boundary/index.native.js.map +0 -1
  1226. package/build-module/components/index.native.js +0 -15
  1227. package/build-module/components/index.native.js.map +0 -1
  1228. package/build-module/components/offline-status/index.native.js +0 -77
  1229. package/build-module/components/offline-status/index.native.js.map +0 -1
  1230. package/build-module/components/post-title/index.native.js +0 -243
  1231. package/build-module/components/post-title/index.native.js.map +0 -1
  1232. package/build-module/components/preferences-modal/block-visibility.js +0 -81
  1233. package/build-module/components/preferences-modal/block-visibility.js.map +0 -1
  1234. package/build-module/components/provider/index.native.js +0 -416
  1235. package/build-module/components/provider/index.native.js.map +0 -1
  1236. package/build-module/components/provider/use-block-editor-settings.native.js +0 -38
  1237. package/build-module/components/provider/use-block-editor-settings.native.js.map +0 -1
  1238. package/build-module/components/template-part-menu-items/index.native.js +0 -4
  1239. package/build-module/components/template-part-menu-items/index.native.js.map +0 -1
  1240. package/build-module/hooks/index.native.js +0 -2
  1241. package/build-module/hooks/index.native.js.map +0 -1
  1242. package/build-module/index.native.js +0 -16
  1243. package/build-module/index.native.js.map +0 -1
  1244. package/build-module/private-apis.native.js +0 -34
  1245. package/build-module/private-apis.native.js.map +0 -1
  1246. package/build-module/store/actions.native.js +0 -27
  1247. package/build-module/store/actions.native.js.map +0 -1
  1248. package/build-module/store/reducer.native.js +0 -81
  1249. package/build-module/store/reducer.native.js.map +0 -1
  1250. package/build-module/store/selectors.native.js +0 -49
  1251. package/build-module/store/selectors.native.js.map +0 -1
  1252. package/build-module/utils/index.native.js +0 -6
  1253. package/build-module/utils/index.native.js.map +0 -1
  1254. package/build-module/utils/media-sideload/index.native.js +0 -2
  1255. package/build-module/utils/media-sideload/index.native.js.map +0 -1
  1256. package/build-module/utils/media-upload/index.native.js +0 -2
  1257. package/build-module/utils/media-upload/index.native.js.map +0 -1
  1258. package/build-types/bindings/term-data.d.ts +0 -25
  1259. package/build-types/bindings/term-data.d.ts.map +0 -1
  1260. package/build-types/components/collab-sidebar/comment-button.d.ts +0 -5
  1261. package/build-types/components/collab-sidebar/comment-button.d.ts.map +0 -1
  1262. package/build-types/components/preferences-modal/block-visibility.d.ts.map +0 -1
  1263. package/src/bindings/term-data.js +0 -159
@@ -1 +1,7 @@
1
- {"version":3,"names":["clsx","useState","RawHTML","useRef","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalConfirmDialog","ConfirmDialog","Button","FlexItem","privateApis","componentsPrivateApis","useDebounce","published","moreVertical","__","_x","sprintf","_n","useSelect","useDispatch","__unstableStripHTML","stripHTML","store","blockEditorStore","blockEditorPrivateApis","unlock","CommentAuthorInfo","CommentForm","getCommentExcerpt","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","useBlockElement","Menu","Comments","threads","onEditComment","onAddReply","onCommentDelete","setShowCommentBoard","blockCommentId","select","getBlockAttributes","getSelectedBlockClientId","clientId","metadata","commentId","selectedThread","setSelectedThread","hasThreads","Array","isArray","length","alignment","className","justify","spacing","children","map","thread","Thread","isSelected","id","threadRef","toggleBlockHighlight","relatedBlockElement","blockClientId","debouncedToggleBlockHighlight","onMouseEnter","onMouseLeave","handleCommentSelect","scrollIntoView","behavior","block","focusThread","current","focus","unselectThread","replies","reply","lastReply","undefined","restReplies","slice","commentExcerpt","content","rendered","ariaLabel","onClick","onFocus","onBlur","onKeyDown","event","key","currentTarget","target","tabIndex","role","ref","as","weight","variant","CommentBoard","onEdit","params","status","onDelete","size","onSubmit","inputComment","parent","onCancel","stopPropagation","submitButtonText","rows","labelText","author_name","actionState","setActionState","showConfirmDialog","setShowConfirmDialog","handleConfirmDelete","handleCancel","actions","title","canResolve","moreActions","filter","item","avatar","author_avatar_urls","name","date","userId","author","label","icon","disabled","accessibleWhenDisabled","placement","TriggerButton","render","Popover","action","Item","ItemLabel","value","isOpen","onConfirm","confirmButtonText"],"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, useRef } from '@wordpress/element';\nimport {\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tButton,\n\tFlexItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useDebounce } from '@wordpress/compose';\n\nimport { published, moreVertical } from '@wordpress/icons';\nimport { __, _x, sprintf, _n } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport CommentAuthorInfo from './comment-author-info';\nimport CommentForm from './comment-form';\nimport { getCommentExcerpt } from './utils';\n\nconst { useBlockElement } = unlock( blockEditorPrivateApis );\nconst { Menu } = unlock( componentsPrivateApis );\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.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\tsetShowCommentBoard,\n} ) {\n\tconst blockCommentId = useSelect( ( select ) => {\n\t\tconst { getBlockAttributes, getSelectedBlockClientId } =\n\t\t\tselect( blockEditorStore );\n\t\tconst clientId = getSelectedBlockClientId();\n\t\treturn clientId\n\t\t\t? getBlockAttributes( clientId )?.metadata?.commentId\n\t\t\t: null;\n\t}, [] );\n\tconst [ selectedThread = blockCommentId, setSelectedThread ] = useState();\n\n\tconst hasThreads = Array.isArray( threads ) && threads.length > 0;\n\tif ( ! hasThreads ) {\n\t\treturn (\n\t\t\t<VStack\n\t\t\t\talignment=\"left\"\n\t\t\t\tclassName=\"editor-collab-sidebar-panel__thread\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing=\"2\"\n\t\t\t>\n\t\t\t\t{\n\t\t\t\t\t// translators: message displayed when there are no comments available\n\t\t\t\t\t__( 'No comments available' )\n\t\t\t\t}\n\t\t\t</VStack>\n\t\t);\n\t}\n\n\treturn threads.map( ( thread ) => (\n\t\t<Thread\n\t\t\tkey={ thread.id }\n\t\t\tthread={ thread }\n\t\t\tonAddReply={ onAddReply }\n\t\t\tonCommentDelete={ onCommentDelete }\n\t\t\tonEditComment={ onEditComment }\n\t\t\tisSelected={ selectedThread === thread.id }\n\t\t\tsetSelectedThread={ setSelectedThread }\n\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t/>\n\t) );\n}\n\nfunction Thread( {\n\tthread,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tisSelected,\n\tsetSelectedThread,\n\tsetShowCommentBoard,\n} ) {\n\tconst threadRef = useRef( null );\n\tconst { toggleBlockHighlight } = useDispatch( blockEditorStore );\n\tconst relatedBlockElement = useBlockElement( thread.blockClientId );\n\tconst debouncedToggleBlockHighlight = useDebounce(\n\t\ttoggleBlockHighlight,\n\t\t50\n\t);\n\n\tconst onMouseEnter = () => {\n\t\tdebouncedToggleBlockHighlight( thread.blockClientId, true );\n\t};\n\n\tconst onMouseLeave = () => {\n\t\tdebouncedToggleBlockHighlight( thread.blockClientId, false );\n\t};\n\n\tconst handleCommentSelect = ( { id, blockClientId } ) => {\n\t\tsetShowCommentBoard( false );\n\t\tsetSelectedThread( id );\n\t\tif ( blockClientId && relatedBlockElement ) {\n\t\t\trelatedBlockElement.scrollIntoView( {\n\t\t\t\tbehavior: 'instant',\n\t\t\t\tblock: 'center',\n\t\t\t} );\n\t\t}\n\t};\n\n\tconst focusThread = () => {\n\t\tthreadRef.current?.focus();\n\t};\n\n\tconst unselectThread = () => {\n\t\tsetSelectedThread( null );\n\t\tsetShowCommentBoard( false );\n\t};\n\n\tconst replies = thread?.reply;\n\tconst lastReply = !! replies.length\n\t\t? replies[ replies.length - 1 ]\n\t\t: undefined;\n\tconst restReplies = !! replies.length ? replies.slice( 0, -1 ) : [];\n\n\tconst commentExcerpt = getCommentExcerpt(\n\t\tstripHTML( thread.content.rendered ),\n\t\t10\n\t);\n\tconst ariaLabel = relatedBlockElement\n\t\t? sprintf(\n\t\t\t\t// translators: %s: comment excerpt\n\t\t\t\t__( 'Comment: %s' ),\n\t\t\t\tcommentExcerpt\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: comment excerpt\n\t\t\t\t__( 'Original block deleted. Comment: %s' ),\n\t\t\t\tcommentExcerpt\n\t\t );\n\n\treturn (\n\t\t// Disable reason: role=\"listitem\" does in fact support aria-expanded.\n\t\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t\t<VStack\n\t\t\tclassName={ clsx( 'editor-collab-sidebar-panel__thread', {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t} ) }\n\t\t\tid={ `thread-${ thread.id }` }\n\t\t\tspacing=\"2\"\n\t\t\tonClick={ () => handleCommentSelect( thread ) }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t// Expand or Collapse thread.\n\t\t\t\tif (\n\t\t\t\t\tevent.key === 'Enter' &&\n\t\t\t\t\tevent.currentTarget === event.target\n\t\t\t\t) {\n\t\t\t\t\tif ( isSelected ) {\n\t\t\t\t\t\tunselectThread();\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandleCommentSelect( thread );\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Collapse thread and focus the thread.\n\t\t\t\tif ( event.key === 'Escape' ) {\n\t\t\t\t\tunselectThread();\n\t\t\t\t\tfocusThread();\n\t\t\t\t}\n\t\t\t} }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"listitem\"\n\t\t\tref={ threadRef }\n\t\t\taria-label={ ariaLabel }\n\t\t\taria-expanded={ isSelected }\n\t\t>\n\t\t\t{ ! relatedBlockElement && (\n\t\t\t\t<Text as=\"p\" weight={ 500 } variant=\"muted\">\n\t\t\t\t\t{ __( 'Original block deleted.' ) }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t\t<CommentBoard\n\t\t\t\tthread={ thread }\n\t\t\t\tonEdit={ ( params = {} ) => {\n\t\t\t\t\tconst { status } = params;\n\t\t\t\t\tonEditComment( params );\n\t\t\t\t\tif ( status === 'approved' ) {\n\t\t\t\t\t\tunselectThread();\n\t\t\t\t\t\tfocusThread();\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tonDelete={ onCommentDelete }\n\t\t\t\tstatus={ thread.status }\n\t\t\t/>\n\t\t\t{ isSelected &&\n\t\t\t\treplies.map( ( reply ) => (\n\t\t\t\t\t<VStack\n\t\t\t\t\t\tkey={ reply.id }\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__child-thread\"\n\t\t\t\t\t\tid={ reply.id }\n\t\t\t\t\t\tspacing=\"2\"\n\t\t\t\t\t>\n\t\t\t\t\t\t<CommentBoard\n\t\t\t\t\t\t\tthread={ reply }\n\t\t\t\t\t\t\tonEdit={\n\t\t\t\t\t\t\t\t'approved' !== thread.status\n\t\t\t\t\t\t\t\t\t? onEditComment\n\t\t\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tonDelete={\n\t\t\t\t\t\t\t\t'approved' !== thread.status\n\t\t\t\t\t\t\t\t\t? onCommentDelete\n\t\t\t\t\t\t\t\t\t: undefined\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) ) }\n\t\t\t{ ! isSelected && restReplies.length > 0 && (\n\t\t\t\t<HStack className=\"editor-collab-sidebar-panel__more-reply-separator\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__more-reply-button\"\n\t\t\t\t\t\tonClick={ () => setSelectedThread( thread.id ) }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: number of replies.\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'%s more reply',\n\t\t\t\t\t\t\t\t'%s more replies',\n\t\t\t\t\t\t\t\trestReplies.length\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\trestReplies.length\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t{ ! isSelected && lastReply && (\n\t\t\t\t<CommentBoard\n\t\t\t\t\tthread={ lastReply }\n\t\t\t\t\tonEdit={\n\t\t\t\t\t\t'approved' !== thread.status ? onEditComment : undefined\n\t\t\t\t\t}\n\t\t\t\t\tonDelete={\n\t\t\t\t\t\t'approved' !== thread.status\n\t\t\t\t\t\t\t? onCommentDelete\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isSelected && (\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 spacing=\"2\">\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\tif ( 'approved' === thread.status ) {\n\t\t\t\t\t\t\t\t\tonEditComment( {\n\t\t\t\t\t\t\t\t\t\tid: thread.id,\n\t\t\t\t\t\t\t\t\t\tstatus: 'hold',\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\tonAddReply( {\n\t\t\t\t\t\t\t\t\tcontent: inputComment,\n\t\t\t\t\t\t\t\t\tparent: thread.id,\n\t\t\t\t\t\t\t\t} );\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\tthreadRef.current?.focus();\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\tunselectThread();\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsubmitButtonText={\n\t\t\t\t\t\t\t\t'approved' === thread.status\n\t\t\t\t\t\t\t\t\t? __( 'Reopen & Reply' )\n\t\t\t\t\t\t\t\t\t: __( 'Reply' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trows={ 'approved' === thread.status ? 2 : 4 }\n\t\t\t\t\t\t\tlabelText={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %1$s: comment identifier, %2$s: author name\n\t\t\t\t\t\t\t\t__( 'Reply to Comment %1$s by %2$s' ),\n\t\t\t\t\t\t\t\tthread.id,\n\t\t\t\t\t\t\t\tthread?.author_name || 'Unknown'\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</VStack>\n\t);\n}\n\nconst CommentBoard = ( { thread, onEdit, onDelete, status } ) => {\n\tconst [ actionState, setActionState ] = useState( false );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tconst handleConfirmDelete = () => {\n\t\tonDelete( thread );\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\tstatus !== 'approved' && {\n\t\t\t\tid: 'edit',\n\t\t\t\ttitle: _x( 'Edit', 'Edit comment' ),\n\t\t\t\tonClick: () => {\n\t\t\t\t\tsetActionState( 'edit' );\n\t\t\t\t},\n\t\t\t},\n\t\tonDelete && {\n\t\t\tid: 'delete',\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\tonEdit &&\n\t\t\tstatus === 'approved' && {\n\t\t\t\tid: 'reopen',\n\t\t\t\ttitle: _x( 'Reopen', 'Reopen comment' ),\n\t\t\t\tonClick: () => {\n\t\t\t\t\tonEdit( { id: thread.id, status: 'hold' } );\n\t\t\t\t},\n\t\t\t},\n\t];\n\n\tconst canResolve = thread?.parent === 0;\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\tuserId={ thread?.author }\n\t\t\t\t/>\n\t\t\t\t<FlexItem\n\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-status\"\n\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t// Prevent the thread from being selected.\n\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<HStack spacing=\"0\">\n\t\t\t\t\t\t{ canResolve && (\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\tsize=\"small\"\n\t\t\t\t\t\t\t\ticon={ published }\n\t\t\t\t\t\t\t\tdisabled={ status === 'approved' }\n\t\t\t\t\t\t\t\taccessibleWhenDisabled={ status === 'approved' }\n\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\tonEdit( {\n\t\t\t\t\t\t\t\t\t\tid: thread.id,\n\t\t\t\t\t\t\t\t\t\tstatus: 'approved',\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/>\n\t\t\t\t\t\t) }\n\t\t\t\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\tdisabled={ ! moreActions.length }\n\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\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/>\n\t\t\t\t\t\t\t<Menu.Popover>\n\t\t\t\t\t\t\t\t{ moreActions.map( ( action ) => (\n\t\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\t\t\tonClick={ () => action.onClick() }\n\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t{ action.title }\n\t\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t</Menu.Popover>\n\t\t\t\t\t\t</Menu>\n\t\t\t\t\t</HStack>\n\t\t\t\t</FlexItem>\n\t\t\t</HStack>\n\t\t\t{ 'edit' === actionState ? (\n\t\t\t\t<CommentForm\n\t\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t\tonEdit( {\n\t\t\t\t\t\t\tid: thread.id,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetActionState( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => handleCancel() }\n\t\t\t\t\tthread={ thread }\n\t\t\t\t\tsubmitButtonText={ _x( 'Update', 'verb' ) }\n\t\t\t\t\tlabelText={ sprintf(\n\t\t\t\t\t\t// translators: %1$s: comment identifier, %2$s: author name.\n\t\t\t\t\t\t__( 'Edit Comment %1$s by %2$s' ),\n\t\t\t\t\t\tthread.id,\n\t\t\t\t\t\tthread?.author_name || 'Unknown'\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<RawHTML className=\"editor-collab-sidebar-panel__user-comment\">\n\t\t\t\t\t{ thread?.content?.rendered }\n\t\t\t\t</RawHTML>\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={ __( 'Delete' ) }\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
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/collab-sidebar/comments.js"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport clsx from 'clsx';\n\n/**\n * WordPress dependencies\n */\nimport { useState, RawHTML, useEffect, useCallback } from '@wordpress/element';\nimport {\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalConfirmDialog as ConfirmDialog,\n\tButton,\n\tFlexItem,\n\tprivateApis as componentsPrivateApis,\n} from '@wordpress/components';\nimport { useDebounce } from '@wordpress/compose';\n\nimport { published, moreVertical } from '@wordpress/icons';\nimport { __, _x, sprintf, _n } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __unstableStripHTML as stripHTML } from '@wordpress/dom';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport CommentAuthorInfo from './comment-author-info';\nimport CommentForm from './comment-form';\nimport { getCommentExcerpt, focusCommentThread } from './utils';\nimport { useFloatingThread } from './hooks';\n\nconst { useBlockElement } = unlock( blockEditorPrivateApis );\nconst { Menu } = unlock( componentsPrivateApis );\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.setShowCommentBoard - The function to set the comment board visibility.\n * @param {Ref} props.commentSidebarRef - The ref to the comment sidebar.\n * @param {Function} props.reflowComments - The function to call indicating a comment is updated.\n * @param {boolean} props.isFloating - Whether the comment thread is floating.\n * @param {number} props.commentLastUpdated - Timestamp of the last comment update.\n * @return {React.ReactNode} The rendered Comments component.\n */\nexport function Comments( {\n\tthreads,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tsetShowCommentBoard,\n\tcommentSidebarRef,\n\treflowComments,\n\tisFloating = false,\n\tcommentLastUpdated,\n} ) {\n\tconst [ heights, setHeights ] = useState( {} );\n\tconst [ selectedThread, setSelectedThread ] = useState( null );\n\tconst [ boardOffsets, setBoardOffsets ] = useState( {} );\n\tconst [ blockRefs, setBlockRefs ] = useState( {} );\n\n\tconst { blockCommentId, selectedBlockClientId, blockIds } = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetBlockAttributes,\n\t\t\t\tgetSelectedBlockClientId,\n\t\t\t\tgetBlockOrder,\n\t\t\t} = select( blockEditorStore );\n\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\treturn {\n\t\t\t\tblockCommentId: clientId\n\t\t\t\t\t? getBlockAttributes( clientId )?.metadata?.commentId\n\t\t\t\t\t: null,\n\t\t\t\tselectedBlockClientId: clientId,\n\t\t\t\tblockIds: getBlockOrder(),\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst relatedBlockElement = useBlockElement( selectedBlockClientId );\n\n\tconst handleDelete = async ( comment ) => {\n\t\tconst currentIndex = threads.findIndex( ( t ) => t.id === comment.id );\n\t\tconst nextThread = threads[ currentIndex + 1 ];\n\t\tconst prevThread = threads[ currentIndex - 1 ];\n\n\t\tawait onCommentDelete( comment );\n\n\t\tif ( comment.parent !== 0 ) {\n\t\t\t// Move focus to the parent thread when a reply was deleted.\n\t\t\tsetSelectedThread( comment.parent );\n\t\t\tfocusCommentThread( comment.parent, commentSidebarRef.current );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( nextThread ) {\n\t\t\tsetSelectedThread( nextThread.id );\n\t\t\tfocusCommentThread( nextThread.id, commentSidebarRef.current );\n\t\t} else if ( prevThread ) {\n\t\t\tsetSelectedThread( prevThread.id );\n\t\t\tfocusCommentThread( prevThread.id, commentSidebarRef.current );\n\t\t} else {\n\t\t\tsetSelectedThread( null );\n\t\t\tsetShowCommentBoard( false );\n\t\t\t// Move focus to the related block.\n\t\t\trelatedBlockElement?.focus();\n\t\t}\n\t};\n\n\t// Auto-select the related comment thread when a block is selected.\n\tuseEffect( () => {\n\t\tsetSelectedThread( blockCommentId ?? undefined );\n\t}, [ blockCommentId ] );\n\n\tconst setBlockRef = useCallback( ( id, blockRef ) => {\n\t\tsetBlockRefs( ( prev ) => ( { ...prev, [ id ]: blockRef } ) );\n\t}, [] );\n\n\t// Recalculate floating comment thread offsets whenever the heights change.\n\tuseEffect( () => {\n\t\t/**\n\t\t * Calculate the y offsets for all comment threads. Account for potentially\n\t\t * overlapping threads and adjust their positions accordingly.\n\t\t */\n\t\tconst calculateAllOffsets = () => {\n\t\t\tconst offsets = {};\n\t\t\tlet previousThreadData = null;\n\n\t\t\tif ( ! isFloating ) {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\t// Go through the comment threads from top to bottom.\n\t\t\tthreads.forEach( ( thread ) => {\n\t\t\t\tif ( ! blockRefs[ thread.id ] ) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t// The thread's starting top position is determined by its\n\t\t\t\t// associated block's position.\n\t\t\t\tconst blockElement = blockRefs[ thread.id ];\n\t\t\t\tconst blockRect = blockElement?.getBoundingClientRect();\n\t\t\t\tconst threadTop = blockRect?.top || 0;\n\n\t\t\t\t// Heights are tracked by the comment threads themselves.\n\t\t\t\tconst threadHeight = heights[ thread.id ] || 0;\n\n\t\t\t\t// By default, remove the top margin by shifting the block up\n\t\t\t\t// so it more precisely aligns with the block.\n\t\t\t\tlet additionalOffset = -16;\n\n\t\t\t\t// The first block never needs to be adjusted.\n\t\t\t\tif ( previousThreadData ) {\n\t\t\t\t\t// Check if the thread overlaps with the previous one.\n\t\t\t\t\tconst previousBottom =\n\t\t\t\t\t\tpreviousThreadData.threadTop +\n\t\t\t\t\t\tpreviousThreadData.threadHeight;\n\t\t\t\t\tif ( threadTop < previousBottom ) {\n\t\t\t\t\t\t// Shift down by the difference plus a margin to avoid overlap.\n\t\t\t\t\t\tadditionalOffset = previousBottom - threadTop + 20;\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\t// Store the current thread's position and height for the next iteration.\n\t\t\t\tpreviousThreadData = {\n\t\t\t\t\tthreadTop: threadTop + additionalOffset,\n\t\t\t\t\tthreadHeight,\n\t\t\t\t};\n\n\t\t\t\toffsets[ thread.id ] = additionalOffset;\n\t\t\t} );\n\n\t\t\treturn offsets;\n\t\t};\n\t\tconst newOffsets = calculateAllOffsets();\n\t\tsetBoardOffsets( newOffsets );\n\t}, [ heights, blockIds, blockRefs, isFloating, threads ] );\n\n\tconst hasThreads = Array.isArray( threads ) && threads.length > 0;\n\tif ( ! hasThreads ) {\n\t\treturn (\n\t\t\t<VStack\n\t\t\t\talignment=\"left\"\n\t\t\t\tclassName=\"editor-collab-sidebar-panel__thread\"\n\t\t\t\tjustify=\"flex-start\"\n\t\t\t\tspacing=\"3\"\n\t\t\t>\n\t\t\t\t{ __( 'No notes available.' ) }\n\t\t\t</VStack>\n\t\t);\n\t}\n\n\treturn (\n\t\t<VStack spacing=\"3\">\n\t\t\t{ ! isFloating && (\n\t\t\t\t<Text as=\"p\" variant=\"muted\">\n\t\t\t\t\t{ __( 'Only logged in users can see Notes' ) }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t\t{ threads.map( ( thread ) => (\n\t\t\t\t<Thread\n\t\t\t\t\tkey={ thread.id }\n\t\t\t\t\tthread={ thread }\n\t\t\t\t\tonAddReply={ onAddReply }\n\t\t\t\t\tonCommentDelete={ handleDelete }\n\t\t\t\t\tonEditComment={ onEditComment }\n\t\t\t\t\tisSelected={ selectedThread === thread.id }\n\t\t\t\t\tsetSelectedThread={ setSelectedThread }\n\t\t\t\t\tsetShowCommentBoard={ setShowCommentBoard }\n\t\t\t\t\tcommentSidebarRef={ commentSidebarRef }\n\t\t\t\t\treflowComments={ reflowComments }\n\t\t\t\t\tisFloating={ isFloating }\n\t\t\t\t\tcalculatedOffset={\n\t\t\t\t\t\tboardOffsets ? boardOffsets[ thread.id ] : 0\n\t\t\t\t\t}\n\t\t\t\t\tsetHeights={ setHeights }\n\t\t\t\t\tsetBlockRef={ setBlockRef }\n\t\t\t\t\tselectedThread={ selectedThread }\n\t\t\t\t\tcommentLastUpdated={ commentLastUpdated }\n\t\t\t\t/>\n\t\t\t) ) }\n\t\t</VStack>\n\t);\n}\n\nfunction Thread( {\n\tthread,\n\tonEditComment,\n\tonAddReply,\n\tonCommentDelete,\n\tisSelected,\n\tsetShowCommentBoard,\n\tcommentSidebarRef,\n\treflowComments,\n\tisFloating,\n\tcalculatedOffset,\n\tsetHeights,\n\tsetBlockRef,\n\tsetSelectedThread,\n\tselectedThread,\n\tcommentLastUpdated,\n} ) {\n\tconst { toggleBlockHighlight, selectBlock, toggleBlockSpotlight } = unlock(\n\t\tuseDispatch( blockEditorStore )\n\t);\n\tconst relatedBlockElement = useBlockElement( thread.blockClientId );\n\tconst debouncedToggleBlockHighlight = useDebounce(\n\t\ttoggleBlockHighlight,\n\t\t50\n\t);\n\tconst { y, refs } = useFloatingThread( {\n\t\tthread,\n\t\tcalculatedOffset,\n\t\tsetHeights,\n\t\tsetBlockRef,\n\t\tselectedThread,\n\t\tcommentLastUpdated,\n\t} );\n\n\tconst onMouseEnter = () => {\n\t\tdebouncedToggleBlockHighlight( thread.blockClientId, true );\n\t};\n\n\tconst onMouseLeave = () => {\n\t\tdebouncedToggleBlockHighlight( thread.blockClientId, false );\n\t};\n\n\tconst handleCommentSelect = () => {\n\t\tsetShowCommentBoard( false );\n\t\tsetSelectedThread( thread.id );\n\t\t// pass `null` as the second parameter to prevent focusing the block.\n\t\tselectBlock( thread.blockClientId, null );\n\t\ttoggleBlockSpotlight( thread.blockClientId, true );\n\t};\n\n\tconst unselectThread = () => {\n\t\tsetSelectedThread( null );\n\t\tsetShowCommentBoard( false );\n\t\ttoggleBlockSpotlight( thread.blockClientId, false );\n\t};\n\n\tconst allReplies = thread?.reply || [];\n\n\tconst lastReply =\n\t\tallReplies.length > 0 ? allReplies[ allReplies.length - 1 ] : undefined;\n\tconst restReplies = allReplies.length > 0 ? allReplies.slice( 0, -1 ) : [];\n\n\tconst commentExcerpt = getCommentExcerpt(\n\t\tstripHTML( thread.content.rendered ),\n\t\t10\n\t);\n\tconst ariaLabel = relatedBlockElement\n\t\t? sprintf(\n\t\t\t\t// translators: %s: note excerpt\n\t\t\t\t__( 'Note: %s' ),\n\t\t\t\tcommentExcerpt\n\t\t )\n\t\t: sprintf(\n\t\t\t\t// translators: %s: note excerpt\n\t\t\t\t__( 'Original block deleted. Note: %s' ),\n\t\t\t\tcommentExcerpt\n\t\t );\n\n\treturn (\n\t\t// Disable reason: role=\"listitem\" does in fact support aria-expanded.\n\t\t// eslint-disable-next-line jsx-a11y/role-supports-aria-props\n\t\t<VStack\n\t\t\tclassName={ clsx( 'editor-collab-sidebar-panel__thread', {\n\t\t\t\t'is-selected': isSelected,\n\t\t\t\t'is-floating': isFloating,\n\t\t\t} ) }\n\t\t\tid={ `comment-thread-${ thread.id }` }\n\t\t\tspacing=\"3\"\n\t\t\tonClick={ handleCommentSelect }\n\t\t\tonMouseEnter={ onMouseEnter }\n\t\t\tonMouseLeave={ onMouseLeave }\n\t\t\tonFocus={ onMouseEnter }\n\t\t\tonBlur={ onMouseLeave }\n\t\t\tonKeyDown={ ( event ) => {\n\t\t\t\t// Expand or Collapse thread.\n\t\t\t\tif (\n\t\t\t\t\tevent.key === 'Enter' &&\n\t\t\t\t\tevent.currentTarget === event.target\n\t\t\t\t) {\n\t\t\t\t\tif ( isSelected ) {\n\t\t\t\t\t\tunselectThread();\n\t\t\t\t\t} else {\n\t\t\t\t\t\thandleCommentSelect();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\t// Collapse thread and focus the thread.\n\t\t\t\tif ( event.key === 'Escape' ) {\n\t\t\t\t\tunselectThread();\n\t\t\t\t\tfocusCommentThread( thread.id, commentSidebarRef.current );\n\t\t\t\t}\n\t\t\t} }\n\t\t\ttabIndex={ 0 }\n\t\t\trole=\"listitem\"\n\t\t\taria-label={ ariaLabel }\n\t\t\taria-expanded={ isSelected }\n\t\t\tref={ isFloating ? refs.setFloating : undefined }\n\t\t\tstyle={ isFloating ? { top: y } : undefined }\n\t\t>\n\t\t\t<Button\n\t\t\t\tclassName=\"editor-collab-sidebar-panel__skip-to-comment\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tfocusCommentThread(\n\t\t\t\t\t\tthread.id,\n\t\t\t\t\t\tcommentSidebarRef.current,\n\t\t\t\t\t\t'textarea'\n\t\t\t\t\t);\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Add new note' ) }\n\t\t\t</Button>\n\t\t\t{ ! relatedBlockElement && (\n\t\t\t\t<Text as=\"p\" weight={ 500 } variant=\"muted\">\n\t\t\t\t\t{ __( 'Original block deleted.' ) }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t\t<CommentBoard\n\t\t\t\tthread={ thread }\n\t\t\t\tisExpanded={ isSelected }\n\t\t\t\tonEdit={ ( params = {} ) => {\n\t\t\t\t\tconst { status } = params;\n\t\t\t\t\tonEditComment( params );\n\t\t\t\t\tif ( status === 'approved' ) {\n\t\t\t\t\t\tunselectThread();\n\t\t\t\t\t\tfocusCommentThread(\n\t\t\t\t\t\t\tthread.id,\n\t\t\t\t\t\t\tcommentSidebarRef.current\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} }\n\t\t\t\tonDelete={ onCommentDelete }\n\t\t\t\treflowComments={ reflowComments }\n\t\t\t/>\n\t\t\t{ isSelected &&\n\t\t\t\tallReplies.map( ( reply ) => (\n\t\t\t\t\t<CommentBoard\n\t\t\t\t\t\tkey={ reply.id }\n\t\t\t\t\t\tthread={ reply }\n\t\t\t\t\t\tparent={ thread }\n\t\t\t\t\t\tisExpanded={ isSelected }\n\t\t\t\t\t\tonEdit={ onEditComment }\n\t\t\t\t\t\tonDelete={ onCommentDelete }\n\t\t\t\t\t\treflowComments={ reflowComments }\n\t\t\t\t\t/>\n\t\t\t\t) ) }\n\t\t\t{ ! isSelected && restReplies.length > 0 && (\n\t\t\t\t<HStack className=\"editor-collab-sidebar-panel__more-reply-separator\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__more-reply-button\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetSelectedThread( thread.id );\n\t\t\t\t\t\t\tfocusCommentThread(\n\t\t\t\t\t\t\t\tthread.id,\n\t\t\t\t\t\t\t\tcommentSidebarRef.current\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t// translators: %s: number of replies.\n\t\t\t\t\t\t\t_n(\n\t\t\t\t\t\t\t\t'%s more reply',\n\t\t\t\t\t\t\t\t'%s more replies',\n\t\t\t\t\t\t\t\trestReplies.length\n\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\trestReplies.length\n\t\t\t\t\t\t) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t) }\n\t\t\t{ ! isSelected && lastReply && (\n\t\t\t\t<CommentBoard\n\t\t\t\t\tthread={ lastReply }\n\t\t\t\t\tparent={ thread }\n\t\t\t\t\tisExpanded={ isSelected }\n\t\t\t\t\tonEdit={ onEditComment }\n\t\t\t\t\tonDelete={ onCommentDelete }\n\t\t\t\t\treflowComments={ reflowComments }\n\t\t\t\t/>\n\t\t\t) }\n\t\t\t{ isSelected && (\n\t\t\t\t<VStack spacing=\"2\">\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 spacing=\"2\">\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\tif ( 'approved' === thread.status ) {\n\t\t\t\t\t\t\t\t\t// For reopening, include the content in the reopen action.\n\t\t\t\t\t\t\t\t\tonEditComment( {\n\t\t\t\t\t\t\t\t\t\tid: thread.id,\n\t\t\t\t\t\t\t\t\t\tstatus: 'hold',\n\t\t\t\t\t\t\t\t\t\tcontent: inputComment,\n\t\t\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t// For regular replies, add as separate comment.\n\t\t\t\t\t\t\t\t\tonAddReply( {\n\t\t\t\t\t\t\t\t\t\tcontent: inputComment,\n\t\t\t\t\t\t\t\t\t\tparent: thread.id,\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} }\n\t\t\t\t\t\t\tonCancel={ ( event ) => {\n\t\t\t\t\t\t\t\t// Prevent the parent onClick from being triggered.\n\t\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t\t\tunselectThread();\n\t\t\t\t\t\t\t\tfocusCommentThread(\n\t\t\t\t\t\t\t\t\tthread.id,\n\t\t\t\t\t\t\t\t\tcommentSidebarRef.current\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\tsubmitButtonText={\n\t\t\t\t\t\t\t\t'approved' === thread.status\n\t\t\t\t\t\t\t\t\t? __( 'Reopen & Reply' )\n\t\t\t\t\t\t\t\t\t: __( 'Reply' )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\trows={ 'approved' === thread.status ? 2 : 4 }\n\t\t\t\t\t\t\tlabelText={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %1$s: note identifier, %2$s: author name\n\t\t\t\t\t\t\t\t__( 'Reply to Note %1$s by %2$s' ),\n\t\t\t\t\t\t\t\tthread.id,\n\t\t\t\t\t\t\t\tthread?.author_name || 'Unknown'\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\treflowComments={ reflowComments }\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\t<Button\n\t\t\t\tclassName=\"editor-collab-sidebar-panel__skip-to-block\"\n\t\t\t\tvariant=\"secondary\"\n\t\t\t\tsize=\"compact\"\n\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\trelatedBlockElement?.focus();\n\t\t\t\t} }\n\t\t\t>\n\t\t\t\t{ __( 'Back to block' ) }\n\t\t\t</Button>\n\t\t</VStack>\n\t);\n}\n\nconst CommentBoard = ( {\n\tthread,\n\tparent,\n\tisExpanded,\n\tonEdit,\n\tonDelete,\n\treflowComments,\n} ) => {\n\tconst [ actionState, setActionState ] = useState( false );\n\tconst [ showConfirmDialog, setShowConfirmDialog ] = useState( false );\n\n\tconst handleConfirmDelete = () => {\n\t\tonDelete( thread );\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\t// Check if this is a resolution comment by checking metadata.\n\tconst isResolutionComment =\n\t\tthread.type === 'note' &&\n\t\tthread.meta &&\n\t\t( thread.meta._wp_note_status === 'resolved' ||\n\t\t\tthread.meta._wp_note_status === 'reopen' );\n\n\tconst actions = [\n\t\t{\n\t\t\tid: 'edit',\n\t\t\ttitle: __( 'Edit' ),\n\t\t\tisEligible: ( { status } ) => status !== 'approved',\n\t\t\tonClick: () => {\n\t\t\t\tsetActionState( 'edit' );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'reopen',\n\t\t\ttitle: _x( 'Reopen', 'Reopen note' ),\n\t\t\tisEligible: ( { status } ) => status === 'approved',\n\t\t\tonClick: () => {\n\t\t\t\tonEdit( { id: thread.id, status: 'hold' } );\n\t\t\t},\n\t\t},\n\t\t{\n\t\t\tid: 'delete',\n\t\t\ttitle: __( 'Delete' ),\n\t\t\tisEligible: () => true,\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 canResolve = thread.parent === 0;\n\tconst moreActions =\n\t\tparent?.status !== 'approved'\n\t\t\t? actions.filter( ( item ) => item.isEligible( thread ) )\n\t\t\t: [];\n\n\treturn (\n\t\t<VStack spacing=\"2\">\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\tuserId={ thread?.author }\n\t\t\t\t/>\n\t\t\t\t{ isExpanded && (\n\t\t\t\t\t<FlexItem\n\t\t\t\t\t\tclassName=\"editor-collab-sidebar-panel__comment-status\"\n\t\t\t\t\t\tonClick={ ( event ) => {\n\t\t\t\t\t\t\t// Prevent the thread from being selected.\n\t\t\t\t\t\t\tevent.stopPropagation();\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t<HStack spacing=\"0\">\n\t\t\t\t\t\t\t{ canResolve && (\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 note as resolved'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\ticon={ published }\n\t\t\t\t\t\t\t\t\tdisabled={ thread.status === 'approved' }\n\t\t\t\t\t\t\t\t\taccessibleWhenDisabled={\n\t\t\t\t\t\t\t\t\t\tthread.status === 'approved'\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\t\t\t\tonEdit( {\n\t\t\t\t\t\t\t\t\t\t\tid: thread.id,\n\t\t\t\t\t\t\t\t\t\t\tstatus: 'approved',\n\t\t\t\t\t\t\t\t\t\t} );\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) }\n\t\t\t\t\t\t\t<Menu placement=\"bottom-end\">\n\t\t\t\t\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\t\t\t\t\trender={\n\t\t\t\t\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\t\t\t\t\tdisabled={ ! moreActions.length }\n\t\t\t\t\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\t\t\t\t/>\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<Menu.Popover>\n\t\t\t\t\t\t\t\t\t{ moreActions.map( ( action ) => (\n\t\t\t\t\t\t\t\t\t\t<Menu.Item\n\t\t\t\t\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\t\t\t\t\tonClick={ () => action.onClick() }\n\t\t\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t\t\t<Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t\t\t{ action.title }\n\t\t\t\t\t\t\t\t\t\t\t</Menu.ItemLabel>\n\t\t\t\t\t\t\t\t\t\t</Menu.Item>\n\t\t\t\t\t\t\t\t\t) ) }\n\t\t\t\t\t\t\t\t</Menu.Popover>\n\t\t\t\t\t\t\t</Menu>\n\t\t\t\t\t\t</HStack>\n\t\t\t\t\t</FlexItem>\n\t\t\t\t) }\n\t\t\t</HStack>\n\t\t\t{ 'edit' === actionState ? (\n\t\t\t\t<CommentForm\n\t\t\t\t\tonSubmit={ ( value ) => {\n\t\t\t\t\t\tonEdit( {\n\t\t\t\t\t\t\tid: thread.id,\n\t\t\t\t\t\t\tcontent: value,\n\t\t\t\t\t\t} );\n\t\t\t\t\t\tsetActionState( false );\n\t\t\t\t\t} }\n\t\t\t\t\tonCancel={ () => handleCancel() }\n\t\t\t\t\tthread={ thread }\n\t\t\t\t\tsubmitButtonText={ _x( 'Update', 'verb' ) }\n\t\t\t\t\tlabelText={ sprintf(\n\t\t\t\t\t\t// translators: %1$s: note identifier, %2$s: author name.\n\t\t\t\t\t\t__( 'Edit note %1$s by %2$s' ),\n\t\t\t\t\t\tthread.id,\n\t\t\t\t\t\tthread?.author_name || 'Unknown'\n\t\t\t\t\t) }\n\t\t\t\t\treflowComments={ reflowComments }\n\t\t\t\t/>\n\t\t\t) : (\n\t\t\t\t<RawHTML\n\t\t\t\t\tclassName={ clsx(\n\t\t\t\t\t\t'editor-collab-sidebar-panel__user-comment',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'editor-collab-sidebar-panel__resolution-text':\n\t\t\t\t\t\t\t\tisResolutionComment,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t{ isResolutionComment\n\t\t\t\t\t\t? ( () => {\n\t\t\t\t\t\t\t\tconst actionText =\n\t\t\t\t\t\t\t\t\tthread.meta._wp_note_status === 'resolved'\n\t\t\t\t\t\t\t\t\t\t? __( 'Marked as resolved' )\n\t\t\t\t\t\t\t\t\t\t: __( 'Reopened' );\n\t\t\t\t\t\t\t\tconst content = thread?.content?.raw;\n\n\t\t\t\t\t\t\t\tif (\n\t\t\t\t\t\t\t\t\tcontent &&\n\t\t\t\t\t\t\t\t\ttypeof content === 'string' &&\n\t\t\t\t\t\t\t\t\tcontent.trim() !== ''\n\t\t\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t\t\treturn sprintf(\n\t\t\t\t\t\t\t\t\t\t// translators: %1$s: action label (\"Marked as resolved\" or \"Reopened\"); %2$s: note text.\n\t\t\t\t\t\t\t\t\t\t__( '%1$s: %2$s' ),\n\t\t\t\t\t\t\t\t\t\tactionText,\n\t\t\t\t\t\t\t\t\t\tcontent\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// If no content, just show the action.\n\t\t\t\t\t\t\t\treturn actionText;\n\t\t\t\t\t\t } )()\n\t\t\t\t\t\t: thread?.content?.rendered }\n\t\t\t\t</RawHTML>\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={ __( 'Delete' ) }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Are you sure you want to delete this note?' ) }\n\t\t\t\t</ConfirmDialog>\n\t\t\t) }\n\t\t</VStack>\n\t);\n};\n\nexport default Comments;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
@@ -1,3 +1,7 @@
1
- export const collabHistorySidebarName = 'edit-post/collab-history-sidebar';
2
- export const collabSidebarName = 'edit-post/collab-sidebar';
3
- //# sourceMappingURL=constants.js.map
1
+ const collabHistorySidebarName = "edit-post/collab-history-sidebar";
2
+ const collabSidebarName = "edit-post/collab-sidebar";
3
+ export {
4
+ collabHistorySidebarName,
5
+ collabSidebarName
6
+ };
7
+ //# sourceMappingURL=constants.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["collabHistorySidebarName","collabSidebarName"],"sources":["@wordpress/editor/src/components/collab-sidebar/constants.js"],"sourcesContent":["export const collabHistorySidebarName = 'edit-post/collab-history-sidebar';\nexport const collabSidebarName = 'edit-post/collab-sidebar';\n"],"mappings":"AAAA,OAAO,MAAMA,wBAAwB,GAAG,kCAAkC;AAC1E,OAAO,MAAMC,iBAAiB,GAAG,0BAA0B","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/collab-sidebar/constants.js"],
4
+ "sourcesContent": ["export const collabHistorySidebarName = 'edit-post/collab-history-sidebar';\nexport const collabSidebarName = 'edit-post/collab-sidebar';\n"],
5
+ "mappings": "AAAO,MAAM,2BAA2B;AACjC,MAAM,oBAAoB;",
6
+ "names": []
7
+ }
@@ -1,89 +1,336 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useMemo } from '@wordpress/element';
5
- import { useEntityRecords } from '@wordpress/core-data';
6
- import { useSelect } from '@wordpress/data';
7
- import { store as blockEditorStore } from '@wordpress/block-editor';
8
- export function useBlockComments(postId) {
1
+ import {
2
+ useFloating,
3
+ offset as offsetMiddleware,
4
+ autoUpdate
5
+ } from "@floating-ui/react-dom";
6
+ import { __ } from "@wordpress/i18n";
7
+ import {
8
+ useEffect,
9
+ useMemo,
10
+ useRef,
11
+ useCallback,
12
+ useReducer
13
+ } from "@wordpress/element";
14
+ import { useEntityRecords, store as coreStore } from "@wordpress/core-data";
15
+ import { useDispatch, useRegistry, useSelect } from "@wordpress/data";
16
+ import {
17
+ store as blockEditorStore,
18
+ privateApis as blockEditorPrivateApis
19
+ } from "@wordpress/block-editor";
20
+ import { store as noticesStore } from "@wordpress/notices";
21
+ import { decodeEntities } from "@wordpress/html-entities";
22
+ import { store as interfaceStore } from "@wordpress/interface";
23
+ import { store as editorStore } from "../../store";
24
+ import { collabSidebarName } from "./constants";
25
+ import { unlock } from "../../lock-unlock";
26
+ import { noop } from "./utils";
27
+ const { useBlockElementRef, cleanEmptyObject } = unlock(
28
+ blockEditorPrivateApis
29
+ );
30
+ function useBlockComments(postId) {
31
+ const [commentLastUpdated, reflowComments] = useReducer(
32
+ () => Date.now(),
33
+ 0
34
+ );
9
35
  const queryArgs = {
10
36
  post: postId,
11
- type: 'block_comment',
12
- status: 'all',
37
+ type: "note",
38
+ status: "all",
13
39
  per_page: 100
14
40
  };
15
- const {
16
- records: threads,
17
- totalPages
18
- } = useEntityRecords('root', 'comment', queryArgs, {
19
- enabled: !!postId && typeof postId === 'number'
20
- });
21
- const blocksWithComments = useSelect(select => {
22
- const {
23
- getBlockAttributes,
24
- getClientIdsWithDescendants
25
- } = select(blockEditorStore);
26
- return getClientIdsWithDescendants().reduce((results, clientId) => {
41
+ const { records: threads, totalPages } = useEntityRecords(
42
+ "root",
43
+ "comment",
44
+ queryArgs,
45
+ { enabled: !!postId && typeof postId === "number" }
46
+ );
47
+ const { getBlockAttributes } = useSelect(blockEditorStore);
48
+ const { clientIds } = useSelect((select) => {
49
+ const { getClientIdsWithDescendants } = select(blockEditorStore);
50
+ return {
51
+ clientIds: getClientIdsWithDescendants()
52
+ };
53
+ }, []);
54
+ const { resultComments, unresolvedSortedThreads } = useMemo(() => {
55
+ const blocksWithComments = clientIds.reduce((results, clientId) => {
27
56
  const commentId = getBlockAttributes(clientId)?.metadata?.commentId;
28
57
  if (commentId) {
29
- results[commentId] = clientId;
58
+ results[clientId] = commentId;
30
59
  }
31
60
  return results;
32
61
  }, {});
33
- }, []);
34
-
35
- // Process comments to build the tree structure.
36
- const {
37
- resultComments,
38
- unresolvedSortedThreads
39
- } = useMemo(() => {
40
- // Create a compare to store the references to all objects by id.
41
62
  const compare = {};
42
63
  const result = [];
43
- const allComments = threads !== null && threads !== void 0 ? threads : [];
44
-
45
- // Initialize each object with an empty `reply` array and map blockClientId.
46
- allComments.forEach(item => {
64
+ const allComments = threads ?? [];
65
+ allComments.forEach((item) => {
66
+ const itemBlock = Object.keys(blocksWithComments).find(
67
+ (key) => blocksWithComments[key] === item.id
68
+ );
47
69
  compare[item.id] = {
48
70
  ...item,
49
71
  reply: [],
50
- blockClientId: item.parent === 0 ? blocksWithComments[item.id] : null
72
+ blockClientId: item.parent === 0 ? itemBlock : null
51
73
  };
52
74
  });
53
-
54
- // Iterate over the data to build the tree structure.
55
- allComments.forEach(item => {
75
+ allComments.forEach((item) => {
56
76
  if (item.parent === 0) {
57
- // If parent is 0, it's a root item, push it to the result array.
58
77
  result.push(compare[item.id]);
59
78
  } else if (compare[item.parent]) {
60
- // Otherwise, find its parent and push it to the parent's `reply` array.
61
79
  compare[item.parent].reply.push(compare[item.id]);
62
80
  }
63
81
  });
64
82
  if (0 === result?.length) {
65
- return {
66
- resultComments: [],
67
- unresolvedSortedThreads: []
68
- };
83
+ return { resultComments: [], unresolvedSortedThreads: [] };
69
84
  }
70
- const updatedResult = result.map(item => ({
85
+ const updatedResult = result.map((item) => ({
71
86
  ...item,
72
87
  reply: [...item.reply].reverse()
73
88
  }));
74
- const threadIdMap = new Map(updatedResult.map(thread => [String(thread.id), thread]));
75
-
76
- // Get comments by block order, filter out undefined threads, and exclude resolved comments.
77
- const unresolvedSortedComments = Object.keys(blocksWithComments).map(id => threadIdMap.get(id)).filter(thread => thread !== undefined && thread.status !== 'approved');
89
+ const threadIdMap = new Map(
90
+ updatedResult.map((thread) => [String(thread.id), thread])
91
+ );
92
+ const unresolvedSortedComments = Object.values(blocksWithComments).map((commentId) => threadIdMap.get(String(commentId))).filter(
93
+ (thread) => thread !== void 0 && thread.status === "hold"
94
+ );
95
+ const resolvedSortedComments = Object.values(blocksWithComments).map((commentId) => threadIdMap.get(String(commentId))).filter(
96
+ (thread) => thread !== void 0 && thread.status === "approved"
97
+ );
98
+ const allSortedComments = [
99
+ ...unresolvedSortedComments,
100
+ ...resolvedSortedComments
101
+ ];
78
102
  return {
79
- resultComments: updatedResult,
103
+ resultComments: allSortedComments,
80
104
  unresolvedSortedThreads: unresolvedSortedComments
81
105
  };
82
- }, [threads, blocksWithComments]);
106
+ }, [clientIds, threads, getBlockAttributes]);
83
107
  return {
84
108
  resultComments,
85
109
  unresolvedSortedThreads,
86
- totalPages
110
+ totalPages,
111
+ reflowComments,
112
+ commentLastUpdated
113
+ };
114
+ }
115
+ function useBlockCommentsActions(reflowComments = noop) {
116
+ const { createNotice } = useDispatch(noticesStore);
117
+ const { saveEntityRecord, deleteEntityRecord } = useDispatch(coreStore);
118
+ const { getCurrentPostId } = useSelect(editorStore);
119
+ const { getBlockAttributes, getSelectedBlockClientId } = useSelect(blockEditorStore);
120
+ const { updateBlockAttributes } = useDispatch(blockEditorStore);
121
+ const onError = (error) => {
122
+ const errorMessage = error.message && error.code !== "unknown_error" ? decodeEntities(error.message) : __("An error occurred while performing an update.");
123
+ createNotice("error", errorMessage, {
124
+ type: "snackbar",
125
+ isDismissible: true
126
+ });
127
+ };
128
+ const onCreate = async ({ content, parent }) => {
129
+ try {
130
+ const savedRecord = await saveEntityRecord(
131
+ "root",
132
+ "comment",
133
+ {
134
+ post: getCurrentPostId(),
135
+ content,
136
+ status: "hold",
137
+ type: "note",
138
+ parent: parent || 0
139
+ },
140
+ { throwOnError: true }
141
+ );
142
+ if (!parent && savedRecord?.id) {
143
+ const clientId = getSelectedBlockClientId();
144
+ const metadata = getBlockAttributes(clientId)?.metadata;
145
+ updateBlockAttributes(clientId, {
146
+ metadata: {
147
+ ...metadata,
148
+ commentId: savedRecord.id
149
+ }
150
+ });
151
+ }
152
+ createNotice(
153
+ "snackbar",
154
+ parent ? __("Reply added successfully.") : __("Note added successfully."),
155
+ {
156
+ type: "snackbar",
157
+ isDismissible: true
158
+ }
159
+ );
160
+ setTimeout(reflowComments, 300);
161
+ return savedRecord;
162
+ } catch (error) {
163
+ reflowComments();
164
+ onError(error);
165
+ }
166
+ };
167
+ const onEdit = async ({ id, content, status }) => {
168
+ const messageType = status ? status : "updated";
169
+ const messages = {
170
+ approved: __("Note marked as resolved."),
171
+ hold: __("Note reopened."),
172
+ updated: __("Note updated.")
173
+ };
174
+ try {
175
+ if (status === "approved" || status === "hold") {
176
+ await saveEntityRecord(
177
+ "root",
178
+ "comment",
179
+ {
180
+ id,
181
+ status
182
+ },
183
+ {
184
+ throwOnError: true
185
+ }
186
+ );
187
+ const newCommentData = {
188
+ post: getCurrentPostId(),
189
+ content: content || "",
190
+ // Empty content for resolve, content for reopen.
191
+ type: "note",
192
+ status,
193
+ parent: id,
194
+ meta: {
195
+ _wp_note_status: status === "approved" ? "resolved" : "reopen"
196
+ }
197
+ };
198
+ await saveEntityRecord("root", "comment", newCommentData, {
199
+ throwOnError: true
200
+ });
201
+ } else {
202
+ const updateData = {
203
+ id,
204
+ content,
205
+ status
206
+ };
207
+ await saveEntityRecord("root", "comment", updateData, {
208
+ throwOnError: true
209
+ });
210
+ }
211
+ createNotice(
212
+ "snackbar",
213
+ messages[messageType] ?? __("Note updated."),
214
+ {
215
+ type: "snackbar",
216
+ isDismissible: true
217
+ }
218
+ );
219
+ reflowComments();
220
+ } catch (error) {
221
+ reflowComments();
222
+ onError(error);
223
+ }
224
+ };
225
+ const onDelete = async (comment) => {
226
+ try {
227
+ await deleteEntityRecord(
228
+ "root",
229
+ "comment",
230
+ comment.id,
231
+ void 0,
232
+ {
233
+ throwOnError: true
234
+ }
235
+ );
236
+ if (!comment.parent) {
237
+ const clientId = getSelectedBlockClientId();
238
+ const metadata = getBlockAttributes(clientId)?.metadata;
239
+ updateBlockAttributes(clientId, {
240
+ metadata: cleanEmptyObject({
241
+ ...metadata,
242
+ commentId: void 0
243
+ })
244
+ });
245
+ }
246
+ createNotice("snackbar", __("Note deleted successfully."), {
247
+ type: "snackbar",
248
+ isDismissible: true
249
+ });
250
+ reflowComments();
251
+ } catch (error) {
252
+ reflowComments();
253
+ onError(error);
254
+ }
255
+ };
256
+ return { onCreate, onEdit, onDelete };
257
+ }
258
+ function useEnableFloatingSidebar(enabled = false) {
259
+ const registry = useRegistry();
260
+ useEffect(() => {
261
+ if (!enabled) {
262
+ return;
263
+ }
264
+ return registry.subscribe(() => {
265
+ const activeSidebar = registry.select(interfaceStore).getActiveComplementaryArea("core");
266
+ if (!activeSidebar) {
267
+ registry.dispatch(interfaceStore).enableComplementaryArea("core", collabSidebarName);
268
+ }
269
+ });
270
+ }, [enabled, registry]);
271
+ }
272
+ function useFloatingThread({
273
+ thread,
274
+ calculatedOffset,
275
+ setHeights,
276
+ selectedThread,
277
+ setBlockRef,
278
+ commentLastUpdated
279
+ }) {
280
+ const blockRef = useRef();
281
+ useBlockElementRef(thread.blockClientId, blockRef);
282
+ const updateHeight = useCallback(
283
+ (id, newHeight) => {
284
+ setHeights((prev) => {
285
+ if (prev[id] !== newHeight) {
286
+ return { ...prev, [id]: newHeight };
287
+ }
288
+ return prev;
289
+ });
290
+ },
291
+ [setHeights]
292
+ );
293
+ const { y, refs } = useFloating({
294
+ placement: "right-start",
295
+ middleware: [
296
+ offsetMiddleware({
297
+ crossAxis: calculatedOffset || -16
298
+ })
299
+ ],
300
+ whileElementsMounted: autoUpdate
301
+ });
302
+ useEffect(() => {
303
+ if (blockRef.current) {
304
+ refs.setReference(blockRef.current);
305
+ }
306
+ }, [blockRef, refs]);
307
+ useEffect(() => {
308
+ if (refs.floating?.current) {
309
+ setBlockRef(thread.id, blockRef.current);
310
+ }
311
+ }, [thread.id, refs.floating, setBlockRef]);
312
+ useEffect(() => {
313
+ if (refs.floating?.current) {
314
+ const newHeight = refs.floating.current.scrollHeight;
315
+ updateHeight(thread.id, newHeight);
316
+ }
317
+ }, [
318
+ thread.id,
319
+ updateHeight,
320
+ refs.floating,
321
+ selectedThread,
322
+ commentLastUpdated
323
+ ]);
324
+ return {
325
+ blockRef,
326
+ y,
327
+ refs
87
328
  };
88
329
  }
89
- //# sourceMappingURL=hooks.js.map
330
+ export {
331
+ useBlockComments,
332
+ useBlockCommentsActions,
333
+ useEnableFloatingSidebar,
334
+ useFloatingThread
335
+ };
336
+ //# sourceMappingURL=hooks.js.map
@@ -1 +1,7 @@
1
- {"version":3,"names":["useMemo","useEntityRecords","useSelect","store","blockEditorStore","useBlockComments","postId","queryArgs","post","type","status","per_page","records","threads","totalPages","enabled","blocksWithComments","select","getBlockAttributes","getClientIdsWithDescendants","reduce","results","clientId","commentId","metadata","resultComments","unresolvedSortedThreads","compare","result","allComments","forEach","item","id","reply","blockClientId","parent","push","length","updatedResult","map","reverse","threadIdMap","Map","thread","String","unresolvedSortedComments","Object","keys","get","filter","undefined"],"sources":["@wordpress/editor/src/components/collab-sidebar/hooks.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\n\nexport function useBlockComments( postId ) {\n\tconst queryArgs = {\n\t\tpost: postId,\n\t\ttype: 'block_comment',\n\t\tstatus: 'all',\n\t\tper_page: 100,\n\t};\n\n\tconst { records: threads, totalPages } = useEntityRecords(\n\t\t'root',\n\t\t'comment',\n\t\tqueryArgs,\n\t\t{ enabled: !! postId && typeof postId === 'number' }\n\t);\n\n\tconst blocksWithComments = useSelect( ( select ) => {\n\t\tconst { getBlockAttributes, getClientIdsWithDescendants } =\n\t\t\tselect( blockEditorStore );\n\n\t\treturn getClientIdsWithDescendants().reduce( ( results, clientId ) => {\n\t\t\tconst commentId =\n\t\t\t\tgetBlockAttributes( clientId )?.metadata?.commentId;\n\t\t\tif ( commentId ) {\n\t\t\t\tresults[ commentId ] = clientId;\n\t\t\t}\n\t\t\treturn results;\n\t\t}, {} );\n\t}, [] );\n\n\t// Process comments to build the tree structure.\n\tconst { resultComments, unresolvedSortedThreads } = useMemo( () => {\n\t\t// Create a compare to store the references to all objects by id.\n\t\tconst compare = {};\n\t\tconst result = [];\n\n\t\tconst allComments = threads ?? [];\n\n\t\t// Initialize each object with an empty `reply` array and map blockClientId.\n\t\tallComments.forEach( ( item ) => {\n\t\t\tcompare[ item.id ] = {\n\t\t\t\t...item,\n\t\t\t\treply: [],\n\t\t\t\tblockClientId:\n\t\t\t\t\titem.parent === 0 ? blocksWithComments[ item.id ] : null,\n\t\t\t};\n\t\t} );\n\n\t\t// Iterate over the data to build the tree structure.\n\t\tallComments.forEach( ( item ) => {\n\t\t\tif ( item.parent === 0 ) {\n\t\t\t\t// If parent is 0, it's a root item, push it to the result array.\n\t\t\t\tresult.push( compare[ item.id ] );\n\t\t\t} else if ( compare[ item.parent ] ) {\n\t\t\t\t// Otherwise, find its parent and push it to the parent's `reply` array.\n\t\t\t\tcompare[ item.parent ].reply.push( compare[ item.id ] );\n\t\t\t}\n\t\t} );\n\n\t\tif ( 0 === result?.length ) {\n\t\t\treturn { resultComments: [], unresolvedSortedThreads: [] };\n\t\t}\n\n\t\tconst updatedResult = result.map( ( item ) => ( {\n\t\t\t...item,\n\t\t\treply: [ ...item.reply ].reverse(),\n\t\t} ) );\n\n\t\tconst threadIdMap = new Map(\n\t\t\tupdatedResult.map( ( thread ) => [ String( thread.id ), thread ] )\n\t\t);\n\n\t\t// Get comments by block order, filter out undefined threads, and exclude resolved comments.\n\t\tconst unresolvedSortedComments = Object.keys( blocksWithComments )\n\t\t\t.map( ( id ) => threadIdMap.get( id ) )\n\t\t\t.filter(\n\t\t\t\t( thread ) =>\n\t\t\t\t\tthread !== undefined && thread.status !== 'approved'\n\t\t\t);\n\n\t\treturn {\n\t\t\tresultComments: updatedResult,\n\t\t\tunresolvedSortedThreads: unresolvedSortedComments,\n\t\t};\n\t}, [ threads, blocksWithComments ] );\n\n\treturn { resultComments, unresolvedSortedThreads, totalPages };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../src/components/collab-sidebar/hooks.js"],
4
+ "sourcesContent": ["/**\n * External dependencies\n */\nimport {\n\tuseFloating,\n\toffset as offsetMiddleware,\n\tautoUpdate,\n} from '@floating-ui/react-dom';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tuseEffect,\n\tuseMemo,\n\tuseRef,\n\tuseCallback,\n\tuseReducer,\n} from '@wordpress/element';\nimport { useEntityRecords, store as coreStore } from '@wordpress/core-data';\nimport { useDispatch, useRegistry, useSelect } from '@wordpress/data';\nimport {\n\tstore as blockEditorStore,\n\tprivateApis as blockEditorPrivateApis,\n} from '@wordpress/block-editor';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as interfaceStore } from '@wordpress/interface';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { collabSidebarName } from './constants';\nimport { unlock } from '../../lock-unlock';\nimport { noop } from './utils';\n\nconst { useBlockElementRef, cleanEmptyObject } = unlock(\n\tblockEditorPrivateApis\n);\n\nexport function useBlockComments( postId ) {\n\tconst [ commentLastUpdated, reflowComments ] = useReducer(\n\t\t() => Date.now(),\n\t\t0\n\t);\n\n\tconst queryArgs = {\n\t\tpost: postId,\n\t\ttype: 'note',\n\t\tstatus: 'all',\n\t\tper_page: 100,\n\t};\n\n\tconst { records: threads, totalPages } = useEntityRecords(\n\t\t'root',\n\t\t'comment',\n\t\tqueryArgs,\n\t\t{ enabled: !! postId && typeof postId === 'number' }\n\t);\n\n\tconst { getBlockAttributes } = useSelect( blockEditorStore );\n\tconst { clientIds } = useSelect( ( select ) => {\n\t\tconst { getClientIdsWithDescendants } = select( blockEditorStore );\n\t\treturn {\n\t\t\tclientIds: getClientIdsWithDescendants(),\n\t\t};\n\t}, [] );\n\n\t// Process comments to build the tree structure.\n\tconst { resultComments, unresolvedSortedThreads } = useMemo( () => {\n\t\tconst blocksWithComments = clientIds.reduce( ( results, clientId ) => {\n\t\t\tconst commentId =\n\t\t\t\tgetBlockAttributes( clientId )?.metadata?.commentId;\n\t\t\tif ( commentId ) {\n\t\t\t\tresults[ clientId ] = commentId;\n\t\t\t}\n\t\t\treturn results;\n\t\t}, {} );\n\n\t\t// Create a compare to store the references to all objects by id.\n\t\tconst compare = {};\n\t\tconst result = [];\n\n\t\tconst allComments = threads ?? [];\n\n\t\t// Initialize each object with an empty `reply` array and map blockClientId.\n\t\tallComments.forEach( ( item ) => {\n\t\t\tconst itemBlock = Object.keys( blocksWithComments ).find(\n\t\t\t\t( key ) => blocksWithComments[ key ] === item.id\n\t\t\t);\n\n\t\t\tcompare[ item.id ] = {\n\t\t\t\t...item,\n\t\t\t\treply: [],\n\t\t\t\tblockClientId: item.parent === 0 ? itemBlock : null,\n\t\t\t};\n\t\t} );\n\n\t\t// Iterate over the data to build the tree structure.\n\t\tallComments.forEach( ( item ) => {\n\t\t\tif ( item.parent === 0 ) {\n\t\t\t\t// If parent is 0, it's a root item, push it to the result array.\n\t\t\t\tresult.push( compare[ item.id ] );\n\t\t\t} else if ( compare[ item.parent ] ) {\n\t\t\t\t// Otherwise, find its parent and push it to the parent's `reply` array.\n\t\t\t\tcompare[ item.parent ].reply.push( compare[ item.id ] );\n\t\t\t}\n\t\t} );\n\n\t\tif ( 0 === result?.length ) {\n\t\t\treturn { resultComments: [], unresolvedSortedThreads: [] };\n\t\t}\n\n\t\tconst updatedResult = result.map( ( item ) => ( {\n\t\t\t...item,\n\t\t\treply: [ ...item.reply ].reverse(),\n\t\t} ) );\n\n\t\tconst threadIdMap = new Map(\n\t\t\tupdatedResult.map( ( thread ) => [ String( thread.id ), thread ] )\n\t\t);\n\n\t\t// Get comments by block order, first unresolved, then resolved.\n\t\tconst unresolvedSortedComments = Object.values( blocksWithComments )\n\t\t\t.map( ( commentId ) => threadIdMap.get( String( commentId ) ) )\n\t\t\t.filter(\n\t\t\t\t( thread ) => thread !== undefined && thread.status === 'hold'\n\t\t\t);\n\n\t\tconst resolvedSortedComments = Object.values( blocksWithComments )\n\t\t\t.map( ( commentId ) => threadIdMap.get( String( commentId ) ) )\n\t\t\t.filter(\n\t\t\t\t( thread ) =>\n\t\t\t\t\tthread !== undefined && thread.status === 'approved'\n\t\t\t);\n\n\t\t// Combine unresolved comments in block order with resolved comments at the end.\n\t\tconst allSortedComments = [\n\t\t\t...unresolvedSortedComments,\n\t\t\t...resolvedSortedComments,\n\t\t];\n\n\t\treturn {\n\t\t\tresultComments: allSortedComments,\n\t\t\tunresolvedSortedThreads: unresolvedSortedComments,\n\t\t};\n\t}, [ clientIds, threads, getBlockAttributes ] );\n\n\treturn {\n\t\tresultComments,\n\t\tunresolvedSortedThreads,\n\t\ttotalPages,\n\t\treflowComments,\n\t\tcommentLastUpdated,\n\t};\n}\n\nexport function useBlockCommentsActions( reflowComments = noop ) {\n\tconst { createNotice } = useDispatch( noticesStore );\n\tconst { saveEntityRecord, deleteEntityRecord } = useDispatch( coreStore );\n\tconst { getCurrentPostId } = useSelect( editorStore );\n\tconst { getBlockAttributes, getSelectedBlockClientId } =\n\t\tuseSelect( blockEditorStore );\n\tconst { updateBlockAttributes } = useDispatch( blockEditorStore );\n\n\tconst onError = ( error ) => {\n\t\tconst errorMessage =\n\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t? decodeEntities( error.message )\n\t\t\t\t: __( 'An error occurred while performing an update.' );\n\t\tcreateNotice( 'error', errorMessage, {\n\t\t\ttype: 'snackbar',\n\t\t\tisDismissible: true,\n\t\t} );\n\t};\n\n\tconst onCreate = async ( { content, parent } ) => {\n\t\ttry {\n\t\t\tconst savedRecord = await saveEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'comment',\n\t\t\t\t{\n\t\t\t\t\tpost: getCurrentPostId(),\n\t\t\t\t\tcontent,\n\t\t\t\t\tstatus: 'hold',\n\t\t\t\t\ttype: 'note',\n\t\t\t\t\tparent: parent || 0,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// If it's a main comment, update the block attributes with the comment id.\n\t\t\tif ( ! parent && savedRecord?.id ) {\n\t\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\t\tconst metadata = getBlockAttributes( clientId )?.metadata;\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\tmetadata: {\n\t\t\t\t\t\t...metadata,\n\t\t\t\t\t\tcommentId: savedRecord.id,\n\t\t\t\t\t},\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tcreateNotice(\n\t\t\t\t'snackbar',\n\t\t\t\tparent\n\t\t\t\t\t? __( 'Reply added successfully.' )\n\t\t\t\t\t: __( 'Note added successfully.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t}\n\t\t\t);\n\t\t\tsetTimeout( reflowComments, 300 );\n\t\t\treturn savedRecord;\n\t\t} catch ( error ) {\n\t\t\treflowComments();\n\t\t\tonError( error );\n\t\t}\n\t};\n\n\tconst onEdit = async ( { id, content, status } ) => {\n\t\tconst messageType = status ? status : 'updated';\n\t\tconst messages = {\n\t\t\tapproved: __( 'Note marked as resolved.' ),\n\t\t\thold: __( 'Note reopened.' ),\n\t\t\tupdated: __( 'Note updated.' ),\n\t\t};\n\n\t\ttry {\n\t\t\t// For resolution or reopen actions, create a new note with metadata.\n\t\t\tif ( status === 'approved' || status === 'hold' ) {\n\t\t\t\t// First, update the thread status.\n\t\t\t\tawait saveEntityRecord(\n\t\t\t\t\t'root',\n\t\t\t\t\t'comment',\n\t\t\t\t\t{\n\t\t\t\t\t\tid,\n\t\t\t\t\t\tstatus,\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t\t// Then create a new comment with the metadata.\n\t\t\t\tconst newCommentData = {\n\t\t\t\t\tpost: getCurrentPostId(),\n\t\t\t\t\tcontent: content || '', // Empty content for resolve, content for reopen.\n\t\t\t\t\ttype: 'note',\n\t\t\t\t\tstatus,\n\t\t\t\t\tparent: id,\n\t\t\t\t\tmeta: {\n\t\t\t\t\t\t_wp_note_status:\n\t\t\t\t\t\t\tstatus === 'approved' ? 'resolved' : 'reopen',\n\t\t\t\t\t},\n\t\t\t\t};\n\n\t\t\t\tawait saveEntityRecord( 'root', 'comment', newCommentData, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t} else {\n\t\t\t\tconst updateData = {\n\t\t\t\t\tid,\n\t\t\t\t\tcontent,\n\t\t\t\t\tstatus,\n\t\t\t\t};\n\n\t\t\t\tawait saveEntityRecord( 'root', 'comment', updateData, {\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tcreateNotice(\n\t\t\t\t'snackbar',\n\t\t\t\tmessages[ messageType ] ?? __( 'Note updated.' ),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\tisDismissible: true,\n\t\t\t\t}\n\t\t\t);\n\t\t\treflowComments();\n\t\t} catch ( error ) {\n\t\t\treflowComments();\n\t\t\tonError( error );\n\t\t}\n\t};\n\n\tconst onDelete = async ( comment ) => {\n\t\ttry {\n\t\t\tawait deleteEntityRecord(\n\t\t\t\t'root',\n\t\t\t\t'comment',\n\t\t\t\tcomment.id,\n\t\t\t\tundefined,\n\t\t\t\t{\n\t\t\t\t\tthrowOnError: true,\n\t\t\t\t}\n\t\t\t);\n\n\t\t\tif ( ! comment.parent ) {\n\t\t\t\tconst clientId = getSelectedBlockClientId();\n\t\t\t\tconst metadata = getBlockAttributes( clientId )?.metadata;\n\t\t\t\tupdateBlockAttributes( clientId, {\n\t\t\t\t\tmetadata: cleanEmptyObject( {\n\t\t\t\t\t\t...metadata,\n\t\t\t\t\t\tcommentId: undefined,\n\t\t\t\t\t} ),\n\t\t\t\t} );\n\t\t\t}\n\n\t\t\tcreateNotice( 'snackbar', __( 'Note deleted successfully.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tisDismissible: true,\n\t\t\t} );\n\t\t\treflowComments();\n\t\t} catch ( error ) {\n\t\t\treflowComments();\n\t\t\tonError( error );\n\t\t}\n\t};\n\n\treturn { onCreate, onEdit, onDelete };\n}\n\nexport function useEnableFloatingSidebar( enabled = false ) {\n\tconst registry = useRegistry();\n\tuseEffect( () => {\n\t\tif ( ! enabled ) {\n\t\t\treturn;\n\t\t}\n\n\t\treturn registry.subscribe( () => {\n\t\t\tconst activeSidebar = registry\n\t\t\t\t.select( interfaceStore )\n\t\t\t\t.getActiveComplementaryArea( 'core' );\n\n\t\t\tif ( ! activeSidebar ) {\n\t\t\t\tregistry\n\t\t\t\t\t.dispatch( interfaceStore )\n\t\t\t\t\t.enableComplementaryArea( 'core', collabSidebarName );\n\t\t\t}\n\t\t} );\n\t}, [ enabled, registry ] );\n}\n\nexport function useFloatingThread( {\n\tthread,\n\tcalculatedOffset,\n\tsetHeights,\n\tselectedThread,\n\tsetBlockRef,\n\tcommentLastUpdated,\n} ) {\n\tconst blockRef = useRef();\n\tuseBlockElementRef( thread.blockClientId, blockRef );\n\n\tconst updateHeight = useCallback(\n\t\t( id, newHeight ) => {\n\t\t\tsetHeights( ( prev ) => {\n\t\t\t\tif ( prev[ id ] !== newHeight ) {\n\t\t\t\t\treturn { ...prev, [ id ]: newHeight };\n\t\t\t\t}\n\t\t\t\treturn prev;\n\t\t\t} );\n\t\t},\n\t\t[ setHeights ]\n\t);\n\n\t// Use floating-ui to track the block element's position with the calculated offset.\n\tconst { y, refs } = useFloating( {\n\t\tplacement: 'right-start',\n\t\tmiddleware: [\n\t\t\toffsetMiddleware( {\n\t\t\t\tcrossAxis: calculatedOffset || -16,\n\t\t\t} ),\n\t\t],\n\t\twhileElementsMounted: autoUpdate,\n\t} );\n\n\t// Store the block reference for each thread.\n\tuseEffect( () => {\n\t\tif ( blockRef.current ) {\n\t\t\trefs.setReference( blockRef.current );\n\t\t}\n\t}, [ blockRef, refs ] );\n\n\t// Track thread heights.\n\tuseEffect( () => {\n\t\tif ( refs.floating?.current ) {\n\t\t\tsetBlockRef( thread.id, blockRef.current );\n\t\t}\n\t}, [ thread.id, refs.floating, setBlockRef ] );\n\n\t// When the selected thread changes, update heights, triggering offset recalculation.\n\tuseEffect( () => {\n\t\tif ( refs.floating?.current ) {\n\t\t\tconst newHeight = refs.floating.current.scrollHeight;\n\t\t\tupdateHeight( thread.id, newHeight );\n\t\t}\n\t}, [\n\t\tthread.id,\n\t\tupdateHeight,\n\t\trefs.floating,\n\t\tselectedThread,\n\t\tcommentLastUpdated,\n\t] );\n\n\treturn {\n\t\tblockRef,\n\t\ty,\n\t\trefs,\n\t};\n}\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }