@wordpress/editor 14.13.1-next.a9f418477.0 → 14.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/bindings/pattern-overrides.js +1 -0
  3. package/build/bindings/pattern-overrides.js.map +1 -1
  4. package/build/bindings/post-meta.js +1 -0
  5. package/build/bindings/post-meta.js.map +1 -1
  6. package/build/components/autocompleters/user.js +1 -0
  7. package/build/components/autocompleters/user.js.map +1 -1
  8. package/build/components/block-removal-warnings/index.js +1 -0
  9. package/build/components/block-removal-warnings/index.js.map +1 -1
  10. package/build/components/block-settings-menu/content-only-settings-menu.js +1 -0
  11. package/build/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  12. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -0
  13. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  14. package/build/components/collab-sidebar/add-comment.js +1 -1
  15. package/build/components/collab-sidebar/add-comment.js.map +1 -1
  16. package/build/components/collab-sidebar/comment-button.js +7 -2
  17. package/build/components/collab-sidebar/comment-button.js.map +1 -1
  18. package/build/components/collab-sidebar/comment-form.js +4 -1
  19. package/build/components/collab-sidebar/comment-form.js.map +1 -1
  20. package/build/components/collab-sidebar/comments.js +199 -185
  21. package/build/components/collab-sidebar/comments.js.map +1 -1
  22. package/build/components/collab-sidebar/index.js +11 -4
  23. package/build/components/collab-sidebar/index.js.map +1 -1
  24. package/build/components/collab-sidebar/utils.js +1 -0
  25. package/build/components/collab-sidebar/utils.js.map +1 -1
  26. package/build/components/deprecated.js +1 -0
  27. package/build/components/deprecated.js.map +1 -1
  28. package/build/components/document-outline/index.js +1 -0
  29. package/build/components/document-outline/index.js.map +1 -1
  30. package/build/components/editor-help/index.native.js +1 -0
  31. package/build/components/editor-help/index.native.js.map +1 -1
  32. package/build/components/editor-notices/index.js +1 -0
  33. package/build/components/editor-notices/index.js.map +1 -1
  34. package/build/components/editor-snackbars/index.js +1 -0
  35. package/build/components/editor-snackbars/index.js.map +1 -1
  36. package/build/components/entities-saved-states/entity-type-list.js +1 -0
  37. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  38. package/build/components/entities-saved-states/hooks/use-is-dirty.js +1 -0
  39. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  40. package/build/components/entities-saved-states/index.js +1 -0
  41. package/build/components/entities-saved-states/index.js.map +1 -1
  42. package/build/components/keyboard-shortcut-help-modal/index.js +1 -0
  43. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  44. package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -0
  45. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  46. package/build/components/list-view-sidebar/index.js +1 -0
  47. package/build/components/list-view-sidebar/index.js.map +1 -1
  48. package/build/components/local-autosave-monitor/index.js +1 -0
  49. package/build/components/local-autosave-monitor/index.js.map +1 -1
  50. package/build/components/mode-switcher/index.js +1 -0
  51. package/build/components/mode-switcher/index.js.map +1 -1
  52. package/build/components/page-attributes/parent.js +1 -0
  53. package/build/components/page-attributes/parent.js.map +1 -1
  54. package/build/components/post-actions/actions.js +1 -0
  55. package/build/components/post-actions/actions.js.map +1 -1
  56. package/build/components/post-actions/index.js +77 -91
  57. package/build/components/post-actions/index.js.map +1 -1
  58. package/build/components/post-author/hook.js +1 -0
  59. package/build/components/post-author/hook.js.map +1 -1
  60. package/build/components/post-card-panel/index.js +55 -20
  61. package/build/components/post-card-panel/index.js.map +1 -1
  62. package/build/components/post-fields/index.js +1 -0
  63. package/build/components/post-fields/index.js.map +1 -1
  64. package/build/components/post-format/index.js +1 -0
  65. package/build/components/post-format/index.js.map +1 -1
  66. package/build/components/post-format/panel.js +1 -0
  67. package/build/components/post-format/panel.js.map +1 -1
  68. package/build/components/post-publish-button/index.js +1 -0
  69. package/build/components/post-publish-button/index.js.map +1 -1
  70. package/build/components/post-publish-panel/maybe-category-panel.js +1 -0
  71. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  72. package/build/components/post-publish-panel/maybe-post-format-panel.js +1 -0
  73. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  74. package/build/components/post-publish-panel/maybe-upload-media.js +1 -0
  75. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  76. package/build/components/post-publish-panel/media-util.js +1 -0
  77. package/build/components/post-publish-panel/media-util.js.map +1 -1
  78. package/build/components/post-saved-state/index.js +1 -0
  79. package/build/components/post-saved-state/index.js.map +1 -1
  80. package/build/components/post-schedule/index.js +1 -0
  81. package/build/components/post-schedule/index.js.map +1 -1
  82. package/build/components/post-taxonomies/flat-term-selector.js +1 -0
  83. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  84. package/build/components/post-taxonomies/hierarchical-term-selector.js +1 -0
  85. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  86. package/build/components/post-taxonomies/index.js +1 -0
  87. package/build/components/post-taxonomies/index.js.map +1 -1
  88. package/build/components/post-taxonomies/most-used-terms.js +1 -0
  89. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  90. package/build/components/post-template/classic-theme.js +1 -0
  91. package/build/components/post-template/classic-theme.js.map +1 -1
  92. package/build/components/post-template/swap-template-button.js +1 -0
  93. package/build/components/post-template/swap-template-button.js.map +1 -1
  94. package/build/components/post-transform-panel/hooks.js +1 -0
  95. package/build/components/post-transform-panel/hooks.js.map +1 -1
  96. package/build/components/post-type-support-check/index.js +1 -0
  97. package/build/components/post-type-support-check/index.js.map +1 -1
  98. package/build/components/preferences-modal/block-visibility.js +1 -0
  99. package/build/components/preferences-modal/block-visibility.js.map +1 -1
  100. package/build/components/preferences-modal/index.js +1 -0
  101. package/build/components/preferences-modal/index.js.map +1 -1
  102. package/build/components/provider/disable-non-page-content-blocks.js +1 -0
  103. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  104. package/build/components/provider/index.native.js +1 -0
  105. package/build/components/provider/index.native.js.map +1 -1
  106. package/build/components/provider/use-block-editor-settings.js +1 -0
  107. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  108. package/build/components/sidebar/index.js +1 -0
  109. package/build/components/sidebar/index.js.map +1 -1
  110. package/build/components/start-page-options/index.js +1 -0
  111. package/build/components/start-page-options/index.js.map +1 -1
  112. package/build/components/start-template-options/index.js +1 -0
  113. package/build/components/start-template-options/index.js.map +1 -1
  114. package/build/components/template-part-content-panel/index.js +1 -0
  115. package/build/components/template-part-content-panel/index.js.map +1 -1
  116. package/build/components/theme-support-check/index.js +1 -0
  117. package/build/components/theme-support-check/index.js.map +1 -1
  118. package/build/components/visual-editor/use-select-nearest-editable-block.js +1 -0
  119. package/build/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  120. package/build/dataviews/store/private-actions.js +1 -0
  121. package/build/dataviews/store/private-actions.js.map +1 -1
  122. package/build/dataviews/store/reducer.js +1 -0
  123. package/build/dataviews/store/reducer.js.map +1 -1
  124. package/build/hooks/custom-sources-backwards-compatibility.js +1 -0
  125. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  126. package/build/hooks/pattern-overrides.js +1 -0
  127. package/build/hooks/pattern-overrides.js.map +1 -1
  128. package/build/store/actions.js +1 -0
  129. package/build/store/actions.js.map +1 -1
  130. package/build/store/private-actions.js +1 -0
  131. package/build/store/private-actions.js.map +1 -1
  132. package/build/store/private-selectors.js +1 -0
  133. package/build/store/private-selectors.js.map +1 -1
  134. package/build/store/reducer.js +1 -0
  135. package/build/store/reducer.js.map +1 -1
  136. package/build/store/reducer.native.js +1 -0
  137. package/build/store/reducer.native.js.map +1 -1
  138. package/build/store/selectors.js +1 -0
  139. package/build/store/selectors.js.map +1 -1
  140. package/build/utils/get-template-info.js +1 -0
  141. package/build/utils/get-template-info.js.map +1 -1
  142. package/build/utils/pageTypeBadge.js +4 -3
  143. package/build/utils/pageTypeBadge.js.map +1 -1
  144. package/build/utils/terms.js +1 -0
  145. package/build/utils/terms.js.map +1 -1
  146. package/build-module/bindings/pattern-overrides.js +1 -0
  147. package/build-module/bindings/pattern-overrides.js.map +1 -1
  148. package/build-module/bindings/post-meta.js +1 -0
  149. package/build-module/bindings/post-meta.js.map +1 -1
  150. package/build-module/components/autocompleters/user.js +1 -0
  151. package/build-module/components/autocompleters/user.js.map +1 -1
  152. package/build-module/components/block-removal-warnings/index.js +1 -0
  153. package/build-module/components/block-removal-warnings/index.js.map +1 -1
  154. package/build-module/components/block-settings-menu/content-only-settings-menu.js +1 -0
  155. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  156. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +1 -0
  157. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  158. package/build-module/components/collab-sidebar/add-comment.js +1 -1
  159. package/build-module/components/collab-sidebar/add-comment.js.map +1 -1
  160. package/build-module/components/collab-sidebar/comment-button.js +7 -2
  161. package/build-module/components/collab-sidebar/comment-button.js.map +1 -1
  162. package/build-module/components/collab-sidebar/comment-form.js +4 -1
  163. package/build-module/components/collab-sidebar/comment-form.js.map +1 -1
  164. package/build-module/components/collab-sidebar/comments.js +201 -187
  165. package/build-module/components/collab-sidebar/comments.js.map +1 -1
  166. package/build-module/components/collab-sidebar/index.js +11 -4
  167. package/build-module/components/collab-sidebar/index.js.map +1 -1
  168. package/build-module/components/collab-sidebar/utils.js +1 -0
  169. package/build-module/components/collab-sidebar/utils.js.map +1 -1
  170. package/build-module/components/deprecated.js +1 -0
  171. package/build-module/components/deprecated.js.map +1 -1
  172. package/build-module/components/document-outline/index.js +1 -0
  173. package/build-module/components/document-outline/index.js.map +1 -1
  174. package/build-module/components/editor-help/index.native.js +1 -0
  175. package/build-module/components/editor-help/index.native.js.map +1 -1
  176. package/build-module/components/editor-notices/index.js +1 -0
  177. package/build-module/components/editor-notices/index.js.map +1 -1
  178. package/build-module/components/editor-snackbars/index.js +1 -0
  179. package/build-module/components/editor-snackbars/index.js.map +1 -1
  180. package/build-module/components/entities-saved-states/entity-type-list.js +1 -0
  181. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  182. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +1 -0
  183. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  184. package/build-module/components/entities-saved-states/index.js +1 -0
  185. package/build-module/components/entities-saved-states/index.js.map +1 -1
  186. package/build-module/components/keyboard-shortcut-help-modal/index.js +1 -0
  187. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  188. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +1 -0
  189. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  190. package/build-module/components/list-view-sidebar/index.js +1 -0
  191. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  192. package/build-module/components/local-autosave-monitor/index.js +1 -0
  193. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  194. package/build-module/components/mode-switcher/index.js +1 -0
  195. package/build-module/components/mode-switcher/index.js.map +1 -1
  196. package/build-module/components/page-attributes/parent.js +1 -0
  197. package/build-module/components/page-attributes/parent.js.map +1 -1
  198. package/build-module/components/post-actions/actions.js +1 -0
  199. package/build-module/components/post-actions/actions.js.map +1 -1
  200. package/build-module/components/post-actions/index.js +77 -92
  201. package/build-module/components/post-actions/index.js.map +1 -1
  202. package/build-module/components/post-author/hook.js +1 -0
  203. package/build-module/components/post-author/hook.js.map +1 -1
  204. package/build-module/components/post-card-panel/index.js +58 -21
  205. package/build-module/components/post-card-panel/index.js.map +1 -1
  206. package/build-module/components/post-fields/index.js +1 -0
  207. package/build-module/components/post-fields/index.js.map +1 -1
  208. package/build-module/components/post-format/index.js +1 -0
  209. package/build-module/components/post-format/index.js.map +1 -1
  210. package/build-module/components/post-format/panel.js +1 -0
  211. package/build-module/components/post-format/panel.js.map +1 -1
  212. package/build-module/components/post-publish-button/index.js +1 -0
  213. package/build-module/components/post-publish-button/index.js.map +1 -1
  214. package/build-module/components/post-publish-panel/maybe-category-panel.js +1 -0
  215. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  216. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +1 -0
  217. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  218. package/build-module/components/post-publish-panel/maybe-upload-media.js +1 -0
  219. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  220. package/build-module/components/post-publish-panel/media-util.js +1 -0
  221. package/build-module/components/post-publish-panel/media-util.js.map +1 -1
  222. package/build-module/components/post-saved-state/index.js +1 -0
  223. package/build-module/components/post-saved-state/index.js.map +1 -1
  224. package/build-module/components/post-schedule/index.js +1 -0
  225. package/build-module/components/post-schedule/index.js.map +1 -1
  226. package/build-module/components/post-taxonomies/flat-term-selector.js +1 -0
  227. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  228. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +1 -0
  229. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  230. package/build-module/components/post-taxonomies/index.js +1 -0
  231. package/build-module/components/post-taxonomies/index.js.map +1 -1
  232. package/build-module/components/post-taxonomies/most-used-terms.js +1 -0
  233. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  234. package/build-module/components/post-template/classic-theme.js +1 -0
  235. package/build-module/components/post-template/classic-theme.js.map +1 -1
  236. package/build-module/components/post-template/swap-template-button.js +1 -0
  237. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  238. package/build-module/components/post-transform-panel/hooks.js +1 -0
  239. package/build-module/components/post-transform-panel/hooks.js.map +1 -1
  240. package/build-module/components/post-type-support-check/index.js +1 -0
  241. package/build-module/components/post-type-support-check/index.js.map +1 -1
  242. package/build-module/components/preferences-modal/block-visibility.js +1 -0
  243. package/build-module/components/preferences-modal/block-visibility.js.map +1 -1
  244. package/build-module/components/preferences-modal/index.js +1 -0
  245. package/build-module/components/preferences-modal/index.js.map +1 -1
  246. package/build-module/components/provider/disable-non-page-content-blocks.js +1 -0
  247. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  248. package/build-module/components/provider/index.native.js +1 -0
  249. package/build-module/components/provider/index.native.js.map +1 -1
  250. package/build-module/components/provider/use-block-editor-settings.js +1 -0
  251. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  252. package/build-module/components/sidebar/index.js +1 -0
  253. package/build-module/components/sidebar/index.js.map +1 -1
  254. package/build-module/components/start-page-options/index.js +1 -0
  255. package/build-module/components/start-page-options/index.js.map +1 -1
  256. package/build-module/components/start-template-options/index.js +1 -0
  257. package/build-module/components/start-template-options/index.js.map +1 -1
  258. package/build-module/components/template-part-content-panel/index.js +1 -0
  259. package/build-module/components/template-part-content-panel/index.js.map +1 -1
  260. package/build-module/components/theme-support-check/index.js +1 -0
  261. package/build-module/components/theme-support-check/index.js.map +1 -1
  262. package/build-module/components/visual-editor/use-select-nearest-editable-block.js +1 -0
  263. package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  264. package/build-module/dataviews/store/private-actions.js +1 -0
  265. package/build-module/dataviews/store/private-actions.js.map +1 -1
  266. package/build-module/dataviews/store/reducer.js +1 -0
  267. package/build-module/dataviews/store/reducer.js.map +1 -1
  268. package/build-module/hooks/custom-sources-backwards-compatibility.js +1 -0
  269. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  270. package/build-module/hooks/pattern-overrides.js +1 -0
  271. package/build-module/hooks/pattern-overrides.js.map +1 -1
  272. package/build-module/store/actions.js +1 -0
  273. package/build-module/store/actions.js.map +1 -1
  274. package/build-module/store/private-actions.js +1 -0
  275. package/build-module/store/private-actions.js.map +1 -1
  276. package/build-module/store/private-selectors.js +1 -0
  277. package/build-module/store/private-selectors.js.map +1 -1
  278. package/build-module/store/reducer.js +1 -0
  279. package/build-module/store/reducer.js.map +1 -1
  280. package/build-module/store/reducer.native.js +1 -0
  281. package/build-module/store/reducer.native.js.map +1 -1
  282. package/build-module/store/selectors.js +1 -0
  283. package/build-module/store/selectors.js.map +1 -1
  284. package/build-module/utils/get-template-info.js +1 -0
  285. package/build-module/utils/get-template-info.js.map +1 -1
  286. package/build-module/utils/pageTypeBadge.js +4 -3
  287. package/build-module/utils/pageTypeBadge.js.map +1 -1
  288. package/build-module/utils/terms.js +1 -0
  289. package/build-module/utils/terms.js.map +1 -1
  290. package/build-style/style-rtl.css +12 -1
  291. package/build-style/style.css +12 -1
  292. package/build-types/components/collab-sidebar/comment-button.d.ts.map +1 -1
  293. package/build-types/components/collab-sidebar/comment-form.d.ts.map +1 -1
  294. package/build-types/components/collab-sidebar/comments.d.ts +11 -7
  295. package/build-types/components/collab-sidebar/comments.d.ts.map +1 -1
  296. package/build-types/components/collab-sidebar/index.d.ts.map +1 -1
  297. package/build-types/components/post-actions/index.d.ts +5 -0
  298. package/build-types/components/post-actions/index.d.ts.map +1 -1
  299. package/build-types/components/post-card-panel/index.d.ts +13 -4
  300. package/build-types/components/post-card-panel/index.d.ts.map +1 -1
  301. package/build-types/store/private-selectors.d.ts +20 -4
  302. package/build-types/store/private-selectors.d.ts.map +1 -1
  303. package/build-types/store/selectors.d.ts +375 -75
  304. package/build-types/store/selectors.d.ts.map +1 -1
  305. package/build-types/utils/pageTypeBadge.d.ts +2 -2
  306. package/build-types/utils/pageTypeBadge.d.ts.map +1 -1
  307. package/package.json +36 -36
  308. package/src/components/collab-sidebar/add-comment.js +1 -1
  309. package/src/components/collab-sidebar/comment-button.js +12 -7
  310. package/src/components/collab-sidebar/comment-form.js +4 -1
  311. package/src/components/collab-sidebar/comments.js +260 -243
  312. package/src/components/collab-sidebar/index.js +10 -2
  313. package/src/components/collab-sidebar/style.scss +10 -1
  314. package/src/components/post-actions/index.js +89 -95
  315. package/src/components/post-card-panel/index.js +64 -26
  316. package/src/components/post-card-panel/style.scss +4 -0
  317. package/src/utils/pageTypeBadge.js +5 -3
  318. package/tsconfig.tsbuildinfo +1 -1
