@wordpress/editor 13.11.0 → 13.12.1

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 (416) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/autosave-monitor/index.js +1 -2
  3. package/build/components/autosave-monitor/index.js.map +1 -1
  4. package/build/components/deprecated.js +7 -9
  5. package/build/components/deprecated.js.map +1 -1
  6. package/build/components/document-outline/check.js +4 -5
  7. package/build/components/document-outline/check.js.map +1 -1
  8. package/build/components/document-outline/index.js +12 -16
  9. package/build/components/document-outline/index.js.map +1 -1
  10. package/build/components/document-outline/item.js +22 -25
  11. package/build/components/document-outline/item.js.map +1 -1
  12. package/build/components/editor-help/help-detail-navigation-screen.native.js +6 -9
  13. package/build/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  14. package/build/components/editor-help/help-get-support-button.native.js +4 -5
  15. package/build/components/editor-help/help-get-support-button.native.js.map +1 -1
  16. package/build/components/editor-help/help-section-title.native.js +3 -4
  17. package/build/components/editor-help/help-section-title.native.js.map +1 -1
  18. package/build/components/editor-help/help-topic-row.native.js +6 -7
  19. package/build/components/editor-help/help-topic-row.native.js.map +1 -1
  20. package/build/components/editor-help/index.native.js +20 -27
  21. package/build/components/editor-help/index.native.js.map +1 -1
  22. package/build/components/editor-help/view-sections.native.js +16 -20
  23. package/build/components/editor-help/view-sections.native.js.map +1 -1
  24. package/build/components/editor-history/redo.js +2 -6
  25. package/build/components/editor-history/redo.js.map +1 -1
  26. package/build/components/editor-history/undo.js +2 -6
  27. package/build/components/editor-history/undo.js.map +1 -1
  28. package/build/components/editor-notices/index.js +12 -19
  29. package/build/components/editor-notices/index.js.map +1 -1
  30. package/build/components/editor-snackbars/index.js +3 -6
  31. package/build/components/editor-snackbars/index.js.map +1 -1
  32. package/build/components/entities-saved-states/entity-record-item.js +7 -10
  33. package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
  34. package/build/components/entities-saved-states/entity-type-list.js +6 -7
  35. package/build/components/entities-saved-states/entity-type-list.js.map +1 -1
  36. package/build/components/entities-saved-states/hooks/use-is-dirty.js +86 -0
  37. package/build/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -0
  38. package/build/components/entities-saved-states/index.js +43 -116
  39. package/build/components/entities-saved-states/index.js.map +1 -1
  40. package/build/components/error-boundary/index.js +4 -5
  41. package/build/components/error-boundary/index.js.map +1 -1
  42. package/build/components/global-keyboard-shortcuts/save-shortcut.js +3 -4
  43. package/build/components/global-keyboard-shortcuts/save-shortcut.js.map +1 -1
  44. package/build/components/index.js +18 -0
  45. package/build/components/index.js.map +1 -1
  46. package/build/components/media-categories/index.js +25 -42
  47. package/build/components/media-categories/index.js.map +1 -1
  48. package/build/components/page-attributes/check.js +4 -7
  49. package/build/components/page-attributes/check.js.map +1 -1
  50. package/build/components/page-attributes/order.js +7 -9
  51. package/build/components/page-attributes/order.js.map +1 -1
  52. package/build/components/page-attributes/parent.js +5 -12
  53. package/build/components/page-attributes/parent.js.map +1 -1
  54. package/build/components/post-author/check.js +6 -7
  55. package/build/components/post-author/check.js.map +1 -1
  56. package/build/components/post-author/combobox.js +3 -6
  57. package/build/components/post-author/combobox.js.map +1 -1
  58. package/build/components/post-author/index.js +1 -1
  59. package/build/components/post-author/index.js.map +1 -1
  60. package/build/components/post-comments/index.js +4 -6
  61. package/build/components/post-comments/index.js.map +1 -1
  62. package/build/components/post-excerpt/check.js +2 -4
  63. package/build/components/post-excerpt/check.js.map +1 -1
  64. package/build/components/post-excerpt/index.js +4 -5
  65. package/build/components/post-excerpt/index.js.map +1 -1
  66. package/build/components/post-featured-image/check.js +2 -4
  67. package/build/components/post-featured-image/check.js.map +1 -1
  68. package/build/components/post-featured-image/index.js +56 -69
  69. package/build/components/post-featured-image/index.js.map +1 -1
  70. package/build/components/post-format/check.js +6 -9
  71. package/build/components/post-format/check.js.map +1 -1
  72. package/build/components/post-format/index.js +1 -1
  73. package/build/components/post-format/index.js.map +1 -1
  74. package/build/components/post-last-revision/check.js +5 -7
  75. package/build/components/post-last-revision/check.js.map +1 -1
  76. package/build/components/post-last-revision/index.js +4 -5
  77. package/build/components/post-last-revision/index.js.map +1 -1
  78. package/build/components/post-locked-modal/index.js +1 -1
  79. package/build/components/post-locked-modal/index.js.map +1 -1
  80. package/build/components/post-pending-status/check.js +7 -9
  81. package/build/components/post-pending-status/check.js.map +1 -1
  82. package/build/components/post-pending-status/index.js +4 -6
  83. package/build/components/post-pending-status/index.js.map +1 -1
  84. package/build/components/post-pingbacks/index.js +4 -6
  85. package/build/components/post-pingbacks/index.js.map +1 -1
  86. package/build/components/post-preview-button/index.js +8 -12
  87. package/build/components/post-preview-button/index.js.map +1 -1
  88. package/build/components/post-publish-button/index.js +10 -19
  89. package/build/components/post-publish-button/index.js.map +1 -1
  90. package/build/components/post-publish-button/label.js +14 -17
  91. package/build/components/post-publish-button/label.js.map +1 -1
  92. package/build/components/post-publish-panel/index.js +10 -12
  93. package/build/components/post-publish-panel/index.js.map +1 -1
  94. package/build/components/post-publish-panel/maybe-category-panel.js +2 -4
  95. package/build/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  96. package/build/components/post-publish-panel/maybe-post-format-panel.js +9 -12
  97. package/build/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  98. package/build/components/post-publish-panel/maybe-tags-panel.js +4 -7
  99. package/build/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  100. package/build/components/post-publish-panel/maybe-upload-media.js +150 -0
  101. package/build/components/post-publish-panel/maybe-upload-media.js.map +1 -0
  102. package/build/components/post-publish-panel/postpublish.js +8 -11
  103. package/build/components/post-publish-panel/postpublish.js.map +1 -1
  104. package/build/components/post-publish-panel/prepublish.js +8 -7
  105. package/build/components/post-publish-panel/prepublish.js.map +1 -1
  106. package/build/components/post-saved-state/index.js +13 -8
  107. package/build/components/post-saved-state/index.js.map +1 -1
  108. package/build/components/post-schedule/check.js +6 -8
  109. package/build/components/post-schedule/check.js.map +1 -1
  110. package/build/components/post-schedule/index.js +8 -12
  111. package/build/components/post-schedule/index.js.map +1 -1
  112. package/build/components/post-schedule/label.js +7 -10
  113. package/build/components/post-schedule/label.js.map +1 -1
  114. package/build/components/post-slug/check.js +3 -4
  115. package/build/components/post-slug/check.js.map +1 -1
  116. package/build/components/post-slug/index.js +5 -6
  117. package/build/components/post-slug/index.js.map +1 -1
  118. package/build/components/post-sticky/check.js +7 -9
  119. package/build/components/post-sticky/check.js.map +1 -1
  120. package/build/components/post-sticky/index.js +4 -5
  121. package/build/components/post-sticky/index.js.map +1 -1
  122. package/build/components/post-switch-to-draft-button/index.js +6 -7
  123. package/build/components/post-switch-to-draft-button/index.js.map +1 -1
  124. package/build/components/post-sync-status/index.js +67 -0
  125. package/build/components/post-sync-status/index.js.map +1 -0
  126. package/build/components/post-taxonomies/check.js +6 -7
  127. package/build/components/post-taxonomies/check.js.map +1 -1
  128. package/build/components/post-taxonomies/flat-term-selector.js +36 -46
  129. package/build/components/post-taxonomies/flat-term-selector.js.map +1 -1
  130. package/build/components/post-taxonomies/hierarchical-term-selector.js +13 -14
  131. package/build/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  132. package/build/components/post-taxonomies/index.js +6 -11
  133. package/build/components/post-taxonomies/index.js.map +1 -1
  134. package/build/components/post-taxonomies/most-used-terms.js +5 -6
  135. package/build/components/post-taxonomies/most-used-terms.js.map +1 -1
  136. package/build/components/post-template/index.js +6 -9
  137. package/build/components/post-template/index.js.map +1 -1
  138. package/build/components/post-title/index.js +8 -5
  139. package/build/components/post-title/index.js.map +1 -1
  140. package/build/components/post-title/index.native.js +8 -11
  141. package/build/components/post-title/index.native.js.map +1 -1
  142. package/build/components/post-trash/check.js +7 -9
  143. package/build/components/post-trash/check.js.map +1 -1
  144. package/build/components/post-type-support-check/index.js +5 -6
  145. package/build/components/post-type-support-check/index.js.map +1 -1
  146. package/build/components/post-url/check.js +4 -5
  147. package/build/components/post-url/check.js.map +1 -1
  148. package/build/components/post-url/index.js +8 -9
  149. package/build/components/post-url/index.js.map +1 -1
  150. package/build/components/post-visibility/check.js +6 -7
  151. package/build/components/post-visibility/check.js.map +1 -1
  152. package/build/components/post-visibility/index.js +14 -19
  153. package/build/components/post-visibility/index.js.map +1 -1
  154. package/build/components/post-visibility/label.js +1 -3
  155. package/build/components/post-visibility/label.js.map +1 -1
  156. package/build/components/provider/index.js +12 -15
  157. package/build/components/provider/index.js.map +1 -1
  158. package/build/components/provider/index.native.js +19 -30
  159. package/build/components/provider/index.native.js.map +1 -1
  160. package/build/components/provider/use-block-editor-settings.js +5 -9
  161. package/build/components/provider/use-block-editor-settings.js.map +1 -1
  162. package/build/components/provider/use-block-editor-settings.native.js +1 -3
  163. package/build/components/provider/use-block-editor-settings.native.js.map +1 -1
  164. package/build/components/provider/with-registry-provider.js +4 -2
  165. package/build/components/provider/with-registry-provider.js.map +1 -1
  166. package/build/components/table-of-contents/index.js +26 -35
  167. package/build/components/table-of-contents/index.js.map +1 -1
  168. package/build/components/table-of-contents/panel.js +4 -5
  169. package/build/components/table-of-contents/panel.js.map +1 -1
  170. package/build/components/template-validation-notice/index.js +4 -6
  171. package/build/components/template-validation-notice/index.js.map +1 -1
  172. package/build/components/theme-support-check/index.js +7 -8
  173. package/build/components/theme-support-check/index.js.map +1 -1
  174. package/build/hooks/custom-sources-backwards-compatibility.js +20 -42
  175. package/build/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  176. package/build/hooks/default-autocompleters.js +1 -2
  177. package/build/hooks/default-autocompleters.js.map +1 -1
  178. package/build/{lockUnlock.js → lock-unlock.js} +1 -1
  179. package/build/lock-unlock.js.map +1 -0
  180. package/build/private-apis.js +5 -2
  181. package/build/private-apis.js.map +1 -1
  182. package/build/store/actions.js +147 -179
  183. package/build/store/actions.js.map +1 -1
  184. package/build/store/actions.native.js +1 -2
  185. package/build/store/actions.native.js.map +1 -1
  186. package/build/store/reducer.js +14 -44
  187. package/build/store/reducer.js.map +1 -1
  188. package/build/store/reducer.native.js +3 -12
  189. package/build/store/reducer.native.js.map +1 -1
  190. package/build/store/selectors.js +23 -54
  191. package/build/store/selectors.js.map +1 -1
  192. package/build/store/utils/notice-builder.js +3 -3
  193. package/build/store/utils/notice-builder.js.map +1 -1
  194. package/build/utils/media-upload/index.js +11 -15
  195. package/build/utils/media-upload/index.js.map +1 -1
  196. package/build/utils/terms.js +3 -6
  197. package/build/utils/terms.js.map +1 -1
  198. package/build-module/components/autosave-monitor/index.js +1 -2
  199. package/build-module/components/autosave-monitor/index.js.map +1 -1
  200. package/build-module/components/deprecated.js +7 -8
  201. package/build-module/components/deprecated.js.map +1 -1
  202. package/build-module/components/document-outline/check.js +4 -5
  203. package/build-module/components/document-outline/check.js.map +1 -1
  204. package/build-module/components/document-outline/index.js +12 -16
  205. package/build-module/components/document-outline/index.js.map +1 -1
  206. package/build-module/components/document-outline/item.js +22 -25
  207. package/build-module/components/document-outline/item.js.map +1 -1
  208. package/build-module/components/editor-help/help-detail-navigation-screen.native.js +6 -8
  209. package/build-module/components/editor-help/help-detail-navigation-screen.native.js.map +1 -1
  210. package/build-module/components/editor-help/help-get-support-button.native.js +4 -5
  211. package/build-module/components/editor-help/help-get-support-button.native.js.map +1 -1
  212. package/build-module/components/editor-help/help-section-title.native.js +3 -4
  213. package/build-module/components/editor-help/help-section-title.native.js.map +1 -1
  214. package/build-module/components/editor-help/help-topic-row.native.js +6 -7
  215. package/build-module/components/editor-help/help-topic-row.native.js.map +1 -1
  216. package/build-module/components/editor-help/index.native.js +20 -25
  217. package/build-module/components/editor-help/index.native.js.map +1 -1
  218. package/build-module/components/editor-help/view-sections.native.js +16 -20
  219. package/build-module/components/editor-help/view-sections.native.js.map +1 -1
  220. package/build-module/components/editor-history/redo.js +2 -3
  221. package/build-module/components/editor-history/redo.js.map +1 -1
  222. package/build-module/components/editor-history/undo.js +2 -3
  223. package/build-module/components/editor-history/undo.js.map +1 -1
  224. package/build-module/components/editor-notices/index.js +12 -19
  225. package/build-module/components/editor-notices/index.js.map +1 -1
  226. package/build-module/components/editor-snackbars/index.js +3 -6
  227. package/build-module/components/editor-snackbars/index.js.map +1 -1
  228. package/build-module/components/entities-saved-states/entity-record-item.js +7 -10
  229. package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
  230. package/build-module/components/entities-saved-states/entity-type-list.js +6 -7
  231. package/build-module/components/entities-saved-states/entity-type-list.js.map +1 -1
  232. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js +72 -0
  233. package/build-module/components/entities-saved-states/hooks/use-is-dirty.js.map +1 -0
  234. package/build-module/components/entities-saved-states/index.js +44 -118
  235. package/build-module/components/entities-saved-states/index.js.map +1 -1
  236. package/build-module/components/error-boundary/index.js +4 -5
  237. package/build-module/components/error-boundary/index.js.map +1 -1
  238. package/build-module/components/global-keyboard-shortcuts/save-shortcut.js +3 -4
  239. package/build-module/components/global-keyboard-shortcuts/save-shortcut.js.map +1 -1
  240. package/build-module/components/index.js +2 -0
  241. package/build-module/components/index.js.map +1 -1
  242. package/build-module/components/media-categories/index.js +25 -42
  243. package/build-module/components/media-categories/index.js.map +1 -1
  244. package/build-module/components/page-attributes/check.js +4 -7
  245. package/build-module/components/page-attributes/check.js.map +1 -1
  246. package/build-module/components/page-attributes/order.js +7 -9
  247. package/build-module/components/page-attributes/order.js.map +1 -1
  248. package/build-module/components/page-attributes/parent.js +5 -12
  249. package/build-module/components/page-attributes/parent.js.map +1 -1
  250. package/build-module/components/post-author/check.js +6 -7
  251. package/build-module/components/post-author/check.js.map +1 -1
  252. package/build-module/components/post-author/combobox.js +3 -6
  253. package/build-module/components/post-author/combobox.js.map +1 -1
  254. package/build-module/components/post-author/index.js +1 -1
  255. package/build-module/components/post-author/index.js.map +1 -1
  256. package/build-module/components/post-comments/index.js +4 -6
  257. package/build-module/components/post-comments/index.js.map +1 -1
  258. package/build-module/components/post-excerpt/check.js +2 -3
  259. package/build-module/components/post-excerpt/check.js.map +1 -1
  260. package/build-module/components/post-excerpt/index.js +4 -5
  261. package/build-module/components/post-excerpt/index.js.map +1 -1
  262. package/build-module/components/post-featured-image/check.js +2 -3
  263. package/build-module/components/post-featured-image/check.js.map +1 -1
  264. package/build-module/components/post-featured-image/index.js +56 -69
  265. package/build-module/components/post-featured-image/index.js.map +1 -1
  266. package/build-module/components/post-format/check.js +6 -8
  267. package/build-module/components/post-format/check.js.map +1 -1
  268. package/build-module/components/post-format/index.js +1 -1
  269. package/build-module/components/post-format/index.js.map +1 -1
  270. package/build-module/components/post-last-revision/check.js +5 -7
  271. package/build-module/components/post-last-revision/check.js.map +1 -1
  272. package/build-module/components/post-last-revision/index.js +4 -5
  273. package/build-module/components/post-last-revision/index.js.map +1 -1
  274. package/build-module/components/post-locked-modal/index.js +1 -1
  275. package/build-module/components/post-locked-modal/index.js.map +1 -1
  276. package/build-module/components/post-pending-status/check.js +7 -9
  277. package/build-module/components/post-pending-status/check.js.map +1 -1
  278. package/build-module/components/post-pending-status/index.js +4 -6
  279. package/build-module/components/post-pending-status/index.js.map +1 -1
  280. package/build-module/components/post-pingbacks/index.js +4 -6
  281. package/build-module/components/post-pingbacks/index.js.map +1 -1
  282. package/build-module/components/post-preview-button/index.js +8 -12
  283. package/build-module/components/post-preview-button/index.js.map +1 -1
  284. package/build-module/components/post-publish-button/index.js +10 -18
  285. package/build-module/components/post-publish-button/index.js.map +1 -1
  286. package/build-module/components/post-publish-button/label.js +14 -17
  287. package/build-module/components/post-publish-button/label.js.map +1 -1
  288. package/build-module/components/post-publish-panel/index.js +10 -11
  289. package/build-module/components/post-publish-panel/index.js.map +1 -1
  290. package/build-module/components/post-publish-panel/maybe-category-panel.js +2 -4
  291. package/build-module/components/post-publish-panel/maybe-category-panel.js.map +1 -1
  292. package/build-module/components/post-publish-panel/maybe-post-format-panel.js +9 -12
  293. package/build-module/components/post-publish-panel/maybe-post-format-panel.js.map +1 -1
  294. package/build-module/components/post-publish-panel/maybe-tags-panel.js +4 -7
  295. package/build-module/components/post-publish-panel/maybe-tags-panel.js.map +1 -1
  296. package/build-module/components/post-publish-panel/maybe-upload-media.js +138 -0
  297. package/build-module/components/post-publish-panel/maybe-upload-media.js.map +1 -0
  298. package/build-module/components/post-publish-panel/postpublish.js +8 -11
  299. package/build-module/components/post-publish-panel/postpublish.js.map +1 -1
  300. package/build-module/components/post-publish-panel/prepublish.js +7 -7
  301. package/build-module/components/post-publish-panel/prepublish.js.map +1 -1
  302. package/build-module/components/post-saved-state/index.js +13 -8
  303. package/build-module/components/post-saved-state/index.js.map +1 -1
  304. package/build-module/components/post-schedule/check.js +6 -8
  305. package/build-module/components/post-schedule/check.js.map +1 -1
  306. package/build-module/components/post-schedule/index.js +8 -12
  307. package/build-module/components/post-schedule/index.js.map +1 -1
  308. package/build-module/components/post-schedule/label.js +7 -10
  309. package/build-module/components/post-schedule/label.js.map +1 -1
  310. package/build-module/components/post-slug/check.js +3 -4
  311. package/build-module/components/post-slug/check.js.map +1 -1
  312. package/build-module/components/post-slug/index.js +5 -6
  313. package/build-module/components/post-slug/index.js.map +1 -1
  314. package/build-module/components/post-sticky/check.js +7 -9
  315. package/build-module/components/post-sticky/check.js.map +1 -1
  316. package/build-module/components/post-sticky/index.js +4 -5
  317. package/build-module/components/post-sticky/index.js.map +1 -1
  318. package/build-module/components/post-switch-to-draft-button/index.js +6 -7
  319. package/build-module/components/post-switch-to-draft-button/index.js.map +1 -1
  320. package/build-module/components/post-sync-status/index.js +56 -0
  321. package/build-module/components/post-sync-status/index.js.map +1 -0
  322. package/build-module/components/post-taxonomies/check.js +6 -7
  323. package/build-module/components/post-taxonomies/check.js.map +1 -1
  324. package/build-module/components/post-taxonomies/flat-term-selector.js +36 -44
  325. package/build-module/components/post-taxonomies/flat-term-selector.js.map +1 -1
  326. package/build-module/components/post-taxonomies/hierarchical-term-selector.js +13 -14
  327. package/build-module/components/post-taxonomies/hierarchical-term-selector.js.map +1 -1
  328. package/build-module/components/post-taxonomies/index.js +6 -11
  329. package/build-module/components/post-taxonomies/index.js.map +1 -1
  330. package/build-module/components/post-taxonomies/most-used-terms.js +5 -6
  331. package/build-module/components/post-taxonomies/most-used-terms.js.map +1 -1
  332. package/build-module/components/post-template/index.js +6 -9
  333. package/build-module/components/post-template/index.js.map +1 -1
  334. package/build-module/components/post-title/index.js +8 -5
  335. package/build-module/components/post-title/index.js.map +1 -1
  336. package/build-module/components/post-title/index.native.js +8 -11
  337. package/build-module/components/post-title/index.native.js.map +1 -1
  338. package/build-module/components/post-trash/check.js +7 -9
  339. package/build-module/components/post-trash/check.js.map +1 -1
  340. package/build-module/components/post-type-support-check/index.js +5 -6
  341. package/build-module/components/post-type-support-check/index.js.map +1 -1
  342. package/build-module/components/post-url/check.js +4 -5
  343. package/build-module/components/post-url/check.js.map +1 -1
  344. package/build-module/components/post-url/index.js +8 -9
  345. package/build-module/components/post-url/index.js.map +1 -1
  346. package/build-module/components/post-visibility/check.js +6 -7
  347. package/build-module/components/post-visibility/check.js.map +1 -1
  348. package/build-module/components/post-visibility/index.js +14 -16
  349. package/build-module/components/post-visibility/index.js.map +1 -1
  350. package/build-module/components/post-visibility/label.js +1 -3
  351. package/build-module/components/post-visibility/label.js.map +1 -1
  352. package/build-module/components/provider/index.js +12 -14
  353. package/build-module/components/provider/index.js.map +1 -1
  354. package/build-module/components/provider/index.native.js +19 -29
  355. package/build-module/components/provider/index.native.js.map +1 -1
  356. package/build-module/components/provider/use-block-editor-settings.js +5 -9
  357. package/build-module/components/provider/use-block-editor-settings.js.map +1 -1
  358. package/build-module/components/provider/use-block-editor-settings.native.js +1 -3
  359. package/build-module/components/provider/use-block-editor-settings.native.js.map +1 -1
  360. package/build-module/components/provider/with-registry-provider.js +4 -2
  361. package/build-module/components/provider/with-registry-provider.js.map +1 -1
  362. package/build-module/components/table-of-contents/index.js +26 -34
  363. package/build-module/components/table-of-contents/index.js.map +1 -1
  364. package/build-module/components/table-of-contents/panel.js +4 -5
  365. package/build-module/components/table-of-contents/panel.js.map +1 -1
  366. package/build-module/components/template-validation-notice/index.js +4 -6
  367. package/build-module/components/template-validation-notice/index.js.map +1 -1
  368. package/build-module/components/theme-support-check/index.js +7 -8
  369. package/build-module/components/theme-support-check/index.js.map +1 -1
  370. package/build-module/hooks/custom-sources-backwards-compatibility.js +20 -39
  371. package/build-module/hooks/custom-sources-backwards-compatibility.js.map +1 -1
  372. package/build-module/hooks/default-autocompleters.js +1 -2
  373. package/build-module/hooks/default-autocompleters.js.map +1 -1
  374. package/build-module/{lockUnlock.js → lock-unlock.js} +1 -1
  375. package/build-module/lock-unlock.js.map +1 -0
  376. package/build-module/private-apis.js +4 -2
  377. package/build-module/private-apis.js.map +1 -1
  378. package/build-module/store/actions.js +147 -179
  379. package/build-module/store/actions.js.map +1 -1
  380. package/build-module/store/actions.native.js +1 -2
  381. package/build-module/store/actions.native.js.map +1 -1
  382. package/build-module/store/reducer.js +14 -44
  383. package/build-module/store/reducer.js.map +1 -1
  384. package/build-module/store/reducer.native.js +3 -12
  385. package/build-module/store/reducer.native.js.map +1 -1
  386. package/build-module/store/selectors.js +21 -54
  387. package/build-module/store/selectors.js.map +1 -1
  388. package/build-module/store/utils/notice-builder.js +3 -3
  389. package/build-module/store/utils/notice-builder.js.map +1 -1
  390. package/build-module/utils/media-upload/index.js +11 -15
  391. package/build-module/utils/media-upload/index.js.map +1 -1
  392. package/build-module/utils/terms.js +3 -6
  393. package/build-module/utils/terms.js.map +1 -1
  394. package/build-style/style-rtl.css +15 -1
  395. package/build-style/style.css +15 -1
  396. package/package.json +30 -31
  397. package/src/components/editor-help/test/index.native.js +3 -2
  398. package/src/components/entities-saved-states/hooks/use-is-dirty.js +87 -0
  399. package/src/components/entities-saved-states/index.js +25 -106
  400. package/src/components/entities-saved-states/test/use-is-dirty.js +94 -0
  401. package/src/components/index.js +2 -0
  402. package/src/components/post-publish-panel/maybe-upload-media.js +167 -0
  403. package/src/components/post-publish-panel/prepublish.js +2 -0
  404. package/src/components/post-publish-panel/style.scss +1 -1
  405. package/src/components/post-saved-state/index.js +6 -0
  406. package/src/components/post-sync-status/index.js +55 -0
  407. package/src/components/post-sync-status/style.scss +16 -0
  408. package/src/components/post-taxonomies/flat-term-selector.js +20 -30
  409. package/src/components/post-title/index.js +4 -1
  410. package/src/components/provider/index.js +1 -1
  411. package/src/components/provider/index.native.js +2 -9
  412. package/src/private-apis.js +3 -1
  413. package/src/style.scss +1 -0
  414. package/build/lockUnlock.js.map +0 -1
  415. package/build-module/lockUnlock.js.map +0 -1
  416. /package/src/{lockUnlock.js → lock-unlock.js} +0 -0
