@wordpress/editor 14.17.0 → 14.18.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 (322) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/bindings/pattern-overrides.js +0 -1
  3. package/build/bindings/pattern-overrides.js.map +1 -1
  4. package/build/bindings/post-meta.js +0 -1
  5. package/build/bindings/post-meta.js.map +1 -1
  6. package/build/components/autocompleters/user.js +0 -1
  7. package/build/components/autocompleters/user.js.map +1 -1
  8. package/build/components/block-removal-warnings/index.js +0 -1
  9. package/build/components/block-removal-warnings/index.js.map +1 -1
  10. package/build/components/block-settings-menu/content-only-settings-menu.js +0 -1
  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 +0 -1
  13. package/build/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  14. package/build/components/collab-sidebar/comments.js +0 -1
  15. package/build/components/collab-sidebar/comments.js.map +1 -1
  16. package/build/components/collab-sidebar/index.js +0 -1
  17. package/build/components/collab-sidebar/index.js.map +1 -1
  18. package/build/components/collab-sidebar/utils.js +0 -1
  19. package/build/components/collab-sidebar/utils.js.map +1 -1
  20. package/build/components/deprecated.js +0 -1
  21. package/build/components/deprecated.js.map +1 -1
  22. package/build/components/document-outline/index.js +0 -1
  23. package/build/components/document-outline/index.js.map +1 -1
  24. package/build/components/editor/index.js +9 -5
  25. package/build/components/editor/index.js.map +1 -1
  26. package/build/components/editor-help/index.native.js +0 -1
  27. package/build/components/editor-help/index.native.js.map +1 -1
  28. package/build/components/editor-notices/index.js +0 -1
  29. package/build/components/editor-notices/index.js.map +1 -1
  30. package/build/components/editor-snackbars/index.js +0 -1
  31. package/build/components/editor-snackbars/index.js.map +1 -1
  32. package/build/components/entities-saved-states/entity-type-list.js +0 -1
  33. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  34. package/build/components/entities-saved-states/hooks/use-is-dirty.js +0 -1
  35. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  36. package/build/components/entities-saved-states/index.js +0 -1
  37. package/build/components/entities-saved-states/index.js.map +1 -1
  38. package/build/components/keyboard-shortcut-help-modal/index.js +0 -1
  39. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  40. package/build/components/keyboard-shortcut-help-modal/shortcut.js +0 -1
  41. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  42. package/build/components/list-view-sidebar/index.js +0 -1
  43. package/build/components/list-view-sidebar/index.js.map +1 -1
  44. package/build/components/local-autosave-monitor/index.js +0 -1
  45. package/build/components/local-autosave-monitor/index.js.map +1 -1
  46. package/build/components/mode-switcher/index.js +0 -1
  47. package/build/components/mode-switcher/index.js.map +1 -1
  48. package/build/components/page-attributes/parent.js +8 -5
  49. package/build/components/page-attributes/parent.js.map +1 -1
  50. package/build/components/post-actions/actions.js +0 -1
  51. package/build/components/post-actions/actions.js.map +1 -1
  52. package/build/components/post-actions/index.js +0 -1
  53. package/build/components/post-actions/index.js.map +1 -1
  54. package/build/components/post-author/check.js +3 -4
  55. package/build/components/post-author/check.js.map +1 -1
  56. package/build/components/post-author/combobox.js +4 -2
  57. package/build/components/post-author/combobox.js.map +1 -1
  58. package/build/components/post-author/hook.js +8 -5
  59. package/build/components/post-author/hook.js.map +1 -1
  60. package/build/components/post-fields/index.js +0 -1
  61. package/build/components/post-fields/index.js.map +1 -1
  62. package/build/components/post-format/index.js +0 -1
  63. package/build/components/post-format/index.js.map +1 -1
  64. package/build/components/post-format/panel.js +0 -1
  65. package/build/components/post-format/panel.js.map +1 -1
  66. package/build/components/post-publish-button/index.js +0 -1
  67. package/build/components/post-publish-button/index.js.map +1 -1
  68. package/build/components/post-publish-panel/maybe-category-panel.js +2 -4
  69. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  70. package/build/components/post-publish-panel/maybe-post-format-panel.js +0 -1
  71. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  72. package/build/components/post-publish-panel/maybe-tags-panel.js +1 -1
  73. package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  74. package/build/components/post-publish-panel/maybe-upload-media.js +0 -1
  75. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  76. package/build/components/post-publish-panel/media-util.js +0 -1
  77. package/build/components/post-publish-panel/media-util.js.map +1 -1
  78. package/build/components/post-saved-state/index.js +0 -1
  79. package/build/components/post-saved-state/index.js.map +1 -1
  80. package/build/components/post-schedule/index.js +0 -1
  81. package/build/components/post-schedule/index.js.map +1 -1
  82. package/build/components/post-taxonomies/check.js +1 -1
  83. package/build/components/post-taxonomies/check.js.map +1 -1
  84. package/build/components/post-taxonomies/flat-term-selector.js +2 -3
  85. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  86. package/build/components/post-taxonomies/hierarchical-term-selector.js +2 -3
  87. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  88. package/build/components/post-taxonomies/index.js +1 -2
  89. package/build/components/post-taxonomies/index.js.map +1 -1
  90. package/build/components/post-taxonomies/most-used-terms.js +0 -1
  91. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  92. package/build/components/post-template/classic-theme.js +0 -1
  93. package/build/components/post-template/classic-theme.js.map +1 -1
  94. package/build/components/post-template/swap-template-button.js +0 -1
  95. package/build/components/post-template/swap-template-button.js.map +1 -1
  96. package/build/components/post-transform-panel/hooks.js +0 -1
  97. package/build/components/post-transform-panel/hooks.js.map +1 -1
  98. package/build/components/post-type-support-check/index.js +0 -1
  99. package/build/components/post-type-support-check/index.js.map +1 -1
  100. package/build/components/preferences-modal/block-visibility.js +0 -1
  101. package/build/components/preferences-modal/block-visibility.js.map +1 -1
  102. package/build/components/preferences-modal/index.js +0 -1
  103. package/build/components/preferences-modal/index.js.map +1 -1
  104. package/build/components/provider/disable-non-page-content-blocks.js +0 -1
  105. package/build/components/provider/disable-non-page-content-blocks.js.map +1 -1
  106. package/build/components/provider/index.js +0 -1
  107. package/build/components/provider/index.js.map +1 -1
  108. package/build/components/provider/index.native.js +0 -1
  109. package/build/components/provider/index.native.js.map +1 -1
  110. package/build/components/provider/use-block-editor-settings.js +0 -1
  111. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  112. package/build/components/sidebar/index.js +0 -1
  113. package/build/components/sidebar/index.js.map +1 -1
  114. package/build/components/start-template-options/index.js +0 -1
  115. package/build/components/start-template-options/index.js.map +1 -1
  116. package/build/components/template-part-content-panel/index.js +0 -1
  117. package/build/components/template-part-content-panel/index.js.map +1 -1
  118. package/build/components/theme-support-check/index.js +0 -1
  119. package/build/components/theme-support-check/index.js.map +1 -1
  120. package/build/components/visual-editor/use-select-nearest-editable-block.js +0 -1
  121. package/build/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  122. package/build/dataviews/store/private-actions.js +0 -1
  123. package/build/dataviews/store/private-actions.js.map +1 -1
  124. package/build/dataviews/store/reducer.js +0 -1
  125. package/build/dataviews/store/reducer.js.map +1 -1
  126. package/build/hooks/custom-sources-backwards-compatibility.js +0 -1
  127. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  128. package/build/hooks/pattern-overrides.js +0 -1
  129. package/build/hooks/pattern-overrides.js.map +1 -1
  130. package/build/private-apis.js +2 -0
  131. package/build/private-apis.js.map +1 -1
  132. package/build/store/actions.js +0 -1
  133. package/build/store/actions.js.map +1 -1
  134. package/build/store/private-actions.js +0 -1
  135. package/build/store/private-actions.js.map +1 -1
  136. package/build/store/private-selectors.js +0 -1
  137. package/build/store/private-selectors.js.map +1 -1
  138. package/build/store/reducer.js +0 -1
  139. package/build/store/reducer.js.map +1 -1
  140. package/build/store/reducer.native.js +0 -1
  141. package/build/store/reducer.native.js.map +1 -1
  142. package/build/store/selectors.js +0 -1
  143. package/build/store/selectors.js.map +1 -1
  144. package/build/utils/get-template-info.js +0 -1
  145. package/build/utils/get-template-info.js.map +1 -1
  146. package/build/utils/terms.js +0 -1
  147. package/build/utils/terms.js.map +1 -1
  148. package/build-module/bindings/pattern-overrides.js +0 -1
  149. package/build-module/bindings/pattern-overrides.js.map +1 -1
  150. package/build-module/bindings/post-meta.js +0 -1
  151. package/build-module/bindings/post-meta.js.map +1 -1
  152. package/build-module/components/autocompleters/user.js +0 -1
  153. package/build-module/components/autocompleters/user.js.map +1 -1
  154. package/build-module/components/block-removal-warnings/index.js +0 -1
  155. package/build-module/components/block-removal-warnings/index.js.map +1 -1
  156. package/build-module/components/block-settings-menu/content-only-settings-menu.js +0 -1
  157. package/build-module/components/block-settings-menu/content-only-settings-menu.js.map +1 -1
  158. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js +0 -1
  159. package/build-module/components/block-settings-menu/plugin-block-settings-menu-item.js.map +1 -1
  160. package/build-module/components/collab-sidebar/comments.js +0 -1
  161. package/build-module/components/collab-sidebar/comments.js.map +1 -1
  162. package/build-module/components/collab-sidebar/index.js +0 -1
  163. package/build-module/components/collab-sidebar/index.js.map +1 -1
  164. package/build-module/components/collab-sidebar/utils.js +0 -1
  165. package/build-module/components/collab-sidebar/utils.js.map +1 -1
  166. package/build-module/components/deprecated.js +0 -1
  167. package/build-module/components/deprecated.js.map +1 -1
  168. package/build-module/components/document-outline/index.js +0 -1
  169. package/build-module/components/document-outline/index.js.map +1 -1
  170. package/build-module/components/editor/index.js +9 -5
  171. package/build-module/components/editor/index.js.map +1 -1
  172. package/build-module/components/editor-help/index.native.js +0 -1
  173. package/build-module/components/editor-help/index.native.js.map +1 -1
  174. package/build-module/components/editor-notices/index.js +0 -1
  175. package/build-module/components/editor-notices/index.js.map +1 -1
  176. package/build-module/components/editor-snackbars/index.js +0 -1
  177. package/build-module/components/editor-snackbars/index.js.map +1 -1
  178. package/build-module/components/entities-saved-states/entity-type-list.js +0 -1
  179. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  180. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +0 -1
  181. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -1
  182. package/build-module/components/entities-saved-states/index.js +0 -1
  183. package/build-module/components/entities-saved-states/index.js.map +1 -1
  184. package/build-module/components/keyboard-shortcut-help-modal/index.js +0 -1
  185. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  186. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +0 -1
  187. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  188. package/build-module/components/list-view-sidebar/index.js +0 -1
  189. package/build-module/components/list-view-sidebar/index.js.map +1 -1
  190. package/build-module/components/local-autosave-monitor/index.js +0 -1
  191. package/build-module/components/local-autosave-monitor/index.js.map +1 -1
  192. package/build-module/components/mode-switcher/index.js +0 -1
  193. package/build-module/components/mode-switcher/index.js.map +1 -1
  194. package/build-module/components/page-attributes/parent.js +8 -5
  195. package/build-module/components/page-attributes/parent.js.map +1 -1
  196. package/build-module/components/post-actions/actions.js +0 -1
  197. package/build-module/components/post-actions/actions.js.map +1 -1
  198. package/build-module/components/post-actions/index.js +0 -1
  199. package/build-module/components/post-actions/index.js.map +1 -1
  200. package/build-module/components/post-author/check.js +3 -4
  201. package/build-module/components/post-author/check.js.map +1 -1
  202. package/build-module/components/post-author/combobox.js +4 -2
  203. package/build-module/components/post-author/combobox.js.map +1 -1
  204. package/build-module/components/post-author/hook.js +8 -5
  205. package/build-module/components/post-author/hook.js.map +1 -1
  206. package/build-module/components/post-fields/index.js +0 -1
  207. package/build-module/components/post-fields/index.js.map +1 -1
  208. package/build-module/components/post-format/index.js +0 -1
  209. package/build-module/components/post-format/index.js.map +1 -1
  210. package/build-module/components/post-format/panel.js +0 -1
  211. package/build-module/components/post-format/panel.js.map +1 -1
  212. package/build-module/components/post-publish-button/index.js +0 -1
  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 +2 -4
  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 +0 -1
  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-tags-panel.js +1 -1
  219. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  220. package/build-module/components/post-publish-panel/maybe-upload-media.js +0 -1
  221. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -1
  222. package/build-module/components/post-publish-panel/media-util.js +0 -1
  223. package/build-module/components/post-publish-panel/media-util.js.map +1 -1
  224. package/build-module/components/post-saved-state/index.js +0 -1
  225. package/build-module/components/post-saved-state/index.js.map +1 -1
  226. package/build-module/components/post-schedule/index.js +0 -1
  227. package/build-module/components/post-schedule/index.js.map +1 -1
  228. package/build-module/components/post-taxonomies/check.js +1 -1
  229. package/build-module/components/post-taxonomies/check.js.map +1 -1
  230. package/build-module/components/post-taxonomies/flat-term-selector.js +2 -3
  231. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  232. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +2 -3
  233. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  234. package/build-module/components/post-taxonomies/index.js +1 -2
  235. package/build-module/components/post-taxonomies/index.js.map +1 -1
  236. package/build-module/components/post-taxonomies/most-used-terms.js +0 -1
  237. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  238. package/build-module/components/post-template/classic-theme.js +0 -1
  239. package/build-module/components/post-template/classic-theme.js.map +1 -1
  240. package/build-module/components/post-template/swap-template-button.js +0 -1
  241. package/build-module/components/post-template/swap-template-button.js.map +1 -1
  242. package/build-module/components/post-transform-panel/hooks.js +0 -1
  243. package/build-module/components/post-transform-panel/hooks.js.map +1 -1
  244. package/build-module/components/post-type-support-check/index.js +0 -1
  245. package/build-module/components/post-type-support-check/index.js.map +1 -1
  246. package/build-module/components/preferences-modal/block-visibility.js +0 -1
  247. package/build-module/components/preferences-modal/block-visibility.js.map +1 -1
  248. package/build-module/components/preferences-modal/index.js +0 -1
  249. package/build-module/components/preferences-modal/index.js.map +1 -1
  250. package/build-module/components/provider/disable-non-page-content-blocks.js +0 -1
  251. package/build-module/components/provider/disable-non-page-content-blocks.js.map +1 -1
  252. package/build-module/components/provider/index.js +0 -1
  253. package/build-module/components/provider/index.js.map +1 -1
  254. package/build-module/components/provider/index.native.js +0 -1
  255. package/build-module/components/provider/index.native.js.map +1 -1
  256. package/build-module/components/provider/use-block-editor-settings.js +0 -1
  257. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  258. package/build-module/components/sidebar/index.js +0 -1
  259. package/build-module/components/sidebar/index.js.map +1 -1
  260. package/build-module/components/start-template-options/index.js +0 -1
  261. package/build-module/components/start-template-options/index.js.map +1 -1
  262. package/build-module/components/template-part-content-panel/index.js +0 -1
  263. package/build-module/components/template-part-content-panel/index.js.map +1 -1
  264. package/build-module/components/theme-support-check/index.js +0 -1
  265. package/build-module/components/theme-support-check/index.js.map +1 -1
  266. package/build-module/components/visual-editor/use-select-nearest-editable-block.js +0 -1
  267. package/build-module/components/visual-editor/use-select-nearest-editable-block.js.map +1 -1
  268. package/build-module/dataviews/store/private-actions.js +0 -1
  269. package/build-module/dataviews/store/private-actions.js.map +1 -1
  270. package/build-module/dataviews/store/reducer.js +0 -1
  271. package/build-module/dataviews/store/reducer.js.map +1 -1
  272. package/build-module/hooks/custom-sources-backwards-compatibility.js +0 -1
  273. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  274. package/build-module/hooks/pattern-overrides.js +0 -1
  275. package/build-module/hooks/pattern-overrides.js.map +1 -1
  276. package/build-module/private-apis.js +3 -1
  277. package/build-module/private-apis.js.map +1 -1
  278. package/build-module/store/actions.js +0 -1
  279. package/build-module/store/actions.js.map +1 -1
  280. package/build-module/store/private-actions.js +0 -1
  281. package/build-module/store/private-actions.js.map +1 -1
  282. package/build-module/store/private-selectors.js +0 -1
  283. package/build-module/store/private-selectors.js.map +1 -1
  284. package/build-module/store/reducer.js +0 -1
  285. package/build-module/store/reducer.js.map +1 -1
  286. package/build-module/store/reducer.native.js +0 -1
  287. package/build-module/store/reducer.native.js.map +1 -1
  288. package/build-module/store/selectors.js +0 -1
  289. package/build-module/store/selectors.js.map +1 -1
  290. package/build-module/utils/get-template-info.js +0 -1
  291. package/build-module/utils/get-template-info.js.map +1 -1
  292. package/build-module/utils/terms.js +0 -1
  293. package/build-module/utils/terms.js.map +1 -1
  294. package/build-types/components/editor/index.d.ts.map +1 -1
  295. package/build-types/components/page-attributes/parent.d.ts.map +1 -1
  296. package/build-types/components/post-author/check.d.ts.map +1 -1
  297. package/build-types/components/post-author/combobox.d.ts.map +1 -1
  298. package/build-types/components/post-author/hook.d.ts +1 -0
  299. package/build-types/components/post-author/hook.d.ts.map +1 -1
  300. package/build-types/components/post-publish-panel/maybe-category-panel.d.ts.map +1 -1
  301. package/build-types/components/post-publish-panel/maybe-tags-panel.d.ts.map +1 -1
  302. package/build-types/components/post-taxonomies/check.d.ts.map +1 -1
  303. package/build-types/components/post-taxonomies/flat-term-selector.d.ts.map +1 -1
  304. package/build-types/components/post-taxonomies/index.d.ts.map +1 -1
  305. package/build-types/components/post-template/hooks.d.ts +1 -1
  306. package/build-types/components/post-template/hooks.d.ts.map +1 -1
  307. package/build-types/private-apis.d.ts.map +1 -1
  308. package/package.json +37 -37
  309. package/src/components/editor/index.js +24 -13
  310. package/src/components/page-attributes/parent.js +55 -38
  311. package/src/components/post-author/check.js +7 -4
  312. package/src/components/post-author/combobox.js +3 -1
  313. package/src/components/post-author/hook.js +4 -3
  314. package/src/components/post-publish-panel/maybe-category-panel.js +6 -2
  315. package/src/components/post-publish-panel/maybe-tags-panel.js +5 -1
  316. package/src/components/post-taxonomies/check.js +5 -3
  317. package/src/components/post-taxonomies/flat-term-selector.js +2 -2
  318. package/src/components/post-taxonomies/hierarchical-term-selector.js +2 -2
  319. package/src/components/post-taxonomies/index.js +5 -1
  320. package/src/components/post-taxonomies/test/index.js +32 -18
  321. package/src/private-apis.js +7 -1
  322. package/tsconfig.tsbuildinfo +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useEffect","useRef","ifCondition","usePrevious","useSelect","useDispatch","__","parse","store","noticesStore","AutosaveMonitor","localAutosaveGet","localAutosaveClear","editorStore","jsx","_jsx","requestIdleCallback","window","requestAnimationFrame","hasStorageSupport","hasSessionStorageSupport","undefined","sessionStorage","setItem","removeItem","useAutosaveNotice","postId","isEditedPostNew","hasRemoteAutosave","select","getCurrentPostId","getEditorSettings","autosave","getEditedPostAttribute","createWarningNotice","removeNotice","editPost","resetEditorBlocks","localAutosave","JSON","post_title","title","content","excerpt","edits","hasDifference","Object","keys","some","key","id","actions","label","onClick","editsContent","editsWithoutContent","useAutosavePurge","isDirty","isAutosaving","didError","isEditedPostDirty","isAutosavingPost","didPostSaveRequestFail","lastIsDirtyRef","lastIsAutosavingRef","current","wasEditedPostNew","prevPostId","LocalAutosaveMonitor","deferredAutosave","local","localAutosaveInterval","interval"],"sources":["@wordpress/editor/src/components/local-autosave-monitor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useRef } from '@wordpress/element';\nimport { ifCondition, usePrevious } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { parse } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport AutosaveMonitor from '../autosave-monitor';\nimport {\n\tlocalAutosaveGet,\n\tlocalAutosaveClear,\n} from '../../store/local-autosave';\nimport { store as editorStore } from '../../store';\n\nconst requestIdleCallback = window.requestIdleCallback\n\t? window.requestIdleCallback\n\t: window.requestAnimationFrame;\n\nlet hasStorageSupport;\n\n/**\n * Function which returns true if the current environment supports browser\n * sessionStorage, or false otherwise. The result of this function is cached and\n * reused in subsequent invocations.\n */\nconst hasSessionStorageSupport = () => {\n\tif ( hasStorageSupport !== undefined ) {\n\t\treturn hasStorageSupport;\n\t}\n\n\ttry {\n\t\t// Private Browsing in Safari 10 and earlier will throw an error when\n\t\t// attempting to set into sessionStorage. The test here is intentional in\n\t\t// causing a thrown error as condition bailing from local autosave.\n\t\twindow.sessionStorage.setItem( '__wpEditorTestSessionStorage', '' );\n\t\twindow.sessionStorage.removeItem( '__wpEditorTestSessionStorage' );\n\t\thasStorageSupport = true;\n\t} catch {\n\t\thasStorageSupport = false;\n\t}\n\n\treturn hasStorageSupport;\n};\n\n/**\n * Custom hook which manages the creation of a notice prompting the user to\n * restore a local autosave, if one exists.\n */\nfunction useAutosaveNotice() {\n\tconst { postId, isEditedPostNew, hasRemoteAutosave } = useSelect(\n\t\t( select ) => ( {\n\t\t\tpostId: select( editorStore ).getCurrentPostId(),\n\t\t\tisEditedPostNew: select( editorStore ).isEditedPostNew(),\n\t\t\thasRemoteAutosave:\n\t\t\t\t!! select( editorStore ).getEditorSettings().autosave,\n\t\t} ),\n\t\t[]\n\t);\n\tconst { getEditedPostAttribute } = useSelect( editorStore );\n\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticesStore );\n\tconst { editPost, resetEditorBlocks } = useDispatch( editorStore );\n\n\tuseEffect( () => {\n\t\tlet localAutosave = localAutosaveGet( postId, isEditedPostNew );\n\t\tif ( ! localAutosave ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tlocalAutosave = JSON.parse( localAutosave );\n\t\t} catch {\n\t\t\t// Not usable if it can't be parsed.\n\t\t\treturn;\n\t\t}\n\n\t\tconst { post_title: title, content, excerpt } = localAutosave;\n\t\tconst edits = { title, content, excerpt };\n\n\t\t{\n\t\t\t// Only display a notice if there is a difference between what has been\n\t\t\t// saved and that which is stored in sessionStorage.\n\t\t\tconst hasDifference = Object.keys( edits ).some( ( key ) => {\n\t\t\t\treturn edits[ key ] !== getEditedPostAttribute( key );\n\t\t\t} );\n\n\t\t\tif ( ! hasDifference ) {\n\t\t\t\t// If there is no difference, it can be safely ejected from storage.\n\t\t\t\tlocalAutosaveClear( postId, isEditedPostNew );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( hasRemoteAutosave ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst id = 'wpEditorAutosaveRestore';\n\n\t\tcreateWarningNotice(\n\t\t\t__(\n\t\t\t\t'The backup of this post in your browser is different from the version below.'\n\t\t\t),\n\t\t\t{\n\t\t\t\tid,\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Restore the backup' ),\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tcontent: editsContent,\n\t\t\t\t\t\t\t\t...editsWithoutContent\n\t\t\t\t\t\t\t} = edits;\n\t\t\t\t\t\t\teditPost( editsWithoutContent );\n\t\t\t\t\t\t\tresetEditorBlocks( parse( edits.content ) );\n\t\t\t\t\t\t\tremoveNotice( id );\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t);\n\t}, [ isEditedPostNew, postId ] );\n}\n\n/**\n * Custom hook which ejects a local autosave after a successful save occurs.\n */\nfunction useAutosavePurge() {\n\tconst { postId, isEditedPostNew, isDirty, isAutosaving, didError } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\tpostId: select( editorStore ).getCurrentPostId(),\n\t\t\t\tisEditedPostNew: select( editorStore ).isEditedPostNew(),\n\t\t\t\tisDirty: select( editorStore ).isEditedPostDirty(),\n\t\t\t\tisAutosaving: select( editorStore ).isAutosavingPost(),\n\t\t\t\tdidError: select( editorStore ).didPostSaveRequestFail(),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\n\tconst lastIsDirtyRef = useRef( isDirty );\n\tconst lastIsAutosavingRef = useRef( isAutosaving );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! didError &&\n\t\t\t( ( lastIsAutosavingRef.current && ! isAutosaving ) ||\n\t\t\t\t( lastIsDirtyRef.current && ! isDirty ) )\n\t\t) {\n\t\t\tlocalAutosaveClear( postId, isEditedPostNew );\n\t\t}\n\n\t\tlastIsDirtyRef.current = isDirty;\n\t\tlastIsAutosavingRef.current = isAutosaving;\n\t}, [ isDirty, isAutosaving, didError ] );\n\n\t// Once the isEditedPostNew changes from true to false, let's clear the auto-draft autosave.\n\tconst wasEditedPostNew = usePrevious( isEditedPostNew );\n\tconst prevPostId = usePrevious( postId );\n\tuseEffect( () => {\n\t\tif ( prevPostId === postId && wasEditedPostNew && ! isEditedPostNew ) {\n\t\t\tlocalAutosaveClear( postId, true );\n\t\t}\n\t}, [ isEditedPostNew, postId ] );\n}\n\nfunction LocalAutosaveMonitor() {\n\tconst { autosave } = useDispatch( editorStore );\n\tconst deferredAutosave = useCallback( () => {\n\t\trequestIdleCallback( () => autosave( { local: true } ) );\n\t}, [] );\n\tuseAutosaveNotice();\n\tuseAutosavePurge();\n\n\tconst localAutosaveInterval = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditorSettings().localAutosaveInterval,\n\t\t[]\n\t);\n\n\treturn (\n\t\t<AutosaveMonitor\n\t\t\tinterval={ localAutosaveInterval }\n\t\t\tautosave={ deferredAutosave }\n\t\t/>\n\t);\n}\n\n/**\n * Monitors local autosaves of a post in the editor.\n * It uses several hooks and functions to manage autosave behavior:\n * - `useAutosaveNotice` hook: Manages the creation of a notice prompting the user to restore a local autosave, if one exists.\n * - `useAutosavePurge` hook: Ejects a local autosave after a successful save occurs.\n * - `hasSessionStorageSupport` function: Checks if the current environment supports browser sessionStorage.\n * - `LocalAutosaveMonitor` component: Uses the `AutosaveMonitor` component to perform autosaves at a specified interval.\n *\n * The module also checks for sessionStorage support and conditionally exports the `LocalAutosaveMonitor` component based on that.\n *\n * @module LocalAutosaveMonitor\n */\nexport default ifCondition( hasSessionStorageSupport )( LocalAutosaveMonitor );\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useEffect","useRef","ifCondition","usePrevious","useSelect","useDispatch","__","parse","store","noticesStore","AutosaveMonitor","localAutosaveGet","localAutosaveClear","editorStore","jsx","_jsx","requestIdleCallback","window","requestAnimationFrame","hasStorageSupport","hasSessionStorageSupport","undefined","sessionStorage","setItem","removeItem","useAutosaveNotice","postId","isEditedPostNew","hasRemoteAutosave","select","getCurrentPostId","getEditorSettings","autosave","getEditedPostAttribute","createWarningNotice","removeNotice","editPost","resetEditorBlocks","localAutosave","JSON","post_title","title","content","excerpt","edits","hasDifference","Object","keys","some","key","id","actions","label","onClick","editsContent","editsWithoutContent","useAutosavePurge","isDirty","isAutosaving","didError","isEditedPostDirty","isAutosavingPost","didPostSaveRequestFail","lastIsDirtyRef","lastIsAutosavingRef","current","wasEditedPostNew","prevPostId","LocalAutosaveMonitor","deferredAutosave","local","localAutosaveInterval","interval"],"sources":["@wordpress/editor/src/components/local-autosave-monitor/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useCallback, useEffect, useRef } from '@wordpress/element';\nimport { ifCondition, usePrevious } from '@wordpress/compose';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { parse } from '@wordpress/blocks';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport AutosaveMonitor from '../autosave-monitor';\nimport {\n\tlocalAutosaveGet,\n\tlocalAutosaveClear,\n} from '../../store/local-autosave';\nimport { store as editorStore } from '../../store';\n\nconst requestIdleCallback = window.requestIdleCallback\n\t? window.requestIdleCallback\n\t: window.requestAnimationFrame;\n\nlet hasStorageSupport;\n\n/**\n * Function which returns true if the current environment supports browser\n * sessionStorage, or false otherwise. The result of this function is cached and\n * reused in subsequent invocations.\n */\nconst hasSessionStorageSupport = () => {\n\tif ( hasStorageSupport !== undefined ) {\n\t\treturn hasStorageSupport;\n\t}\n\n\ttry {\n\t\t// Private Browsing in Safari 10 and earlier will throw an error when\n\t\t// attempting to set into sessionStorage. The test here is intentional in\n\t\t// causing a thrown error as condition bailing from local autosave.\n\t\twindow.sessionStorage.setItem( '__wpEditorTestSessionStorage', '' );\n\t\twindow.sessionStorage.removeItem( '__wpEditorTestSessionStorage' );\n\t\thasStorageSupport = true;\n\t} catch {\n\t\thasStorageSupport = false;\n\t}\n\n\treturn hasStorageSupport;\n};\n\n/**\n * Custom hook which manages the creation of a notice prompting the user to\n * restore a local autosave, if one exists.\n */\nfunction useAutosaveNotice() {\n\tconst { postId, isEditedPostNew, hasRemoteAutosave } = useSelect(\n\t\t( select ) => ( {\n\t\t\tpostId: select( editorStore ).getCurrentPostId(),\n\t\t\tisEditedPostNew: select( editorStore ).isEditedPostNew(),\n\t\t\thasRemoteAutosave:\n\t\t\t\t!! select( editorStore ).getEditorSettings().autosave,\n\t\t} ),\n\t\t[]\n\t);\n\tconst { getEditedPostAttribute } = useSelect( editorStore );\n\n\tconst { createWarningNotice, removeNotice } = useDispatch( noticesStore );\n\tconst { editPost, resetEditorBlocks } = useDispatch( editorStore );\n\n\tuseEffect( () => {\n\t\tlet localAutosave = localAutosaveGet( postId, isEditedPostNew );\n\t\tif ( ! localAutosave ) {\n\t\t\treturn;\n\t\t}\n\n\t\ttry {\n\t\t\tlocalAutosave = JSON.parse( localAutosave );\n\t\t} catch {\n\t\t\t// Not usable if it can't be parsed.\n\t\t\treturn;\n\t\t}\n\n\t\tconst { post_title: title, content, excerpt } = localAutosave;\n\t\tconst edits = { title, content, excerpt };\n\n\t\t{\n\t\t\t// Only display a notice if there is a difference between what has been\n\t\t\t// saved and that which is stored in sessionStorage.\n\t\t\tconst hasDifference = Object.keys( edits ).some( ( key ) => {\n\t\t\t\treturn edits[ key ] !== getEditedPostAttribute( key );\n\t\t\t} );\n\n\t\t\tif ( ! hasDifference ) {\n\t\t\t\t// If there is no difference, it can be safely ejected from storage.\n\t\t\t\tlocalAutosaveClear( postId, isEditedPostNew );\n\t\t\t\treturn;\n\t\t\t}\n\t\t}\n\n\t\tif ( hasRemoteAutosave ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst id = 'wpEditorAutosaveRestore';\n\n\t\tcreateWarningNotice(\n\t\t\t__(\n\t\t\t\t'The backup of this post in your browser is different from the version below.'\n\t\t\t),\n\t\t\t{\n\t\t\t\tid,\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'Restore the backup' ),\n\t\t\t\t\t\tonClick() {\n\t\t\t\t\t\t\tconst {\n\t\t\t\t\t\t\t\tcontent: editsContent,\n\t\t\t\t\t\t\t\t...editsWithoutContent\n\t\t\t\t\t\t\t} = edits;\n\t\t\t\t\t\t\teditPost( editsWithoutContent );\n\t\t\t\t\t\t\tresetEditorBlocks( parse( edits.content ) );\n\t\t\t\t\t\t\tremoveNotice( id );\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t}\n\t\t);\n\t}, [ isEditedPostNew, postId ] );\n}\n\n/**\n * Custom hook which ejects a local autosave after a successful save occurs.\n */\nfunction useAutosavePurge() {\n\tconst { postId, isEditedPostNew, isDirty, isAutosaving, didError } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\tpostId: select( editorStore ).getCurrentPostId(),\n\t\t\t\tisEditedPostNew: select( editorStore ).isEditedPostNew(),\n\t\t\t\tisDirty: select( editorStore ).isEditedPostDirty(),\n\t\t\t\tisAutosaving: select( editorStore ).isAutosavingPost(),\n\t\t\t\tdidError: select( editorStore ).didPostSaveRequestFail(),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\n\tconst lastIsDirtyRef = useRef( isDirty );\n\tconst lastIsAutosavingRef = useRef( isAutosaving );\n\n\tuseEffect( () => {\n\t\tif (\n\t\t\t! didError &&\n\t\t\t( ( lastIsAutosavingRef.current && ! isAutosaving ) ||\n\t\t\t\t( lastIsDirtyRef.current && ! isDirty ) )\n\t\t) {\n\t\t\tlocalAutosaveClear( postId, isEditedPostNew );\n\t\t}\n\n\t\tlastIsDirtyRef.current = isDirty;\n\t\tlastIsAutosavingRef.current = isAutosaving;\n\t}, [ isDirty, isAutosaving, didError ] );\n\n\t// Once the isEditedPostNew changes from true to false, let's clear the auto-draft autosave.\n\tconst wasEditedPostNew = usePrevious( isEditedPostNew );\n\tconst prevPostId = usePrevious( postId );\n\tuseEffect( () => {\n\t\tif ( prevPostId === postId && wasEditedPostNew && ! isEditedPostNew ) {\n\t\t\tlocalAutosaveClear( postId, true );\n\t\t}\n\t}, [ isEditedPostNew, postId ] );\n}\n\nfunction LocalAutosaveMonitor() {\n\tconst { autosave } = useDispatch( editorStore );\n\tconst deferredAutosave = useCallback( () => {\n\t\trequestIdleCallback( () => autosave( { local: true } ) );\n\t}, [] );\n\tuseAutosaveNotice();\n\tuseAutosavePurge();\n\n\tconst localAutosaveInterval = useSelect(\n\t\t( select ) =>\n\t\t\tselect( editorStore ).getEditorSettings().localAutosaveInterval,\n\t\t[]\n\t);\n\n\treturn (\n\t\t<AutosaveMonitor\n\t\t\tinterval={ localAutosaveInterval }\n\t\t\tautosave={ deferredAutosave }\n\t\t/>\n\t);\n}\n\n/**\n * Monitors local autosaves of a post in the editor.\n * It uses several hooks and functions to manage autosave behavior:\n * - `useAutosaveNotice` hook: Manages the creation of a notice prompting the user to restore a local autosave, if one exists.\n * - `useAutosavePurge` hook: Ejects a local autosave after a successful save occurs.\n * - `hasSessionStorageSupport` function: Checks if the current environment supports browser sessionStorage.\n * - `LocalAutosaveMonitor` component: Uses the `AutosaveMonitor` component to perform autosaves at a specified interval.\n *\n * The module also checks for sessionStorage support and conditionally exports the `LocalAutosaveMonitor` component based on that.\n *\n * @module LocalAutosaveMonitor\n */\nexport default ifCondition( hasSessionStorageSupport )( LocalAutosaveMonitor );\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["__","MenuItemsChoice","MenuGroup","useSelect","useDispatch","store","keyboardShortcutsStore","editorStore","jsx","_jsx","MODES","value","label","ModeSwitcher","shortcut","isRichEditingEnabled","isCodeEditingEnabled","mode","select","getShortcutRepresentation","getEditorSettings","richEditingEnabled","codeEditingEnabled","getEditorMode","switchEditorMode","selectedMode","choices","map","choice","disabled","info","children","onSelect"],"sources":["@wordpress/editor/src/components/mode-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItemsChoice, MenuGroup } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Set of available mode options.\n *\n * @type {Array}\n */\nconst MODES = [\n\t{\n\t\tvalue: 'visual',\n\t\tlabel: __( 'Visual editor' ),\n\t},\n\t{\n\t\tvalue: 'text',\n\t\tlabel: __( 'Code editor' ),\n\t},\n];\n\nfunction ModeSwitcher() {\n\tconst { shortcut, isRichEditingEnabled, isCodeEditingEnabled, mode } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\tshortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getShortcutRepresentation( 'core/editor/toggle-mode' ),\n\t\t\t\tisRichEditingEnabled:\n\t\t\t\t\tselect( editorStore ).getEditorSettings()\n\t\t\t\t\t\t.richEditingEnabled,\n\t\t\t\tisCodeEditingEnabled:\n\t\t\t\t\tselect( editorStore ).getEditorSettings()\n\t\t\t\t\t\t.codeEditingEnabled,\n\t\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\tconst { switchEditorMode } = useDispatch( editorStore );\n\n\tlet selectedMode = mode;\n\tif ( ! isRichEditingEnabled && mode === 'visual' ) {\n\t\tselectedMode = 'text';\n\t}\n\tif ( ! isCodeEditingEnabled && mode === 'text' ) {\n\t\tselectedMode = 'visual';\n\t}\n\n\tconst choices = MODES.map( ( choice ) => {\n\t\tif ( ! isCodeEditingEnabled && choice.value === 'text' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t};\n\t\t}\n\t\tif ( ! isRichEditingEnabled && choice.value === 'visual' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t\tinfo: __(\n\t\t\t\t\t'You can enable the visual editor in your profile settings.'\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tif ( choice.value !== selectedMode && ! choice.disabled ) {\n\t\t\treturn { ...choice, shortcut };\n\t\t}\n\t\treturn choice;\n\t} );\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Editor' ) }>\n\t\t\t<MenuItemsChoice\n\t\t\t\tchoices={ choices }\n\t\t\t\tvalue={ selectedMode }\n\t\t\t\tonSelect={ switchEditorMode }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default ModeSwitcher;\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,SAAS,QAAQ,uBAAuB;AAClE,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;;AAE/E;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAKA,MAAMC,KAAK,GAAG,CACb;EACCC,KAAK,EAAE,QAAQ;EACfC,KAAK,EAAEZ,EAAE,CAAE,eAAgB;AAC5B,CAAC,EACD;EACCW,KAAK,EAAE,MAAM;EACbC,KAAK,EAAEZ,EAAE,CAAE,aAAc;AAC1B,CAAC,CACD;AAED,SAASa,YAAYA,CAAA,EAAG;EACvB,MAAM;IAAEC,QAAQ;IAAEC,oBAAoB;IAAEC,oBAAoB;IAAEC;EAAK,CAAC,GACnEd,SAAS,CACNe,MAAM,KAAQ;IACfJ,QAAQ,EAAEI,MAAM,CACfZ,sBACD,CAAC,CAACa,yBAAyB,CAAE,yBAA0B,CAAC;IACxDJ,oBAAoB,EACnBG,MAAM,CAAEX,WAAY,CAAC,CAACa,iBAAiB,CAAC,CAAC,CACvCC,kBAAkB;IACrBL,oBAAoB,EACnBE,MAAM,CAAEX,WAAY,CAAC,CAACa,iBAAiB,CAAC,CAAC,CACvCE,kBAAkB;IACrBL,IAAI,EAAEC,MAAM,CAAEX,WAAY,CAAC,CAACgB,aAAa,CAAC;EAC3C,CAAC,CAAE,EACH,EACD,CAAC;EACF,MAAM;IAAEC;EAAiB,CAAC,GAAGpB,WAAW,CAAEG,WAAY,CAAC;EAEvD,IAAIkB,YAAY,GAAGR,IAAI;EACvB,IAAK,CAAEF,oBAAoB,IAAIE,IAAI,KAAK,QAAQ,EAAG;IAClDQ,YAAY,GAAG,MAAM;EACtB;EACA,IAAK,CAAET,oBAAoB,IAAIC,IAAI,KAAK,MAAM,EAAG;IAChDQ,YAAY,GAAG,QAAQ;EACxB;EAEA,MAAMC,OAAO,GAAGhB,KAAK,CAACiB,GAAG,CAAIC,MAAM,IAAM;IACxC,IAAK,CAAEZ,oBAAoB,IAAIY,MAAM,CAACjB,KAAK,KAAK,MAAM,EAAG;MACxDiB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE;MACX,CAAC;IACF;IACA,IAAK,CAAEd,oBAAoB,IAAIa,MAAM,CAACjB,KAAK,KAAK,QAAQ,EAAG;MAC1DiB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE9B,EAAE,CACP,4DACD;MACD,CAAC;IACF;IACA,IAAK4B,MAAM,CAACjB,KAAK,KAAKc,YAAY,IAAI,CAAEG,MAAM,CAACC,QAAQ,EAAG;MACzD,OAAO;QAAE,GAAGD,MAAM;QAAEd;MAAS,CAAC;IAC/B;IACA,OAAOc,MAAM;EACd,CAAE,CAAC;EAEH,oBACCnB,IAAA,CAACP,SAAS;IAACU,KAAK,EAAGZ,EAAE,CAAE,QAAS,CAAG;IAAA+B,QAAA,eAClCtB,IAAA,CAACR,eAAe;MACfyB,OAAO,EAAGA,OAAS;MACnBf,KAAK,EAAGc,YAAc;MACtBO,QAAQ,EAAGR;IAAkB,CAC7B;EAAC,CACQ,CAAC;AAEd;AAEA,eAAeX,YAAY","ignoreList":[]}
1
+ {"version":3,"names":["__","MenuItemsChoice","MenuGroup","useSelect","useDispatch","store","keyboardShortcutsStore","editorStore","jsx","_jsx","MODES","value","label","ModeSwitcher","shortcut","isRichEditingEnabled","isCodeEditingEnabled","mode","select","getShortcutRepresentation","getEditorSettings","richEditingEnabled","codeEditingEnabled","getEditorMode","switchEditorMode","selectedMode","choices","map","choice","disabled","info","children","onSelect"],"sources":["@wordpress/editor/src/components/mode-switcher/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { MenuItemsChoice, MenuGroup } from '@wordpress/components';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as keyboardShortcutsStore } from '@wordpress/keyboard-shortcuts';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\n/**\n * Set of available mode options.\n *\n * @type {Array}\n */\nconst MODES = [\n\t{\n\t\tvalue: 'visual',\n\t\tlabel: __( 'Visual editor' ),\n\t},\n\t{\n\t\tvalue: 'text',\n\t\tlabel: __( 'Code editor' ),\n\t},\n];\n\nfunction ModeSwitcher() {\n\tconst { shortcut, isRichEditingEnabled, isCodeEditingEnabled, mode } =\n\t\tuseSelect(\n\t\t\t( select ) => ( {\n\t\t\t\tshortcut: select(\n\t\t\t\t\tkeyboardShortcutsStore\n\t\t\t\t).getShortcutRepresentation( 'core/editor/toggle-mode' ),\n\t\t\t\tisRichEditingEnabled:\n\t\t\t\t\tselect( editorStore ).getEditorSettings()\n\t\t\t\t\t\t.richEditingEnabled,\n\t\t\t\tisCodeEditingEnabled:\n\t\t\t\t\tselect( editorStore ).getEditorSettings()\n\t\t\t\t\t\t.codeEditingEnabled,\n\t\t\t\tmode: select( editorStore ).getEditorMode(),\n\t\t\t} ),\n\t\t\t[]\n\t\t);\n\tconst { switchEditorMode } = useDispatch( editorStore );\n\n\tlet selectedMode = mode;\n\tif ( ! isRichEditingEnabled && mode === 'visual' ) {\n\t\tselectedMode = 'text';\n\t}\n\tif ( ! isCodeEditingEnabled && mode === 'text' ) {\n\t\tselectedMode = 'visual';\n\t}\n\n\tconst choices = MODES.map( ( choice ) => {\n\t\tif ( ! isCodeEditingEnabled && choice.value === 'text' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t};\n\t\t}\n\t\tif ( ! isRichEditingEnabled && choice.value === 'visual' ) {\n\t\t\tchoice = {\n\t\t\t\t...choice,\n\t\t\t\tdisabled: true,\n\t\t\t\tinfo: __(\n\t\t\t\t\t'You can enable the visual editor in your profile settings.'\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t\tif ( choice.value !== selectedMode && ! choice.disabled ) {\n\t\t\treturn { ...choice, shortcut };\n\t\t}\n\t\treturn choice;\n\t} );\n\n\treturn (\n\t\t<MenuGroup label={ __( 'Editor' ) }>\n\t\t\t<MenuItemsChoice\n\t\t\t\tchoices={ choices }\n\t\t\t\tvalue={ selectedMode }\n\t\t\t\tonSelect={ switchEditorMode }\n\t\t\t/>\n\t\t</MenuGroup>\n\t);\n}\n\nexport default ModeSwitcher;\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,EAAEC,SAAS,QAAQ,uBAAuB;AAClE,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,KAAK,IAAIC,sBAAsB,QAAQ,+BAA+B;;AAE/E;AACA;AACA;AACA,SAASD,KAAK,IAAIE,WAAW,QAAQ,aAAa;;AAElD;AACA;AACA;AACA;AACA;AAJA,SAAAC,GAAA,IAAAC,IAAA;AAKA,MAAMC,KAAK,GAAG,CACb;EACCC,KAAK,EAAE,QAAQ;EACfC,KAAK,EAAEZ,EAAE,CAAE,eAAgB;AAC5B,CAAC,EACD;EACCW,KAAK,EAAE,MAAM;EACbC,KAAK,EAAEZ,EAAE,CAAE,aAAc;AAC1B,CAAC,CACD;AAED,SAASa,YAAYA,CAAA,EAAG;EACvB,MAAM;IAAEC,QAAQ;IAAEC,oBAAoB;IAAEC,oBAAoB;IAAEC;EAAK,CAAC,GACnEd,SAAS,CACNe,MAAM,KAAQ;IACfJ,QAAQ,EAAEI,MAAM,CACfZ,sBACD,CAAC,CAACa,yBAAyB,CAAE,yBAA0B,CAAC;IACxDJ,oBAAoB,EACnBG,MAAM,CAAEX,WAAY,CAAC,CAACa,iBAAiB,CAAC,CAAC,CACvCC,kBAAkB;IACrBL,oBAAoB,EACnBE,MAAM,CAAEX,WAAY,CAAC,CAACa,iBAAiB,CAAC,CAAC,CACvCE,kBAAkB;IACrBL,IAAI,EAAEC,MAAM,CAAEX,WAAY,CAAC,CAACgB,aAAa,CAAC;EAC3C,CAAC,CAAE,EACH,EACD,CAAC;EACF,MAAM;IAAEC;EAAiB,CAAC,GAAGpB,WAAW,CAAEG,WAAY,CAAC;EAEvD,IAAIkB,YAAY,GAAGR,IAAI;EACvB,IAAK,CAAEF,oBAAoB,IAAIE,IAAI,KAAK,QAAQ,EAAG;IAClDQ,YAAY,GAAG,MAAM;EACtB;EACA,IAAK,CAAET,oBAAoB,IAAIC,IAAI,KAAK,MAAM,EAAG;IAChDQ,YAAY,GAAG,QAAQ;EACxB;EAEA,MAAMC,OAAO,GAAGhB,KAAK,CAACiB,GAAG,CAAIC,MAAM,IAAM;IACxC,IAAK,CAAEZ,oBAAoB,IAAIY,MAAM,CAACjB,KAAK,KAAK,MAAM,EAAG;MACxDiB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE;MACX,CAAC;IACF;IACA,IAAK,CAAEd,oBAAoB,IAAIa,MAAM,CAACjB,KAAK,KAAK,QAAQ,EAAG;MAC1DiB,MAAM,GAAG;QACR,GAAGA,MAAM;QACTC,QAAQ,EAAE,IAAI;QACdC,IAAI,EAAE9B,EAAE,CACP,4DACD;MACD,CAAC;IACF;IACA,IAAK4B,MAAM,CAACjB,KAAK,KAAKc,YAAY,IAAI,CAAEG,MAAM,CAACC,QAAQ,EAAG;MACzD,OAAO;QAAE,GAAGD,MAAM;QAAEd;MAAS,CAAC;IAC/B;IACA,OAAOc,MAAM;EACd,CAAE,CAAC;EAEH,oBACCnB,IAAA,CAACP,SAAS;IAACU,KAAK,EAAGZ,EAAE,CAAE,QAAS,CAAG;IAAA+B,QAAA,eAClCtB,IAAA,CAACR,eAAe;MACfyB,OAAO,EAAGA,OAAS;MACnBf,KAAK,EAAGc,YAAc;MACtBO,QAAQ,EAAGR;IAAkB,CAC7B;EAAC,CACQ,CAAC;AAEd;AAEA,eAAeX,YAAY","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * External dependencies
4
3
  */
@@ -54,13 +53,15 @@ export function PageAttributesParent() {
54
53
  isHierarchical,
55
54
  parentPostId,
56
55
  parentPostTitle,
57
- pageItems
56
+ pageItems,
57
+ isLoading
58
58
  } = useSelect(select => {
59
59
  var _pType$hierarchical;
60
60
  const {
61
61
  getPostType,
62
62
  getEntityRecords,
63
- getEntityRecord
63
+ getEntityRecord,
64
+ isResolving
64
65
  } = select(coreStore);
65
66
  const {
66
67
  getCurrentPostId,
@@ -89,7 +90,8 @@ export function PageAttributesParent() {
89
90
  isHierarchical: postIsHierarchical,
90
91
  parentPostId: pageId,
91
92
  parentPostTitle: parentPost ? getTitle(parentPost) : '',
92
- pageItems: postIsHierarchical ? getEntityRecords('postType', postTypeSlug, query) : null
93
+ pageItems: postIsHierarchical ? getEntityRecords('postType', postTypeSlug, query) : null,
94
+ isLoading: postIsHierarchical ? isResolving('getEntityRecords', ['postType', postTypeSlug, query]) : false
93
95
  };
94
96
  }, [fieldValue]);
95
97
  const parentOptions = useMemo(() => {
@@ -163,7 +165,8 @@ export function PageAttributesParent() {
163
165
  options: parentOptions,
164
166
  onFilterValueChange: debounce(handleKeydown, 300),
165
167
  onChange: handleChange,
166
- hideLabelFromVision: true
168
+ hideLabelFromVision: true,
169
+ isLoading: isLoading
167
170
  });
168
171
  }
169
172
  function PostParentToggle({
@@ -1 +1 @@
1
- {"version":3,"names":["removeAccents","__","sprintf","Button","Dropdown","ComboboxControl","ExternalLink","debounce","createInterpolateElement","useState","useMemo","useSelect","useDispatch","decodeEntities","store","coreStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","filterURLForDisplay","PostPanelRow","buildTermsTree","editorStore","jsx","_jsx","jsxs","_jsxs","getTitle","post","title","rendered","id","getItemPriority","name","searchValue","normalizedName","toLowerCase","normalizedSearch","startsWith","length","Infinity","PageAttributesParent","editPost","fieldValue","setFieldValue","isHierarchical","parentPostId","parentPostTitle","pageItems","select","_pType$hierarchical","getPostType","getEntityRecords","getEntityRecord","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPost","parentOptions","getOptionsFromTree","tree","level","mappedNodes","map","treeNode","value","label","repeat","rawName","children","sortedNodes","sort","a","b","priorityA","priorityB","flat","item","parent","opts","optsHasParent","find","unshift","handleKeydown","inputValue","handleChange","selectedPostId","__nextHasNoMarginBottom","__next40pxDefaultSize","className","help","options","onFilterValueChange","onChange","hideLabelFromVision","PostParentToggle","isOpen","onClick","parentTitle","size","variant","ParentRow","homeUrl","home","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","ref","contentClassName","focusOnMount","renderToggle","onToggle","renderContent","onClose","replace","wbr","href"],"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdown,\n\tComboboxControl,\n\tExternalLink,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport {\n\tcreateInterpolateElement,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { filterURLForDisplay } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\nfunction getTitle( post ) {\n\treturn post?.title?.rendered\n\t\t? decodeEntities( post.title.rendered )\n\t\t: `#${ post.id } (${ __( 'no title' ) })`;\n}\n\nexport const getItemPriority = ( name, searchValue ) => {\n\tconst normalizedName = removeAccents( name || '' ).toLowerCase();\n\tconst normalizedSearch = removeAccents( searchValue || '' ).toLowerCase();\n\tif ( normalizedName === normalizedSearch ) {\n\t\treturn 0;\n\t}\n\n\tif ( normalizedName.startsWith( normalizedSearch ) ) {\n\t\treturn normalizedName.length;\n\t}\n\n\treturn Infinity;\n};\n\n/**\n * Renders the Page Attributes Parent component. A dropdown menu in an editor interface\n * for selecting the parent page of a given page.\n *\n * @return {React.ReactNode} The component to be rendered. Return null if post type is not hierarchical.\n */\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst { isHierarchical, parentPostId, parentPostTitle, pageItems } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { getPostType, getEntityRecords, getEntityRecord } =\n\t\t\t\t\tselect( coreStore );\n\t\t\t\tconst { getCurrentPostId, getEditedPostAttribute } =\n\t\t\t\t\tselect( editorStore );\n\t\t\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\t\t\tconst pageId = getEditedPostAttribute( 'parent' );\n\t\t\t\tconst pType = getPostType( postTypeSlug );\n\t\t\t\tconst postId = getCurrentPostId();\n\t\t\t\tconst postIsHierarchical = pType?.hierarchical ?? false;\n\t\t\t\tconst query = {\n\t\t\t\t\tper_page: 100,\n\t\t\t\t\texclude: postId,\n\t\t\t\t\tparent_exclude: postId,\n\t\t\t\t\torderby: 'menu_order',\n\t\t\t\t\torder: 'asc',\n\t\t\t\t\t_fields: 'id,title,parent',\n\t\t\t\t};\n\n\t\t\t\t// Perform a search when the field is changed.\n\t\t\t\tif ( !! fieldValue ) {\n\t\t\t\t\tquery.search = fieldValue;\n\t\t\t\t}\n\n\t\t\t\tconst parentPost = pageId\n\t\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t\t: null;\n\n\t\t\t\treturn {\n\t\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\t\tparentPostId: pageId,\n\t\t\t\t\tparentPostTitle: parentPost ? getTitle( parentPost ) : '',\n\t\t\t\t\tpageItems: postIsHierarchical\n\t\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t\t: null,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ fieldValue ]\n\t\t);\n\n\tconst parentOptions = useMemo( () => {\n\t\tconst getOptionsFromTree = ( tree, level = 0 ) => {\n\t\t\tconst mappedNodes = tree.map( ( treeNode ) => [\n\t\t\t\t{\n\t\t\t\t\tvalue: treeNode.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'— '.repeat( level ) + decodeEntities( treeNode.name ),\n\t\t\t\t\trawName: treeNode.name,\n\t\t\t\t},\n\t\t\t\t...getOptionsFromTree( treeNode.children || [], level + 1 ),\n\t\t\t] );\n\n\t\t\tconst sortedNodes = mappedNodes.sort( ( [ a ], [ b ] ) => {\n\t\t\t\tconst priorityA = getItemPriority( a.rawName, fieldValue );\n\t\t\t\tconst priorityB = getItemPriority( b.rawName, fieldValue );\n\t\t\t\treturn priorityA >= priorityB ? 1 : -1;\n\t\t\t} );\n\n\t\t\treturn sortedNodes.flat();\n\t\t};\n\n\t\tif ( ! pageItems ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet tree = pageItems.map( ( item ) => ( {\n\t\t\tid: item.id,\n\t\t\tparent: item.parent,\n\t\t\tname: getTitle( item ),\n\t\t} ) );\n\n\t\t// Only build a hierarchical tree when not searching.\n\t\tif ( ! fieldValue ) {\n\t\t\ttree = buildTermsTree( tree );\n\t\t}\n\n\t\tconst opts = getOptionsFromTree( tree );\n\n\t\t// Ensure the current parent is in the options list.\n\t\tconst optsHasParent = opts.find(\n\t\t\t( item ) => item.value === parentPostId\n\t\t);\n\t\tif ( parentPostTitle && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: parentPostTitle,\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue, parentPostTitle, parentPostId ] );\n\n\tif ( ! isHierarchical ) {\n\t\treturn null;\n\t}\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {Object} selectedPostId The selected Author.\n\t */\n\tconst handleChange = ( selectedPostId ) => {\n\t\teditPost( { parent: selectedPostId } );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ __( 'Parent' ) }\n\t\t\thelp={ __( 'Choose a parent page.' ) }\n\t\t\tvalue={ parentPostId }\n\t\t\toptions={ parentOptions }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleChange }\n\t\t\thideLabelFromVision\n\t\t/>\n\t);\n}\n\nfunction PostParentToggle( { isOpen, onClick } ) {\n\tconst parentPost = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst parentPostId = getEditedPostAttribute( 'parent' );\n\t\tif ( ! parentPostId ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\treturn getEntityRecord( 'postType', postTypeSlug, parentPostId );\n\t}, [] );\n\tconst parentTitle = useMemo(\n\t\t() => ( ! parentPost ? __( 'None' ) : getTitle( parentPost ) ),\n\t\t[ parentPost ]\n\t);\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-parent__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-label={\n\t\t\t\t// translators: %s: Current post parent.\n\t\t\t\tsprintf( __( 'Change parent: %s' ), parentTitle )\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ parentTitle }\n\t\t</Button>\n\t);\n}\n\nexport function ParentRow() {\n\tconst homeUrl = useSelect( ( select ) => {\n\t\t// Site index.\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\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<PostPanelRow label={ __( 'Parent' ) } ref={ setPopoverAnchor }>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"editor-post-parent__panel-dropdown\"\n\t\t\t\tcontentClassName=\"editor-post-parent__panel-dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostParentToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<div className=\"editor-post-parent\">\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Parent' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: The home URL of the WordPress installation without the scheme. */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Child pages inherit characteristics from their parent, such as URL structure. For instance, if \"Pricing\" is a child of \"Services\", its URL would be %s<wbr />/services<wbr />/pricing.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tfilterURLForDisplay( homeUrl ).replace(\n\t\t\t\t\t\t\t\t\t\t/([/.])/g,\n\t\t\t\t\t\t\t\t\t\t'<wbr />$1'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\twbr: <wbr />,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'They also show up as sub-items in the default navigation menu. <a>Learn more.</a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#page-attributes'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<PageAttributesParent />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostPanelRow>\n\t);\n}\n\nexport default PageAttributesParent;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["removeAccents","__","sprintf","Button","Dropdown","ComboboxControl","ExternalLink","debounce","createInterpolateElement","useState","useMemo","useSelect","useDispatch","decodeEntities","store","coreStore","__experimentalInspectorPopoverHeader","InspectorPopoverHeader","filterURLForDisplay","PostPanelRow","buildTermsTree","editorStore","jsx","_jsx","jsxs","_jsxs","getTitle","post","title","rendered","id","getItemPriority","name","searchValue","normalizedName","toLowerCase","normalizedSearch","startsWith","length","Infinity","PageAttributesParent","editPost","fieldValue","setFieldValue","isHierarchical","parentPostId","parentPostTitle","pageItems","isLoading","select","_pType$hierarchical","getPostType","getEntityRecords","getEntityRecord","isResolving","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPost","parentOptions","getOptionsFromTree","tree","level","mappedNodes","map","treeNode","value","label","repeat","rawName","children","sortedNodes","sort","a","b","priorityA","priorityB","flat","item","parent","opts","optsHasParent","find","unshift","handleKeydown","inputValue","handleChange","selectedPostId","__nextHasNoMarginBottom","__next40pxDefaultSize","className","help","options","onFilterValueChange","onChange","hideLabelFromVision","PostParentToggle","isOpen","onClick","parentTitle","size","variant","ParentRow","homeUrl","home","popoverAnchor","setPopoverAnchor","popoverProps","anchor","placement","offset","shift","ref","contentClassName","focusOnMount","renderToggle","onToggle","renderContent","onClose","replace","wbr","href"],"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf } from '@wordpress/i18n';\nimport {\n\tButton,\n\tDropdown,\n\tComboboxControl,\n\tExternalLink,\n} from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport {\n\tcreateInterpolateElement,\n\tuseState,\n\tuseMemo,\n} from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __experimentalInspectorPopoverHeader as InspectorPopoverHeader } from '@wordpress/block-editor';\nimport { filterURLForDisplay } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport PostPanelRow from '../post-panel-row';\nimport { buildTermsTree } from '../../utils/terms';\nimport { store as editorStore } from '../../store';\n\nfunction getTitle( post ) {\n\treturn post?.title?.rendered\n\t\t? decodeEntities( post.title.rendered )\n\t\t: `#${ post.id } (${ __( 'no title' ) })`;\n}\n\nexport const getItemPriority = ( name, searchValue ) => {\n\tconst normalizedName = removeAccents( name || '' ).toLowerCase();\n\tconst normalizedSearch = removeAccents( searchValue || '' ).toLowerCase();\n\tif ( normalizedName === normalizedSearch ) {\n\t\treturn 0;\n\t}\n\n\tif ( normalizedName.startsWith( normalizedSearch ) ) {\n\t\treturn normalizedName.length;\n\t}\n\n\treturn Infinity;\n};\n\n/**\n * Renders the Page Attributes Parent component. A dropdown menu in an editor interface\n * for selecting the parent page of a given page.\n *\n * @return {React.ReactNode} The component to be rendered. Return null if post type is not hierarchical.\n */\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst {\n\t\tisHierarchical,\n\t\tparentPostId,\n\t\tparentPostTitle,\n\t\tpageItems,\n\t\tisLoading,\n\t} = useSelect(\n\t\t( select ) => {\n\t\t\tconst {\n\t\t\t\tgetPostType,\n\t\t\t\tgetEntityRecords,\n\t\t\t\tgetEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst { getCurrentPostId, getEditedPostAttribute } =\n\t\t\t\tselect( editorStore );\n\t\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\t\tconst pageId = getEditedPostAttribute( 'parent' );\n\t\t\tconst pType = getPostType( postTypeSlug );\n\t\t\tconst postId = getCurrentPostId();\n\t\t\tconst postIsHierarchical = pType?.hierarchical ?? false;\n\t\t\tconst query = {\n\t\t\t\tper_page: 100,\n\t\t\t\texclude: postId,\n\t\t\t\tparent_exclude: postId,\n\t\t\t\torderby: 'menu_order',\n\t\t\t\torder: 'asc',\n\t\t\t\t_fields: 'id,title,parent',\n\t\t\t};\n\n\t\t\t// Perform a search when the field is changed.\n\t\t\tif ( !! fieldValue ) {\n\t\t\t\tquery.search = fieldValue;\n\t\t\t}\n\n\t\t\tconst parentPost = pageId\n\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t: null;\n\n\t\t\treturn {\n\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\tparentPostId: pageId,\n\t\t\t\tparentPostTitle: parentPost ? getTitle( parentPost ) : '',\n\t\t\t\tpageItems: postIsHierarchical\n\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t: null,\n\t\t\t\tisLoading: postIsHierarchical\n\t\t\t\t\t? isResolving( 'getEntityRecords', [\n\t\t\t\t\t\t\t'postType',\n\t\t\t\t\t\t\tpostTypeSlug,\n\t\t\t\t\t\t\tquery,\n\t\t\t\t\t ] )\n\t\t\t\t\t: false,\n\t\t\t};\n\t\t},\n\t\t[ fieldValue ]\n\t);\n\n\tconst parentOptions = useMemo( () => {\n\t\tconst getOptionsFromTree = ( tree, level = 0 ) => {\n\t\t\tconst mappedNodes = tree.map( ( treeNode ) => [\n\t\t\t\t{\n\t\t\t\t\tvalue: treeNode.id,\n\t\t\t\t\tlabel:\n\t\t\t\t\t\t'— '.repeat( level ) + decodeEntities( treeNode.name ),\n\t\t\t\t\trawName: treeNode.name,\n\t\t\t\t},\n\t\t\t\t...getOptionsFromTree( treeNode.children || [], level + 1 ),\n\t\t\t] );\n\n\t\t\tconst sortedNodes = mappedNodes.sort( ( [ a ], [ b ] ) => {\n\t\t\t\tconst priorityA = getItemPriority( a.rawName, fieldValue );\n\t\t\t\tconst priorityB = getItemPriority( b.rawName, fieldValue );\n\t\t\t\treturn priorityA >= priorityB ? 1 : -1;\n\t\t\t} );\n\n\t\t\treturn sortedNodes.flat();\n\t\t};\n\n\t\tif ( ! pageItems ) {\n\t\t\treturn [];\n\t\t}\n\n\t\tlet tree = pageItems.map( ( item ) => ( {\n\t\t\tid: item.id,\n\t\t\tparent: item.parent,\n\t\t\tname: getTitle( item ),\n\t\t} ) );\n\n\t\t// Only build a hierarchical tree when not searching.\n\t\tif ( ! fieldValue ) {\n\t\t\ttree = buildTermsTree( tree );\n\t\t}\n\n\t\tconst opts = getOptionsFromTree( tree );\n\n\t\t// Ensure the current parent is in the options list.\n\t\tconst optsHasParent = opts.find(\n\t\t\t( item ) => item.value === parentPostId\n\t\t);\n\t\tif ( parentPostTitle && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: parentPostTitle,\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue, parentPostTitle, parentPostId ] );\n\n\tif ( ! isHierarchical ) {\n\t\treturn null;\n\t}\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {Object} selectedPostId The selected Author.\n\t */\n\tconst handleChange = ( selectedPostId ) => {\n\t\teditPost( { parent: selectedPostId } );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ __( 'Parent' ) }\n\t\t\thelp={ __( 'Choose a parent page.' ) }\n\t\t\tvalue={ parentPostId }\n\t\t\toptions={ parentOptions }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleChange }\n\t\t\thideLabelFromVision\n\t\t\tisLoading={ isLoading }\n\t\t/>\n\t);\n}\n\nfunction PostParentToggle( { isOpen, onClick } ) {\n\tconst parentPost = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst parentPostId = getEditedPostAttribute( 'parent' );\n\t\tif ( ! parentPostId ) {\n\t\t\treturn null;\n\t\t}\n\t\tconst { getEntityRecord } = select( coreStore );\n\t\tconst postTypeSlug = getEditedPostAttribute( 'type' );\n\t\treturn getEntityRecord( 'postType', postTypeSlug, parentPostId );\n\t}, [] );\n\tconst parentTitle = useMemo(\n\t\t() => ( ! parentPost ? __( 'None' ) : getTitle( parentPost ) ),\n\t\t[ parentPost ]\n\t);\n\treturn (\n\t\t<Button\n\t\t\tsize=\"compact\"\n\t\t\tclassName=\"editor-post-parent__panel-toggle\"\n\t\t\tvariant=\"tertiary\"\n\t\t\taria-expanded={ isOpen }\n\t\t\taria-label={\n\t\t\t\t// translators: %s: Current post parent.\n\t\t\t\tsprintf( __( 'Change parent: %s' ), parentTitle )\n\t\t\t}\n\t\t\tonClick={ onClick }\n\t\t>\n\t\t\t{ parentTitle }\n\t\t</Button>\n\t);\n}\n\nexport function ParentRow() {\n\tconst homeUrl = useSelect( ( select ) => {\n\t\t// Site index.\n\t\treturn select( coreStore ).getEntityRecord( 'root', '__unstableBase' )\n\t\t\t?.home;\n\t}, [] );\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<PostPanelRow label={ __( 'Parent' ) } ref={ setPopoverAnchor }>\n\t\t\t<Dropdown\n\t\t\t\tpopoverProps={ popoverProps }\n\t\t\t\tclassName=\"editor-post-parent__panel-dropdown\"\n\t\t\t\tcontentClassName=\"editor-post-parent__panel-dialog\"\n\t\t\t\tfocusOnMount\n\t\t\t\trenderToggle={ ( { isOpen, onToggle } ) => (\n\t\t\t\t\t<PostParentToggle isOpen={ isOpen } onClick={ onToggle } />\n\t\t\t\t) }\n\t\t\t\trenderContent={ ( { onClose } ) => (\n\t\t\t\t\t<div className=\"editor-post-parent\">\n\t\t\t\t\t\t<InspectorPopoverHeader\n\t\t\t\t\t\t\ttitle={ __( 'Parent' ) }\n\t\t\t\t\t\t\tonClose={ onClose }\n\t\t\t\t\t\t/>\n\t\t\t\t\t\t<div>\n\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t\t\t/* translators: %s: The home URL of the WordPress installation without the scheme. */\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'Child pages inherit characteristics from their parent, such as URL structure. For instance, if \"Pricing\" is a child of \"Services\", its URL would be %s<wbr />/services<wbr />/pricing.'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\tfilterURLForDisplay( homeUrl ).replace(\n\t\t\t\t\t\t\t\t\t\t/([/.])/g,\n\t\t\t\t\t\t\t\t\t\t'<wbr />$1'\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\twbr: <wbr />,\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t{ createInterpolateElement(\n\t\t\t\t\t\t\t\t\t__(\n\t\t\t\t\t\t\t\t\t\t'They also show up as sub-items in the default navigation menu. <a>Learn more.</a>'\n\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\t\t\ta: (\n\t\t\t\t\t\t\t\t\t\t\t<ExternalLink\n\t\t\t\t\t\t\t\t\t\t\t\thref={ __(\n\t\t\t\t\t\t\t\t\t\t\t\t\t'https://wordpress.org/documentation/article/page-post-settings-sidebar/#page-attributes'\n\t\t\t\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t\t\t),\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</p>\n\t\t\t\t\t\t</div>\n\t\t\t\t\t\t<PageAttributesParent />\n\t\t\t\t\t</div>\n\t\t\t\t) }\n\t\t\t/>\n\t\t</PostPanelRow>\n\t);\n}\n\nexport default PageAttributesParent;\n"],"mappings":"AAAA;AACA;AACA;AACA,OAAOA,aAAa,MAAM,gBAAgB;;AAE1C;AACA;AACA;AACA,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;AAC7C,SACCC,MAAM,EACNC,QAAQ,EACRC,eAAe,EACfC,YAAY,QACN,uBAAuB;AAC9B,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SACCC,wBAAwB,EACxBC,QAAQ,EACRC,OAAO,QACD,oBAAoB;AAC3B,SAASC,SAAS,EAAEC,WAAW,QAAQ,iBAAiB;AACxD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;AACzD,SAASC,oCAAoC,IAAIC,sBAAsB,QAAQ,yBAAyB;AACxG,SAASC,mBAAmB,QAAQ,gBAAgB;;AAEpD;AACA;AACA;AACA,OAAOC,YAAY,MAAM,mBAAmB;AAC5C,SAASC,cAAc,QAAQ,mBAAmB;AAClD,SAASN,KAAK,IAAIO,WAAW,QAAQ,aAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEnD,SAASC,QAAQA,CAAEC,IAAI,EAAG;EACzB,OAAOA,IAAI,EAAEC,KAAK,EAAEC,QAAQ,GACzBhB,cAAc,CAAEc,IAAI,CAACC,KAAK,CAACC,QAAS,CAAC,GACrC,IAAKF,IAAI,CAACG,EAAE,KAAO7B,EAAE,CAAE,UAAW,CAAC,GAAI;AAC3C;AAEA,OAAO,MAAM8B,eAAe,GAAGA,CAAEC,IAAI,EAAEC,WAAW,KAAM;EACvD,MAAMC,cAAc,GAAGlC,aAAa,CAAEgC,IAAI,IAAI,EAAG,CAAC,CAACG,WAAW,CAAC,CAAC;EAChE,MAAMC,gBAAgB,GAAGpC,aAAa,CAAEiC,WAAW,IAAI,EAAG,CAAC,CAACE,WAAW,CAAC,CAAC;EACzE,IAAKD,cAAc,KAAKE,gBAAgB,EAAG;IAC1C,OAAO,CAAC;EACT;EAEA,IAAKF,cAAc,CAACG,UAAU,CAAED,gBAAiB,CAAC,EAAG;IACpD,OAAOF,cAAc,CAACI,MAAM;EAC7B;EAEA,OAAOC,QAAQ;AAChB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAAA,EAAG;EACtC,MAAM;IAAEC;EAAS,CAAC,GAAG7B,WAAW,CAAES,WAAY,CAAC;EAC/C,MAAM,CAAEqB,UAAU,EAAEC,aAAa,CAAE,GAAGlC,QAAQ,CAAE,KAAM,CAAC;EACvD,MAAM;IACLmC,cAAc;IACdC,YAAY;IACZC,eAAe;IACfC,SAAS;IACTC;EACD,CAAC,GAAGrC,SAAS,CACVsC,MAAM,IAAM;IAAA,IAAAC,mBAAA;IACb,MAAM;MACLC,WAAW;MACXC,gBAAgB;MAChBC,eAAe;MACfC;IACD,CAAC,GAAGL,MAAM,CAAElC,SAAU,CAAC;IACvB,MAAM;MAAEwC,gBAAgB;MAAEC;IAAuB,CAAC,GACjDP,MAAM,CAAE5B,WAAY,CAAC;IACtB,MAAMoC,YAAY,GAAGD,sBAAsB,CAAE,MAAO,CAAC;IACrD,MAAME,MAAM,GAAGF,sBAAsB,CAAE,QAAS,CAAC;IACjD,MAAMG,KAAK,GAAGR,WAAW,CAAEM,YAAa,CAAC;IACzC,MAAMG,MAAM,GAAGL,gBAAgB,CAAC,CAAC;IACjC,MAAMM,kBAAkB,IAAAX,mBAAA,GAAGS,KAAK,EAAEG,YAAY,cAAAZ,mBAAA,cAAAA,mBAAA,GAAI,KAAK;IACvD,MAAMa,KAAK,GAAG;MACbC,QAAQ,EAAE,GAAG;MACbC,OAAO,EAAEL,MAAM;MACfM,cAAc,EAAEN,MAAM;MACtBO,OAAO,EAAE,YAAY;MACrBC,KAAK,EAAE,KAAK;MACZC,OAAO,EAAE;IACV,CAAC;;IAED;IACA,IAAK,CAAC,CAAE3B,UAAU,EAAG;MACpBqB,KAAK,CAACO,MAAM,GAAG5B,UAAU;IAC1B;IAEA,MAAM6B,UAAU,GAAGb,MAAM,GACtBL,eAAe,CAAE,UAAU,EAAEI,YAAY,EAAEC,MAAO,CAAC,GACnD,IAAI;IAEP,OAAO;MACNd,cAAc,EAAEiB,kBAAkB;MAClChB,YAAY,EAAEa,MAAM;MACpBZ,eAAe,EAAEyB,UAAU,GAAG7C,QAAQ,CAAE6C,UAAW,CAAC,GAAG,EAAE;MACzDxB,SAAS,EAAEc,kBAAkB,GAC1BT,gBAAgB,CAAE,UAAU,EAAEK,YAAY,EAAEM,KAAM,CAAC,GACnD,IAAI;MACPf,SAAS,EAAEa,kBAAkB,GAC1BP,WAAW,CAAE,kBAAkB,EAAE,CACjC,UAAU,EACVG,YAAY,EACZM,KAAK,CACH,CAAC,GACH;IACJ,CAAC;EACF,CAAC,EACD,CAAErB,UAAU,CACb,CAAC;EAED,MAAM8B,aAAa,GAAG9D,OAAO,CAAE,MAAM;IACpC,MAAM+D,kBAAkB,GAAGA,CAAEC,IAAI,EAAEC,KAAK,GAAG,CAAC,KAAM;MACjD,MAAMC,WAAW,GAAGF,IAAI,CAACG,GAAG,CAAIC,QAAQ,IAAM,CAC7C;QACCC,KAAK,EAAED,QAAQ,CAAChD,EAAE;QAClBkD,KAAK,EACJ,IAAI,CAACC,MAAM,CAAEN,KAAM,CAAC,GAAG9D,cAAc,CAAEiE,QAAQ,CAAC9C,IAAK,CAAC;QACvDkD,OAAO,EAAEJ,QAAQ,CAAC9C;MACnB,CAAC,EACD,GAAGyC,kBAAkB,CAAEK,QAAQ,CAACK,QAAQ,IAAI,EAAE,EAAER,KAAK,GAAG,CAAE,CAAC,CAC1D,CAAC;MAEH,MAAMS,WAAW,GAAGR,WAAW,CAACS,IAAI,CAAE,CAAE,CAAEC,CAAC,CAAE,EAAE,CAAEC,CAAC,CAAE,KAAM;QACzD,MAAMC,SAAS,GAAGzD,eAAe,CAAEuD,CAAC,CAACJ,OAAO,EAAExC,UAAW,CAAC;QAC1D,MAAM+C,SAAS,GAAG1D,eAAe,CAAEwD,CAAC,CAACL,OAAO,EAAExC,UAAW,CAAC;QAC1D,OAAO8C,SAAS,IAAIC,SAAS,GAAG,CAAC,GAAG,CAAC,CAAC;MACvC,CAAE,CAAC;MAEH,OAAOL,WAAW,CAACM,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAK,CAAE3C,SAAS,EAAG;MAClB,OAAO,EAAE;IACV;IAEA,IAAI2B,IAAI,GAAG3B,SAAS,CAAC8B,GAAG,CAAIc,IAAI,KAAQ;MACvC7D,EAAE,EAAE6D,IAAI,CAAC7D,EAAE;MACX8D,MAAM,EAAED,IAAI,CAACC,MAAM;MACnB5D,IAAI,EAAEN,QAAQ,CAAEiE,IAAK;IACtB,CAAC,CAAG,CAAC;;IAEL;IACA,IAAK,CAAEjD,UAAU,EAAG;MACnBgC,IAAI,GAAGtD,cAAc,CAAEsD,IAAK,CAAC;IAC9B;IAEA,MAAMmB,IAAI,GAAGpB,kBAAkB,CAAEC,IAAK,CAAC;;IAEvC;IACA,MAAMoB,aAAa,GAAGD,IAAI,CAACE,IAAI,CAC5BJ,IAAI,IAAMA,IAAI,CAACZ,KAAK,KAAKlC,YAC5B,CAAC;IACD,IAAKC,eAAe,IAAI,CAAEgD,aAAa,EAAG;MACzCD,IAAI,CAACG,OAAO,CAAE;QACbjB,KAAK,EAAElC,YAAY;QACnBmC,KAAK,EAAElC;MACR,CAAE,CAAC;IACJ;IACA,OAAO+C,IAAI;EACZ,CAAC,EAAE,CAAE9C,SAAS,EAAEL,UAAU,EAAEI,eAAe,EAAED,YAAY,CAAG,CAAC;EAE7D,IAAK,CAAED,cAAc,EAAG;IACvB,OAAO,IAAI;EACZ;EACA;AACD;AACA;AACA;AACA;EACC,MAAMqD,aAAa,GAAKC,UAAU,IAAM;IACvCvD,aAAa,CAAEuD,UAAW,CAAC;EAC5B,CAAC;;EAED;AACD;AACA;AACA;AACA;EACC,MAAMC,YAAY,GAAKC,cAAc,IAAM;IAC1C3D,QAAQ,CAAE;MAAEmD,MAAM,EAAEQ;IAAe,CAAE,CAAC;EACvC,CAAC;EAED,oBACC7E,IAAA,CAAClB,eAAe;IACfgG,uBAAuB;IACvBC,qBAAqB;IACrBC,SAAS,EAAC,gCAAgC;IAC1CvB,KAAK,EAAG/E,EAAE,CAAE,QAAS,CAAG;IACxBuG,IAAI,EAAGvG,EAAE,CAAE,uBAAwB,CAAG;IACtC8E,KAAK,EAAGlC,YAAc;IACtB4D,OAAO,EAAGjC,aAAe;IACzBkC,mBAAmB,EAAGnG,QAAQ,CAAE0F,aAAa,EAAE,GAAI,CAAG;IACtDU,QAAQ,EAAGR,YAAc;IACzBS,mBAAmB;IACnB5D,SAAS,EAAGA;EAAW,CACvB,CAAC;AAEJ;AAEA,SAAS6D,gBAAgBA,CAAE;EAAEC,MAAM;EAAEC;AAAQ,CAAC,EAAG;EAChD,MAAMxC,UAAU,GAAG5D,SAAS,CAAIsC,MAAM,IAAM;IAC3C,MAAM;MAAEO;IAAuB,CAAC,GAAGP,MAAM,CAAE5B,WAAY,CAAC;IACxD,MAAMwB,YAAY,GAAGW,sBAAsB,CAAE,QAAS,CAAC;IACvD,IAAK,CAAEX,YAAY,EAAG;MACrB,OAAO,IAAI;IACZ;IACA,MAAM;MAAEQ;IAAgB,CAAC,GAAGJ,MAAM,CAAElC,SAAU,CAAC;IAC/C,MAAM0C,YAAY,GAAGD,sBAAsB,CAAE,MAAO,CAAC;IACrD,OAAOH,eAAe,CAAE,UAAU,EAAEI,YAAY,EAAEZ,YAAa,CAAC;EACjE,CAAC,EAAE,EAAG,CAAC;EACP,MAAMmE,WAAW,GAAGtG,OAAO,CAC1B,MAAQ,CAAE6D,UAAU,GAAGtE,EAAE,CAAE,MAAO,CAAC,GAAGyB,QAAQ,CAAE6C,UAAW,CAAG,EAC9D,CAAEA,UAAU,CACb,CAAC;EACD,oBACChD,IAAA,CAACpB,MAAM;IACN8G,IAAI,EAAC,SAAS;IACdV,SAAS,EAAC,kCAAkC;IAC5CW,OAAO,EAAC,UAAU;IAClB,iBAAgBJ,MAAQ;IACxB;IACC;IACA5G,OAAO,CAAED,EAAE,CAAE,mBAAoB,CAAC,EAAE+G,WAAY,CAChD;IACDD,OAAO,EAAGA,OAAS;IAAA5B,QAAA,EAEjB6B;EAAW,CACN,CAAC;AAEX;AAEA,OAAO,SAASG,SAASA,CAAA,EAAG;EAC3B,MAAMC,OAAO,GAAGzG,SAAS,CAAIsC,MAAM,IAAM;IACxC;IACA,OAAOA,MAAM,CAAElC,SAAU,CAAC,CAACsC,eAAe,CAAE,MAAM,EAAE,gBAAiB,CAAC,EACnEgE,IAAI;EACR,CAAC,EAAE,EAAG,CAAC;EACP;EACA;EACA,MAAM,CAAEC,aAAa,EAAEC,gBAAgB,CAAE,GAAG9G,QAAQ,CAAE,IAAK,CAAC;EAC5D;EACA,MAAM+G,YAAY,GAAG9G,OAAO,CAC3B,OAAQ;IACP;IACA;IACA+G,MAAM,EAAEH,aAAa;IACrBI,SAAS,EAAE,YAAY;IACvBC,MAAM,EAAE,EAAE;IACVC,KAAK,EAAE;EACR,CAAC,CAAE,EACH,CAAEN,aAAa,CAChB,CAAC;EACD,oBACC/F,IAAA,CAACJ,YAAY;IAAC6D,KAAK,EAAG/E,EAAE,CAAE,QAAS,CAAG;IAAC4H,GAAG,EAAGN,gBAAkB;IAAApC,QAAA,eAC9D5D,IAAA,CAACnB,QAAQ;MACRoH,YAAY,EAAGA,YAAc;MAC7BjB,SAAS,EAAC,oCAAoC;MAC9CuB,gBAAgB,EAAC,kCAAkC;MACnDC,YAAY;MACZC,YAAY,EAAGA,CAAE;QAAElB,MAAM;QAAEmB;MAAS,CAAC,kBACpC1G,IAAA,CAACsF,gBAAgB;QAACC,MAAM,EAAGA,MAAQ;QAACC,OAAO,EAAGkB;MAAU,CAAE,CACxD;MACHC,aAAa,EAAGA,CAAE;QAAEC;MAAQ,CAAC,kBAC5B1G,KAAA;QAAK8E,SAAS,EAAC,oBAAoB;QAAApB,QAAA,gBAClC5D,IAAA,CAACN,sBAAsB;UACtBW,KAAK,EAAG3B,EAAE,CAAE,QAAS,CAAG;UACxBkI,OAAO,EAAGA;QAAS,CACnB,CAAC,eACF1G,KAAA;UAAA0D,QAAA,GACG3E,wBAAwB,CACzBN,OAAO,CACN;UACAD,EAAE,CACD,wLACD,CAAC,EACDiB,mBAAmB,CAAEkG,OAAQ,CAAC,CAACgB,OAAO,CACrC,SAAS,EACT,WACD,CACD,CAAC,EACD;YACCC,GAAG,eAAE9G,IAAA,UAAM;UACZ,CACD,CAAC,eACDA,IAAA;YAAA4D,QAAA,EACG3E,wBAAwB,CACzBP,EAAE,CACD,mFACD,CAAC,EACD;cACCqF,CAAC,eACA/D,IAAA,CAACjB,YAAY;gBACZgI,IAAI,EAAGrI,EAAE,CACR,yFACD;cAAG,CACH;YAEH,CACD;UAAC,CACC,CAAC;QAAA,CACA,CAAC,eACNsB,IAAA,CAACiB,oBAAoB,IAAE,CAAC;MAAA,CACpB;IACH,CACH;EAAC,CACW,CAAC;AAEjB;AAEA,eAAeA,oBAAoB","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useSelect","useMemo","useEffect","store","coreStore","editorStore","unlock","useSetAsHomepageAction","useSetAsPostsPageAction","jsx","_jsx","usePostActions","postType","onActionPerformed","context","defaultActions","select","getEntityActions","canManageOptions","hasFrontPageTemplate","getEntityRecords","templates","per_page","canUser","kind","name","find","template","slug","setAsHomepageAction","setAsPostsPageAction","shouldShowHomepageActions","registerPostTypeSchema","actions","push","sort","a","b","id","filter","action","i","length","callback","existingCallback","items","argsObject","_items","RenderModal","ExistingRenderModal","props"],"sources":["@wordpress/editor/src/components/post-actions/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useSetAsHomepageAction } from './set-as-homepage';\nimport { useSetAsPostsPageAction } from './set-as-posts-page';\n\nexport function usePostActions( { postType, onActionPerformed, context } ) {\n\tconst { defaultActions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityActions } = unlock( select( editorStore ) );\n\t\t\treturn {\n\t\t\t\tdefaultActions: getEntityActions( 'postType', postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst { canManageOptions, hasFrontPageTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst templates = getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\n\t\t\treturn {\n\t\t\t\tcanManageOptions: select( coreStore ).canUser( 'update', {\n\t\t\t\t\tkind: 'root',\n\t\t\t\t\tname: 'site',\n\t\t\t\t} ),\n\t\t\t\thasFrontPageTemplate: !! templates?.find(\n\t\t\t\t\t( template ) => template?.slug === 'front-page'\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t);\n\n\tconst setAsHomepageAction = useSetAsHomepageAction();\n\tconst setAsPostsPageAction = useSetAsPostsPageAction();\n\tconst shouldShowHomepageActions =\n\t\tcanManageOptions && ! hasFrontPageTemplate;\n\n\tconst { registerPostTypeSchema } = unlock( useDispatch( editorStore ) );\n\tuseEffect( () => {\n\t\tregisterPostTypeSchema( postType );\n\t}, [ registerPostTypeSchema, postType ] );\n\n\treturn useMemo( () => {\n\t\tlet actions = [ ...defaultActions ];\n\t\tif ( shouldShowHomepageActions ) {\n\t\t\tactions.push( setAsHomepageAction, setAsPostsPageAction );\n\t\t}\n\n\t\t// Ensure \"Move to trash\" is always the last action.\n\t\tactions = actions.sort( ( a, b ) =>\n\t\t\tb.id === 'move-to-trash' ? -1 : 0\n\t\t);\n\n\t\t// Filter actions based on provided context. If not provided\n\t\t// all actions are returned. We'll have a single entry for getting the actions\n\t\t// and the consumer should provide the context to filter the actions, if needed.\n\t\t// Actions should also provide the `context` they support, if it's specific, to\n\t\t// compare with the provided context to get all the actions.\n\t\t// Right now the only supported context is `list`.\n\t\tactions = actions.filter( ( action ) => {\n\t\t\tif ( ! action.context ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn action.context === context;\n\t\t} );\n\n\t\tif ( onActionPerformed ) {\n\t\t\tfor ( let i = 0; i < actions.length; ++i ) {\n\t\t\t\tif ( actions[ i ].callback ) {\n\t\t\t\t\tconst existingCallback = actions[ i ].callback;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tcallback: ( items, argsObject ) => {\n\t\t\t\t\t\t\texistingCallback( items, {\n\t\t\t\t\t\t\t\t...argsObject,\n\t\t\t\t\t\t\t\tonActionPerformed: ( _items ) => {\n\t\t\t\t\t\t\t\t\tif ( argsObject?.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\targsObject.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif ( actions[ i ].RenderModal ) {\n\t\t\t\t\tconst ExistingRenderModal = actions[ i ].RenderModal;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tRenderModal: ( props ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ExistingRenderModal\n\t\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\t\tonActionPerformed={ ( _items ) => {\n\t\t\t\t\t\t\t\t\t\tif ( props.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t\tprops.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}, [\n\t\tcontext,\n\t\tdefaultActions,\n\t\tonActionPerformed,\n\t\tsetAsHomepageAction,\n\t\tsetAsPostsPageAction,\n\t\tshouldShowHomepageActions,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useDispatch","useSelect","useMemo","useEffect","store","coreStore","editorStore","unlock","useSetAsHomepageAction","useSetAsPostsPageAction","jsx","_jsx","usePostActions","postType","onActionPerformed","context","defaultActions","select","getEntityActions","canManageOptions","hasFrontPageTemplate","getEntityRecords","templates","per_page","canUser","kind","name","find","template","slug","setAsHomepageAction","setAsPostsPageAction","shouldShowHomepageActions","registerPostTypeSchema","actions","push","sort","a","b","id","filter","action","i","length","callback","existingCallback","items","argsObject","_items","RenderModal","ExistingRenderModal","props"],"sources":["@wordpress/editor/src/components/post-actions/actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo, useEffect } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport { useSetAsHomepageAction } from './set-as-homepage';\nimport { useSetAsPostsPageAction } from './set-as-posts-page';\n\nexport function usePostActions( { postType, onActionPerformed, context } ) {\n\tconst { defaultActions } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityActions } = unlock( select( editorStore ) );\n\t\t\treturn {\n\t\t\t\tdefaultActions: getEntityActions( 'postType', postType ),\n\t\t\t};\n\t\t},\n\t\t[ postType ]\n\t);\n\n\tconst { canManageOptions, hasFrontPageTemplate } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords } = select( coreStore );\n\t\t\tconst templates = getEntityRecords( 'postType', 'wp_template', {\n\t\t\t\tper_page: -1,\n\t\t\t} );\n\n\t\t\treturn {\n\t\t\t\tcanManageOptions: select( coreStore ).canUser( 'update', {\n\t\t\t\t\tkind: 'root',\n\t\t\t\t\tname: 'site',\n\t\t\t\t} ),\n\t\t\t\thasFrontPageTemplate: !! templates?.find(\n\t\t\t\t\t( template ) => template?.slug === 'front-page'\n\t\t\t\t),\n\t\t\t};\n\t\t}\n\t);\n\n\tconst setAsHomepageAction = useSetAsHomepageAction();\n\tconst setAsPostsPageAction = useSetAsPostsPageAction();\n\tconst shouldShowHomepageActions =\n\t\tcanManageOptions && ! hasFrontPageTemplate;\n\n\tconst { registerPostTypeSchema } = unlock( useDispatch( editorStore ) );\n\tuseEffect( () => {\n\t\tregisterPostTypeSchema( postType );\n\t}, [ registerPostTypeSchema, postType ] );\n\n\treturn useMemo( () => {\n\t\tlet actions = [ ...defaultActions ];\n\t\tif ( shouldShowHomepageActions ) {\n\t\t\tactions.push( setAsHomepageAction, setAsPostsPageAction );\n\t\t}\n\n\t\t// Ensure \"Move to trash\" is always the last action.\n\t\tactions = actions.sort( ( a, b ) =>\n\t\t\tb.id === 'move-to-trash' ? -1 : 0\n\t\t);\n\n\t\t// Filter actions based on provided context. If not provided\n\t\t// all actions are returned. We'll have a single entry for getting the actions\n\t\t// and the consumer should provide the context to filter the actions, if needed.\n\t\t// Actions should also provide the `context` they support, if it's specific, to\n\t\t// compare with the provided context to get all the actions.\n\t\t// Right now the only supported context is `list`.\n\t\tactions = actions.filter( ( action ) => {\n\t\t\tif ( ! action.context ) {\n\t\t\t\treturn true;\n\t\t\t}\n\t\t\treturn action.context === context;\n\t\t} );\n\n\t\tif ( onActionPerformed ) {\n\t\t\tfor ( let i = 0; i < actions.length; ++i ) {\n\t\t\t\tif ( actions[ i ].callback ) {\n\t\t\t\t\tconst existingCallback = actions[ i ].callback;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tcallback: ( items, argsObject ) => {\n\t\t\t\t\t\t\texistingCallback( items, {\n\t\t\t\t\t\t\t\t...argsObject,\n\t\t\t\t\t\t\t\tonActionPerformed: ( _items ) => {\n\t\t\t\t\t\t\t\t\tif ( argsObject?.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\targsObject.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t} );\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t\tif ( actions[ i ].RenderModal ) {\n\t\t\t\t\tconst ExistingRenderModal = actions[ i ].RenderModal;\n\t\t\t\t\tactions[ i ] = {\n\t\t\t\t\t\t...actions[ i ],\n\t\t\t\t\t\tRenderModal: ( props ) => {\n\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t<ExistingRenderModal\n\t\t\t\t\t\t\t\t\t{ ...props }\n\t\t\t\t\t\t\t\t\tonActionPerformed={ ( _items ) => {\n\t\t\t\t\t\t\t\t\t\tif ( props.onActionPerformed ) {\n\t\t\t\t\t\t\t\t\t\t\tprops.onActionPerformed( _items );\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonActionPerformed(\n\t\t\t\t\t\t\t\t\t\t\tactions[ i ].id,\n\t\t\t\t\t\t\t\t\t\t\t_items\n\t\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t\t} }\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t},\n\t\t\t\t\t};\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn actions;\n\t}, [\n\t\tcontext,\n\t\tdefaultActions,\n\t\tonActionPerformed,\n\t\tsetAsHomepageAction,\n\t\tsetAsPostsPageAction,\n\t\tshouldShowHomepageActions,\n\t] );\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -1 +1 @@
1
- {"version":3,"names":["useRegistry","useSelect","useState","useMemo","__","privateApis","componentsPrivateApis","Button","Modal","moreVertical","store","coreStore","unlock","usePostActions","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","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","placement","TriggerButton","render","size","icon","label","disabled","accessibleWhenDisabled","className","Popover","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 placement=\"bottom-end\">\n\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tclassName=\"editor-all-actions-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<Menu.Popover>\n\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titems={ itemsWithPermissions }\n\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t/>\n\t\t\t\t</Menu.Popover>\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":"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","ignoreList":[]}
1
+ {"version":3,"names":["useRegistry","useSelect","useState","useMemo","__","privateApis","componentsPrivateApis","Button","Modal","moreVertical","store","coreStore","unlock","usePostActions","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","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","placement","TriggerButton","render","size","icon","label","disabled","accessibleWhenDisabled","className","Popover","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 placement=\"bottom-end\">\n\t\t\t\t<Menu.TriggerButton\n\t\t\t\t\trender={\n\t\t\t\t\t\t<Button\n\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\ticon={ moreVertical }\n\t\t\t\t\t\t\tlabel={ __( 'Actions' ) }\n\t\t\t\t\t\t\tdisabled={ ! actions.length }\n\t\t\t\t\t\t\taccessibleWhenDisabled\n\t\t\t\t\t\t\tclassName=\"editor-all-actions-button\"\n\t\t\t\t\t\t/>\n\t\t\t\t\t}\n\t\t\t\t/>\n\t\t\t\t<Menu.Popover>\n\t\t\t\t\t<ActionsDropdownMenuGroup\n\t\t\t\t\t\tactions={ actions }\n\t\t\t\t\t\titems={ itemsWithPermissions }\n\t\t\t\t\t\tsetActiveModalAction={ setActiveModalAction }\n\t\t\t\t\t/>\n\t\t\t\t</Menu.Popover>\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":"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","ignoreList":[]}
@@ -28,12 +28,11 @@ export default function PostAuthorCheck({
28
28
  hasAssignAuthorAction,
29
29
  hasAuthors
30
30
  } = useSelect(select => {
31
- var _post$_links$wpActio;
32
31
  const post = select(editorStore).getCurrentPost();
33
- const authors = select(coreStore).getUsers(AUTHORS_QUERY);
32
+ const canAssignAuthor = post?._links?.['wp:action-assign-author'] ? true : false;
34
33
  return {
35
- hasAssignAuthorAction: (_post$_links$wpActio = post._links?.['wp:action-assign-author']) !== null && _post$_links$wpActio !== void 0 ? _post$_links$wpActio : false,
36
- hasAuthors: authors?.length >= 1
34
+ hasAssignAuthorAction: canAssignAuthor,
35
+ hasAuthors: canAssignAuthor ? select(coreStore).getUsers(AUTHORS_QUERY)?.length >= 1 : false
37
36
  };
38
37
  }, []);
39
38
  if (!hasAssignAuthorAction || !hasAuthors) {
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","store","coreStore","PostTypeSupportCheck","editorStore","AUTHORS_QUERY","jsx","_jsx","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","select","_post$_links$wpActio","post","getCurrentPost","authors","getUsers","_links","length","supportKeys"],"sources":["@wordpress/editor/src/components/post-author/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY } from './constants';\n\n/**\n * Wrapper component that renders its children only if the post type supports the author.\n *\n * @param {Object} props The component props.\n * @param {React.ReactNode} props.children Children to be rendered.\n *\n * @return {React.ReactNode} The component to be rendered. Return `null` if the post type doesn't\n * supports the author or if there are no authors available.\n */\nexport default function PostAuthorCheck( { children } ) {\n\tconst { hasAssignAuthorAction, hasAuthors } = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\t\treturn {\n\t\t\thasAssignAuthorAction:\n\t\t\t\tpost._links?.[ 'wp:action-assign-author' ] ?? false,\n\t\t\thasAuthors: authors?.length >= 1,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasAssignAuthorAction || ! hasAuthors ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"author\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,QAAQ,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,SAAAC,GAAA,IAAAC,IAAA;AASA,eAAe,SAASC,eAAeA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,qBAAqB;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAAIY,MAAM,IAAM;IAAA,IAAAC,oBAAA;IACtE,MAAMC,IAAI,GAAGF,MAAM,CAAER,WAAY,CAAC,CAACW,cAAc,CAAC,CAAC;IACnD,MAAMC,OAAO,GAAGJ,MAAM,CAAEV,SAAU,CAAC,CAACe,QAAQ,CAAEZ,aAAc,CAAC;IAC7D,OAAO;MACNK,qBAAqB,GAAAG,oBAAA,GACpBC,IAAI,CAACI,MAAM,GAAI,yBAAyB,CAAE,cAAAL,oBAAA,cAAAA,oBAAA,GAAI,KAAK;MACpDF,UAAU,EAAEK,OAAO,EAAEG,MAAM,IAAI;IAChC,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAET,qBAAqB,IAAI,CAAEC,UAAU,EAAG;IAC9C,OAAO,IAAI;EACZ;EAEA,oBACCJ,IAAA,CAACJ,oBAAoB;IAACiB,WAAW,EAAC,QAAQ;IAAAX,QAAA,EACvCA;EAAQ,CACW,CAAC;AAEzB","ignoreList":[]}
1
+ {"version":3,"names":["useSelect","store","coreStore","PostTypeSupportCheck","editorStore","AUTHORS_QUERY","jsx","_jsx","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","select","post","getCurrentPost","canAssignAuthor","_links","getUsers","length","supportKeys"],"sources":["@wordpress/editor/src/components/post-author/check.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\nimport { AUTHORS_QUERY } from './constants';\n\n/**\n * Wrapper component that renders its children only if the post type supports the author.\n *\n * @param {Object} props The component props.\n * @param {React.ReactNode} props.children Children to be rendered.\n *\n * @return {React.ReactNode} The component to be rendered. Return `null` if the post type doesn't\n * supports the author or if there are no authors available.\n */\nexport default function PostAuthorCheck( { children } ) {\n\tconst { hasAssignAuthorAction, hasAuthors } = useSelect( ( select ) => {\n\t\tconst post = select( editorStore ).getCurrentPost();\n\t\tconst canAssignAuthor = post?._links?.[ 'wp:action-assign-author' ]\n\t\t\t? true\n\t\t\t: false;\n\t\treturn {\n\t\t\thasAssignAuthorAction: canAssignAuthor,\n\t\t\thasAuthors: canAssignAuthor\n\t\t\t\t? select( coreStore ).getUsers( AUTHORS_QUERY )?.length >= 1\n\t\t\t\t: false,\n\t\t};\n\t}, [] );\n\n\tif ( ! hasAssignAuthorAction || ! hasAuthors ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"author\">\n\t\t\t{ children }\n\t\t</PostTypeSupportCheck>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,KAAK,IAAIC,SAAS,QAAQ,sBAAsB;;AAEzD;AACA;AACA;AACA,OAAOC,oBAAoB,MAAM,4BAA4B;AAC7D,SAASF,KAAK,IAAIG,WAAW,QAAQ,aAAa;AAClD,SAASC,aAAa,QAAQ,aAAa;;AAE3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AARA,SAAAC,GAAA,IAAAC,IAAA;AASA,eAAe,SAASC,eAAeA,CAAE;EAAEC;AAAS,CAAC,EAAG;EACvD,MAAM;IAAEC,qBAAqB;IAAEC;EAAW,CAAC,GAAGX,SAAS,CAAIY,MAAM,IAAM;IACtE,MAAMC,IAAI,GAAGD,MAAM,CAAER,WAAY,CAAC,CAACU,cAAc,CAAC,CAAC;IACnD,MAAMC,eAAe,GAAGF,IAAI,EAAEG,MAAM,GAAI,yBAAyB,CAAE,GAChE,IAAI,GACJ,KAAK;IACR,OAAO;MACNN,qBAAqB,EAAEK,eAAe;MACtCJ,UAAU,EAAEI,eAAe,GACxBH,MAAM,CAAEV,SAAU,CAAC,CAACe,QAAQ,CAAEZ,aAAc,CAAC,EAAEa,MAAM,IAAI,CAAC,GAC1D;IACJ,CAAC;EACF,CAAC,EAAE,EAAG,CAAC;EAEP,IAAK,CAAER,qBAAqB,IAAI,CAAEC,UAAU,EAAG;IAC9C,OAAO,IAAI;EACZ;EAEA,oBACCJ,IAAA,CAACJ,oBAAoB;IAACgB,WAAW,EAAC,QAAQ;IAAAV,QAAA,EACvCA;EAAQ,CACW,CAAC;AAEzB","ignoreList":[]}
@@ -20,7 +20,8 @@ export default function PostAuthorCombobox() {
20
20
  } = useDispatch(editorStore);
21
21
  const {
22
22
  authorId,
23
- authorOptions
23
+ authorOptions,
24
+ isLoading
24
25
  } = useAuthorsQuery(fieldValue);
25
26
 
26
27
  /**
@@ -54,7 +55,8 @@ export default function PostAuthorCombobox() {
54
55
  onFilterValueChange: debounce(handleKeydown, 300),
55
56
  onChange: handleSelect,
56
57
  allowReset: false,
57
- hideLabelFromVision: true
58
+ hideLabelFromVision: true,
59
+ isLoading: isLoading
58
60
  });
59
61
  }
60
62
  //# sourceMappingURL=combobox.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["debounce","useState","useDispatch","__","ComboboxControl","store","editorStore","useAuthorsQuery","jsx","_jsx","PostAuthorCombobox","fieldValue","setFieldValue","editPost","authorId","authorOptions","handleSelect","postAuthorId","author","handleKeydown","inputValue","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onFilterValueChange","onChange","allowReset","hideLabelFromVision"],"sources":["@wordpress/editor/src/components/post-author/combobox.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { useAuthorsQuery } from './hook';\n\nexport default function PostAuthorCombobox() {\n\tconst [ fieldValue, setFieldValue ] = useState();\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { authorId, authorOptions } = useAuthorsQuery( fieldValue );\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {number} postAuthorId The selected Author.\n\t */\n\tconst handleSelect = ( postAuthorId ) => {\n\t\tif ( ! postAuthorId ) {\n\t\t\treturn;\n\t\t}\n\t\teditPost( { author: postAuthorId } );\n\t};\n\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tvalue={ authorId }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleSelect }\n\t\t\tallowReset={ false }\n\t\t\thideLabelFromVision\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,uBAAuB;;AAEvD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,SAASC,eAAe,QAAQ,QAAQ;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzC,eAAe,SAASC,kBAAkBA,CAAA,EAAG;EAC5C,MAAM,CAAEC,UAAU,EAAEC,aAAa,CAAE,GAAGX,QAAQ,CAAC,CAAC;EAEhD,MAAM;IAAEY;EAAS,CAAC,GAAGX,WAAW,CAAEI,WAAY,CAAC;EAC/C,MAAM;IAAEQ,QAAQ;IAAEC;EAAc,CAAC,GAAGR,eAAe,CAAEI,UAAW,CAAC;;EAEjE;AACD;AACA;AACA;AACA;EACC,MAAMK,YAAY,GAAKC,YAAY,IAAM;IACxC,IAAK,CAAEA,YAAY,EAAG;MACrB;IACD;IACAJ,QAAQ,CAAE;MAAEK,MAAM,EAAED;IAAa,CAAE,CAAC;EACrC,CAAC;;EAED;AACD;AACA;AACA;AACA;EACC,MAAME,aAAa,GAAKC,UAAU,IAAM;IACvCR,aAAa,CAAEQ,UAAW,CAAC;EAC5B,CAAC;EAED,oBACCX,IAAA,CAACL,eAAe;IACfiB,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAGpB,EAAE,CAAE,QAAS,CAAG;IACxBqB,OAAO,EAAGT,aAAe;IACzBU,KAAK,EAAGX,QAAU;IAClBY,mBAAmB,EAAG1B,QAAQ,CAAEmB,aAAa,EAAE,GAAI,CAAG;IACtDQ,QAAQ,EAAGX,YAAc;IACzBY,UAAU,EAAG,KAAO;IACpBC,mBAAmB;EAAA,CACnB,CAAC;AAEJ","ignoreList":[]}
1
+ {"version":3,"names":["debounce","useState","useDispatch","__","ComboboxControl","store","editorStore","useAuthorsQuery","jsx","_jsx","PostAuthorCombobox","fieldValue","setFieldValue","editPost","authorId","authorOptions","isLoading","handleSelect","postAuthorId","author","handleKeydown","inputValue","__nextHasNoMarginBottom","__next40pxDefaultSize","label","options","value","onFilterValueChange","onChange","allowReset","hideLabelFromVision"],"sources":["@wordpress/editor/src/components/post-author/combobox.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\nimport { useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\nimport { useAuthorsQuery } from './hook';\n\nexport default function PostAuthorCombobox() {\n\tconst [ fieldValue, setFieldValue ] = useState();\n\n\tconst { editPost } = useDispatch( editorStore );\n\tconst { authorId, authorOptions, isLoading } =\n\t\tuseAuthorsQuery( fieldValue );\n\n\t/**\n\t * Handle author selection.\n\t *\n\t * @param {number} postAuthorId The selected Author.\n\t */\n\tconst handleSelect = ( postAuthorId ) => {\n\t\tif ( ! postAuthorId ) {\n\t\t\treturn;\n\t\t}\n\t\teditPost( { author: postAuthorId } );\n\t};\n\n\t/**\n\t * Handle user input.\n\t *\n\t * @param {string} inputValue The current value of the input field.\n\t */\n\tconst handleKeydown = ( inputValue ) => {\n\t\tsetFieldValue( inputValue );\n\t};\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\t__next40pxDefaultSize\n\t\t\tlabel={ __( 'Author' ) }\n\t\t\toptions={ authorOptions }\n\t\t\tvalue={ authorId }\n\t\t\tonFilterValueChange={ debounce( handleKeydown, 300 ) }\n\t\t\tonChange={ handleSelect }\n\t\t\tallowReset={ false }\n\t\t\thideLabelFromVision\n\t\t\tisLoading={ isLoading }\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,WAAW,QAAQ,iBAAiB;AAC7C,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SAASC,eAAe,QAAQ,uBAAuB;;AAEvD;AACA;AACA;AACA,SAASC,KAAK,IAAIC,WAAW,QAAQ,aAAa;AAClD,SAASC,eAAe,QAAQ,QAAQ;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEzC,eAAe,SAASC,kBAAkBA,CAAA,EAAG;EAC5C,MAAM,CAAEC,UAAU,EAAEC,aAAa,CAAE,GAAGX,QAAQ,CAAC,CAAC;EAEhD,MAAM;IAAEY;EAAS,CAAC,GAAGX,WAAW,CAAEI,WAAY,CAAC;EAC/C,MAAM;IAAEQ,QAAQ;IAAEC,aAAa;IAAEC;EAAU,CAAC,GAC3CT,eAAe,CAAEI,UAAW,CAAC;;EAE9B;AACD;AACA;AACA;AACA;EACC,MAAMM,YAAY,GAAKC,YAAY,IAAM;IACxC,IAAK,CAAEA,YAAY,EAAG;MACrB;IACD;IACAL,QAAQ,CAAE;MAAEM,MAAM,EAAED;IAAa,CAAE,CAAC;EACrC,CAAC;;EAED;AACD;AACA;AACA;AACA;EACC,MAAME,aAAa,GAAKC,UAAU,IAAM;IACvCT,aAAa,CAAES,UAAW,CAAC;EAC5B,CAAC;EAED,oBACCZ,IAAA,CAACL,eAAe;IACfkB,uBAAuB;IACvBC,qBAAqB;IACrBC,KAAK,EAAGrB,EAAE,CAAE,QAAS,CAAG;IACxBsB,OAAO,EAAGV,aAAe;IACzBW,KAAK,EAAGZ,QAAU;IAClBa,mBAAmB,EAAG3B,QAAQ,CAAEoB,aAAa,EAAE,GAAI,CAAG;IACtDQ,QAAQ,EAAGX,YAAc;IACzBY,UAAU,EAAG,KAAO;IACpBC,mBAAmB;IACnBd,SAAS,EAAGA;EAAW,CACvB,CAAC;AAEJ","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -17,11 +16,13 @@ export function useAuthorsQuery(search) {
17
16
  const {
18
17
  authorId,
19
18
  authors,
20
- postAuthor
19
+ postAuthor,
20
+ isLoading
21
21
  } = useSelect(select => {
22
22
  const {
23
23
  getUser,
24
- getUsers
24
+ getUsers,
25
+ isResolving
25
26
  } = select(coreStore);
26
27
  const {
27
28
  getEditedPostAttribute
@@ -37,7 +38,8 @@ export function useAuthorsQuery(search) {
37
38
  return {
38
39
  authorId: _authorId,
39
40
  authors: getUsers(query),
40
- postAuthor: getUser(_authorId, BASE_QUERY)
41
+ postAuthor: getUser(_authorId, BASE_QUERY),
42
+ isLoading: isResolving('getUsers', [query])
41
43
  };
42
44
  }, [search]);
43
45
  const authorOptions = useMemo(() => {
@@ -69,7 +71,8 @@ export function useAuthorsQuery(search) {
69
71
  return {
70
72
  authorId,
71
73
  authorOptions,
72
- postAuthor
74
+ postAuthor,
75
+ isLoading
73
76
  };
74
77
  }
75
78
  //# sourceMappingURL=hook.js.map
@@ -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","isLoading","select","getUser","getUsers","isResolving","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, isLoading } = useSelect(\n\t\t( select ) => {\n\t\t\tconst { getUser, getUsers, isResolving } = 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\tisLoading: isResolving( 'getUsers', [ 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, isLoading };\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,UAAU;IAAEC;EAAU,CAAC,GAAGZ,SAAS,CAC3Da,MAAM,IAAM;IACb,MAAM;MAAEC,OAAO;MAAEC,QAAQ;MAAEC;IAAY,CAAC,GAAGH,MAAM,CAAEV,SAAU,CAAC;IAC9D,MAAM;MAAEc;IAAuB,CAAC,GAAGJ,MAAM,CAAET,WAAY,CAAC;IACxD,MAAMc,SAAS,GAAGD,sBAAsB,CAAE,QAAS,CAAC;IACpD,MAAME,KAAK,GAAG;MAAE,GAAGd;IAAc,CAAC;IAElC,IAAKG,MAAM,EAAG;MACbW,KAAK,CAACX,MAAM,GAAGA,MAAM;MACrBW,KAAK,CAACC,cAAc,GAAG,CAAE,MAAM,CAAE;IAClC;IAEA,OAAO;MACNX,QAAQ,EAAES,SAAS;MACnBR,OAAO,EAAEK,QAAQ,CAAEI,KAAM,CAAC;MAC1BR,UAAU,EAAEG,OAAO,CAAEI,SAAS,EAAEZ,UAAW,CAAC;MAC5CM,SAAS,EAAEI,WAAW,CAAE,UAAU,EAAE,CAAEG,KAAK,CAAG;IAC/C,CAAC;EACF,CAAC,EACD,CAAEX,MAAM,CACT,CAAC;EAED,MAAMa,aAAa,GAAGtB,OAAO,CAAE,MAAM;IACpC,MAAMuB,cAAc,GAAG,CAAEZ,OAAO,aAAPA,OAAO,cAAPA,OAAO,GAAI,EAAE,EAAGa,GAAG,CAAIC,MAAM,IAAM;MAC3D,OAAO;QACNC,KAAK,EAAED,MAAM,CAACE,EAAE;QAChBC,KAAK,EAAE1B,cAAc,CAAEuB,MAAM,CAACI,IAAK;MACpC,CAAC;IACF,CAAE,CAAC;;IAEH;IACA,MAAMC,WAAW,GAAGP,cAAc,CAACQ,SAAS,CAC3C,CAAE;MAAEL;IAAM,CAAC,KAAMd,UAAU,EAAEe,EAAE,KAAKD,KACrC,CAAC;IAED,IAAIM,aAAa,GAAG,EAAE;IACtB,IAAKF,WAAW,GAAG,CAAC,IAAIlB,UAAU,EAAG;MACpCoB,aAAa,GAAG,CACf;QACCN,KAAK,EAAEd,UAAU,CAACe,EAAE;QACpBC,KAAK,EAAE1B,cAAc,CAAEU,UAAU,CAACiB,IAAK;MACxC,CAAC,CACD;IACF,CAAC,MAAM,IAAKC,WAAW,GAAG,CAAC,IAAI,CAAElB,UAAU,EAAG;MAC7CoB,aAAa,GAAG,CACf;QACCN,KAAK,EAAE,CAAC;QACRE,KAAK,EAAE7B,EAAE,CAAE,aAAc;MAC1B,CAAC,CACD;IACF;IAEA,OAAO,CAAE,GAAGiC,aAAa,EAAE,GAAGT,cAAc,CAAE;EAC/C,CAAC,EAAE,CAAEZ,OAAO,EAAEC,UAAU,CAAG,CAAC;EAE5B,OAAO;IAAEF,QAAQ;IAAEY,aAAa;IAAEV,UAAU;IAAEC;EAAU,CAAC;AAC1D","ignoreList":[]}
@@ -1,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -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,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */
@@ -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,4 +1,3 @@
1
- /* wp:polyfill */
2
1
  /**
3
2
  * WordPress dependencies
4
3
  */