@@ -1,7 +1,8 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
4
- import { useSelect } from '@wordpress/data';
5
+ import { useRegistry, useSelect } from '@wordpress/data';
5
6
  import { useState, useMemo } from '@wordpress/element';
6
7
  import { __ } from '@wordpress/i18n';
7
8
  import { privateApis as componentsPrivateApis, Button, Modal } from '@wordpress/components';
@@ -18,14 +19,9 @@ const {
18
19
  Menu,
19
20
  kebabCase
20
21
  } = unlock(componentsPrivateApis);
21
- export default function PostActions({
22
- postType,
23
- postId,
24
- onActionPerformed
25
- }) {
26
- const [isActionsMenuOpen, setIsActionsMenuOpen] = useState(false);
22
+ function useEditedEntityRecordsWithPermissions(postType, postIds) {
27
23
  const {
28
- item,
24
+ items,
29
25
  permissions
30
26
  } = useSelect(select => {
31
27
  const {
@@ -33,45 +29,60 @@ export default function PostActions({
33
29
  getEntityRecordPermissions
34
30
  } = unlock(select(coreStore));
35
31
  return {
36
- item: getEditedEntityRecord('postType', postType, postId),
37
- permissions: getEntityRecordPermissions('postType', postType, postId)
32
+ items: postIds.map(postId => getEditedEntityRecord('postType', postType, postId)),
33
+ permissions: postIds.map(postId => getEntityRecordPermissions('postType', postType, postId))
38
34
  };
39
- }, [postId, postType]);
40
- const itemWithPermissions = useMemo(() => {
41
- return {
35
+ }, [postIds, postType]);
36
+ return useMemo(() => {
37
+ return items.map((item, index) => ({
42
38
  ...item,
43
- permissions
44
- };
45
- }, [item, permissions]);
39
+ permissions: permissions[index]
40
+ }));
41
+ }, [items, permissions]);
42
+ }
43
+ export default function PostActions({
44
+ postType,
45
+ postId,
46
+ onActionPerformed
47
+ }) {
48
+ const [activeModalAction, setActiveModalAction] = useState(null);
49
+ const _postIds = useMemo(() => {
50
+ if (Array.isArray(postId)) {
51
+ return postId;
52
+ }
53
+ return postId ? [postId] : [];
54
+ }, [postId]);
55
+ const itemsWithPermissions = useEditedEntityRecordsWithPermissions(postType, _postIds);
46
56
  const allActions = usePostActions({
47
57
  postType,
48
58
  onActionPerformed
49
59
  });
50
60
  const actions = useMemo(() => {
51
61
  return allActions.filter(action => {
52
- return !action.isEligible || action.isEligible(itemWithPermissions);
62
+ return (!action.isEligible || itemsWithPermissions.some(itemWithPermissions => action.isEligible(itemWithPermissions))) && (itemsWithPermissions.length < 2 || action.supportsBulk);
53
63
  });
54
- }, [allActions, itemWithPermissions]);
55
- return /*#__PURE__*/_jsx(Menu, {
56
- open: isActionsMenuOpen,
57
- trigger: /*#__PURE__*/_jsx(Button, {
58
- size: "small",
59
- icon: moreVertical,
60
- label: __('Actions'),
61
- disabled: !actions.length,
62
- accessibleWhenDisabled: true,
63
- className: "editor-all-actions-button",
64
- onClick: () => setIsActionsMenuOpen(!isActionsMenuOpen)
65
- }),
66
- onOpenChange: setIsActionsMenuOpen,
67
- placement: "bottom-end",
68
- children: /*#__PURE__*/_jsx(ActionsDropdownMenuGroup, {
69
- actions: actions,
70
- item: itemWithPermissions,
71
- onClose: () => {
72
- setIsActionsMenuOpen(false);
73
- }
74
- })
64
+ }, [allActions, itemsWithPermissions]);
65
+ return /*#__PURE__*/_jsxs(_Fragment, {
66
+ children: [/*#__PURE__*/_jsx(Menu, {
67
+ trigger: /*#__PURE__*/_jsx(Button, {
68
+ size: "small",
69
+ icon: moreVertical,
70
+ label: __('Actions'),
71
+ disabled: !actions.length,
72
+ accessibleWhenDisabled: true,
73
+ className: "editor-all-actions-button"
74
+ }),
75
+ placement: "bottom-end",
76
+ children: /*#__PURE__*/_jsx(ActionsDropdownMenuGroup, {
77
+ actions: actions,
78
+ items: itemsWithPermissions,
79
+ setActiveModalAction: setActiveModalAction
80
+ })
81
+ }), !!activeModalAction && /*#__PURE__*/_jsx(ActionModal, {
82
+ action: activeModalAction,
83
+ items: itemsWithPermissions,
84
+ closeModal: () => setActiveModalAction(null)
85
+ })]
75
86
  });
76
87
  }
77
88
 
@@ -80,7 +91,6 @@ export default function PostActions({
80
91
  // and the dataviews package should not be using the editor packages directly,
81
92
  // so duplicating the code here seems like the least bad option.
82
93
 
83
- // Copied as is from packages/dataviews/src/item-actions.js
84
94
  function DropdownMenuItemTrigger({
85
95
  action,
86
96
  onClick,
@@ -89,75 +99,50 @@ function DropdownMenuItemTrigger({
89
99
  const label = typeof action.label === 'string' ? action.label : action.label(items);
90
100
  return /*#__PURE__*/_jsx(Menu.Item, {
91
101
  onClick: onClick,
92
- hideOnClick: !action.RenderModal,
93
102
  children: /*#__PURE__*/_jsx(Menu.ItemLabel, {
94
103
  children: label
95
104
  })
96
105
  });
97
106
  }
98
-
99
- // Copied as is from packages/dataviews/src/item-actions.js
100
- // With an added onClose prop.
101
- function ActionWithModal({
107
+ export function ActionModal({
102
108
  action,
103
- item,
104
- ActionTrigger,
105
- onClose
109
+ items,
110
+ closeModal
106
111
  }) {
107
- const [isModalOpen, setIsModalOpen] = useState(false);
108
- const actionTriggerProps = {
109
- action,
110
- onClick: () => setIsModalOpen(true),
111
- items: [item]
112
- };
113
- const {
114
- RenderModal,
115
- hideModalHeader
116
- } = action;
117
- return /*#__PURE__*/_jsxs(_Fragment, {
118
- children: [/*#__PURE__*/_jsx(ActionTrigger, {
119
- ...actionTriggerProps
120
- }), isModalOpen && /*#__PURE__*/_jsx(Modal, {
121
- title: action.modalHeader || action.label,
122
- __experimentalHideHeader: !!hideModalHeader,
123
- onRequestClose: () => {
124
- setIsModalOpen(false);
125
- },
126
- overlayClassName: `editor-action-modal editor-action-modal__${kebabCase(action.id)}`,
127
- focusOnMount: "firstContentElement",
128
- size: "medium",
129
- children: /*#__PURE__*/_jsx(RenderModal, {
130
- items: [item],
131
- closeModal: () => {
132
- setIsModalOpen(false);
133
- onClose();
134
- }
135
- })
136
- })]
112
+ const label = typeof action.label === 'string' ? action.label : action.label(items);
113
+ return /*#__PURE__*/_jsx(Modal, {
114
+ title: action.modalHeader || label,
115
+ __experimentalHideHeader: !!action.hideModalHeader,
116
+ onRequestClose: closeModal !== null && closeModal !== void 0 ? closeModal : () => {},
117
+ focusOnMount: "firstContentElement",
118
+ size: "medium",
119
+ overlayClassName: `editor-action-modal editor-action-modal__${kebabCase(action.id)}`,
120
+ children: /*#__PURE__*/_jsx(action.RenderModal, {
121
+ items: items,
122
+ closeModal: closeModal
123
+ })
137
124
  });
138
125
  }
139
-
140
- // Copied as is from packages/dataviews/src/item-actions.js
141
- // With an added onClose prop.
142
126
  function ActionsDropdownMenuGroup({
143
127
  actions,
144
- item,
145
- onClose
128
+ items,
129
+ setActiveModalAction
146
130
  }) {
131
+ const registry = useRegistry();
147
132
  return /*#__PURE__*/_jsx(Menu.Group, {
148
133
  children: actions.map(action => {
149
- if (action.RenderModal) {
150
- return /*#__PURE__*/_jsx(ActionWithModal, {
151
- action: action,
152
- item: item,
153
- ActionTrigger: DropdownMenuItemTrigger,
154
- onClose: onClose
155
- }, action.id);
156
- }
157
134
  return /*#__PURE__*/_jsx(DropdownMenuItemTrigger, {
158
135
  action: action,
159
- onClick: () => action.callback([item]),
160
- items: [item]
136
+ onClick: () => {
137
+ if ('RenderModal' in action) {
138
+ setActiveModalAction(action);
139
+ return;
140
+ }
141
+ action.callback(items, {
142
+ registry
143
+ });
144
+ },
145
+ items: items
161
146
  }, action.id);
162
147
  })
163
148
  });
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useState","useMemo","__","privateApis","componentsPrivateApis","Button","Modal","moreVertical","store","coreStore","unlock","usePostActions","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Menu","kebabCase","PostActions","postType","postId","onActionPerformed","isActionsMenuOpen","setIsActionsMenuOpen","item","permissions","select","getEditedEntityRecord","getEntityRecordPermissions","itemWithPermissions","allActions","actions","filter","action","isEligible","open","trigger","size","icon","label","disabled","length","accessibleWhenDisabled","className","onClick","onOpenChange","placement","children","ActionsDropdownMenuGroup","onClose","DropdownMenuItemTrigger","items","Item","hideOnClick","RenderModal","ItemLabel","ActionWithModal","ActionTrigger","isModalOpen","setIsModalOpen","actionTriggerProps","hideModalHeader","title","modalHeader","__experimentalHideHeader","onRequestClose","overlayClassName","id","focusOnMount","closeModal","Group","map","callback"],"sources":["@wordpress/editor/src/components/post-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { usePostActions } from './actions';\n\nconst { Menu, kebabCase } = unlock( componentsPrivateApis );\n\nexport default function PostActions( { postType, postId, onActionPerformed } ) {\n\tconst [ isActionsMenuOpen, setIsActionsMenuOpen ] = useState( false );\n\tconst { item, permissions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getEntityRecordPermissions } =\n\t\t\t\tunlock( select( coreStore ) );\n\t\t\treturn {\n\t\t\t\titem: getEditedEntityRecord( 'postType', postType, postId ),\n\t\t\t\tpermissions: getEntityRecordPermissions(\n\t\t\t\t\t'postType',\n\t\t\t\t\tpostType,\n\t\t\t\t\tpostId\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postId, postType ]\n\t);\n\tconst itemWithPermissions = useMemo( () => {\n\t\treturn {\n\t\t\t...item,\n\t\t\tpermissions,\n\t\t};\n\t}, [ item, permissions ] );\n\tconst allActions = usePostActions( { postType, onActionPerformed } );\n\n\tconst actions = useMemo( () => {\n\t\treturn allActions.filter( ( action ) => {\n\t\t\treturn (\n\t\t\t\t! action.isEligible || action.isEligible( itemWithPermissions )\n\t\t\t);\n\t\t} );\n\t}, [ allActions, itemWithPermissions ] );\n\n\treturn (\n\t\t<Menu\n\t\t\topen={ isActionsMenuOpen }\n\t\t\ttrigger={\n\t\t\t\t<Button\n\t\t\t\t\tsize=\"small\"\n\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\tclassName=\"editor-all-actions-button\"\n\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\tsetIsActionsMenuOpen( ! isActionsMenuOpen )\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t}\n\t\t\tonOpenChange={ setIsActionsMenuOpen }\n\t\t\tplacement=\"bottom-end\"\n\t\t>\n\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\tactions={ actions }\n\t\t\t\titem={ itemWithPermissions }\n\t\t\t\tonClose={ () => {\n\t\t\t\t\tsetIsActionsMenuOpen( false );\n\t\t\t\t} }\n\t\t\t/>\n\t\t</Menu>\n\t);\n}\n\n// From now on all the functions on this file are copied as from the dataviews packages,\n// The editor packages should not be using the dataviews packages directly,\n// and the dataviews package should not be using the editor packages directly,\n// so duplicating the code here seems like the least bad option.\n\n// Copied as is from packages/dataviews/src/item-actions.js\nfunction DropdownMenuItemTrigger( { action, onClick, items } ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Menu.Item onClick={ onClick } hideOnClick={ ! action.RenderModal }>\n\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t</Menu.Item>\n\t);\n}\n\n// Copied as is from packages/dataviews/src/item-actions.js\n// With an added onClose prop.\nfunction ActionWithModal( { action, item, ActionTrigger, onClose } ) {\n\tconst [ isModalOpen, setIsModalOpen ] = useState( false );\n\tconst actionTriggerProps = {\n\t\taction,\n\t\tonClick: () => setIsModalOpen( true ),\n\t\titems: [ item ],\n\t};\n\tconst { RenderModal, hideModalHeader } = action;\n\treturn (\n\t\t<>\n\t\t\t<ActionTrigger { ...actionTriggerProps } />\n\t\t\t{ isModalOpen && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ action.modalHeader || action.label }\n\t\t\t\t\t__experimentalHideHeader={ !! hideModalHeader }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t} }\n\t\t\t\t\toverlayClassName={ `editor-action-modal editor-action-modal__${ kebabCase(\n\t\t\t\t\t\taction.id\n\t\t\t\t\t) }` }\n\t\t\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\t\t\tsize=\"medium\"\n\t\t\t\t>\n\t\t\t\t\t<RenderModal\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t\tcloseModal={ () => {\n\t\t\t\t\t\t\tsetIsModalOpen( false );\n\t\t\t\t\t\t\tonClose();\n\t\t\t\t\t\t} }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n// Copied as is from packages/dataviews/src/item-actions.js\n// With an added onClose prop.\nfunction ActionsDropdownMenuGroup( { actions, item, onClose } ) {\n\treturn (\n\t\t<Menu.Group>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\tif ( action.RenderModal ) {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t<ActionWithModal\n\t\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\t\titem={ item }\n\t\t\t\t\t\t\tActionTrigger={ DropdownMenuItemTrigger }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t);\n\t\t\t\t}\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => action.callback( [ item ] ) }\n\t\t\t\t\t\titems={ [ item ] }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Menu.Group>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRegistry","useSelect","useState","useMemo","__","privateApis","componentsPrivateApis","Button","Modal","moreVertical","store","coreStore","unlock","usePostActions","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","Menu","kebabCase","useEditedEntityRecordsWithPermissions","postType","postIds","items","permissions","select","getEditedEntityRecord","getEntityRecordPermissions","map","postId","item","index","PostActions","onActionPerformed","activeModalAction","setActiveModalAction","_postIds","Array","isArray","itemsWithPermissions","allActions","actions","filter","action","isEligible","some","itemWithPermissions","length","supportsBulk","children","trigger","size","icon","label","disabled","accessibleWhenDisabled","className","placement","ActionsDropdownMenuGroup","ActionModal","closeModal","DropdownMenuItemTrigger","onClick","Item","ItemLabel","title","modalHeader","__experimentalHideHeader","hideModalHeader","onRequestClose","focusOnMount","overlayClassName","id","RenderModal","registry","Group","callback"],"sources":["@wordpress/editor/src/components/post-actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRegistry, useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\tprivateApis as componentsPrivateApis,\n\tButton,\n\tModal,\n} from '@wordpress/components';\nimport { moreVertical } from '@wordpress/icons';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { usePostActions } from './actions';\n\nconst { Menu, kebabCase } = unlock( componentsPrivateApis );\n\nfunction useEditedEntityRecordsWithPermissions( postType, postIds ) {\n\tconst { items, permissions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getEntityRecordPermissions } =\n\t\t\t\tunlock( select( coreStore ) );\n\t\t\treturn {\n\t\t\t\titems: postIds.map( ( postId ) =>\n\t\t\t\t\tgetEditedEntityRecord( 'postType', postType, postId )\n\t\t\t\t),\n\t\t\t\tpermissions: postIds.map( ( postId ) =>\n\t\t\t\t\tgetEntityRecordPermissions( 'postType', postType, postId )\n\t\t\t\t),\n\t\t\t};\n\t\t},\n\t\t[ postIds, postType ]\n\t);\n\n\treturn useMemo( () => {\n\t\treturn items.map( ( item, index ) => ( {\n\t\t\t...item,\n\t\t\tpermissions: permissions[ index ],\n\t\t} ) );\n\t}, [ items, permissions ] );\n}\n\nexport default function PostActions( { postType, postId, onActionPerformed } ) {\n\tconst [ activeModalAction, setActiveModalAction ] = useState( null );\n\tconst _postIds = useMemo( () => {\n\t\tif ( Array.isArray( postId ) ) {\n\t\t\treturn postId;\n\t\t}\n\t\treturn postId ? [ postId ] : [];\n\t}, [ postId ] );\n\n\tconst itemsWithPermissions = useEditedEntityRecordsWithPermissions(\n\t\tpostType,\n\t\t_postIds\n\t);\n\tconst allActions = usePostActions( { postType, onActionPerformed } );\n\n\tconst actions = useMemo( () => {\n\t\treturn allActions.filter( ( action ) => {\n\t\t\treturn (\n\t\t\t\t( ! action.isEligible ||\n\t\t\t\t\titemsWithPermissions.some( ( itemWithPermissions ) =>\n\t\t\t\t\t\taction.isEligible( itemWithPermissions )\n\t\t\t\t\t) ) &&\n\t\t\t\t( itemsWithPermissions.length < 2 || action.supportsBulk )\n\t\t\t);\n\t\t} );\n\t}, [ allActions, itemsWithPermissions ] );\n\n\treturn (\n\t\t<>\n\t\t\t<Menu\n\t\t\t\ttrigger={\n\t\t\t\t\t<Button\n\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\tclassName=\"editor-all-actions-button\"\n\t\t\t\t\t/>\n\t\t\t\t}\n\t\t\t\tplacement=\"bottom-end\"\n\t\t\t>\n\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\tactions={ actions }\n\t\t\t\t\titems={ itemsWithPermissions }\n\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t/>\n\t\t\t</Menu>\n\t\t\t{ !! activeModalAction && (\n\t\t\t\t<ActionModal\n\t\t\t\t\taction={ activeModalAction }\n\t\t\t\t\titems={ itemsWithPermissions }\n\t\t\t\t\tcloseModal={ () => setActiveModalAction( null ) }\n\t\t\t\t/>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\n// From now on all the functions on this file are copied as from the dataviews packages,\n// The editor packages should not be using the dataviews packages directly,\n// and the dataviews package should not be using the editor packages directly,\n// so duplicating the code here seems like the least bad option.\n\nfunction DropdownMenuItemTrigger( { action, onClick, items } ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Menu.Item onClick={ onClick }>\n\t\t\t<Menu.ItemLabel>{ label }</Menu.ItemLabel>\n\t\t</Menu.Item>\n\t);\n}\n\nexport function ActionModal( { action, items, closeModal } ) {\n\tconst label =\n\t\ttypeof action.label === 'string' ? action.label : action.label( items );\n\treturn (\n\t\t<Modal\n\t\t\ttitle={ action.modalHeader || label }\n\t\t\t__experimentalHideHeader={ !! action.hideModalHeader }\n\t\t\tonRequestClose={ closeModal ?? ( () => {} ) }\n\t\t\tfocusOnMount=\"firstContentElement\"\n\t\t\tsize=\"medium\"\n\t\t\toverlayClassName={ `editor-action-modal editor-action-modal__${ kebabCase(\n\t\t\t\taction.id\n\t\t\t) }` }\n\t\t>\n\t\t\t<action.RenderModal items={ items } closeModal={ closeModal } />\n\t\t</Modal>\n\t);\n}\n\nfunction ActionsDropdownMenuGroup( { actions, items, setActiveModalAction } ) {\n\tconst registry = useRegistry();\n\treturn (\n\t\t<Menu.Group>\n\t\t\t{ actions.map( ( action ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<DropdownMenuItemTrigger\n\t\t\t\t\t\tkey={ action.id }\n\t\t\t\t\t\taction={ action }\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tif ( 'RenderModal' in action ) {\n\t\t\t\t\t\t\t\tsetActiveModalAction( action );\n\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\taction.callback( items, { registry } );\n\t\t\t\t\t\t} }\n\t\t\t\t\t\titems={ items }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</Menu.Group>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AACxD,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;AACtD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,WAAW,IAAIC,qBAAqB,EACpCC,MAAM,EACNC,KAAK,QACC,uBAAuB;AAC9B,SAASC,YAAY,QAAQ,kBAAkB;AAC/C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,cAAc,QAAQ,WAAW;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAE3C,MAAM;EAAEC,IAAI;EAAEC;AAAU,CAAC,GAAGT,MAAM,CAAEN,qBAAsB,CAAC;AAE3D,SAASgB,qCAAqCA,CAAEC,QAAQ,EAAEC,OAAO,EAAG;EACnE,MAAM;IAAEC,KAAK;IAAEC;EAAY,CAAC,GAAGzB,SAAS,CACrC0B,MAAM,IAAM;IACb,MAAM;MAAEC,qBAAqB;MAAEC;IAA2B,CAAC,GAC1DjB,MAAM,CAAEe,MAAM,CAAEhB,SAAU,CAAE,CAAC;IAC9B,OAAO;MACNc,KAAK,EAAED,OAAO,CAACM,GAAG,CAAIC,MAAM,IAC3BH,qBAAqB,CAAE,UAAU,EAAEL,QAAQ,EAAEQ,MAAO,CACrD,CAAC;MACDL,WAAW,EAAEF,OAAO,CAACM,GAAG,CAAIC,MAAM,IACjCF,0BAA0B,CAAE,UAAU,EAAEN,QAAQ,EAAEQ,MAAO,CAC1D;IACD,CAAC;EACF,CAAC,EACD,CAAEP,OAAO,EAAED,QAAQ,CACpB,CAAC;EAED,OAAOpB,OAAO,CAAE,MAAM;IACrB,OAAOsB,KAAK,CAACK,GAAG,CAAE,CAAEE,IAAI,EAAEC,KAAK,MAAQ;MACtC,GAAGD,IAAI;MACPN,WAAW,EAAEA,WAAW,CAAEO,KAAK;IAChC,CAAC,CAAG,CAAC;EACN,CAAC,EAAE,CAAER,KAAK,EAAEC,WAAW,CAAG,CAAC;AAC5B;AAEA,eAAe,SAASQ,WAAWA,CAAE;EAAEX,QAAQ;EAAEQ,MAAM;EAAEI;AAAkB,CAAC,EAAG;EAC9E,MAAM,CAAEC,iBAAiB,EAAEC,oBAAoB,CAAE,GAAGnC,QAAQ,CAAE,IAAK,CAAC;EACpE,MAAMoC,QAAQ,GAAGnC,OAAO,CAAE,MAAM;IAC/B,IAAKoC,KAAK,CAACC,OAAO,CAAET,MAAO,CAAC,EAAG;MAC9B,OAAOA,MAAM;IACd;IACA,OAAOA,MAAM,GAAG,CAAEA,MAAM,CAAE,GAAG,EAAE;EAChC,CAAC,EAAE,CAAEA,MAAM,CAAG,CAAC;EAEf,MAAMU,oBAAoB,GAAGnB,qCAAqC,CACjEC,QAAQ,EACRe,QACD,CAAC;EACD,MAAMI,UAAU,GAAG7B,cAAc,CAAE;IAAEU,QAAQ;IAAEY;EAAkB,CAAE,CAAC;EAEpE,MAAMQ,OAAO,GAAGxC,OAAO,CAAE,MAAM;IAC9B,OAAOuC,UAAU,CAACE,MAAM,CAAIC,MAAM,IAAM;MACvC,OACC,CAAE,CAAEA,MAAM,CAACC,UAAU,IACpBL,oBAAoB,CAACM,IAAI,CAAIC,mBAAmB,IAC/CH,MAAM,CAACC,UAAU,CAAEE,mBAAoB,CACxC,CAAC,MACAP,oBAAoB,CAACQ,MAAM,GAAG,CAAC,IAAIJ,MAAM,CAACK,YAAY,CAAE;IAE5D,CAAE,CAAC;EACJ,CAAC,EAAE,CAAER,UAAU,EAAED,oBAAoB,CAAG,CAAC;EAEzC,oBACCtB,KAAA,CAAAF,SAAA;IAAAkC,QAAA,gBACCpC,IAAA,CAACK,IAAI;MACJgC,OAAO,eACNrC,IAAA,CAACR,MAAM;QACN8C,IAAI,EAAC,OAAO;QACZC,IAAI,EAAG7C,YAAc;QACrB8C,KAAK,EAAGnD,EAAE,CAAE,SAAU,CAAG;QACzBoD,QAAQ,EAAG,CAAEb,OAAO,CAACM,MAAQ;QAC7BQ,sBAAsB;QACtBC,SAAS,EAAC;MAA2B,CACrC,CACD;MACDC,SAAS,EAAC,YAAY;MAAAR,QAAA,eAEtBpC,IAAA,CAAC6C,wBAAwB;QACxBjB,OAAO,EAAGA,OAAS;QACnBlB,KAAK,EAAGgB,oBAAsB;QAC9BJ,oBAAoB,EAAGA;MAAsB,CAC7C;IAAC,CACG,CAAC,EACL,CAAC,CAAED,iBAAiB,iBACrBrB,IAAA,CAAC8C,WAAW;MACXhB,MAAM,EAAGT,iBAAmB;MAC5BX,KAAK,EAAGgB,oBAAsB;MAC9BqB,UAAU,EAAGA,CAAA,KAAMzB,oBAAoB,CAAE,IAAK;IAAG,CACjD,CACD;EAAA,CACA,CAAC;AAEL;;AAEA;AACA;AACA;AACA;;AAEA,SAAS0B,uBAAuBA,CAAE;EAAElB,MAAM;EAAEmB,OAAO;EAAEvC;AAAM,CAAC,EAAG;EAC9D,MAAM8B,KAAK,GACV,OAAOV,MAAM,CAACU,KAAK,KAAK,QAAQ,GAAGV,MAAM,CAACU,KAAK,GAAGV,MAAM,CAACU,KAAK,CAAE9B,KAAM,CAAC;EACxE,oBACCV,IAAA,CAACK,IAAI,CAAC6C,IAAI;IAACD,OAAO,EAAGA,OAAS;IAAAb,QAAA,eAC7BpC,IAAA,CAACK,IAAI,CAAC8C,SAAS;MAAAf,QAAA,EAAGI;IAAK,CAAkB;EAAC,CAChC,CAAC;AAEd;AAEA,OAAO,SAASM,WAAWA,CAAE;EAAEhB,MAAM;EAAEpB,KAAK;EAAEqC;AAAW,CAAC,EAAG;EAC5D,MAAMP,KAAK,GACV,OAAOV,MAAM,CAACU,KAAK,KAAK,QAAQ,GAAGV,MAAM,CAACU,KAAK,GAAGV,MAAM,CAACU,KAAK,CAAE9B,KAAM,CAAC;EACxE,oBACCV,IAAA,CAACP,KAAK;IACL2D,KAAK,EAAGtB,MAAM,CAACuB,WAAW,IAAIb,KAAO;IACrCc,wBAAwB,EAAG,CAAC,CAAExB,MAAM,CAACyB,eAAiB;IACtDC,cAAc,EAAGT,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAM,MAAM,CAAC,CAAK;IAC7CU,YAAY,EAAC,qBAAqB;IAClCnB,IAAI,EAAC,QAAQ;IACboB,gBAAgB,EAAG,4CAA6CpD,SAAS,CACxEwB,MAAM,CAAC6B,EACR,CAAC,EAAK;IAAAvB,QAAA,eAENpC,IAAA,CAAC8B,MAAM,CAAC8B,WAAW;MAAClD,KAAK,EAAGA,KAAO;MAACqC,UAAU,EAAGA;IAAY,CAAE;EAAC,CAC1D,CAAC;AAEV;AAEA,SAASF,wBAAwBA,CAAE;EAAEjB,OAAO;EAAElB,KAAK;EAAEY;AAAqB,CAAC,EAAG;EAC7E,MAAMuC,QAAQ,GAAG5E,WAAW,CAAC,CAAC;EAC9B,oBACCe,IAAA,CAACK,IAAI,CAACyD,KAAK;IAAA1B,QAAA,EACRR,OAAO,CAACb,GAAG,CAAIe,MAAM,IAAM;MAC5B,oBACC9B,IAAA,CAACgD,uBAAuB;QAEvBlB,MAAM,EAAGA,MAAQ;QACjBmB,OAAO,EAAGA,CAAA,KAAM;UACf,IAAK,aAAa,IAAInB,MAAM,EAAG;YAC9BR,oBAAoB,CAAEQ,MAAO,CAAC;YAC9B;UACD;UACAA,MAAM,CAACiC,QAAQ,CAAErD,KAAK,EAAE;YAAEmD;UAAS,CAAE,CAAC;QACvC,CAAG;QACHnD,KAAK,EAAGA;MAAO,GATToB,MAAM,CAAC6B,EAUb,CAAC;IAEJ,CAAE;EAAC,CACQ,CAAC;AAEf","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","useMemo","useSelect","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","BASE_QUERY","useAuthorsQuery","search","authorId","authors","postAuthor","select","getUser","getUsers","getEditedPostAttribute","_authorId","query","search_columns","authorOptions","fetchedAuthors","map","author","value","id","label","name","foundAuthor","findIndex","currentAuthor"],"sources":["@wordpress/editor/src/components/post-author/hook.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY, BASE_QUERY } from './constants';\n\nexport function useAuthorsQuery( search ) {\n\tconst { authorId, authors, postAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser, getUsers } = select( coreStore );\n\t\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\t\tconst _authorId = getEditedPostAttribute( 'author' );\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t\tquery.search_columns = [ 'name' ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tpostAuthor: getUser( _authorId, BASE_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ search ]\n\t);\n\n\tconst authorOptions = useMemo( () => {\n\t\tconst fetchedAuthors = ( authors ?? [] ).map( ( author ) => {\n\t\t\treturn {\n\t\t\t\tvalue: author.id,\n\t\t\t\tlabel: decodeEntities( author.name ),\n\t\t\t};\n\t\t} );\n\n\t\t// Ensure the current author is included in the dropdown list.\n\t\tconst foundAuthor = fetchedAuthors.findIndex(\n\t\t\t( { value } ) => postAuthor?.id === value\n\t\t);\n\n\t\tlet currentAuthor = [];\n\t\tif ( foundAuthor < 0 && postAuthor ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: postAuthor.id,\n\t\t\t\t\tlabel: decodeEntities( postAuthor.name ),\n\t\t\t\t},\n\t\t\t];\n\t\t} else if ( foundAuthor < 0 && ! postAuthor ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: 0,\n\t\t\t\t\tlabel: __( '(No author)' ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn [ ...currentAuthor, ...fetchedAuthors ];\n\t}, [ authors, postAuthor ] );\n\n\treturn { authorId, authorOptions, postAuthor };\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,EAAEC,UAAU,QAAQ,aAAa;AAEvD,OAAO,SAASC,eAAeA,CAAEC,MAAM,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAChDY,MAAM,IAAM;IACb,MAAM;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAGF,MAAM,CAAET,SAAU,CAAC;IACjD,MAAM;MAAEY;IAAuB,CAAC,GAAGH,MAAM,CAAER,WAAY,CAAC;IACxD,MAAMY,SAAS,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACpD,MAAME,KAAK,GAAG;MAAE,GAAGZ;IAAc,CAAC;IAElC,IAAKG,MAAM,EAAG;MACbS,KAAK,CAACT,MAAM,GAAGA,MAAM;MACrBS,KAAK,CAACC,cAAc,GAAG,CAAE,MAAM,CAAE;IAClC;IAEA,OAAO;MACNT,QAAQ,EAAEO,SAAS;MACnBN,OAAO,EAAEI,QAAQ,CAAEG,KAAM,CAAC;MAC1BN,UAAU,EAAEE,OAAO,CAAEG,SAAS,EAAEV,UAAW;IAC5C,CAAC;EACF,CAAC,EACD,CAAEE,MAAM,CACT,CAAC;EAED,MAAMW,aAAa,GAAGpB,OAAO,CAAE,MAAM;IACpC,MAAMqB,cAAc,GAAG,CAAEV,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAGW,GAAG,CAAIC,MAAM,IAAM;MAC3D,OAAO;QACNC,KAAK,EAAED,MAAM,CAACE,EAAE;QAChBC,KAAK,EAAExB,cAAc,CAAEqB,MAAM,CAACI,IAAK;MACpC,CAAC;IACF,CAAE,CAAC;;IAEH;IACA,MAAMC,WAAW,GAAGP,cAAc,CAACQ,SAAS,CAC3C,CAAE;MAAEL;IAAM,CAAC,KAAMZ,UAAU,EAAEa,EAAE,KAAKD,KACrC,CAAC;IAED,IAAIM,aAAa,GAAG,EAAE;IACtB,IAAKF,WAAW,GAAG,CAAC,IAAIhB,UAAU,EAAG;MACpCkB,aAAa,GAAG,CACf;QACCN,KAAK,EAAEZ,UAAU,CAACa,EAAE;QACpBC,KAAK,EAAExB,cAAc,CAAEU,UAAU,CAACe,IAAK;MACxC,CAAC,CACD;IACF,CAAC,MAAM,IAAKC,WAAW,GAAG,CAAC,IAAI,CAAEhB,UAAU,EAAG;MAC7CkB,aAAa,GAAG,CACf;QACCN,KAAK,EAAE,CAAC;QACRE,KAAK,EAAE3B,EAAE,CAAE,aAAc;MAC1B,CAAC,CACD;IACF;IAEA,OAAO,CAAE,GAAG+B,aAAa,EAAE,GAAGT,cAAc,CAAE;EAC/C,CAAC,EAAE,CAAEV,OAAO,EAAEC,UAAU,CAAG,CAAC;EAE5B,OAAO;IAAEF,QAAQ;IAAEU,aAAa;IAAER;EAAW,CAAC;AAC/C","ignoreList":[]}
1
+ {"version":3,"names":["__","useMemo","useSelect","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","BASE_QUERY","useAuthorsQuery","search","authorId","authors","postAuthor","select","getUser","getUsers","getEditedPostAttribute","_authorId","query","search_columns","authorOptions","fetchedAuthors","map","author","value","id","label","name","foundAuthor","findIndex","currentAuthor"],"sources":["@wordpress/editor/src/components/post-author/hook.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useMemo } from '@wordpress/element';\nimport { useSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY, BASE_QUERY } from './constants';\n\nexport function useAuthorsQuery( search ) {\n\tconst { authorId, authors, postAuthor } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser, getUsers } = select( coreStore );\n\t\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\t\tconst _authorId = getEditedPostAttribute( 'author' );\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\n\t\t\tif ( search ) {\n\t\t\t\tquery.search = search;\n\t\t\t\tquery.search_columns = [ 'name' ];\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthorId: _authorId,\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tpostAuthor: getUser( _authorId, BASE_QUERY ),\n\t\t\t};\n\t\t},\n\t\t[ search ]\n\t);\n\n\tconst authorOptions = useMemo( () => {\n\t\tconst fetchedAuthors = ( authors ?? [] ).map( ( author ) => {\n\t\t\treturn {\n\t\t\t\tvalue: author.id,\n\t\t\t\tlabel: decodeEntities( author.name ),\n\t\t\t};\n\t\t} );\n\n\t\t// Ensure the current author is included in the dropdown list.\n\t\tconst foundAuthor = fetchedAuthors.findIndex(\n\t\t\t( { value } ) => postAuthor?.id === value\n\t\t);\n\n\t\tlet currentAuthor = [];\n\t\tif ( foundAuthor < 0 && postAuthor ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: postAuthor.id,\n\t\t\t\t\tlabel: decodeEntities( postAuthor.name ),\n\t\t\t\t},\n\t\t\t];\n\t\t} else if ( foundAuthor < 0 && ! postAuthor ) {\n\t\t\tcurrentAuthor = [\n\t\t\t\t{\n\t\t\t\t\tvalue: 0,\n\t\t\t\t\tlabel: __( '(No author)' ),\n\t\t\t\t},\n\t\t\t];\n\t\t}\n\n\t\treturn [ ...currentAuthor, ...fetchedAuthors ];\n\t}, [ authors, postAuthor ] );\n\n\treturn { authorId, authorOptions, postAuthor };\n}\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,OAAO,QAAQ,oBAAoB;AAC5C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,EAAEC,UAAU,QAAQ,aAAa;AAEvD,OAAO,SAASC,eAAeA,CAAEC,MAAM,EAAG;EACzC,MAAM;IAAEC,QAAQ;IAAEC,OAAO;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAChDY,MAAM,IAAM;IACb,MAAM;MAAEC,OAAO;MAAEC;IAAS,CAAC,GAAGF,MAAM,CAAET,SAAU,CAAC;IACjD,MAAM;MAAEY;IAAuB,CAAC,GAAGH,MAAM,CAAER,WAAY,CAAC;IACxD,MAAMY,SAAS,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACpD,MAAME,KAAK,GAAG;MAAE,GAAGZ;IAAc,CAAC;IAElC,IAAKG,MAAM,EAAG;MACbS,KAAK,CAACT,MAAM,GAAGA,MAAM;MACrBS,KAAK,CAACC,cAAc,GAAG,CAAE,MAAM,CAAE;IAClC;IAEA,OAAO;MACNT,QAAQ,EAAEO,SAAS;MACnBN,OAAO,EAAEI,QAAQ,CAAEG,KAAM,CAAC;MAC1BN,UAAU,EAAEE,OAAO,CAAEG,SAAS,EAAEV,UAAW;IAC5C,CAAC;EACF,CAAC,EACD,CAAEE,MAAM,CACT,CAAC;EAED,MAAMW,aAAa,GAAGpB,OAAO,CAAE,MAAM;IACpC,MAAMqB,cAAc,GAAG,CAAEV,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAGW,GAAG,CAAIC,MAAM,IAAM;MAC3D,OAAO;QACNC,KAAK,EAAED,MAAM,CAACE,EAAE;QAChBC,KAAK,EAAExB,cAAc,CAAEqB,MAAM,CAACI,IAAK;MACpC,CAAC;IACF,CAAE,CAAC;;IAEH;IACA,MAAMC,WAAW,GAAGP,cAAc,CAACQ,SAAS,CAC3C,CAAE;MAAEL;IAAM,CAAC,KAAMZ,UAAU,EAAEa,EAAE,KAAKD,KACrC,CAAC;IAED,IAAIM,aAAa,GAAG,EAAE;IACtB,IAAKF,WAAW,GAAG,CAAC,IAAIhB,UAAU,EAAG;MACpCkB,aAAa,GAAG,CACf;QACCN,KAAK,EAAEZ,UAAU,CAACa,EAAE;QACpBC,KAAK,EAAExB,cAAc,CAAEU,UAAU,CAACe,IAAK;MACxC,CAAC,CACD;IACF,CAAC,MAAM,IAAKC,WAAW,GAAG,CAAC,IAAI,CAAEhB,UAAU,EAAG;MAC7CkB,aAAa,GAAG,CACf;QACCN,KAAK,EAAE,CAAC;QACRE,KAAK,EAAE3B,EAAE,CAAE,aAAc;MAC1B,CAAC,CACD;IACF;IAEA,OAAO,CAAE,GAAG+B,aAAa,EAAE,GAAGT,cAAc,CAAE;EAC/C,CAAC,EAAE,CAAEV,OAAO,EAAEC,UAAU,CAAG,CAAC;EAE5B,OAAO;IAAEF,QAAQ;IAAEU,aAAa;IAAER;EAAW,CAAC;AAC/C","ignoreList":[]}
@@ -1,10 +1,11 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { Icon, __experimentalHStack as HStack, __experimentalText as Text } from '@wordpress/components';
4
+ import { Icon, __experimentalHStack as HStack, __experimentalVStack as VStack, __experimentalText as Text } from '@wordpress/components';
5
5
  import { store as coreStore } from '@wordpress/core-data';
6
6
  import { useSelect } from '@wordpress/data';
7
- import { __ } from '@wordpress/i18n';
7
+ import { useMemo } from '@wordpress/element';
8
+ import { __, sprintf } from '@wordpress/i18n';
8
9
  import { decodeEntities } from '@wordpress/html-entities';
9
10
 
10
11
  /**
@@ -16,39 +17,70 @@ import { unlock } from '../../lock-unlock';
16
17
  import PostActions from '../post-actions';
17
18
  import usePageTypeBadge from '../../utils/pageTypeBadge';
18
19
  import { getTemplateInfo } from '../../utils/get-template-info';
20
+
21
+ /**
22
+ * Renders a title of the post type and the available quick actions available within a 3-dot dropdown.
23
+ *
24
+ * @param {Object} props - Component props.
25
+ * @param {string} [props.postType] - The post type string.
26
+ * @param {string|string[]} [props.postId] - The post id or list of post ids.
27
+ * @param {Function} [props.onActionPerformed] - A callback function for when a quick action is performed.
28
+ * @return {React.ReactNode} The rendered component.
29
+ */
19
30
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
20
31
  export default function PostCardPanel({
21
32
  postType,
22
33
  postId,
23
34
  onActionPerformed
24
35
  }) {
36
+ const postIds = useMemo(() => Array.isArray(postId) ? postId : [postId], [postId]);
25
37
  const {
26
- title,
27
- icon
38
+ postTitle,
39
+ icon,
40
+ labels
28
41
  } = useSelect(select => {
29
- var _select$getEntityReco;
30
42
  const {
31
- getEditedEntityRecord
43
+ getEditedEntityRecord,
44
+ getEntityRecord,
45
+ getPostType
32
46
  } = select(coreStore);
33
- const _record = getEditedEntityRecord('postType', postType, postId);
34
47
  const {
35
- default_template_types: templateTypes = []
36
- } = (_select$getEntityReco = select(coreStore).getEntityRecord('root', '__unstableBase')) !== null && _select$getEntityReco !== void 0 ? _select$getEntityReco : {};
37
- const _templateInfo = [TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE].includes(postType) ? getTemplateInfo({
38
- template: _record,
39
- templateTypes
40
- }) : {};
48
+ getPostIcon
49
+ } = unlock(select(editorStore));
50
+ let _title = '';
51
+ const _record = getEditedEntityRecord('postType', postType, postIds[0]);
52
+ if (postIds.length === 1) {
53
+ var _getEntityRecord;
54
+ const {
55
+ default_template_types: templateTypes = []
56
+ } = (_getEntityRecord = getEntityRecord('root', '__unstableBase')) !== null && _getEntityRecord !== void 0 ? _getEntityRecord : {};
57
+ const _templateInfo = [TEMPLATE_POST_TYPE, TEMPLATE_PART_POST_TYPE].includes(postType) ? getTemplateInfo({
58
+ template: _record,
59
+ templateTypes
60
+ }) : {};
61
+ _title = _templateInfo?.title || _record?.title;
62
+ }
41
63
  return {
42
- title: _templateInfo?.title || _record?.title,
43
- icon: unlock(select(editorStore)).getPostIcon(postType, {
64
+ postTitle: _title,
65
+ icon: getPostIcon(postType, {
44
66
  area: _record?.area
45
- })
67
+ }),
68
+ labels: getPostType(postType)?.labels
46
69
  };
47
- }, [postId, postType]);
70
+ }, [postIds, postType]);
48
71
  const pageTypeBadge = usePageTypeBadge(postId);
49
- return /*#__PURE__*/_jsx("div", {
72
+ let title = __('No title');
73
+ if (labels?.name && postIds.length > 1) {
74
+ title = sprintf(
75
+ // translators: %i number of selected items %s: Name of the plural post type e.g: "Posts".
76
+ __('%i %s'), postId.length, labels?.name);
77
+ } else if (postTitle) {
78
+ title = decodeEntities(postTitle);
79
+ }
80
+ return /*#__PURE__*/_jsxs(VStack, {
81
+ spacing: 1,
50
82
  className: "editor-post-card-panel",
51
- children: /*#__PURE__*/_jsxs(HStack, {
83
+ children: [/*#__PURE__*/_jsxs(HStack, {
52
84
  spacing: 2,
53
85
  className: "editor-post-card-panel__header",
54
86
  align: "flex-start",
@@ -60,7 +92,7 @@ export default function PostCardPanel({
60
92
  truncate: true,
61
93
  className: "editor-post-card-panel__title",
62
94
  as: "h2",
63
- children: [title ? decodeEntities(title) : __('No title'), pageTypeBadge && /*#__PURE__*/_jsx("span", {
95
+ children: [title, pageTypeBadge && postIds.length === 1 && /*#__PURE__*/_jsx("span", {
64
96
  className: "editor-post-card-panel__title-badge",
65
97
  children: pageTypeBadge
66
98
  })]
@@ -69,7 +101,12 @@ export default function PostCardPanel({
69
101
  postId: postId,
70
102
  onActionPerformed: onActionPerformed
71
103
  })]
72
- })
104
+ }), postIds.length > 1 && /*#__PURE__*/_jsx(Text, {
105
+ className: "editor-post-card-panel__description",
106
+ children: sprintf(
107
+ // translators: %s: Name of the plural post type e.g: "Posts".
108
+ __('Changes will be applied to all selected %s.'), labels?.name.toLowerCase())
109
+ })]
73
110
  });
74
111
  }
75
112
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Icon","__experimentalHStack","HStack","__experimentalText","Text","store","coreStore","useSelect","__","decodeEntities","editorStore","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","unlock","PostActions","usePageTypeBadge","getTemplateInfo","jsx","_jsx","jsxs","_jsxs","PostCardPanel","postType","postId","onActionPerformed","title","icon","select","_select$getEntityReco","getEditedEntityRecord","_record","default_template_types","templateTypes","getEntityRecord","_templateInfo","includes","template","getPostIcon","area","pageTypeBadge","className","children","spacing","align","numberOfLines","truncate","as"],"sources":["@wordpress/editor/src/components/post-card-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHStack as HStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../store/constants';\nimport { unlock } from '../../lock-unlock';\nimport PostActions from '../post-actions';\nimport usePageTypeBadge from '../../utils/pageTypeBadge';\nimport { getTemplateInfo } from '../../utils/get-template-info';\n\nexport default function PostCardPanel( {\n\tpostType,\n\tpostId,\n\tonActionPerformed,\n} ) {\n\tconst { title, icon } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostId\n\t\t\t);\n\n\t\t\tconst { default_template_types: templateTypes = [] } =\n\t\t\t\tselect( coreStore ).getEntityRecord(\n\t\t\t\t\t'root',\n\t\t\t\t\t'__unstableBase'\n\t\t\t\t) ?? {};\n\n\t\t\tconst _templateInfo = [\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t].includes( postType )\n\t\t\t\t? getTemplateInfo( {\n\t\t\t\t\t\ttemplate: _record,\n\t\t\t\t\t\ttemplateTypes,\n\t\t\t\t } )\n\t\t\t\t: {};\n\n\t\t\treturn {\n\t\t\t\ttitle: _templateInfo?.title || _record?.title,\n\t\t\t\ticon: unlock( select( editorStore ) ).getPostIcon( postType, {\n\t\t\t\t\tarea: _record?.area,\n\t\t\t\t} ),\n\t\t\t};\n\t\t},\n\t\t[ postId, postType ]\n\t);\n\n\tconst pageTypeBadge = usePageTypeBadge( postId );\n\n\treturn (\n\t\t<div className=\"editor-post-card-panel\">\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"editor-post-card-panel__header\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Icon className=\"editor-post-card-panel__icon\" icon={ icon } />\n\t\t\t\t<Text\n\t\t\t\t\tnumberOfLines={ 2 }\n\t\t\t\t\ttruncate\n\t\t\t\t\tclassName=\"editor-post-card-panel__title\"\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t>\n\t\t\t\t\t{ title ? decodeEntities( title ) : __( 'No title' ) }\n\t\t\t\t\t{ pageTypeBadge && (\n\t\t\t\t\t\t<span className=\"editor-post-card-panel__title-badge\">\n\t\t\t\t\t\t\t{ pageTypeBadge }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<PostActions\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t</div>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Icon","__experimentalHStack","HStack","__experimentalVStack","VStack","__experimentalText","Text","store","coreStore","useSelect","useMemo","__","sprintf","decodeEntities","editorStore","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","unlock","PostActions","usePageTypeBadge","getTemplateInfo","jsx","_jsx","jsxs","_jsxs","PostCardPanel","postType","postId","onActionPerformed","postIds","Array","isArray","postTitle","icon","labels","select","getEditedEntityRecord","getEntityRecord","getPostType","getPostIcon","_title","_record","length","_getEntityRecord","default_template_types","templateTypes","_templateInfo","includes","template","title","area","pageTypeBadge","name","spacing","className","children","align","numberOfLines","truncate","as","toLowerCase"],"sources":["@wordpress/editor/src/components/post-card-panel/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\t__experimentalText as Text,\n} from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport {\n\tTEMPLATE_POST_TYPE,\n\tTEMPLATE_PART_POST_TYPE,\n} from '../../store/constants';\nimport { unlock } from '../../lock-unlock';\nimport PostActions from '../post-actions';\nimport usePageTypeBadge from '../../utils/pageTypeBadge';\nimport { getTemplateInfo } from '../../utils/get-template-info';\n\n/**\n * Renders a title of the post type and the available quick actions available within a 3-dot dropdown.\n *\n * @param {Object} props - Component props.\n * @param {string} [props.postType] - The post type string.\n * @param {string|string[]} [props.postId] - The post id or list of post ids.\n * @param {Function} [props.onActionPerformed] - A callback function for when a quick action is performed.\n * @return {React.ReactNode} The rendered component.\n */\nexport default function PostCardPanel( {\n\tpostType,\n\tpostId,\n\tonActionPerformed,\n} ) {\n\tconst postIds = useMemo(\n\t\t() => ( Array.isArray( postId ) ? postId : [ postId ] ),\n\t\t[ postId ]\n\t);\n\tconst { postTitle, icon, labels } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedEntityRecord, getEntityRecord, getPostType } =\n\t\t\t\tselect( coreStore );\n\t\t\tconst { getPostIcon } = unlock( select( editorStore ) );\n\t\t\tlet _title = '';\n\t\t\tconst _record = getEditedEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tpostType,\n\t\t\t\tpostIds[ 0 ]\n\t\t\t);\n\t\t\tif ( postIds.length === 1 ) {\n\t\t\t\tconst { default_template_types: templateTypes = [] } =\n\t\t\t\t\tgetEntityRecord( 'root', '__unstableBase' ) ?? {};\n\n\t\t\t\tconst _templateInfo = [\n\t\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t\tTEMPLATE_PART_POST_TYPE,\n\t\t\t\t].includes( postType )\n\t\t\t\t\t? getTemplateInfo( {\n\t\t\t\t\t\t\ttemplate: _record,\n\t\t\t\t\t\t\ttemplateTypes,\n\t\t\t\t\t } )\n\t\t\t\t\t: {};\n\t\t\t\t_title = _templateInfo?.title || _record?.title;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tpostTitle: _title,\n\t\t\t\ticon: getPostIcon( postType, {\n\t\t\t\t\tarea: _record?.area,\n\t\t\t\t} ),\n\t\t\t\tlabels: getPostType( postType )?.labels,\n\t\t\t};\n\t\t},\n\t\t[ postIds, postType ]\n\t);\n\n\tconst pageTypeBadge = usePageTypeBadge( postId );\n\tlet title = __( 'No title' );\n\tif ( labels?.name && postIds.length > 1 ) {\n\t\ttitle = sprintf(\n\t\t\t// translators: %i number of selected items %s: Name of the plural post type e.g: \"Posts\".\n\t\t\t__( '%i %s' ),\n\t\t\tpostId.length,\n\t\t\tlabels?.name\n\t\t);\n\t} else if ( postTitle ) {\n\t\ttitle = decodeEntities( postTitle );\n\t}\n\n\treturn (\n\t\t<VStack spacing={ 1 } className=\"editor-post-card-panel\">\n\t\t\t<HStack\n\t\t\t\tspacing={ 2 }\n\t\t\t\tclassName=\"editor-post-card-panel__header\"\n\t\t\t\talign=\"flex-start\"\n\t\t\t>\n\t\t\t\t<Icon className=\"editor-post-card-panel__icon\" icon={ icon } />\n\t\t\t\t<Text\n\t\t\t\t\tnumberOfLines={ 2 }\n\t\t\t\t\ttruncate\n\t\t\t\t\tclassName=\"editor-post-card-panel__title\"\n\t\t\t\t\tas=\"h2\"\n\t\t\t\t>\n\t\t\t\t\t{ title }\n\t\t\t\t\t{ pageTypeBadge && postIds.length === 1 && (\n\t\t\t\t\t\t<span className=\"editor-post-card-panel__title-badge\">\n\t\t\t\t\t\t\t{ pageTypeBadge }\n\t\t\t\t\t\t</span>\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<PostActions\n\t\t\t\t\tpostType={ postType }\n\t\t\t\t\tpostId={ postId }\n\t\t\t\t\tonActionPerformed={ onActionPerformed }\n\t\t\t\t/>\n\t\t\t</HStack>\n\t\t\t{ postIds.length > 1 && (\n\t\t\t\t<Text className=\"editor-post-card-panel__description\">\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: Name of the plural post type e.g: \"Posts\".\n\t\t\t\t\t\t__( 'Changes will be applied to all selected %s.' ),\n\t\t\t\t\t\tlabels?.name.toLowerCase()\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t) }\n\t\t</VStack>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useMemo","useEntityRecords","useDispatch","useSelect","unlock","store","editorStore","usePostFields","postType","registerPostTypeSchema","defaultFields","select","getEntityFields","records","authors","isResolving","isLoadingAuthors","per_page","fields","map","field","id","elements","name","value","label","isLoading"],"sources":["@wordpress/editor/src/components/post-fields/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport type { Field } from '@wordpress/dataviews';\nimport type { BasePostWithEmbeddedAuthor } from '@wordpress/fields';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\ninterface UsePostFieldsReturn {\n\tisLoading: boolean;\n\tfields: Field< BasePostWithEmbeddedAuthor >[];\n}\n\ninterface Author {\n\tid: number;\n\tname: string;\n}\n\nfunction usePostFields( {\n\tpostType,\n}: {\n\tpostType: string;\n} ): UsePostFieldsReturn {\n\tconst { registerPostTypeSchema } = unlock( useDispatch( editorStore ) );\n\tuseEffect( () => {\n\t\tregisterPostTypeSchema( postType );\n\t}, [ registerPostTypeSchema, postType ] );\n\n\tconst { defaultFields } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityFields } = unlock( select( editorStore ) );\n\t\t\treturn {\n\t\t\t\tdefaultFields: getEntityFields( 'postType', postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst { records: authors, isResolving: isLoadingAuthors } =\n\t\tuseEntityRecords< Author >( 'root', 'user', { per_page: -1 } );\n\n\tconst fields = useMemo(\n\t\t() =>\n\t\t\tdefaultFields.map(\n\t\t\t\t( field: Field< BasePostWithEmbeddedAuthor > ) => {\n\t\t\t\t\tif ( field.id === 'author' ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...field,\n\t\t\t\t\t\t\telements: authors?.map( ( { id, name } ) => ( {\n\t\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t\t} ) ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn field;\n\t\t\t\t}\n\t\t\t) as Field< BasePostWithEmbeddedAuthor >[],\n\t\t[ authors, defaultFields ]\n\t);\n\n\treturn {\n\t\tisLoading: isLoadingAuthors,\n\t\tfields,\n\t};\n}\n\n/**\n * Hook to get the fields for a post (BasePost or BasePostWithEmbeddedAuthor).\n */\nexport default usePostFields;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,OAAO,QAAQ,oBAAoB;AACvD,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AAIxD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAYlD,SAASC,aAAaA,CAAE;EACvBC;AAGD,CAAC,EAAwB;EACxB,MAAM;IAAEC;EAAuB,CAAC,GAAGL,MAAM,CAAEF,WAAW,CAAEI,WAAY,CAAE,CAAC;EACvEP,SAAS,CAAE,MAAM;IAChBU,sBAAsB,CAAED,QAAS,CAAC;EACnC,CAAC,EAAE,CAAEC,sBAAsB,EAAED,QAAQ,CAAG,CAAC;EAEzC,MAAM;IAAEE;EAAc,CAAC,GAAGP,SAAS,CAChCQ,MAAM,IAAM;IACb,MAAM;MAAEC;IAAgB,CAAC,GAAGR,MAAM,CAAEO,MAAM,CAAEL,WAAY,CAAE,CAAC;IAC3D,OAAO;MACNI,aAAa,EAAEE,eAAe,CAAE,UAAU,EAAEJ,QAAS;IACtD,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,MAAM;IAAEK,OAAO,EAAEC,OAAO;IAAEC,WAAW,EAAEC;EAAiB,CAAC,GACxDf,gBAAgB,CAAY,MAAM,EAAE,MAAM,EAAE;IAAEgB,QAAQ,EAAE,CAAC;EAAE,CAAE,CAAC;EAE/D,MAAMC,MAAM,GAAGlB,OAAO,CACrB,MACCU,aAAa,CAACS,GAAG,CACdC,KAA0C,IAAM;IACjD,IAAKA,KAAK,CAACC,EAAE,KAAK,QAAQ,EAAG;MAC5B,OAAO;QACN,GAAGD,KAAK;QACRE,QAAQ,EAAER,OAAO,EAAEK,GAAG,CAAE,CAAE;UAAEE,EAAE;UAAEE;QAAK,CAAC,MAAQ;UAC7CC,KAAK,EAAEH,EAAE;UACTI,KAAK,EAAEF;QACR,CAAC,CAAG;MACL,CAAC;IACF;IAEA,OAAOH,KAAK;EACb,CACD,CAA0C,EAC3C,CAAEN,OAAO,EAAEJ,aAAa,CACzB,CAAC;EAED,OAAO;IACNgB,SAAS,EAAEV,gBAAgB;IAC3BE;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA,eAAeX,aAAa","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useMemo","useEntityRecords","useDispatch","useSelect","unlock","store","editorStore","usePostFields","postType","registerPostTypeSchema","defaultFields","select","getEntityFields","records","authors","isResolving","isLoadingAuthors","per_page","fields","map","field","id","elements","name","value","label","isLoading"],"sources":["@wordpress/editor/src/components/post-fields/index.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useEffect, useMemo } from '@wordpress/element';\nimport { useEntityRecords } from '@wordpress/core-data';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport type { Field } from '@wordpress/dataviews';\nimport type { BasePostWithEmbeddedAuthor } from '@wordpress/fields';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\nimport { store as editorStore } from '../../store';\n\ninterface UsePostFieldsReturn {\n\tisLoading: boolean;\n\tfields: Field< BasePostWithEmbeddedAuthor >[];\n}\n\ninterface Author {\n\tid: number;\n\tname: string;\n}\n\nfunction usePostFields( {\n\tpostType,\n}: {\n\tpostType: string;\n} ): UsePostFieldsReturn {\n\tconst { registerPostTypeSchema } = unlock( useDispatch( editorStore ) );\n\tuseEffect( () => {\n\t\tregisterPostTypeSchema( postType );\n\t}, [ registerPostTypeSchema, postType ] );\n\n\tconst { defaultFields } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityFields } = unlock( select( editorStore ) );\n\t\t\treturn {\n\t\t\t\tdefaultFields: getEntityFields( 'postType', postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst { records: authors, isResolving: isLoadingAuthors } =\n\t\tuseEntityRecords< Author >( 'root', 'user', { per_page: -1 } );\n\n\tconst fields = useMemo(\n\t\t() =>\n\t\t\tdefaultFields.map(\n\t\t\t\t( field: Field< BasePostWithEmbeddedAuthor > ) => {\n\t\t\t\t\tif ( field.id === 'author' ) {\n\t\t\t\t\t\treturn {\n\t\t\t\t\t\t\t...field,\n\t\t\t\t\t\t\telements: authors?.map( ( { id, name } ) => ( {\n\t\t\t\t\t\t\t\tvalue: id,\n\t\t\t\t\t\t\t\tlabel: name,\n\t\t\t\t\t\t\t} ) ),\n\t\t\t\t\t\t};\n\t\t\t\t\t}\n\n\t\t\t\t\treturn field;\n\t\t\t\t}\n\t\t\t) as Field< BasePostWithEmbeddedAuthor >[],\n\t\t[ authors, defaultFields ]\n\t);\n\n\treturn {\n\t\tisLoading: isLoadingAuthors,\n\t\tfields,\n\t};\n}\n\n/**\n * Hook to get the fields for a post (BasePost or BasePostWithEmbeddedAuthor).\n */\nexport default usePostFields;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,SAAS,EAAEC,OAAO,QAAQ,oBAAoB;AACvD,SAASC,gBAAgB,QAAQ,sBAAsB;AACvD,SAASC,WAAW,EAAEC,SAAS,QAAQ,iBAAiB;AAIxD;AACA;AACA;AACA,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAYlD,SAASC,aAAaA,CAAE;EACvBC;AAGD,CAAC,EAAwB;EACxB,MAAM;IAAEC;EAAuB,CAAC,GAAGL,MAAM,CAAEF,WAAW,CAAEI,WAAY,CAAE,CAAC;EACvEP,SAAS,CAAE,MAAM;IAChBU,sBAAsB,CAAED,QAAS,CAAC;EACnC,CAAC,EAAE,CAAEC,sBAAsB,EAAED,QAAQ,CAAG,CAAC;EAEzC,MAAM;IAAEE;EAAc,CAAC,GAAGP,SAAS,CAChCQ,MAAM,IAAM;IACb,MAAM;MAAEC;IAAgB,CAAC,GAAGR,MAAM,CAAEO,MAAM,CAAEL,WAAY,CAAE,CAAC;IAC3D,OAAO;MACNI,aAAa,EAAEE,eAAe,CAAE,UAAU,EAAEJ,QAAS;IACtD,CAAC;EACF,CAAC,EACD,CAAEA,QAAQ,CACX,CAAC;EAED,MAAM;IAAEK,OAAO,EAAEC,OAAO;IAAEC,WAAW,EAAEC;EAAiB,CAAC,GACxDf,gBAAgB,CAAY,MAAM,EAAE,MAAM,EAAE;IAAEgB,QAAQ,EAAE,CAAC;EAAE,CAAE,CAAC;EAE/D,MAAMC,MAAM,GAAGlB,OAAO,CACrB,MACCU,aAAa,CAACS,GAAG,CACdC,KAA0C,IAAM;IACjD,IAAKA,KAAK,CAACC,EAAE,KAAK,QAAQ,EAAG;MAC5B,OAAO;QACN,GAAGD,KAAK;QACRE,QAAQ,EAAER,OAAO,EAAEK,GAAG,CAAE,CAAE;UAAEE,EAAE;UAAEE;QAAK,CAAC,MAAQ;UAC7CC,KAAK,EAAEH,EAAE;UACTI,KAAK,EAAEF;QACR,CAAC,CAAG;MACL,CAAC;IACF;IAEA,OAAOH,KAAK;EACb,CACD,CAA0C,EAC3C,CAAEN,OAAO,EAAEJ,aAAa,CACzB,CAAC;EAED,OAAO;IACNgB,SAAS,EAAEV,gBAAgB;IAC3BE;EACD,CAAC;AACF;;AAEA;AACA;AACA;AACA,eAAeX,aAAa","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","sprintf","Button","RadioControl","useDispatch","useSelect","useInstanceId","store","coreStore","PostFormatCheck","editorStore","jsx","_jsx","jsxs","_jsxs","POST_FORMATS","id","caption","sort","a","b","normalizedA","toUpperCase","normalizedB","PostFormat","instanceId","postFormatSelectorId","postFormat","suggestedFormat","supportedFormats","select","getEditedPostAttribute","getSuggestedPostFormat","_postFormat","themeSupports","getThemeSupports","formats","filter","format","includes","suggestion","find","editPost","onUpdatePostFormat","children","className","label","selected","onChange","options","map","value","hideLabelFromVision","__next40pxDefaultSize","variant","onClick"],"sources":["@wordpress/editor/src/components/post-format/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, RadioControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFormatCheck from './check';\nimport { store as editorStore } from '../../store';\n\n// All WP post formats, sorted alphabetically by translated name.\nexport const POST_FORMATS = [\n\t{ id: 'aside', caption: __( 'Aside' ) },\n\t{ id: 'audio', caption: __( 'Audio' ) },\n\t{ id: 'chat', caption: __( 'Chat' ) },\n\t{ id: 'gallery', caption: __( 'Gallery' ) },\n\t{ id: 'image', caption: __( 'Image' ) },\n\t{ id: 'link', caption: __( 'Link' ) },\n\t{ id: 'quote', caption: __( 'Quote' ) },\n\t{ id: 'standard', caption: __( 'Standard' ) },\n\t{ id: 'status', caption: __( 'Status' ) },\n\t{ id: 'video', caption: __( 'Video' ) },\n].sort( ( a, b ) => {\n\tconst normalizedA = a.caption.toUpperCase();\n\tconst normalizedB = b.caption.toUpperCase();\n\n\tif ( normalizedA < normalizedB ) {\n\t\treturn -1;\n\t}\n\tif ( normalizedA > normalizedB ) {\n\t\treturn 1;\n\t}\n\treturn 0;\n} );\n\n/**\n * `PostFormat` a component that allows changing the post format while also providing a suggestion for the current post.\n *\n * @example\n * ```jsx\n * <PostFormat />\n * ```\n *\n * @return {React.ReactNode} The rendered PostFormat component.\n */\nexport default function PostFormat() {\n\tconst instanceId = useInstanceId( PostFormat );\n\tconst postFormatSelectorId = `post-format-selector-${ instanceId }`;\n\n\tconst { postFormat, suggestedFormat, supportedFormats } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst _postFormat = getEditedPostAttribute( 'format' );\n\t\t\tconst themeSupports = select( coreStore ).getThemeSupports();\n\t\t\treturn {\n\t\t\t\tpostFormat: _postFormat ?? 'standard',\n\t\t\t\tsuggestedFormat: getSuggestedPostFormat(),\n\t\t\t\tsupportedFormats: themeSupports.formats,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst formats = POST_FORMATS.filter( ( format ) => {\n\t\t// Ensure current format is always in the set.\n\t\t// The current format may not be a format supported by the theme.\n\t\treturn (\n\t\t\tsupportedFormats?.includes( format.id ) || postFormat === format.id\n\t\t);\n\t} );\n\tconst suggestion = formats.find(\n\t\t( format ) => format.id === suggestedFormat\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<div className=\"editor-post-format\">\n\t\t\t\t<RadioControl\n\t\t\t\t\tclassName=\"editor-post-format__options\"\n\t\t\t\t\tlabel={ __( 'Post Format' ) }\n\t\t\t\t\tselected={ postFormat }\n\t\t\t\t\tonChange={ ( format ) => onUpdatePostFormat( format ) }\n\t\t\t\t\tid={ postFormatSelectorId }\n\t\t\t\t\toptions={ formats.map( ( format ) => ( {\n\t\t\t\t\t\tlabel: format.caption,\n\t\t\t\t\t\tvalue: format.id,\n\t\t\t\t\t} ) ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t\t{ suggestion && suggestion.id !== postFormat && (\n\t\t\t\t\t<p className=\"editor-post-format__suggestion\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonUpdatePostFormat( suggestion.id )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post format */\n\t\t\t\t\t\t\t\t__( 'Apply suggested format: %s' ),\n\t\t\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</PostFormatCheck>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__","sprintf","Button","RadioControl","useDispatch","useSelect","useInstanceId","store","coreStore","PostFormatCheck","editorStore","jsx","_jsx","jsxs","_jsxs","POST_FORMATS","id","caption","sort","a","b","normalizedA","toUpperCase","normalizedB","PostFormat","instanceId","postFormatSelectorId","postFormat","suggestedFormat","supportedFormats","select","getEditedPostAttribute","getSuggestedPostFormat","_postFormat","themeSupports","getThemeSupports","formats","filter","format","includes","suggestion","find","editPost","onUpdatePostFormat","children","className","label","selected","onChange","options","map","value","hideLabelFromVision","__next40pxDefaultSize","variant","onClick"],"sources":["@wordpress/editor/src/components/post-format/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport { Button, RadioControl } from '@wordpress/components';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useInstanceId } from '@wordpress/compose';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostFormatCheck from './check';\nimport { store as editorStore } from '../../store';\n\n// All WP post formats, sorted alphabetically by translated name.\nexport const POST_FORMATS = [\n\t{ id: 'aside', caption: __( 'Aside' ) },\n\t{ id: 'audio', caption: __( 'Audio' ) },\n\t{ id: 'chat', caption: __( 'Chat' ) },\n\t{ id: 'gallery', caption: __( 'Gallery' ) },\n\t{ id: 'image', caption: __( 'Image' ) },\n\t{ id: 'link', caption: __( 'Link' ) },\n\t{ id: 'quote', caption: __( 'Quote' ) },\n\t{ id: 'standard', caption: __( 'Standard' ) },\n\t{ id: 'status', caption: __( 'Status' ) },\n\t{ id: 'video', caption: __( 'Video' ) },\n].sort( ( a, b ) => {\n\tconst normalizedA = a.caption.toUpperCase();\n\tconst normalizedB = b.caption.toUpperCase();\n\n\tif ( normalizedA < normalizedB ) {\n\t\treturn -1;\n\t}\n\tif ( normalizedA > normalizedB ) {\n\t\treturn 1;\n\t}\n\treturn 0;\n} );\n\n/**\n * `PostFormat` a component that allows changing the post format while also providing a suggestion for the current post.\n *\n * @example\n * ```jsx\n * <PostFormat />\n * ```\n *\n * @return {React.ReactNode} The rendered PostFormat component.\n */\nexport default function PostFormat() {\n\tconst instanceId = useInstanceId( PostFormat );\n\tconst postFormatSelectorId = `post-format-selector-${ instanceId }`;\n\n\tconst { postFormat, suggestedFormat, supportedFormats } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEditedPostAttribute, getSuggestedPostFormat } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst _postFormat = getEditedPostAttribute( 'format' );\n\t\t\tconst themeSupports = select( coreStore ).getThemeSupports();\n\t\t\treturn {\n\t\t\t\tpostFormat: _postFormat ?? 'standard',\n\t\t\t\tsuggestedFormat: getSuggestedPostFormat(),\n\t\t\t\tsupportedFormats: themeSupports.formats,\n\t\t\t};\n\t\t},\n\t\t[]\n\t);\n\n\tconst formats = POST_FORMATS.filter( ( format ) => {\n\t\t// Ensure current format is always in the set.\n\t\t// The current format may not be a format supported by the theme.\n\t\treturn (\n\t\t\tsupportedFormats?.includes( format.id ) || postFormat === format.id\n\t\t);\n\t} );\n\tconst suggestion = formats.find(\n\t\t( format ) => format.id === suggestedFormat\n\t);\n\n\tconst { editPost } = useDispatch( editorStore );\n\n\tconst onUpdatePostFormat = ( format ) => editPost( { format } );\n\n\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<div className=\"editor-post-format\">\n\t\t\t\t<RadioControl\n\t\t\t\t\tclassName=\"editor-post-format__options\"\n\t\t\t\t\tlabel={ __( 'Post Format' ) }\n\t\t\t\t\tselected={ postFormat }\n\t\t\t\t\tonChange={ ( format ) => onUpdatePostFormat( format ) }\n\t\t\t\t\tid={ postFormatSelectorId }\n\t\t\t\t\toptions={ formats.map( ( format ) => ( {\n\t\t\t\t\t\tlabel: format.caption,\n\t\t\t\t\t\tvalue: format.id,\n\t\t\t\t\t} ) ) }\n\t\t\t\t\thideLabelFromVision\n\t\t\t\t/>\n\t\t\t\t{ suggestion && suggestion.id !== postFormat && (\n\t\t\t\t\t<p className=\"editor-post-format__suggestion\">\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t\t\t\tvariant=\"link\"\n\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\tonUpdatePostFormat( suggestion.id )\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t\t/* translators: %s: post format */\n\t\t\t\t\t\t\t\t__( 'Apply suggested format: %s' ),\n\t\t\t\t\t\t\t\tsuggestion.caption\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\t\t</PostFormatCheck>\n\t);\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */
@@ -1 +1 @@
1
- {"version":3,"names":["Button","Dropdown","__","sprintf","useSelect","useState","useMemo","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","default","PostFormatForm","POST_FORMATS","PostFormatCheck","PostPanelRow","store","editorStore","jsx","_jsx","jsxs","_jsxs","PostFormat","postFormat","select","getEditedPostAttribute","_postFormat","activeFormat","find","format","id","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","children","label","ref","contentClassName","focusOnMount","renderToggle","isOpen","onToggle","size","variant","caption","onClick","renderContent","onClose","className","title"],"sources":["@wordpress/editor/src/components/post-format/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { default as PostFormatForm, POST_FORMATS } from './';\nimport PostFormatCheck from './check';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the Post Author Panel component.\n *\n * @return {React.ReactNode} The rendered component.\n */\nfunction PostFormat() {\n\tconst { postFormat } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst _postFormat = getEditedPostAttribute( 'format' );\n\t\treturn {\n\t\t\tpostFormat: _postFormat ?? 'standard',\n\t\t};\n\t}, [] );\n\tconst activeFormat = POST_FORMATS.find(\n\t\t( format ) => format.id === postFormat\n\t);\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<PostPanelRow label={ __( 'Format' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tcontentClassName=\"editor-post-format__dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Current post format.\n\t\t\t\t\t\t\t\t__( 'Change format: %s' ),\n\t\t\t\t\t\t\t\tactiveFormat?.caption\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ activeFormat?.caption }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<div className=\"editor-post-format__dialog-content\">\n\t\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\t\ttitle={ __( 'Format' ) }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostFormatForm />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostFormatCheck>\n\t);\n}\n\nexport default PostFormat;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;AACtD,SAASC,oCAAoC,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAExG;AACA;AACA;AACA,SAASC,OAAO,IAAIC,cAAc,EAAEC,YAAY,QAAQ,IAAI;AAC5D,OAAOC,eAAe,MAAM,SAAS;AACrC,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,SAASC,UAAUA,CAAA,EAAG;EACrB,MAAM;IAAEC;EAAW,CAAC,GAAGjB,SAAS,CAAIkB,MAAM,IAAM;IAC/C,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEP,WAAY,CAAC;IACxD,MAAMS,WAAW,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACtD,OAAO;MACNF,UAAU,EAAEG,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI;IAC5B,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,YAAY,GAAGd,YAAY,CAACe,IAAI,CACnCC,MAAM,IAAMA,MAAM,CAACC,EAAE,KAAKP,UAC7B,CAAC;;EAED;EACA;EACA,MAAM,CAAEQ,aAAa,EAAEC,gBAAgB,CAAE,GAAGzB,QAAQ,CAAE,IAAK,CAAC;EAC5D;EACA,MAAM0B,YAAY,GAAGzB,OAAO,CAC3B,OAAQ;IACP;IACA;IACA0B,MAAM,EAAEH,aAAa;IACrBI,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAEN,aAAa,CAChB,CAAC;EACD,oBACCZ,IAAA,CAACL,eAAe;IAAAwB,QAAA,eACfnB,IAAA,CAACJ,YAAY;MAACwB,KAAK,EAAGnC,EAAE,CAAE,QAAS,CAAG;MAACoC,GAAG,EAAGR,gBAAkB;MAAAM,QAAA,eAC9DnB,IAAA,CAAChB,QAAQ;QACR8B,YAAY,EAAGA,YAAc;QAC7BQ,gBAAgB,EAAC,4BAA4B;QAC7CC,YAAY;QACZC,YAAY,EAAGA,CAAE;UAAEC,MAAM;UAAEC;QAAS,CAAC,kBACpC1B,IAAA,CAACjB,MAAM;UACN4C,IAAI,EAAC,SAAS;UACdC,OAAO,EAAC,UAAU;UAClB,iBAAgBH,MAAQ;UACxB,cAAavC,OAAO;UACnB;UACAD,EAAE,CAAE,mBAAoB,CAAC,EACzBuB,YAAY,EAAEqB,OACf,CAAG;UACHC,OAAO,EAAGJ,QAAU;UAAAP,QAAA,EAElBX,YAAY,EAAEqB;QAAO,CAChB,CACN;QACHE,aAAa,EAAGA,CAAE;UAAEC;QAAQ,CAAC,kBAC5B9B,KAAA;UAAK+B,SAAS,EAAC,oCAAoC;UAAAd,QAAA,gBAClDnB,IAAA,CAACT,sBAAsB;YACtB2C,KAAK,EAAGjD,EAAE,CAAE,QAAS,CAAG;YACxB+C,OAAO,EAAGA;UAAS,CACnB,CAAC,eACFhC,IAAA,CAACP,cAAc,IAAE,CAAC;QAAA,CACd;MACH,CACH;IAAC,CACW;EAAC,CACC,CAAC;AAEpB;AAEA,eAAeU,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["Button","Dropdown","__","sprintf","useSelect","useState","useMemo","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","default","PostFormatForm","POST_FORMATS","PostFormatCheck","PostPanelRow","store","editorStore","jsx","_jsx","jsxs","_jsxs","PostFormat","postFormat","select","getEditedPostAttribute","_postFormat","activeFormat","find","format","id","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","children","label","ref","contentClassName","focusOnMount","renderToggle","isOpen","onToggle","size","variant","caption","onClick","renderContent","onClose","className","title"],"sources":["@wordpress/editor/src/components/post-format/panel.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Dropdown } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { useState, useMemo } from '@wordpress/element';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\n\n/**\n * Internal dependencies\n */\nimport { default as PostFormatForm, POST_FORMATS } from './';\nimport PostFormatCheck from './check';\nimport PostPanelRow from '../post-panel-row';\nimport { store as editorStore } from '../../store';\n\n/**\n * Renders the Post Author Panel component.\n *\n * @return {React.ReactNode} The rendered component.\n */\nfunction PostFormat() {\n\tconst { postFormat } = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst _postFormat = getEditedPostAttribute( 'format' );\n\t\treturn {\n\t\t\tpostFormat: _postFormat ?? 'standard',\n\t\t};\n\t}, [] );\n\tconst activeFormat = POST_FORMATS.find(\n\t\t( format ) => format.id === postFormat\n\t);\n\n\t// Use internal state instead of a ref to make sure that the component\n\t// re-renders when the popover's anchor updates.\n\tconst [ popoverAnchor, setPopoverAnchor ] = useState( null );\n\t// Memoize popoverProps to avoid returning a new object every time.\n\tconst popoverProps = useMemo(\n\t\t() => ( {\n\t\t\t// Anchor the popover to the middle of the entire row so that it doesn't\n\t\t\t// move around when the label changes.\n\t\t\tanchor: popoverAnchor,\n\t\t\tplacement: 'left-start',\n\t\t\toffset: 36,\n\t\t\tshift: true,\n\t\t} ),\n\t\t[ popoverAnchor ]\n\t);\n\treturn (\n\t\t<PostFormatCheck>\n\t\t\t<PostPanelRow label={ __( 'Format' ) } ref={ setPopoverAnchor }>\n\t\t\t\t<Dropdown\n\t\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\t\tcontentClassName=\"editor-post-format__dialog\"\n\t\t\t\t\tfocusOnMount\n\t\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"compact\"\n\t\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\t\taria-expanded={ isOpen }\n\t\t\t\t\t\t\taria-label={ sprintf(\n\t\t\t\t\t\t\t\t// translators: %s: Current post format.\n\t\t\t\t\t\t\t\t__( 'Change format: %s' ),\n\t\t\t\t\t\t\t\tactiveFormat?.caption\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\tonClick={ onToggle }\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{ activeFormat?.caption }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t) }\n\t\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t\t<div className=\"editor-post-format__dialog-content\">\n\t\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\t\ttitle={ __( 'Format' ) }\n\t\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t<PostFormatForm />\n\t\t\t\t\t\t</div>\n\t\t\t\t\t) }\n\t\t\t\t/>\n\t\t\t</PostPanelRow>\n\t\t</PostFormatCheck>\n\t);\n}\n\nexport default PostFormat;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,MAAM,EAAEC,QAAQ,QAAQ,uBAAuB;AACxD,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,QAAQ,EAAEC,OAAO,QAAQ,oBAAoB;AACtD,SAASC,oCAAoC,IAAIC,sBAAsB,QAAQ,yBAAyB;;AAExG;AACA;AACA;AACA,SAASC,OAAO,IAAIC,cAAc,EAAEC,YAAY,QAAQ,IAAI;AAC5D,OAAOC,eAAe,MAAM,SAAS;AACrC,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAKA,SAASC,UAAUA,CAAA,EAAG;EACrB,MAAM;IAAEC;EAAW,CAAC,GAAGjB,SAAS,CAAIkB,MAAM,IAAM;IAC/C,MAAM;MAAEC;IAAuB,CAAC,GAAGD,MAAM,CAAEP,WAAY,CAAC;IACxD,MAAMS,WAAW,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACtD,OAAO;MACNF,UAAU,EAAEG,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI;IAC5B,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EACP,MAAMC,YAAY,GAAGd,YAAY,CAACe,IAAI,CACnCC,MAAM,IAAMA,MAAM,CAACC,EAAE,KAAKP,UAC7B,CAAC;;EAED;EACA;EACA,MAAM,CAAEQ,aAAa,EAAEC,gBAAgB,CAAE,GAAGzB,QAAQ,CAAE,IAAK,CAAC;EAC5D;EACA,MAAM0B,YAAY,GAAGzB,OAAO,CAC3B,OAAQ;IACP;IACA;IACA0B,MAAM,EAAEH,aAAa;IACrBI,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAEN,aAAa,CAChB,CAAC;EACD,oBACCZ,IAAA,CAACL,eAAe;IAAAwB,QAAA,eACfnB,IAAA,CAACJ,YAAY;MAACwB,KAAK,EAAGnC,EAAE,CAAE,QAAS,CAAG;MAACoC,GAAG,EAAGR,gBAAkB;MAAAM,QAAA,eAC9DnB,IAAA,CAAChB,QAAQ;QACR8B,YAAY,EAAGA,YAAc;QAC7BQ,gBAAgB,EAAC,4BAA4B;QAC7CC,YAAY;QACZC,YAAY,EAAGA,CAAE;UAAEC,MAAM;UAAEC;QAAS,CAAC,kBACpC1B,IAAA,CAACjB,MAAM;UACN4C,IAAI,EAAC,SAAS;UACdC,OAAO,EAAC,UAAU;UAClB,iBAAgBH,MAAQ;UACxB,cAAavC,OAAO;UACnB;UACAD,EAAE,CAAE,mBAAoB,CAAC,EACzBuB,YAAY,EAAEqB,OACf,CAAG;UACHC,OAAO,EAAGJ,QAAU;UAAAP,QAAA,EAElBX,YAAY,EAAEqB;QAAO,CAChB,CACN;QACHE,aAAa,EAAGA,CAAE;UAAEC;QAAQ,CAAC,kBAC5B9B,KAAA;UAAK+B,SAAS,EAAC,oCAAoC;UAAAd,QAAA,gBAClDnB,IAAA,CAACT,sBAAsB;YACtB2C,KAAK,EAAGjD,EAAE,CAAE,QAAS,CAAG;YACxB+C,OAAO,EAAGA;UAAS,CACnB,CAAC,eACFhC,IAAA,CAACP,cAAc,IAAE,CAAC;QAAA,CACd;MACH,CACH;IAAC,CACW;EAAC,CACC,CAAC;AAEpB;AAEA,eAAeU,UAAU","ignoreList":[]}
@@ -1,3 +1,4 @@
1
+ /* wp:polyfill */
1
2
  /**
2
3
  * WordPress dependencies
3
4
  */