@@ -99,21 +99,16 @@ const getOpenverseCaption = item => {
99
99
  return _caption.replace(/\s{2}/g, ' ');
100
100
  };
101
101
 
102
- const coreMediaFetch = async function () {
103
- let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
102
+ const coreMediaFetch = async (query = {}) => {
104
103
  const mediaItems = await resolveSelect(coreStore).getMediaItems({ ...query,
105
- orderBy: !!(query !== null && query !== void 0 && query.search) ? 'relevance' : 'date'
106
- });
107
- return mediaItems.map(mediaItem => {
108
- var _mediaItem$media_deta, _mediaItem$media_deta2, _mediaItem$media_deta3, _mediaItem$caption;
109
-
110
- return { ...mediaItem,
111
- alt: mediaItem.alt_text,
112
- url: mediaItem.source_url,
113
- previewUrl: (_mediaItem$media_deta = mediaItem.media_details) === null || _mediaItem$media_deta === void 0 ? void 0 : (_mediaItem$media_deta2 = _mediaItem$media_deta.sizes) === null || _mediaItem$media_deta2 === void 0 ? void 0 : (_mediaItem$media_deta3 = _mediaItem$media_deta2.medium) === null || _mediaItem$media_deta3 === void 0 ? void 0 : _mediaItem$media_deta3.source_url,
114
- caption: (_mediaItem$caption = mediaItem.caption) === null || _mediaItem$caption === void 0 ? void 0 : _mediaItem$caption.raw
115
- };
104
+ orderBy: !!query?.search ? 'relevance' : 'date'
116
105
  });
106
+ return mediaItems.map(mediaItem => ({ ...mediaItem,
107
+ alt: mediaItem.alt_text,
108
+ url: mediaItem.source_url,
109
+ previewUrl: mediaItem.media_details?.sizes?.medium?.source_url,
110
+ caption: mediaItem.caption?.raw
111
+ }));
117
112
  };
118
113
  /** @type {InserterMediaCategory[]} */
119
114
 
@@ -126,8 +121,7 @@ const inserterMediaCategories = [{
126
121
  },
127
122
  mediaType: 'image',
128
123
 
129
- async fetch() {
130
- let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
124
+ async fetch(query = {}) {
131
125
  return coreMediaFetch({ ...query,
132
126
  media_type: 'image'
133
127
  });
@@ -141,8 +135,7 @@ const inserterMediaCategories = [{
141
135
  },
142
136
  mediaType: 'video',
143
137
 
144
- async fetch() {
145
- let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
138
+ async fetch(query = {}) {
146
139
  return coreMediaFetch({ ...query,
147
140
  media_type: 'video'
148
141
  });
@@ -156,8 +149,7 @@ const inserterMediaCategories = [{
156
149
  },
157
150
  mediaType: 'audio',
158
151
 
159
- async fetch() {
160
- let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
152
+ async fetch(query = {}) {
161
153
  return coreMediaFetch({ ...query,
162
154
  media_type: 'audio'
163
155
  });
@@ -171,8 +163,7 @@ const inserterMediaCategories = [{
171
163
  },
172
164
  mediaType: 'image',
173
165
 
174
- async fetch() {
175
- let query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
166
+ async fetch(query = {}) {
176
167
  const defaultArgs = {
177
168
  mature: false,
178
169
  excluded_source: 'flickr,inaturalist,wikimedia',
@@ -186,8 +177,7 @@ const inserterMediaCategories = [{
186
177
  search: 'q'
187
178
  };
188
179
  const url = new URL('https://api.openverse.engineering/v1/images/');
189
- Object.entries(finalQuery).forEach(_ref => {
190
- let [key, value] = _ref;
180
+ Object.entries(finalQuery).forEach(([key, value]) => {
191
181
  const queryKey = mapFromInserterMediaRequest[key] || key;
192
182
  url.searchParams.set(queryKey, value);
193
183
  });
@@ -198,27 +188,20 @@ const inserterMediaCategories = [{
198
188
  });
199
189
  const jsonResponse = await response.json();
200
190
  const results = jsonResponse.results;
201
- return results.map(result => {
202
- var _result$title;
203
-
204
- return { ...result,
205
- // This is a temp solution for better titles, until Openverse API
206
- // completes the cleaning up of some titles of their upstream data.
207
- title: (_result$title = result.title) !== null && _result$title !== void 0 && _result$title.toLowerCase().startsWith('file:') ? result.title.slice(5) : result.title,
208
- sourceId: result.id,
209
- id: undefined,
210
- caption: getOpenverseCaption(result),
211
- previewUrl: result.thumbnail
212
- };
213
- });
191
+ return results.map(result => ({ ...result,
192
+ // This is a temp solution for better titles, until Openverse API
193
+ // completes the cleaning up of some titles of their upstream data.
194
+ title: result.title?.toLowerCase().startsWith('file:') ? result.title.slice(5) : result.title,
195
+ sourceId: result.id,
196
+ id: undefined,
197
+ caption: getOpenverseCaption(result),
198
+ previewUrl: result.thumbnail
199
+ }));
214
200
  },
215
201
 
216
- getReportUrl: _ref2 => {
217
- let {
218
- sourceId
219
- } = _ref2;
220
- return `https://wordpress.org/openverse/image/${sourceId}/report/`;
221
- },
202
+ getReportUrl: ({
203
+ sourceId
204
+ }) => `https://wordpress.org/openverse/image/${sourceId}/report/`,
222
205
  isExternalResource: true
223
206
  }];
224
207
  export default inserterMediaCategories;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/media-categories/index.js"],"names":["__","sprintf","_x","resolveSelect","decodeEntities","store","coreStore","getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","_caption","coreMediaFetch","query","mediaItems","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource"],"mappings":"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","sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/**\n * Interface for inserter media category labels.\n *\n * @typedef {Object} InserterMediaCategoryLabels\n * @property {string} name General name of the media category. It's used in the inserter media items list.\n * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.\n */\n/**\n * Interface for inserter media category.\n *\n * @typedef {Object} InserterMediaCategory\n * @property {string} name The name of the media category, that should be unique among all media categories.\n * @property {InserterMediaCategoryLabels} labels Labels for the media category.\n * @property {('image'|'audio'|'video')} mediaType The media type of the media category.\n * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.\n * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return\n * the report url for the media item. It accepts the `InserterMediaItem` as an argument.\n * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.\n * This is used to avoid making a request to the external resource when the user\n * opens the inserter for the first time.\n */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL(\n\t\t\t\t'https://api.openverse.engineering/v1/images/'\n\t\t\t);\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/media-categories/index.js"],"names":["__","sprintf","_x","resolveSelect","decodeEntities","store","coreStore","getExternalLink","url","text","getExternalLinkAttributes","getOpenverseLicense","license","licenseVersion","licenseName","trim","toUpperCase","replace","includes","getOpenverseCaption","item","title","foreign_landing_url","foreignLandingUrl","creator","creator_url","creatorUrl","license_version","license_url","licenseUrl","fullLicense","_creator","_caption","coreMediaFetch","query","mediaItems","getMediaItems","orderBy","search","map","mediaItem","alt","alt_text","source_url","previewUrl","media_details","sizes","medium","caption","raw","inserterMediaCategories","name","labels","search_items","mediaType","fetch","media_type","defaultArgs","mature","excluded_source","finalQuery","mapFromInserterMediaRequest","per_page","URL","Object","entries","forEach","key","value","queryKey","searchParams","set","response","window","headers","jsonResponse","json","results","result","toLowerCase","startsWith","slice","sourceId","id","undefined","thumbnail","getReportUrl","isExternalResource"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAASA,EAAT,EAAaC,OAAb,EAAsBC,EAAtB,QAAgC,iBAAhC;AACA,SAASC,aAAT,QAA8B,iBAA9B;AACA,SAASC,cAAT,QAA+B,0BAA/B;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,MAAMC,eAAe,GAAG,CAAEC,GAAF,EAAOC,IAAP,KACtB,MAAMC,yBAAyB,CAAEF,GAAF,CAAS,IAAIC,IAAM,MADpD;;AAGA,MAAMC,yBAAyB,GAAKF,GAAF,IAChC,SAASA,GAAK,6CADhB;;AAGA,MAAMG,mBAAmB,GAAG,CAAEC,OAAF,EAAWC,cAAX,KAA+B;AAC1D,MAAIC,WAAW,GAAGF,OAAO,CAACG,IAAR,EAAlB,CAD0D,CAE1D;;AACA,MAAKH,OAAO,KAAK,KAAjB,EAAyB;AACxBE,IAAAA,WAAW,GAAGF,OAAO,CAACI,WAAR,GAAsBC,OAAtB,CAA+B,UAA/B,EAA2C,UAA3C,CAAd;AACA,GALyD,CAM1D;AACA;AACA;;;AACA,MAAKJ,cAAL,EAAsB;AACrBC,IAAAA,WAAW,IAAK,IAAID,cAAgB,EAApC;AACA,GAXyD,CAY1D;;;AACA,MAAK,CAAE,CAAE,KAAF,EAAS,KAAT,EAAiBK,QAAjB,CAA2BN,OAA3B,CAAP,EAA8C;AAC7CE,IAAAA,WAAW,GAAI,MAAMA,WAAa,EAAlC;AACA;;AACD,SAAOA,WAAP;AACA,CAjBD;;AAmBA,MAAMK,mBAAmB,GAAKC,IAAF,IAAY;AACvC,QAAM;AACLC,IAAAA,KADK;AAELC,IAAAA,mBAAmB,EAAEC,iBAFhB;AAGLC,IAAAA,OAHK;AAILC,IAAAA,WAAW,EAAEC,UAJR;AAKLd,IAAAA,OALK;AAMLe,IAAAA,eAAe,EAAEd,cANZ;AAOLe,IAAAA,WAAW,EAAEC;AAPR,MAQFT,IARJ;AASA,QAAMU,WAAW,GAAGnB,mBAAmB,CAAEC,OAAF,EAAWC,cAAX,CAAvC;;AACA,QAAMkB,QAAQ,GAAG3B,cAAc,CAAEoB,OAAF,CAA/B;;AACA,MAAIQ,QAAJ;;AACA,MAAKD,QAAL,EAAgB;AACfC,IAAAA,QAAQ,GAAGX,KAAK,GACbpB,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,sBAAF,EAA0B,SAA1B,CAFK,EAGPK,eAAe,CACdgB,iBADc,EAEdnB,cAAc,CAAEiB,KAAF,CAFA,CAHR,EAOPK,UAAU,GACPnB,eAAe,CAAEmB,UAAF,EAAcK,QAAd,CADR,GAEPA,QATI,EAUPF,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAfI,CADM,GAkBb7B,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,gCAAF,EAAoC,SAApC,CAFK,EAGPQ,yBAAyB,CAAEa,iBAAF,CAHlB,EAIPG,UAAU,GACPnB,eAAe,CAAEmB,UAAF,EAAcK,QAAd,CADR,GAEPA,QANI,EAOPF,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAZI,CAlBV;AAgCA,GAjCD,MAiCO;AACNE,IAAAA,QAAQ,GAAGX,KAAK,GACbpB,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,cAAF,EAAkB,SAAlB,CAFK,EAGPK,eAAe,CACdgB,iBADc,EAEdnB,cAAc,CAAEiB,KAAF,CAFA,CAHR,EAOPQ,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WAZI,CADM,GAeb7B,OAAO,EACP;AACAC,IAAAA,EAAE,CAAE,wBAAF,EAA4B,SAA5B,CAFK,EAGPQ,yBAAyB,CAAEa,iBAAF,CAHlB,EAIPM,UAAU,GACPtB,eAAe,CACd,GAAGsB,UAAY,gBADD,EAEfC,WAFe,CADR,GAKPA,WATI,CAfV;AA0BA;;AACD,SAAOE,QAAQ,CAACf,OAAT,CAAkB,QAAlB,EAA4B,GAA5B,CAAP;AACA,CA3ED;;AA6EA,MAAMgB,cAAc,GAAG,OAAQC,KAAK,GAAG,EAAhB,KAAwB;AAC9C,QAAMC,UAAU,GAAG,MAAMhC,aAAa,CAAEG,SAAF,CAAb,CAA2B8B,aAA3B,CAA0C,EAClE,GAAGF,KAD+D;AAElEG,IAAAA,OAAO,EAAE,CAAC,CAAEH,KAAK,EAAEI,MAAV,GAAmB,WAAnB,GAAiC;AAFwB,GAA1C,CAAzB;AAIA,SAAOH,UAAU,CAACI,GAAX,CAAkBC,SAAF,KAAmB,EACzC,GAAGA,SADsC;AAEzCC,IAAAA,GAAG,EAAED,SAAS,CAACE,QAF0B;AAGzClC,IAAAA,GAAG,EAAEgC,SAAS,CAACG,UAH0B;AAIzCC,IAAAA,UAAU,EAAEJ,SAAS,CAACK,aAAV,EAAyBC,KAAzB,EAAgCC,MAAhC,EAAwCJ,UAJX;AAKzCK,IAAAA,OAAO,EAAER,SAAS,CAACQ,OAAV,EAAmBC;AALa,GAAnB,CAAhB,CAAP;AAOA,CAZD;AAcA;;;AACA,MAAMC,uBAAuB,GAAG,CAC/B;AACCC,EAAAA,IAAI,EAAE,QADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,QAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,eAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYsB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAD+B,EAY/B;AACCL,EAAAA,IAAI,EAAE,QADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,QAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,eAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYsB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAZ+B,EAuB/B;AACCL,EAAAA,IAAI,EAAE,OADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,OAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,cAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,WAAOD,cAAc,CAAE,EAAE,GAAGC,KAAL;AAAYsB,MAAAA,UAAU,EAAE;AAAxB,KAAF,CAArB;AACA;;AATF,CAvB+B,EAkC/B;AACCL,EAAAA,IAAI,EAAE,WADP;AAECC,EAAAA,MAAM,EAAE;AACPD,IAAAA,IAAI,EAAEnD,EAAE,CAAE,WAAF,CADD;AAEPqD,IAAAA,YAAY,EAAErD,EAAE,CAAE,kBAAF;AAFT,GAFT;AAMCsD,EAAAA,SAAS,EAAE,OANZ;;AAOC,QAAMC,KAAN,CAAarB,KAAK,GAAG,EAArB,EAA0B;AACzB,UAAMuB,WAAW,GAAG;AACnBC,MAAAA,MAAM,EAAE,KADW;AAEnBC,MAAAA,eAAe,EAAE,8BAFE;AAGnB/C,MAAAA,OAAO,EAAE;AAHU,KAApB;AAKA,UAAMgD,UAAU,GAAG,EAAE,GAAG1B,KAAL;AAAY,SAAGuB;AAAf,KAAnB;AACA,UAAMI,2BAA2B,GAAG;AACnCC,MAAAA,QAAQ,EAAE,WADyB;AAEnCxB,MAAAA,MAAM,EAAE;AAF2B,KAApC;AAIA,UAAM9B,GAAG,GAAG,IAAIuD,GAAJ,CACX,8CADW,CAAZ;AAGAC,IAAAA,MAAM,CAACC,OAAP,CAAgBL,UAAhB,EAA6BM,OAA7B,CAAsC,CAAE,CAAEC,GAAF,EAAOC,KAAP,CAAF,KAAsB;AAC3D,YAAMC,QAAQ,GAAGR,2BAA2B,CAAEM,GAAF,CAA3B,IAAsCA,GAAvD;AACA3D,MAAAA,GAAG,CAAC8D,YAAJ,CAAiBC,GAAjB,CAAsBF,QAAtB,EAAgCD,KAAhC;AACA,KAHD;AAIA,UAAMI,QAAQ,GAAG,MAAMC,MAAM,CAAClB,KAAP,CAAc/C,GAAd,EAAmB;AACzCkE,MAAAA,OAAO,EAAE;AACR,sBAAc;AADN;AADgC,KAAnB,CAAvB;AAKA,UAAMC,YAAY,GAAG,MAAMH,QAAQ,CAACI,IAAT,EAA3B;AACA,UAAMC,OAAO,GAAGF,YAAY,CAACE,OAA7B;AACA,WAAOA,OAAO,CAACtC,GAAR,CAAeuC,MAAF,KAAgB,EACnC,GAAGA,MADgC;AAEnC;AACA;AACAzD,MAAAA,KAAK,EAAEyD,MAAM,CAACzD,KAAP,EAAc0D,WAAd,GAA4BC,UAA5B,CAAwC,OAAxC,IACJF,MAAM,CAACzD,KAAP,CAAa4D,KAAb,CAAoB,CAApB,CADI,GAEJH,MAAM,CAACzD,KANyB;AAOnC6D,MAAAA,QAAQ,EAAEJ,MAAM,CAACK,EAPkB;AAQnCA,MAAAA,EAAE,EAAEC,SAR+B;AASnCpC,MAAAA,OAAO,EAAE7B,mBAAmB,CAAE2D,MAAF,CATO;AAUnClC,MAAAA,UAAU,EAAEkC,MAAM,CAACO;AAVgB,KAAhB,CAAb,CAAP;AAYA,GA5CF;;AA6CCC,EAAAA,YAAY,EAAE,CAAE;AAAEJ,IAAAA;AAAF,GAAF,KACZ,yCAAyCA,QAAU,UA9CtD;AA+CCK,EAAAA,kBAAkB,EAAE;AA/CrB,CAlC+B,CAAhC;AAqFA,eAAerC,uBAAf","sourcesContent":["/**\n * The `editor` settings here need to be in sync with the corresponding ones in `editor` package.\n * See `packages/editor/src/components/media-categories/index.js`.\n *\n * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.\n * The rest of the settings would still need to be in sync though.\n */\n\n/**\n * WordPress dependencies\n */\nimport { __, sprintf, _x } from '@wordpress/i18n';\nimport { resolveSelect } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\n\n/**\n * Internal dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\n\n/** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */\n/** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */\n/**\n * Interface for inserter media category labels.\n *\n * @typedef {Object} InserterMediaCategoryLabels\n * @property {string} name General name of the media category. It's used in the inserter media items list.\n * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.\n */\n/**\n * Interface for inserter media category.\n *\n * @typedef {Object} InserterMediaCategory\n * @property {string} name The name of the media category, that should be unique among all media categories.\n * @property {InserterMediaCategoryLabels} labels Labels for the media category.\n * @property {('image'|'audio'|'video')} mediaType The media type of the media category.\n * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.\n * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return\n * the report url for the media item. It accepts the `InserterMediaItem` as an argument.\n * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.\n * This is used to avoid making a request to the external resource when the user\n * opens the inserter for the first time.\n */\n\nconst getExternalLink = ( url, text ) =>\n\t`<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;\n\nconst getExternalLinkAttributes = ( url ) =>\n\t`href=\"${ url }\" target=\"_blank\" rel=\"noreferrer noopener\"`;\n\nconst getOpenverseLicense = ( license, licenseVersion ) => {\n\tlet licenseName = license.trim();\n\t// PDM has no abbreviation\n\tif ( license !== 'pdm' ) {\n\t\tlicenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );\n\t}\n\t// If version is known, append version to the name.\n\t// The license has to have a version to be valid. Only\n\t// PDM (public domain mark) doesn't have a version.\n\tif ( licenseVersion ) {\n\t\tlicenseName += ` ${ licenseVersion }`;\n\t}\n\t// For licenses other than public-domain marks, prepend 'CC' to the name.\n\tif ( ! [ 'pdm', 'cc0' ].includes( license ) ) {\n\t\tlicenseName = `CC ${ licenseName }`;\n\t}\n\treturn licenseName;\n};\n\nconst getOpenverseCaption = ( item ) => {\n\tconst {\n\t\ttitle,\n\t\tforeign_landing_url: foreignLandingUrl,\n\t\tcreator,\n\t\tcreator_url: creatorUrl,\n\t\tlicense,\n\t\tlicense_version: licenseVersion,\n\t\tlicense_url: licenseUrl,\n\t} = item;\n\tconst fullLicense = getOpenverseLicense( license, licenseVersion );\n\tconst _creator = decodeEntities( creator );\n\tlet _caption;\n\tif ( _creator ) {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\" by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tcreatorUrl\n\t\t\t\t\t\t? getExternalLink( creatorUrl, _creator )\n\t\t\t\t\t\t: _creator,\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t} else {\n\t\t_caption = title\n\t\t\t? sprintf(\n\t\t\t\t\t// translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '\"%1$s\"/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLink(\n\t\t\t\t\t\tforeignLandingUrl,\n\t\t\t\t\t\tdecodeEntities( title )\n\t\t\t\t\t),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t )\n\t\t\t: sprintf(\n\t\t\t\t\t// translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: \"CC0 1.0\".\n\t\t\t\t\t_x( '<a %1$s>Work</a>/ %2$s', 'caption' ),\n\t\t\t\t\tgetExternalLinkAttributes( foreignLandingUrl ),\n\t\t\t\t\tlicenseUrl\n\t\t\t\t\t\t? getExternalLink(\n\t\t\t\t\t\t\t\t`${ licenseUrl }?ref=openverse`,\n\t\t\t\t\t\t\t\tfullLicense\n\t\t\t\t\t\t )\n\t\t\t\t\t\t: fullLicense\n\t\t\t );\n\t}\n\treturn _caption.replace( /\\s{2}/g, ' ' );\n};\n\nconst coreMediaFetch = async ( query = {} ) => {\n\tconst mediaItems = await resolveSelect( coreStore ).getMediaItems( {\n\t\t...query,\n\t\torderBy: !! query?.search ? 'relevance' : 'date',\n\t} );\n\treturn mediaItems.map( ( mediaItem ) => ( {\n\t\t...mediaItem,\n\t\talt: mediaItem.alt_text,\n\t\turl: mediaItem.source_url,\n\t\tpreviewUrl: mediaItem.media_details?.sizes?.medium?.source_url,\n\t\tcaption: mediaItem.caption?.raw,\n\t} ) );\n};\n\n/** @type {InserterMediaCategory[]} */\nconst inserterMediaCategories = [\n\t{\n\t\tname: 'images',\n\t\tlabels: {\n\t\t\tname: __( 'Images' ),\n\t\t\tsearch_items: __( 'Search images' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'image' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'videos',\n\t\tlabels: {\n\t\t\tname: __( 'Videos' ),\n\t\t\tsearch_items: __( 'Search videos' ),\n\t\t},\n\t\tmediaType: 'video',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'video' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'audio',\n\t\tlabels: {\n\t\t\tname: __( 'Audio' ),\n\t\t\tsearch_items: __( 'Search audio' ),\n\t\t},\n\t\tmediaType: 'audio',\n\t\tasync fetch( query = {} ) {\n\t\t\treturn coreMediaFetch( { ...query, media_type: 'audio' } );\n\t\t},\n\t},\n\t{\n\t\tname: 'openverse',\n\t\tlabels: {\n\t\t\tname: __( 'Openverse' ),\n\t\t\tsearch_items: __( 'Search Openverse' ),\n\t\t},\n\t\tmediaType: 'image',\n\t\tasync fetch( query = {} ) {\n\t\t\tconst defaultArgs = {\n\t\t\t\tmature: false,\n\t\t\t\texcluded_source: 'flickr,inaturalist,wikimedia',\n\t\t\t\tlicense: 'pdm,cc0',\n\t\t\t};\n\t\t\tconst finalQuery = { ...query, ...defaultArgs };\n\t\t\tconst mapFromInserterMediaRequest = {\n\t\t\t\tper_page: 'page_size',\n\t\t\t\tsearch: 'q',\n\t\t\t};\n\t\t\tconst url = new URL(\n\t\t\t\t'https://api.openverse.engineering/v1/images/'\n\t\t\t);\n\t\t\tObject.entries( finalQuery ).forEach( ( [ key, value ] ) => {\n\t\t\t\tconst queryKey = mapFromInserterMediaRequest[ key ] || key;\n\t\t\t\turl.searchParams.set( queryKey, value );\n\t\t\t} );\n\t\t\tconst response = await window.fetch( url, {\n\t\t\t\theaders: {\n\t\t\t\t\t'User-Agent': 'WordPress/inserter-media-fetch',\n\t\t\t\t},\n\t\t\t} );\n\t\t\tconst jsonResponse = await response.json();\n\t\t\tconst results = jsonResponse.results;\n\t\t\treturn results.map( ( result ) => ( {\n\t\t\t\t...result,\n\t\t\t\t// This is a temp solution for better titles, until Openverse API\n\t\t\t\t// completes the cleaning up of some titles of their upstream data.\n\t\t\t\ttitle: result.title?.toLowerCase().startsWith( 'file:' )\n\t\t\t\t\t? result.title.slice( 5 )\n\t\t\t\t\t: result.title,\n\t\t\t\tsourceId: result.id,\n\t\t\t\tid: undefined,\n\t\t\t\tcaption: getOpenverseCaption( result ),\n\t\t\t\tpreviewUrl: result.thumbnail,\n\t\t\t} ) );\n\t\t},\n\t\tgetReportUrl: ( { sourceId } ) =>\n\t\t\t`https://wordpress.org/openverse/image/${ sourceId }/report/`,\n\t\tisExternalResource: true,\n\t},\n];\n\nexport default inserterMediaCategories;\n"]}
@@ -8,13 +8,10 @@ import { store as coreStore } from '@wordpress/core-data';
8
8
  */
9
9
 
10
10
  import { store as editorStore } from '../../store';
11
- export function PageAttributesCheck(_ref) {
12
- let {
13
- children
14
- } = _ref;
11
+ export function PageAttributesCheck({
12
+ children
13
+ }) {
15
14
  const supportsPageAttributes = useSelect(select => {
16
- var _postType$supports;
17
-
18
15
  const {
19
16
  getEditedPostAttribute
20
17
  } = select(editorStore);
@@ -22,7 +19,7 @@ export function PageAttributesCheck(_ref) {
22
19
  getPostType
23
20
  } = select(coreStore);
24
21
  const postType = getPostType(getEditedPostAttribute('type'));
25
- return !!(postType !== null && postType !== void 0 && (_postType$supports = postType.supports) !== null && _postType$supports !== void 0 && _postType$supports['page-attributes']);
22
+ return !!postType?.supports?.['page-attributes'];
26
23
  }, []); // Only render fields if post type supports page attributes or available templates exist.
27
24
 
28
25
  if (!supportsPageAttributes) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/page-attributes/check.js"],"names":["useSelect","store","coreStore","editorStore","PageAttributesCheck","children","supportsPageAttributes","select","getEditedPostAttribute","getPostType","postType","supports"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,WAAlB,QAAqC,aAArC;AAEA,OAAO,SAASC,mBAAT,OAA6C;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACnD,QAAMC,sBAAsB,GAAGN,SAAS,CAAIO,MAAF,IAAc;AAAA;;AACvD,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEJ,WAAF,CAAzC;AACA,UAAM;AAAEM,MAAAA;AAAF,QAAkBF,MAAM,CAAEL,SAAF,CAA9B;AACA,UAAMQ,QAAQ,GAAGD,WAAW,CAAED,sBAAsB,CAAE,MAAF,CAAxB,CAA5B;AAEA,WAAO,CAAC,EAAEE,QAAF,aAAEA,QAAF,qCAAEA,QAAQ,CAAEC,QAAZ,+CAAE,mBAAsB,iBAAtB,CAAF,CAAR;AACA,GANuC,EAMrC,EANqC,CAAxC,CADmD,CASnD;;AACA,MAAK,CAAEL,sBAAP,EAAgC;AAC/B,WAAO,IAAP;AACA;;AAED,SAAOD,QAAP;AACA;AAED,eAAeD,mBAAf","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 { store as editorStore } from '../../store';\n\nexport function PageAttributesCheck( { children } ) {\n\tconst supportsPageAttributes = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn !! postType?.supports?.[ 'page-attributes' ];\n\t}, [] );\n\n\t// Only render fields if post type supports page attributes or available templates exist.\n\tif ( ! supportsPageAttributes ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default PageAttributesCheck;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/page-attributes/check.js"],"names":["useSelect","store","coreStore","editorStore","PageAttributesCheck","children","supportsPageAttributes","select","getEditedPostAttribute","getPostType","postType","supports"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,WAAlB,QAAqC,aAArC;AAEA,OAAO,SAASC,mBAAT,CAA8B;AAAEC,EAAAA;AAAF,CAA9B,EAA6C;AACnD,QAAMC,sBAAsB,GAAGN,SAAS,CAAIO,MAAF,IAAc;AACvD,UAAM;AAAEC,MAAAA;AAAF,QAA6BD,MAAM,CAAEJ,WAAF,CAAzC;AACA,UAAM;AAAEM,MAAAA;AAAF,QAAkBF,MAAM,CAAEL,SAAF,CAA9B;AACA,UAAMQ,QAAQ,GAAGD,WAAW,CAAED,sBAAsB,CAAE,MAAF,CAAxB,CAA5B;AAEA,WAAO,CAAC,CAAEE,QAAQ,EAAEC,QAAV,GAAsB,iBAAtB,CAAV;AACA,GANuC,EAMrC,EANqC,CAAxC,CADmD,CASnD;;AACA,MAAK,CAAEL,sBAAP,EAAgC;AAC/B,WAAO,IAAP;AACA;;AAED,SAAOD,QAAP;AACA;AAED,eAAeD,mBAAf","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 { store as editorStore } from '../../store';\n\nexport function PageAttributesCheck( { children } ) {\n\tconst supportsPageAttributes = useSelect( ( select ) => {\n\t\tconst { getEditedPostAttribute } = select( editorStore );\n\t\tconst { getPostType } = select( coreStore );\n\t\tconst postType = getPostType( getEditedPostAttribute( 'type' ) );\n\n\t\treturn !! postType?.supports?.[ 'page-attributes' ];\n\t}, [] );\n\n\t// Only render fields if post type supports page attributes or available templates exist.\n\tif ( ! supportsPageAttributes ) {\n\t\treturn null;\n\t}\n\n\treturn children;\n}\n\nexport default PageAttributesCheck;\n"]}
@@ -14,20 +14,17 @@ import { useState } from '@wordpress/element';
14
14
 
15
15
  import PostTypeSupportCheck from '../post-type-support-check';
16
16
  import { store as editorStore } from '../../store';
17
- export const PageAttributesOrder = _ref => {
18
- let {
19
- onUpdateOrder,
20
- order = 0
21
- } = _ref;
17
+ export const PageAttributesOrder = ({
18
+ onUpdateOrder,
19
+ order = 0
20
+ }) => {
22
21
  const [orderInput, setOrderInput] = useState(null);
23
22
 
24
23
  const setUpdatedOrder = value => {
25
- var _value$trim;
26
-
27
24
  setOrderInput(value);
28
25
  const newOrder = Number(value);
29
26
 
30
- if (Number.isInteger(newOrder) && ((_value$trim = value.trim) === null || _value$trim === void 0 ? void 0 : _value$trim.call(value)) !== '') {
27
+ if (Number.isInteger(newOrder) && value.trim?.() !== '') {
31
28
  onUpdateOrder(Number(value));
32
29
  }
33
30
  };
@@ -47,7 +44,8 @@ export const PageAttributesOrder = _ref => {
47
44
  function PageAttributesOrderWithChecks(props) {
48
45
  return createElement(PostTypeSupportCheck, {
49
46
  supportKeys: "page-attributes"
50
- }, createElement(PageAttributesOrder, props));
47
+ }, createElement(PageAttributesOrder, { ...props
48
+ }));
51
49
  }
52
50
 
53
51
  export default compose([withSelect(select => {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/page-attributes/order.js"],"names":["__","Flex","FlexBlock","__experimentalNumberControl","NumberControl","withSelect","withDispatch","compose","useState","PostTypeSupportCheck","store","editorStore","PageAttributesOrder","onUpdateOrder","order","orderInput","setOrderInput","setUpdatedOrder","value","newOrder","Number","isInteger","trim","PageAttributesOrderWithChecks","props","select","getEditedPostAttribute","dispatch","editPost","menu_order"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,IADD,EAECC,SAFD,EAGCC,2BAA2B,IAAIC,aAHhC,QAIO,uBAJP;AAKA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,OAAO,MAAMC,mBAAmB,GAAG,QAAoC;AAAA,MAAlC;AAAEC,IAAAA,aAAF;AAAiBC,IAAAA,KAAK,GAAG;AAAzB,GAAkC;AACtE,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgCR,QAAQ,CAAE,IAAF,CAA9C;;AAEA,QAAMS,eAAe,GAAKC,KAAF,IAAa;AAAA;;AACpCF,IAAAA,aAAa,CAAEE,KAAF,CAAb;AACA,UAAMC,QAAQ,GAAGC,MAAM,CAAEF,KAAF,CAAvB;;AACA,QAAKE,MAAM,CAACC,SAAP,CAAkBF,QAAlB,KAAgC,gBAAAD,KAAK,CAACI,IAAN,iEAAAJ,KAAK,OAAc,EAAxD,EAA6D;AAC5DL,MAAAA,aAAa,CAAEO,MAAM,CAAEF,KAAF,CAAR,CAAb;AACA;AACD,GAND;;AAOA,QAAMA,KAAK,GAAGH,UAAU,KAAK,IAAf,GAAsBD,KAAtB,GAA8BC,UAA5C;AACA,SACC,cAAC,IAAD,QACC,cAAC,SAAD,QACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGf,EAAE,CAAE,OAAF,CADX;AAEC,IAAA,KAAK,EAAGkB,KAFT;AAGC,IAAA,QAAQ,EAAGD,eAHZ;AAIC,IAAA,aAAa,EAAC,MAJf;AAKC,IAAA,MAAM,EAAG,MAAM;AACdD,MAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AAPF,IADD,CADD,CADD;AAeA,CA1BM;;AA4BP,SAASO,6BAAT,CAAwCC,KAAxC,EAAgD;AAC/C,SACC,cAAC,oBAAD;AAAsB,IAAA,WAAW,EAAC;AAAlC,KACC,cAAC,mBAAD,EAA0BA,KAA1B,CADD,CADD;AAKA;;AAED,eAAejB,OAAO,CAAE,CACvBF,UAAU,CAAIoB,MAAF,IAAc;AACzB,SAAO;AACNX,IAAAA,KAAK,EAAEW,MAAM,CAAEd,WAAF,CAAN,CAAsBe,sBAAtB,CAA8C,YAA9C;AADD,GAAP;AAGA,CAJS,CADa,EAMvBpB,YAAY,CAAIqB,QAAF,KAAkB;AAC/Bd,EAAAA,aAAa,CAAEC,KAAF,EAAU;AACtBa,IAAAA,QAAQ,CAAEhB,WAAF,CAAR,CAAwBiB,QAAxB,CAAkC;AACjCC,MAAAA,UAAU,EAAEf;AADqB,KAAlC;AAGA;;AAL8B,CAAlB,CAAF,CANW,CAAF,CAAP,CAaVS,6BAbU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tFlex,\n\tFlexBlock,\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\nexport const PageAttributesOrder = ( { onUpdateOrder, order = 0 } ) => {\n\tconst [ orderInput, setOrderInput ] = useState( null );\n\n\tconst setUpdatedOrder = ( value ) => {\n\t\tsetOrderInput( value );\n\t\tconst newOrder = Number( value );\n\t\tif ( Number.isInteger( newOrder ) && value.trim?.() !== '' ) {\n\t\t\tonUpdateOrder( Number( value ) );\n\t\t}\n\t};\n\tconst value = orderInput === null ? order : orderInput;\n\treturn (\n\t\t<Flex>\n\t\t\t<FlexBlock>\n\t\t\t\t<NumberControl\n\t\t\t\t\tlabel={ __( 'Order' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ setUpdatedOrder }\n\t\t\t\t\tlabelPosition=\"side\"\n\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\tsetOrderInput( null );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</FlexBlock>\n\t\t</Flex>\n\t);\n};\n\nfunction PageAttributesOrderWithChecks( props ) {\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"page-attributes\">\n\t\t\t<PageAttributesOrder { ...props } />\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\torder: select( editorStore ).getEditedPostAttribute( 'menu_order' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdateOrder( order ) {\n\t\t\tdispatch( editorStore ).editPost( {\n\t\t\t\tmenu_order: order,\n\t\t\t} );\n\t\t},\n\t} ) ),\n] )( PageAttributesOrderWithChecks );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/page-attributes/order.js"],"names":["__","Flex","FlexBlock","__experimentalNumberControl","NumberControl","withSelect","withDispatch","compose","useState","PostTypeSupportCheck","store","editorStore","PageAttributesOrder","onUpdateOrder","order","orderInput","setOrderInput","setUpdatedOrder","value","newOrder","Number","isInteger","trim","PageAttributesOrderWithChecks","props","select","getEditedPostAttribute","dispatch","editPost","menu_order"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SACCC,IADD,EAECC,SAFD,EAGCC,2BAA2B,IAAIC,aAHhC,QAIO,uBAJP;AAKA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,QAAT,QAAyB,oBAAzB;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;AAEA,OAAO,MAAMC,mBAAmB,GAAG,CAAE;AAAEC,EAAAA,aAAF;AAAiBC,EAAAA,KAAK,GAAG;AAAzB,CAAF,KAAoC;AACtE,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgCR,QAAQ,CAAE,IAAF,CAA9C;;AAEA,QAAMS,eAAe,GAAKC,KAAF,IAAa;AACpCF,IAAAA,aAAa,CAAEE,KAAF,CAAb;AACA,UAAMC,QAAQ,GAAGC,MAAM,CAAEF,KAAF,CAAvB;;AACA,QAAKE,MAAM,CAACC,SAAP,CAAkBF,QAAlB,KAAgCD,KAAK,CAACI,IAAN,SAAmB,EAAxD,EAA6D;AAC5DT,MAAAA,aAAa,CAAEO,MAAM,CAAEF,KAAF,CAAR,CAAb;AACA;AACD,GAND;;AAOA,QAAMA,KAAK,GAAGH,UAAU,KAAK,IAAf,GAAsBD,KAAtB,GAA8BC,UAA5C;AACA,SACC,cAAC,IAAD,QACC,cAAC,SAAD,QACC,cAAC,aAAD;AACC,IAAA,KAAK,EAAGf,EAAE,CAAE,OAAF,CADX;AAEC,IAAA,KAAK,EAAGkB,KAFT;AAGC,IAAA,QAAQ,EAAGD,eAHZ;AAIC,IAAA,aAAa,EAAC,MAJf;AAKC,IAAA,MAAM,EAAG,MAAM;AACdD,MAAAA,aAAa,CAAE,IAAF,CAAb;AACA;AAPF,IADD,CADD,CADD;AAeA,CA1BM;;AA4BP,SAASO,6BAAT,CAAwCC,KAAxC,EAAgD;AAC/C,SACC,cAAC,oBAAD;AAAsB,IAAA,WAAW,EAAC;AAAlC,KACC,cAAC,mBAAD,OAA0BA;AAA1B,IADD,CADD;AAKA;;AAED,eAAejB,OAAO,CAAE,CACvBF,UAAU,CAAIoB,MAAF,IAAc;AACzB,SAAO;AACNX,IAAAA,KAAK,EAAEW,MAAM,CAAEd,WAAF,CAAN,CAAsBe,sBAAtB,CAA8C,YAA9C;AADD,GAAP;AAGA,CAJS,CADa,EAMvBpB,YAAY,CAAIqB,QAAF,KAAkB;AAC/Bd,EAAAA,aAAa,CAAEC,KAAF,EAAU;AACtBa,IAAAA,QAAQ,CAAEhB,WAAF,CAAR,CAAwBiB,QAAxB,CAAkC;AACjCC,MAAAA,UAAU,EAAEf;AADqB,KAAlC;AAGA;;AAL8B,CAAlB,CAAF,CANW,CAAF,CAAP,CAaVS,6BAbU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport {\n\tFlex,\n\tFlexBlock,\n\t__experimentalNumberControl as NumberControl,\n} from '@wordpress/components';\nimport { withSelect, withDispatch } from '@wordpress/data';\nimport { compose } from '@wordpress/compose';\nimport { useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\nimport { store as editorStore } from '../../store';\n\nexport const PageAttributesOrder = ( { onUpdateOrder, order = 0 } ) => {\n\tconst [ orderInput, setOrderInput ] = useState( null );\n\n\tconst setUpdatedOrder = ( value ) => {\n\t\tsetOrderInput( value );\n\t\tconst newOrder = Number( value );\n\t\tif ( Number.isInteger( newOrder ) && value.trim?.() !== '' ) {\n\t\t\tonUpdateOrder( Number( value ) );\n\t\t}\n\t};\n\tconst value = orderInput === null ? order : orderInput;\n\treturn (\n\t\t<Flex>\n\t\t\t<FlexBlock>\n\t\t\t\t<NumberControl\n\t\t\t\t\tlabel={ __( 'Order' ) }\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ setUpdatedOrder }\n\t\t\t\t\tlabelPosition=\"side\"\n\t\t\t\t\tonBlur={ () => {\n\t\t\t\t\t\tsetOrderInput( null );\n\t\t\t\t\t} }\n\t\t\t\t/>\n\t\t\t</FlexBlock>\n\t\t</Flex>\n\t);\n};\n\nfunction PageAttributesOrderWithChecks( props ) {\n\treturn (\n\t\t<PostTypeSupportCheck supportKeys=\"page-attributes\">\n\t\t\t<PageAttributesOrder { ...props } />\n\t\t</PostTypeSupportCheck>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\torder: select( editorStore ).getEditedPostAttribute( 'menu_order' ),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\tonUpdateOrder( order ) {\n\t\t\tdispatch( editorStore ).editPost( {\n\t\t\t\tmenu_order: order,\n\t\t\t} );\n\t\t},\n\t} ) ),\n] )( PageAttributesOrderWithChecks );\n"]}
@@ -23,9 +23,7 @@ import { buildTermsTree } from '../../utils/terms';
23
23
  import { store as editorStore } from '../../store';
24
24
 
25
25
  function getTitle(post) {
26
- var _post$title;
27
-
28
- return post !== null && post !== void 0 && (_post$title = post.title) !== null && _post$title !== void 0 && _post$title.rendered ? decodeEntities(post.title.rendered) : `#${post.id} (${__('no title')})`;
26
+ return post?.title?.rendered ? decodeEntities(post.title.rendered) : `#${post.id} (${__('no title')})`;
29
27
  }
30
28
 
31
29
  export const getItemPriority = (name, searchValue) => {
@@ -43,8 +41,6 @@ export const getItemPriority = (name, searchValue) => {
43
41
  return Infinity;
44
42
  };
45
43
  export function PageAttributesParent() {
46
- var _postType$labels;
47
-
48
44
  const {
49
45
  editPost
50
46
  } = useDispatch(editorStore);
@@ -71,7 +67,7 @@ export function PageAttributesParent() {
71
67
  const pageId = getEditedPostAttribute('parent');
72
68
  const pType = getPostType(postTypeSlug);
73
69
  const postId = getCurrentPostId();
74
- const postIsHierarchical = (_pType$hierarchical = pType === null || pType === void 0 ? void 0 : pType.hierarchical) !== null && _pType$hierarchical !== void 0 ? _pType$hierarchical : false;
70
+ const postIsHierarchical = (_pType$hierarchical = pType?.hierarchical) !== null && _pType$hierarchical !== void 0 ? _pType$hierarchical : false;
75
71
  const query = {
76
72
  per_page: 100,
77
73
  exclude: postId,
@@ -93,19 +89,16 @@ export function PageAttributesParent() {
93
89
  postType: pType
94
90
  };
95
91
  }, [fieldValue]);
96
- const parentPageLabel = postType === null || postType === void 0 ? void 0 : (_postType$labels = postType.labels) === null || _postType$labels === void 0 ? void 0 : _postType$labels.parent_item_colon;
92
+ const parentPageLabel = postType?.labels?.parent_item_colon;
97
93
  const pageItems = items || [];
98
94
  const parentOptions = useMemo(() => {
99
- const getOptionsFromTree = function (tree) {
100
- let level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
95
+ const getOptionsFromTree = (tree, level = 0) => {
101
96
  const mappedNodes = tree.map(treeNode => [{
102
97
  value: treeNode.id,
103
98
  label: '— '.repeat(level) + decodeEntities(treeNode.name),
104
99
  rawName: treeNode.name
105
100
  }, ...getOptionsFromTree(treeNode.children || [], level + 1)]);
106
- const sortedNodes = mappedNodes.sort((_ref, _ref2) => {
107
- let [a] = _ref;
108
- let [b] = _ref2;
101
+ const sortedNodes = mappedNodes.sort(([a], [b]) => {
109
102
  const priorityA = getItemPriority(a.rawName, fieldValue);
110
103
  const priorityB = getItemPriority(b.rawName, fieldValue);
111
104
  return priorityA >= priorityB ? 1 : -1;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"names":["removeAccents","__","ComboboxControl","debounce","useState","useMemo","useSelect","useDispatch","decodeEntities","store","coreStore","buildTermsTree","editorStore","getTitle","post","title","rendered","id","getItemPriority","name","searchValue","normalizedName","toLowerCase","normalizedSearch","startsWith","length","Infinity","PageAttributesParent","editPost","fieldValue","setFieldValue","isHierarchical","parentPost","parentPostId","items","postType","select","getPostType","getEntityRecords","getEntityRecord","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPageLabel","labels","parent_item_colon","pageItems","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"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\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\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst { isHierarchical, parentPost, parentPostId, items, postType } =\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\treturn {\n\t\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\t\tparentPostId: pageId,\n\t\t\t\t\tparentPost: pageId\n\t\t\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t\t\t: null,\n\t\t\t\t\titems: postIsHierarchical\n\t\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t\t: [],\n\t\t\t\t\tpostType: pType,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ fieldValue ]\n\t\t);\n\n\tconst parentPageLabel = postType?.labels?.parent_item_colon;\n\tconst pageItems = items || [];\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\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 ( parentPost && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: getTitle( parentPost ),\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue ] );\n\n\tif ( ! isHierarchical || ! parentPageLabel ) {\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\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ parentPageLabel }\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/>\n\t);\n}\n\nexport default PageAttributesParent;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/page-attributes/parent.js"],"names":["removeAccents","__","ComboboxControl","debounce","useState","useMemo","useSelect","useDispatch","decodeEntities","store","coreStore","buildTermsTree","editorStore","getTitle","post","title","rendered","id","getItemPriority","name","searchValue","normalizedName","toLowerCase","normalizedSearch","startsWith","length","Infinity","PageAttributesParent","editPost","fieldValue","setFieldValue","isHierarchical","parentPost","parentPostId","items","postType","select","getPostType","getEntityRecords","getEntityRecord","getCurrentPostId","getEditedPostAttribute","postTypeSlug","pageId","pType","postId","postIsHierarchical","hierarchical","query","per_page","exclude","parent_exclude","orderby","order","_fields","search","parentPageLabel","labels","parent_item_colon","pageItems","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"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport removeAccents from 'remove-accents';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\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\nexport function PageAttributesParent() {\n\tconst { editPost } = useDispatch( editorStore );\n\tconst [ fieldValue, setFieldValue ] = useState( false );\n\tconst { isHierarchical, parentPost, parentPostId, items, postType } =\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\treturn {\n\t\t\t\t\tisHierarchical: postIsHierarchical,\n\t\t\t\t\tparentPostId: pageId,\n\t\t\t\t\tparentPost: pageId\n\t\t\t\t\t\t? getEntityRecord( 'postType', postTypeSlug, pageId )\n\t\t\t\t\t\t: null,\n\t\t\t\t\titems: postIsHierarchical\n\t\t\t\t\t\t? getEntityRecords( 'postType', postTypeSlug, query )\n\t\t\t\t\t\t: [],\n\t\t\t\t\tpostType: pType,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ fieldValue ]\n\t\t);\n\n\tconst parentPageLabel = postType?.labels?.parent_item_colon;\n\tconst pageItems = items || [];\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\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 ( parentPost && ! optsHasParent ) {\n\t\t\topts.unshift( {\n\t\t\t\tvalue: parentPostId,\n\t\t\t\tlabel: getTitle( parentPost ),\n\t\t\t} );\n\t\t}\n\t\treturn opts;\n\t}, [ pageItems, fieldValue ] );\n\n\tif ( ! isHierarchical || ! parentPageLabel ) {\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\tclassName=\"editor-page-attributes__parent\"\n\t\t\tlabel={ parentPageLabel }\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/>\n\t);\n}\n\nexport default PageAttributesParent;\n"]}
@@ -12,21 +12,20 @@ import { store as coreStore } from '@wordpress/core-data';
12
12
  import PostTypeSupportCheck from '../post-type-support-check';
13
13
  import { store as editorStore } from '../../store';
14
14
  import { AUTHORS_QUERY } from './constants';
15
- export default function PostAuthorCheck(_ref) {
16
- let {
17
- children
18
- } = _ref;
15
+ export default function PostAuthorCheck({
16
+ children
17
+ }) {
19
18
  const {
20
19
  hasAssignAuthorAction,
21
20
  hasAuthors
22
21
  } = useSelect(select => {
23
- var _post$_links$wpActio, _post$_links;
22
+ var _post$_links$wpActio;
24
23
 
25
24
  const post = select(editorStore).getCurrentPost();
26
25
  const authors = select(coreStore).getUsers(AUTHORS_QUERY);
27
26
  return {
28
- hasAssignAuthorAction: (_post$_links$wpActio = (_post$_links = post._links) === null || _post$_links === void 0 ? void 0 : _post$_links['wp:action-assign-author']) !== null && _post$_links$wpActio !== void 0 ? _post$_links$wpActio : false,
29
- hasAuthors: (authors === null || authors === void 0 ? void 0 : authors.length) >= 1
27
+ hasAssignAuthorAction: (_post$_links$wpActio = post._links?.['wp:action-assign-author']) !== null && _post$_links$wpActio !== void 0 ? _post$_links$wpActio : false,
28
+ hasAuthors: authors?.length >= 1
30
29
  };
31
30
  }, []);
32
31
 
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-author/check.js"],"names":["useSelect","store","coreStore","PostTypeSupportCheck","editorStore","AUTHORS_QUERY","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","select","post","getCurrentPost","authors","getUsers","_links","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASF,KAAK,IAAIG,WAAlB,QAAqC,aAArC;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAe,SAASC,eAAT,OAAyC;AAAA,MAAf;AAAEC,IAAAA;AAAF,GAAe;AACvD,QAAM;AAAEC,IAAAA,qBAAF;AAAyBC,IAAAA;AAAzB,MAAwCT,SAAS,CAAIU,MAAF,IAAc;AAAA;;AACtE,UAAMC,IAAI,GAAGD,MAAM,CAAEN,WAAF,CAAN,CAAsBQ,cAAtB,EAAb;AACA,UAAMC,OAAO,GAAGH,MAAM,CAAER,SAAF,CAAN,CAAoBY,QAApB,CAA8BT,aAA9B,CAAhB;AACA,WAAO;AACNG,MAAAA,qBAAqB,0CACpBG,IAAI,CAACI,MADe,iDACpB,aAAe,yBAAf,CADoB,uEAC0B,KAFzC;AAGNN,MAAAA,UAAU,EAAE,CAAAI,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEG,MAAT,KAAmB;AAHzB,KAAP;AAKA,GARsD,EAQpD,EARoD,CAAvD;;AAUA,MAAK,CAAER,qBAAF,IAA2B,CAAEC,UAAlC,EAA+C;AAC9C,WAAO,IAAP;AACA;;AAED,SACC,cAAC,oBAAD;AAAsB,IAAA,WAAW,EAAC;AAAlC,KACGF,QADH,CADD;AAKA","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\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"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-author/check.js"],"names":["useSelect","store","coreStore","PostTypeSupportCheck","editorStore","AUTHORS_QUERY","PostAuthorCheck","children","hasAssignAuthorAction","hasAuthors","select","post","getCurrentPost","authors","getUsers","_links","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,oBAAP,MAAiC,4BAAjC;AACA,SAASF,KAAK,IAAIG,WAAlB,QAAqC,aAArC;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,eAAe,SAASC,eAAT,CAA0B;AAAEC,EAAAA;AAAF,CAA1B,EAAyC;AACvD,QAAM;AAAEC,IAAAA,qBAAF;AAAyBC,IAAAA;AAAzB,MAAwCT,SAAS,CAAIU,MAAF,IAAc;AAAA;;AACtE,UAAMC,IAAI,GAAGD,MAAM,CAAEN,WAAF,CAAN,CAAsBQ,cAAtB,EAAb;AACA,UAAMC,OAAO,GAAGH,MAAM,CAAER,SAAF,CAAN,CAAoBY,QAApB,CAA8BT,aAA9B,CAAhB;AACA,WAAO;AACNG,MAAAA,qBAAqB,0BACpBG,IAAI,CAACI,MAAL,GAAe,yBAAf,CADoB,uEAC0B,KAFzC;AAGNN,MAAAA,UAAU,EAAEI,OAAO,EAAEG,MAAT,IAAmB;AAHzB,KAAP;AAKA,GARsD,EAQpD,EARoD,CAAvD;;AAUA,MAAK,CAAER,qBAAF,IAA2B,CAAEC,UAAlC,EAA+C;AAC9C,WAAO,IAAP;AACA;;AAED,SACC,cAAC,oBAAD;AAAsB,IAAA,WAAW,EAAC;AAAlC,KACGF,QADH,CADD;AAKA","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\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"]}
@@ -61,12 +61,9 @@ function PostAuthorCombobox() {
61
61
  };
62
62
  }); // Ensure the current author is included in the dropdown list.
63
63
 
64
- const foundAuthor = fetchedAuthors.findIndex(_ref => {
65
- let {
66
- value
67
- } = _ref;
68
- return (postAuthor === null || postAuthor === void 0 ? void 0 : postAuthor.id) === value;
69
- });
64
+ const foundAuthor = fetchedAuthors.findIndex(({
65
+ value
66
+ }) => postAuthor?.id === value);
70
67
 
71
68
  if (foundAuthor < 0 && postAuthor) {
72
69
  return [{
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-author/combobox.js"],"names":["debounce","useState","useMemo","useSelect","useDispatch","__","ComboboxControl","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","PostAuthorCombobox","fieldValue","setFieldValue","authorId","isLoading","authors","postAuthor","select","getUser","getUsers","isResolving","getEditedPostAttribute","author","context","query","search","editPost","authorOptions","fetchedAuthors","map","value","id","label","name","foundAuthor","findIndex","handleSelect","postAuthorId","handleKeydown","inputValue"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,QAAT,QAAyB,oBAAzB;AACA,SAASC,QAAT,EAAmBC,OAAnB,QAAkC,oBAAlC;AACA,SAASC,SAAT,EAAoBC,WAApB,QAAuC,iBAAvC;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,eAAT,QAAgC,uBAAhC;AACA,SAASC,cAAT,QAA+B,0BAA/B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,SAASD,KAAK,IAAIE,WAAlB,QAAqC,aAArC;AACA,SAASC,aAAT,QAA8B,aAA9B;;AAEA,SAASC,kBAAT,GAA8B;AAC7B,QAAM,CAAEC,UAAF,EAAcC,aAAd,IAAgCb,QAAQ,EAA9C;AAEA,QAAM;AAAEc,IAAAA,QAAF;AAAYC,IAAAA,SAAZ;AAAuBC,IAAAA,OAAvB;AAAgCC,IAAAA;AAAhC,MAA+Cf,SAAS,CAC3DgB,MAAF,IAAc;AACb,UAAM;AAAEC,MAAAA,OAAF;AAAWC,MAAAA,QAAX;AAAqBC,MAAAA;AAArB,QAAqCH,MAAM,CAAEV,SAAF,CAAjD;AACA,UAAM;AAAEc,MAAAA;AAAF,QAA6BJ,MAAM,CAAET,WAAF,CAAzC;AACA,UAAMc,MAAM,GAAGJ,OAAO,CAAEG,sBAAsB,CAAE,QAAF,CAAxB,EAAsC;AAC3DE,MAAAA,OAAO,EAAE;AADkD,KAAtC,CAAtB;AAGA,UAAMC,KAAK,GAAG,EAAE,GAAGf;AAAL,KAAd;;AAEA,QAAKE,UAAL,EAAkB;AACjBa,MAAAA,KAAK,CAACC,MAAN,GAAed,UAAf;AACA;;AAED,WAAO;AACNE,MAAAA,QAAQ,EAAEQ,sBAAsB,CAAE,QAAF,CAD1B;AAENL,MAAAA,UAAU,EAAEM,MAFN;AAGNP,MAAAA,OAAO,EAAEI,QAAQ,CAAEK,KAAF,CAHX;AAINV,MAAAA,SAAS,EAAEM,WAAW,CAAE,MAAF,EAAU,UAAV,EAAsB,CAAEI,KAAF,CAAtB;AAJhB,KAAP;AAMA,GAnB4D,EAoB7D,CAAEb,UAAF,CApB6D,CAA9D;AAsBA,QAAM;AAAEe,IAAAA;AAAF,MAAexB,WAAW,CAAEM,WAAF,CAAhC;AAEA,QAAMmB,aAAa,GAAG3B,OAAO,CAAE,MAAM;AACpC,UAAM4B,cAAc,GAAG,CAAEb,OAAF,aAAEA,OAAF,cAAEA,OAAF,GAAa,EAAb,EAAkBc,GAAlB,CAAyBP,MAAF,IAAc;AAC3D,aAAO;AACNQ,QAAAA,KAAK,EAAER,MAAM,CAACS,EADR;AAENC,QAAAA,KAAK,EAAE3B,cAAc,CAAEiB,MAAM,CAACW,IAAT;AAFf,OAAP;AAIA,KALsB,CAAvB,CADoC,CAQpC;;AACA,UAAMC,WAAW,GAAGN,cAAc,CAACO,SAAf,CACnB;AAAA,UAAE;AAAEL,QAAAA;AAAF,OAAF;AAAA,aAAiB,CAAAd,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAEe,EAAZ,MAAmBD,KAApC;AAAA,KADmB,CAApB;;AAIA,QAAKI,WAAW,GAAG,CAAd,IAAmBlB,UAAxB,EAAqC;AACpC,aAAO,CACN;AACCc,QAAAA,KAAK,EAAEd,UAAU,CAACe,EADnB;AAECC,QAAAA,KAAK,EAAE3B,cAAc,CAAEW,UAAU,CAACiB,IAAb;AAFtB,OADM,EAKN,GAAGL,cALG,CAAP;AAOA;;AAED,WAAOA,cAAP;AACA,GAxB4B,EAwB1B,CAAEb,OAAF,EAAWC,UAAX,CAxB0B,CAA7B;AA0BA;AACD;AACA;AACA;AACA;;AACC,QAAMoB,YAAY,GAAKC,YAAF,IAAoB;AACxC,QAAK,CAAEA,YAAP,EAAsB;AACrB;AACA;;AACDX,IAAAA,QAAQ,CAAE;AAAEJ,MAAAA,MAAM,EAAEe;AAAV,KAAF,CAAR;AACA,GALD;AAOA;AACD;AACA;AACA;AACA;;;AACC,QAAMC,aAAa,GAAKC,UAAF,IAAkB;AACvC3B,IAAAA,aAAa,CAAE2B,UAAF,CAAb;AACA,GAFD;;AAIA,MAAK,CAAEvB,UAAP,EAAoB;AACnB,WAAO,IAAP;AACA;;AAED,SACC,cAAC,eAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGb,EAAE,CAAE,QAAF,CAFX;AAGC,IAAA,OAAO,EAAGwB,aAHX;AAIC,IAAA,KAAK,EAAGd,QAJT;AAKC,IAAA,mBAAmB,EAAGf,QAAQ,CAAEwC,aAAF,EAAiB,GAAjB,CAL/B;AAMC,IAAA,QAAQ,EAAGF,YANZ;AAOC,IAAA,SAAS,EAAGtB,SAPb;AAQC,IAAA,UAAU,EAAG;AARd,IADD;AAYA;;AAED,eAAeJ,kBAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\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 } from './constants';\n\nfunction PostAuthorCombobox() {\n\tconst [ fieldValue, setFieldValue ] = useState();\n\n\tconst { authorId, isLoading, authors, postAuthor } = 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 author = getUser( getEditedPostAttribute( 'author' ), {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\n\t\t\tif ( fieldValue ) {\n\t\t\t\tquery.search = fieldValue;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthorId: getEditedPostAttribute( 'author' ),\n\t\t\t\tpostAuthor: author,\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tisLoading: isResolving( 'core', 'getUsers', [ query ] ),\n\t\t\t};\n\t\t},\n\t\t[ fieldValue ]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\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\tif ( foundAuthor < 0 && postAuthor ) {\n\t\t\treturn [\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\t...fetchedAuthors,\n\t\t\t];\n\t\t}\n\n\t\treturn fetchedAuthors;\n\t}, [ authors, postAuthor ] );\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\tif ( ! postAuthor ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\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\tisLoading={ isLoading }\n\t\t\tallowReset={ false }\n\t\t/>\n\t);\n}\n\nexport default PostAuthorCombobox;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-author/combobox.js"],"names":["debounce","useState","useMemo","useSelect","useDispatch","__","ComboboxControl","decodeEntities","store","coreStore","editorStore","AUTHORS_QUERY","PostAuthorCombobox","fieldValue","setFieldValue","authorId","isLoading","authors","postAuthor","select","getUser","getUsers","isResolving","getEditedPostAttribute","author","context","query","search","editPost","authorOptions","fetchedAuthors","map","value","id","label","name","foundAuthor","findIndex","handleSelect","postAuthorId","handleKeydown","inputValue"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { debounce } from '@wordpress/compose';\nimport { useState, useMemo } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { __ } from '@wordpress/i18n';\nimport { ComboboxControl } from '@wordpress/components';\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 } from './constants';\n\nfunction PostAuthorCombobox() {\n\tconst [ fieldValue, setFieldValue ] = useState();\n\n\tconst { authorId, isLoading, authors, postAuthor } = 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 author = getUser( getEditedPostAttribute( 'author' ), {\n\t\t\t\tcontext: 'view',\n\t\t\t} );\n\t\t\tconst query = { ...AUTHORS_QUERY };\n\n\t\t\tif ( fieldValue ) {\n\t\t\t\tquery.search = fieldValue;\n\t\t\t}\n\n\t\t\treturn {\n\t\t\t\tauthorId: getEditedPostAttribute( 'author' ),\n\t\t\t\tpostAuthor: author,\n\t\t\t\tauthors: getUsers( query ),\n\t\t\t\tisLoading: isResolving( 'core', 'getUsers', [ query ] ),\n\t\t\t};\n\t\t},\n\t\t[ fieldValue ]\n\t);\n\tconst { editPost } = useDispatch( editorStore );\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\tif ( foundAuthor < 0 && postAuthor ) {\n\t\t\treturn [\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\t...fetchedAuthors,\n\t\t\t];\n\t\t}\n\n\t\treturn fetchedAuthors;\n\t}, [ authors, postAuthor ] );\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\tif ( ! postAuthor ) {\n\t\treturn null;\n\t}\n\n\treturn (\n\t\t<ComboboxControl\n\t\t\t__nextHasNoMarginBottom\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\tisLoading={ isLoading }\n\t\t\tallowReset={ false }\n\t\t/>\n\t);\n}\n\nexport default PostAuthorCombobox;\n"]}
@@ -17,7 +17,7 @@ const minimumUsersForCombobox = 25;
17
17
  function PostAuthor() {
18
18
  const showCombobox = useSelect(select => {
19
19
  const authors = select(coreStore).getUsers(AUTHORS_QUERY);
20
- return (authors === null || authors === void 0 ? void 0 : authors.length) >= minimumUsersForCombobox;
20
+ return authors?.length >= minimumUsersForCombobox;
21
21
  }, []);
22
22
 
23
23
  if (showCombobox) {
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-author/index.js"],"names":["useSelect","store","coreStore","PostAuthorCombobox","PostAuthorSelect","AUTHORS_QUERY","minimumUsersForCombobox","PostAuthor","showCombobox","select","authors","getUsers","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,YAA/B;AACA,OAAOC,gBAAP,MAA6B,UAA7B;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,MAAMC,uBAAuB,GAAG,EAAhC;;AAEA,SAASC,UAAT,GAAsB;AACrB,QAAMC,YAAY,GAAGR,SAAS,CAAIS,MAAF,IAAc;AAC7C,UAAMC,OAAO,GAAGD,MAAM,CAAEP,SAAF,CAAN,CAAoBS,QAApB,CAA8BN,aAA9B,CAAhB;AAEA,WAAO,CAAAK,OAAO,SAAP,IAAAA,OAAO,WAAP,YAAAA,OAAO,CAAEE,MAAT,KAAmBN,uBAA1B;AACA,GAJ6B,EAI3B,EAJ2B,CAA9B;;AAMA,MAAKE,YAAL,EAAoB;AACnB,WAAO,cAAC,kBAAD,OAAP;AACA;;AACD,SAAO,cAAC,gBAAD,OAAP;AACA;;AAED,eAAeD,UAAf","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 PostAuthorCombobox from './combobox';\nimport PostAuthorSelect from './select';\nimport { AUTHORS_QUERY } from './constants';\n\nconst minimumUsersForCombobox = 25;\n\nfunction PostAuthor() {\n\tconst showCombobox = useSelect( ( select ) => {\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\n\t\treturn authors?.length >= minimumUsersForCombobox;\n\t}, [] );\n\n\tif ( showCombobox ) {\n\t\treturn <PostAuthorCombobox />;\n\t}\n\treturn <PostAuthorSelect />;\n}\n\nexport default PostAuthor;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-author/index.js"],"names":["useSelect","store","coreStore","PostAuthorCombobox","PostAuthorSelect","AUTHORS_QUERY","minimumUsersForCombobox","PostAuthor","showCombobox","select","authors","getUsers","length"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,kBAAP,MAA+B,YAA/B;AACA,OAAOC,gBAAP,MAA6B,UAA7B;AACA,SAASC,aAAT,QAA8B,aAA9B;AAEA,MAAMC,uBAAuB,GAAG,EAAhC;;AAEA,SAASC,UAAT,GAAsB;AACrB,QAAMC,YAAY,GAAGR,SAAS,CAAIS,MAAF,IAAc;AAC7C,UAAMC,OAAO,GAAGD,MAAM,CAAEP,SAAF,CAAN,CAAoBS,QAApB,CAA8BN,aAA9B,CAAhB;AAEA,WAAOK,OAAO,EAAEE,MAAT,IAAmBN,uBAA1B;AACA,GAJ6B,EAI3B,EAJ2B,CAA9B;;AAMA,MAAKE,YAAL,EAAoB;AACnB,WAAO,cAAC,kBAAD,OAAP;AACA;;AACD,SAAO,cAAC,gBAAD,OAAP;AACA;;AAED,eAAeD,UAAf","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 PostAuthorCombobox from './combobox';\nimport PostAuthorSelect from './select';\nimport { AUTHORS_QUERY } from './constants';\n\nconst minimumUsersForCombobox = 25;\n\nfunction PostAuthor() {\n\tconst showCombobox = useSelect( ( select ) => {\n\t\tconst authors = select( coreStore ).getUsers( AUTHORS_QUERY );\n\n\t\treturn authors?.length >= minimumUsersForCombobox;\n\t}, [] );\n\n\tif ( showCombobox ) {\n\t\treturn <PostAuthorCombobox />;\n\t}\n\treturn <PostAuthorSelect />;\n}\n\nexport default PostAuthor;\n"]}
@@ -13,12 +13,10 @@ import { withSelect, withDispatch } from '@wordpress/data';
13
13
 
14
14
  import { store as editorStore } from '../../store';
15
15
 
16
- function PostComments(_ref) {
17
- let {
18
- commentStatus = 'open',
19
- ...props
20
- } = _ref;
21
-
16
+ function PostComments({
17
+ commentStatus = 'open',
18
+ ...props
19
+ }) {
22
20
  const onToggleComments = () => props.editPost({
23
21
  comment_status: commentStatus === 'open' ? 'closed' : 'open'
24
22
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-comments/index.js"],"names":["__","CheckboxControl","compose","withSelect","withDispatch","store","editorStore","PostComments","commentStatus","props","onToggleComments","editPost","comment_status","select","getEditedPostAttribute","dispatch"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,eAAT,QAAgC,uBAAhC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,YAAT,OAA8D;AAAA,MAAvC;AAAEC,IAAAA,aAAa,GAAG,MAAlB;AAA0B,OAAGC;AAA7B,GAAuC;;AAC7D,QAAMC,gBAAgB,GAAG,MACxBD,KAAK,CAACE,QAAN,CAAgB;AACfC,IAAAA,cAAc,EAAEJ,aAAa,KAAK,MAAlB,GAA2B,QAA3B,GAAsC;AADvC,GAAhB,CADD;;AAKA,SACC,cAAC,eAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGR,EAAE,CAAE,gBAAF,CAFX;AAGC,IAAA,OAAO,EAAGQ,aAAa,KAAK,MAH7B;AAIC,IAAA,QAAQ,EAAGE;AAJZ,IADD;AAQA;;AAED,eAAeR,OAAO,CAAE,CACvBC,UAAU,CAAIU,MAAF,IAAc;AACzB,SAAO;AACNL,IAAAA,aAAa,EACZK,MAAM,CAAEP,WAAF,CAAN,CAAsBQ,sBAAtB,CACC,gBADD;AAFK,GAAP;AAMA,CAPS,CADa,EASvBV,YAAY,CAAIW,QAAF,KAAkB;AAC/BJ,EAAAA,QAAQ,EAAEI,QAAQ,CAAET,WAAF,CAAR,CAAwBK;AADH,CAAlB,CAAF,CATW,CAAF,CAAP,CAYVJ,YAZU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostComments( { commentStatus = 'open', ...props } ) {\n\tconst onToggleComments = () =>\n\t\tprops.editPost( {\n\t\t\tcomment_status: commentStatus === 'open' ? 'closed' : 'open',\n\t\t} );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow comments' ) }\n\t\t\tchecked={ commentStatus === 'open' }\n\t\t\tonChange={ onToggleComments }\n\t\t/>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tcommentStatus:\n\t\t\t\tselect( editorStore ).getEditedPostAttribute(\n\t\t\t\t\t'comment_status'\n\t\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\teditPost: dispatch( editorStore ).editPost,\n\t} ) ),\n] )( PostComments );\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-comments/index.js"],"names":["__","CheckboxControl","compose","withSelect","withDispatch","store","editorStore","PostComments","commentStatus","props","onToggleComments","editPost","comment_status","select","getEditedPostAttribute","dispatch"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,eAAT,QAAgC,uBAAhC;AACA,SAASC,OAAT,QAAwB,oBAAxB;AACA,SAASC,UAAT,EAAqBC,YAArB,QAAyC,iBAAzC;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,YAAT,CAAuB;AAAEC,EAAAA,aAAa,GAAG,MAAlB;AAA0B,KAAGC;AAA7B,CAAvB,EAA8D;AAC7D,QAAMC,gBAAgB,GAAG,MACxBD,KAAK,CAACE,QAAN,CAAgB;AACfC,IAAAA,cAAc,EAAEJ,aAAa,KAAK,MAAlB,GAA2B,QAA3B,GAAsC;AADvC,GAAhB,CADD;;AAKA,SACC,cAAC,eAAD;AACC,IAAA,uBAAuB,MADxB;AAEC,IAAA,KAAK,EAAGR,EAAE,CAAE,gBAAF,CAFX;AAGC,IAAA,OAAO,EAAGQ,aAAa,KAAK,MAH7B;AAIC,IAAA,QAAQ,EAAGE;AAJZ,IADD;AAQA;;AAED,eAAeR,OAAO,CAAE,CACvBC,UAAU,CAAIU,MAAF,IAAc;AACzB,SAAO;AACNL,IAAAA,aAAa,EACZK,MAAM,CAAEP,WAAF,CAAN,CAAsBQ,sBAAtB,CACC,gBADD;AAFK,GAAP;AAMA,CAPS,CADa,EASvBV,YAAY,CAAIW,QAAF,KAAkB;AAC/BJ,EAAAA,QAAQ,EAAEI,QAAQ,CAAET,WAAF,CAAR,CAAwBK;AADH,CAAlB,CAAF,CATW,CAAF,CAAP,CAYVJ,YAZU,CAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { CheckboxControl } from '@wordpress/components';\nimport { compose } from '@wordpress/compose';\nimport { withSelect, withDispatch } from '@wordpress/data';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction PostComments( { commentStatus = 'open', ...props } ) {\n\tconst onToggleComments = () =>\n\t\tprops.editPost( {\n\t\t\tcomment_status: commentStatus === 'open' ? 'closed' : 'open',\n\t\t} );\n\n\treturn (\n\t\t<CheckboxControl\n\t\t\t__nextHasNoMarginBottom\n\t\t\tlabel={ __( 'Allow comments' ) }\n\t\t\tchecked={ commentStatus === 'open' }\n\t\t\tonChange={ onToggleComments }\n\t\t/>\n\t);\n}\n\nexport default compose( [\n\twithSelect( ( select ) => {\n\t\treturn {\n\t\t\tcommentStatus:\n\t\t\t\tselect( editorStore ).getEditedPostAttribute(\n\t\t\t\t\t'comment_status'\n\t\t\t\t),\n\t\t};\n\t} ),\n\twithDispatch( ( dispatch ) => ( {\n\t\teditPost: dispatch( editorStore ).editPost,\n\t} ) ),\n] )( PostComments );\n"]}
@@ -1,4 +1,3 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
@@ -7,9 +6,9 @@ import { createElement } from "@wordpress/element";
7
6
  import PostTypeSupportCheck from '../post-type-support-check';
8
7
 
9
8
  function PostExcerptCheck(props) {
10
- return createElement(PostTypeSupportCheck, _extends({}, props, {
9
+ return createElement(PostTypeSupportCheck, { ...props,
11
10
  supportKeys: "excerpt"
12
- }));
11
+ });
13
12
  }
14
13
 
15
14
  export default PostExcerptCheck;
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/post-excerpt/check.js"],"names":["PostTypeSupportCheck","PostExcerptCheck","props"],"mappings":";;;AAAA;AACA;AACA;AACA,OAAOA,oBAAP,MAAiC,4BAAjC;;AAEA,SAASC,gBAAT,CAA2BC,KAA3B,EAAmC;AAClC,SAAO,cAAC,oBAAD,eAA2BA,KAA3B;AAAmC,IAAA,WAAW,EAAC;AAA/C,KAAP;AACA;;AAED,eAAeD,gBAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostExcerptCheck( props ) {\n\treturn <PostTypeSupportCheck { ...props } supportKeys=\"excerpt\" />;\n}\n\nexport default PostExcerptCheck;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/post-excerpt/check.js"],"names":["PostTypeSupportCheck","PostExcerptCheck","props"],"mappings":";;AAAA;AACA;AACA;AACA,OAAOA,oBAAP,MAAiC,4BAAjC;;AAEA,SAASC,gBAAT,CAA2BC,KAA3B,EAAmC;AAClC,SAAO,cAAC,oBAAD,OAA2BA,KAA3B;AAAmC,IAAA,WAAW,EAAC;AAA/C,IAAP;AACA;;AAED,eAAeD,gBAAf","sourcesContent":["/**\n * Internal dependencies\n */\nimport PostTypeSupportCheck from '../post-type-support-check';\n\nfunction PostExcerptCheck( props ) {\n\treturn <PostTypeSupportCheck { ...props } supportKeys=\"excerpt\" />;\n}\n\nexport default PostExcerptCheck;\n"]}
@@ -13,11 +13,10 @@ import { compose } from '@wordpress/compose';
13
13
 
14
14
  import { store as editorStore } from '../../store';
15
15
 
16
- function PostExcerpt(_ref) {
17
- let {
18
- excerpt,
19
- onUpdateExcerpt
20
- } = _ref;
16
+ function PostExcerpt({
17
+ excerpt,
18
+ onUpdateExcerpt
19
+ }) {
21
20
  return createElement("div", {
22
21
  className: "editor-post-excerpt"
23
22
  }, createElement(TextareaControl, {