@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
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/entities-saved-states/entity-type-list.js"],"names":["__","useSelect","PanelBody","PanelRow","store","coreStore","EntityRecordItem","getEntityDescription","entity","count","EntityTypeList","list","unselectedEntities","setUnselectedEntities","closePanel","length","firstRecord","entityConfig","select","getEntityConfig","kind","name","entityLabel","label","description","map","record","key","property","some","elt","value"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,SAAT,EAAoBC,QAApB,QAAoC,uBAApC;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;;AAEA,SAASC,oBAAT,CAA+BC,MAA/B,EAAuCC,KAAvC,EAA+C;AAC9C,UAASD,MAAT;AACC,SAAK,MAAL;AACC,aAAO,MAAMC,KAAN,GACJT,EAAE,CAAE,0CAAF,CADE,GAEJA,EAAE,CAAE,4CAAF,CAFL;;AAGD,SAAK,aAAL;AACC,aAAOA,EAAE,CACR,iEADQ,CAAT;;AAGD,SAAK,MAAL;AACA,SAAK,MAAL;AACC,aAAOA,EAAE,CAAE,0CAAF,CAAT;AAXF;AAaA;;AAED,eAAe,SAASU,cAAT,OAKX;AAAA,MALoC;AACvCC,IAAAA,IADuC;AAEvCC,IAAAA,kBAFuC;AAGvCC,IAAAA,qBAHuC;AAIvCC,IAAAA;AAJuC,GAKpC;AACH,QAAML,KAAK,GAAGE,IAAI,CAACI,MAAnB;AACA,QAAMC,WAAW,GAAGL,IAAI,CAAE,CAAF,CAAxB;AACA,QAAMM,YAAY,GAAGhB,SAAS,CAC3BiB,MAAF,IACCA,MAAM,CAAEb,SAAF,CAAN,CAAoBc,eAApB,CACCH,WAAW,CAACI,IADb,EAECJ,WAAW,CAACK,IAFb,CAF4B,EAM7B,CAAEL,WAAW,CAACI,IAAd,EAAoBJ,WAAW,CAACK,IAAhC,CAN6B,CAA9B;AAQA,QAAM;AAAEA,IAAAA;AAAF,MAAWL,WAAjB;AAEA,MAAIM,WAAW,GAAGL,YAAY,CAACM,KAA/B;;AACA,MAAKF,IAAI,KAAK,kBAAd,EAAmC;AAClCC,IAAAA,WAAW,GACV,MAAMb,KAAN,GAAcT,EAAE,CAAE,eAAF,CAAhB,GAAsCA,EAAE,CAAE,gBAAF,CADzC;AAEA,GAjBE,CAkBH;;;AACA,QAAMwB,WAAW,GAAGjB,oBAAoB,CAAEc,IAAF,EAAQZ,KAAR,CAAxC;AAEA,SACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGa,WAAnB;AAAiC,IAAA,WAAW,EAAG;AAA/C,KACGE,WAAW,IAAI,cAAC,QAAD,QAAYA,WAAZ,CADlB,EAEGb,IAAI,CAACc,GAAL,CAAYC,MAAF,IAAc;AACzB,WACC,cAAC,gBAAD;AACC,MAAA,GAAG,EAAGA,MAAM,CAACC,GAAP,IAAcD,MAAM,CAACE,QAD5B;AAEC,MAAA,MAAM,EAAGF,MAFV;AAGC,MAAA,OAAO,EACN,CAAEd,kBAAkB,CAACiB,IAAnB,CACCC,GAAF,IACCA,GAAG,CAACV,IAAJ,KAAaM,MAAM,CAACN,IAApB,IACAU,GAAG,CAACT,IAAJ,KAAaK,MAAM,CAACL,IADpB,IAEAS,GAAG,CAACH,GAAJ,KAAYD,MAAM,CAACC,GAFnB,IAGAG,GAAG,CAACF,QAAJ,KAAiBF,MAAM,CAACE,QALxB,CAJJ;AAYC,MAAA,QAAQ,EAAKG,KAAF,IACVlB,qBAAqB,CAAEa,MAAF,EAAUK,KAAV,CAbvB;AAeC,MAAA,UAAU,EAAGjB;AAfd,MADD;AAmBA,GApBC,CAFH,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody, PanelRow } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EntityRecordItem from './entity-record-item';\n\nfunction getEntityDescription( entity, count ) {\n\tswitch ( entity ) {\n\t\tcase 'site':\n\t\t\treturn 1 === count\n\t\t\t\t? __( 'This change will affect your whole site.' )\n\t\t\t\t: __( 'These changes will affect your whole site.' );\n\t\tcase 'wp_template':\n\t\t\treturn __(\n\t\t\t\t'This change will affect pages and posts that use this template.'\n\t\t\t);\n\t\tcase 'page':\n\t\tcase 'post':\n\t\t\treturn __( 'The following content has been modified.' );\n\t}\n}\n\nexport default function EntityTypeList( {\n\tlist,\n\tunselectedEntities,\n\tsetUnselectedEntities,\n\tclosePanel,\n} ) {\n\tconst count = list.length;\n\tconst firstRecord = list[ 0 ];\n\tconst entityConfig = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityConfig(\n\t\t\t\tfirstRecord.kind,\n\t\t\t\tfirstRecord.name\n\t\t\t),\n\t\t[ firstRecord.kind, firstRecord.name ]\n\t);\n\tconst { name } = firstRecord;\n\n\tlet entityLabel = entityConfig.label;\n\tif ( name === 'wp_template_part' ) {\n\t\tentityLabel =\n\t\t\t1 === count ? __( 'Template Part' ) : __( 'Template Parts' );\n\t}\n\t// Set description based on type of entity.\n\tconst description = getEntityDescription( name, count );\n\n\treturn (\n\t\t<PanelBody title={ entityLabel } initialOpen={ true }>\n\t\t\t{ description && <PanelRow>{ description }</PanelRow> }\n\t\t\t{ list.map( ( record ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityRecordItem\n\t\t\t\t\t\tkey={ record.key || record.property }\n\t\t\t\t\t\trecord={ record }\n\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t! unselectedEntities.some(\n\t\t\t\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\t\t\t\telt.kind === record.kind &&\n\t\t\t\t\t\t\t\t\telt.name === record.name &&\n\t\t\t\t\t\t\t\t\telt.key === record.key &&\n\t\t\t\t\t\t\t\t\telt.property === record.property\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetUnselectedEntities( record, value )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclosePanel={ closePanel }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</PanelBody>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/entities-saved-states/entity-type-list.js"],"names":["__","useSelect","PanelBody","PanelRow","store","coreStore","EntityRecordItem","getEntityDescription","entity","count","EntityTypeList","list","unselectedEntities","setUnselectedEntities","closePanel","length","firstRecord","entityConfig","select","getEntityConfig","kind","name","entityLabel","label","description","map","record","key","property","some","elt","value"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,EAAT,QAAmB,iBAAnB;AACA,SAASC,SAAT,QAA0B,iBAA1B;AACA,SAASC,SAAT,EAAoBC,QAApB,QAAoC,uBAApC;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AAEA;AACA;AACA;;AACA,OAAOC,gBAAP,MAA6B,sBAA7B;;AAEA,SAASC,oBAAT,CAA+BC,MAA/B,EAAuCC,KAAvC,EAA+C;AAC9C,UAASD,MAAT;AACC,SAAK,MAAL;AACC,aAAO,MAAMC,KAAN,GACJT,EAAE,CAAE,0CAAF,CADE,GAEJA,EAAE,CAAE,4CAAF,CAFL;;AAGD,SAAK,aAAL;AACC,aAAOA,EAAE,CACR,iEADQ,CAAT;;AAGD,SAAK,MAAL;AACA,SAAK,MAAL;AACC,aAAOA,EAAE,CAAE,0CAAF,CAAT;AAXF;AAaA;;AAED,eAAe,SAASU,cAAT,CAAyB;AACvCC,EAAAA,IADuC;AAEvCC,EAAAA,kBAFuC;AAGvCC,EAAAA,qBAHuC;AAIvCC,EAAAA;AAJuC,CAAzB,EAKX;AACH,QAAML,KAAK,GAAGE,IAAI,CAACI,MAAnB;AACA,QAAMC,WAAW,GAAGL,IAAI,CAAE,CAAF,CAAxB;AACA,QAAMM,YAAY,GAAGhB,SAAS,CAC3BiB,MAAF,IACCA,MAAM,CAAEb,SAAF,CAAN,CAAoBc,eAApB,CACCH,WAAW,CAACI,IADb,EAECJ,WAAW,CAACK,IAFb,CAF4B,EAM7B,CAAEL,WAAW,CAACI,IAAd,EAAoBJ,WAAW,CAACK,IAAhC,CAN6B,CAA9B;AAQA,QAAM;AAAEA,IAAAA;AAAF,MAAWL,WAAjB;AAEA,MAAIM,WAAW,GAAGL,YAAY,CAACM,KAA/B;;AACA,MAAKF,IAAI,KAAK,kBAAd,EAAmC;AAClCC,IAAAA,WAAW,GACV,MAAMb,KAAN,GAAcT,EAAE,CAAE,eAAF,CAAhB,GAAsCA,EAAE,CAAE,gBAAF,CADzC;AAEA,GAjBE,CAkBH;;;AACA,QAAMwB,WAAW,GAAGjB,oBAAoB,CAAEc,IAAF,EAAQZ,KAAR,CAAxC;AAEA,SACC,cAAC,SAAD;AAAW,IAAA,KAAK,EAAGa,WAAnB;AAAiC,IAAA,WAAW,EAAG;AAA/C,KACGE,WAAW,IAAI,cAAC,QAAD,QAAYA,WAAZ,CADlB,EAEGb,IAAI,CAACc,GAAL,CAAYC,MAAF,IAAc;AACzB,WACC,cAAC,gBAAD;AACC,MAAA,GAAG,EAAGA,MAAM,CAACC,GAAP,IAAcD,MAAM,CAACE,QAD5B;AAEC,MAAA,MAAM,EAAGF,MAFV;AAGC,MAAA,OAAO,EACN,CAAEd,kBAAkB,CAACiB,IAAnB,CACCC,GAAF,IACCA,GAAG,CAACV,IAAJ,KAAaM,MAAM,CAACN,IAApB,IACAU,GAAG,CAACT,IAAJ,KAAaK,MAAM,CAACL,IADpB,IAEAS,GAAG,CAACH,GAAJ,KAAYD,MAAM,CAACC,GAFnB,IAGAG,GAAG,CAACF,QAAJ,KAAiBF,MAAM,CAACE,QALxB,CAJJ;AAYC,MAAA,QAAQ,EAAKG,KAAF,IACVlB,qBAAqB,CAAEa,MAAF,EAAUK,KAAV,CAbvB;AAeC,MAAA,UAAU,EAAGjB;AAfd,MADD;AAmBA,GApBC,CAFH,CADD;AA0BA","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { useSelect } from '@wordpress/data';\nimport { PanelBody, PanelRow } from '@wordpress/components';\nimport { store as coreStore } from '@wordpress/core-data';\n\n/**\n * Internal dependencies\n */\nimport EntityRecordItem from './entity-record-item';\n\nfunction getEntityDescription( entity, count ) {\n\tswitch ( entity ) {\n\t\tcase 'site':\n\t\t\treturn 1 === count\n\t\t\t\t? __( 'This change will affect your whole site.' )\n\t\t\t\t: __( 'These changes will affect your whole site.' );\n\t\tcase 'wp_template':\n\t\t\treturn __(\n\t\t\t\t'This change will affect pages and posts that use this template.'\n\t\t\t);\n\t\tcase 'page':\n\t\tcase 'post':\n\t\t\treturn __( 'The following content has been modified.' );\n\t}\n}\n\nexport default function EntityTypeList( {\n\tlist,\n\tunselectedEntities,\n\tsetUnselectedEntities,\n\tclosePanel,\n} ) {\n\tconst count = list.length;\n\tconst firstRecord = list[ 0 ];\n\tconst entityConfig = useSelect(\n\t\t( select ) =>\n\t\t\tselect( coreStore ).getEntityConfig(\n\t\t\t\tfirstRecord.kind,\n\t\t\t\tfirstRecord.name\n\t\t\t),\n\t\t[ firstRecord.kind, firstRecord.name ]\n\t);\n\tconst { name } = firstRecord;\n\n\tlet entityLabel = entityConfig.label;\n\tif ( name === 'wp_template_part' ) {\n\t\tentityLabel =\n\t\t\t1 === count ? __( 'Template Part' ) : __( 'Template Parts' );\n\t}\n\t// Set description based on type of entity.\n\tconst description = getEntityDescription( name, count );\n\n\treturn (\n\t\t<PanelBody title={ entityLabel } initialOpen={ true }>\n\t\t\t{ description && <PanelRow>{ description }</PanelRow> }\n\t\t\t{ list.map( ( record ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityRecordItem\n\t\t\t\t\t\tkey={ record.key || record.property }\n\t\t\t\t\t\trecord={ record }\n\t\t\t\t\t\tchecked={\n\t\t\t\t\t\t\t! unselectedEntities.some(\n\t\t\t\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\t\t\t\telt.kind === record.kind &&\n\t\t\t\t\t\t\t\t\telt.name === record.name &&\n\t\t\t\t\t\t\t\t\telt.key === record.key &&\n\t\t\t\t\t\t\t\t\telt.property === record.property\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonChange={ ( value ) =>\n\t\t\t\t\t\t\tsetUnselectedEntities( record, value )\n\t\t\t\t\t\t}\n\t\t\t\t\t\tclosePanel={ closePanel }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</PanelBody>\n\t);\n}\n"]}
@@ -0,0 +1,72 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { useSelect } from '@wordpress/data';
5
+ import { store as coreStore } from '@wordpress/core-data';
6
+ import { useState } from '@wordpress/element';
7
+ import { __ } from '@wordpress/i18n';
8
+ const TRANSLATED_SITE_PROPERTIES = {
9
+ title: __('Title'),
10
+ description: __('Tagline'),
11
+ site_logo: __('Logo'),
12
+ site_icon: __('Icon'),
13
+ show_on_front: __('Show on front'),
14
+ page_on_front: __('Page on front'),
15
+ posts_per_page: __('Maximum posts per page'),
16
+ default_comment_status: __('Allow comments on new posts')
17
+ };
18
+ export const useIsDirty = () => {
19
+ const {
20
+ dirtyEntityRecords
21
+ } = useSelect(select => {
22
+ const dirtyRecords = select(coreStore).__experimentalGetDirtyEntityRecords(); // Remove site object and decouple into its edited pieces.
23
+
24
+
25
+ const dirtyRecordsWithoutSite = dirtyRecords.filter(record => !(record.kind === 'root' && record.name === 'site'));
26
+ const siteEdits = select(coreStore).getEntityRecordEdits('root', 'site');
27
+ const siteEditsAsEntities = [];
28
+
29
+ for (const property in siteEdits) {
30
+ siteEditsAsEntities.push({
31
+ kind: 'root',
32
+ name: 'site',
33
+ title: TRANSLATED_SITE_PROPERTIES[property] || property,
34
+ property
35
+ });
36
+ }
37
+
38
+ const dirtyRecordsWithSiteItems = [...dirtyRecordsWithoutSite, ...siteEditsAsEntities];
39
+ return {
40
+ dirtyEntityRecords: dirtyRecordsWithSiteItems
41
+ };
42
+ }, []); // Unchecked entities to be ignored by save function.
43
+
44
+ const [unselectedEntities, _setUnselectedEntities] = useState([]);
45
+
46
+ const setUnselectedEntities = ({
47
+ kind,
48
+ name,
49
+ key,
50
+ property
51
+ }, checked) => {
52
+ if (checked) {
53
+ _setUnselectedEntities(unselectedEntities.filter(elt => elt.kind !== kind || elt.name !== name || elt.key !== key || elt.property !== property));
54
+ } else {
55
+ _setUnselectedEntities([...unselectedEntities, {
56
+ kind,
57
+ name,
58
+ key,
59
+ property
60
+ }]);
61
+ }
62
+ };
63
+
64
+ const isDirty = dirtyEntityRecords.length - unselectedEntities.length > 0;
65
+ return {
66
+ dirtyEntityRecords,
67
+ isDirty,
68
+ setUnselectedEntities,
69
+ unselectedEntities
70
+ };
71
+ };
72
+ //# sourceMappingURL=use-is-dirty.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["@wordpress/editor/src/components/entities-saved-states/hooks/use-is-dirty.js"],"names":["useSelect","store","coreStore","useState","__","TRANSLATED_SITE_PROPERTIES","title","description","site_logo","site_icon","show_on_front","page_on_front","posts_per_page","default_comment_status","useIsDirty","dirtyEntityRecords","select","dirtyRecords","__experimentalGetDirtyEntityRecords","dirtyRecordsWithoutSite","filter","record","kind","name","siteEdits","getEntityRecordEdits","siteEditsAsEntities","property","push","dirtyRecordsWithSiteItems","unselectedEntities","_setUnselectedEntities","setUnselectedEntities","key","checked","elt","isDirty","length"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,iBAA1B;AACA,SAASC,KAAK,IAAIC,SAAlB,QAAmC,sBAAnC;AACA,SAASC,QAAT,QAAyB,oBAAzB;AACA,SAASC,EAAT,QAAmB,iBAAnB;AAEA,MAAMC,0BAA0B,GAAG;AAClCC,EAAAA,KAAK,EAAEF,EAAE,CAAE,OAAF,CADyB;AAElCG,EAAAA,WAAW,EAAEH,EAAE,CAAE,SAAF,CAFmB;AAGlCI,EAAAA,SAAS,EAAEJ,EAAE,CAAE,MAAF,CAHqB;AAIlCK,EAAAA,SAAS,EAAEL,EAAE,CAAE,MAAF,CAJqB;AAKlCM,EAAAA,aAAa,EAAEN,EAAE,CAAE,eAAF,CALiB;AAMlCO,EAAAA,aAAa,EAAEP,EAAE,CAAE,eAAF,CANiB;AAOlCQ,EAAAA,cAAc,EAAER,EAAE,CAAE,wBAAF,CAPgB;AAQlCS,EAAAA,sBAAsB,EAAET,EAAE,CAAE,6BAAF;AARQ,CAAnC;AAWA,OAAO,MAAMU,UAAU,GAAG,MAAM;AAC/B,QAAM;AAAEC,IAAAA;AAAF,MAAyBf,SAAS,CAAIgB,MAAF,IAAc;AACvD,UAAMC,YAAY,GACjBD,MAAM,CAAEd,SAAF,CAAN,CAAoBgB,mCAApB,EADD,CADuD,CAIvD;;;AACA,UAAMC,uBAAuB,GAAGF,YAAY,CAACG,MAAb,CAC7BC,MAAF,IAAc,EAAIA,MAAM,CAACC,IAAP,KAAgB,MAAhB,IAA0BD,MAAM,CAACE,IAAP,KAAgB,MAA9C,CADiB,CAAhC;AAIA,UAAMC,SAAS,GAAGR,MAAM,CAAEd,SAAF,CAAN,CAAoBuB,oBAApB,CACjB,MADiB,EAEjB,MAFiB,CAAlB;AAKA,UAAMC,mBAAmB,GAAG,EAA5B;;AACA,SAAM,MAAMC,QAAZ,IAAwBH,SAAxB,EAAoC;AACnCE,MAAAA,mBAAmB,CAACE,IAApB,CAA0B;AACzBN,QAAAA,IAAI,EAAE,MADmB;AAEzBC,QAAAA,IAAI,EAAE,MAFmB;AAGzBjB,QAAAA,KAAK,EAAED,0BAA0B,CAAEsB,QAAF,CAA1B,IAA0CA,QAHxB;AAIzBA,QAAAA;AAJyB,OAA1B;AAMA;;AACD,UAAME,yBAAyB,GAAG,CACjC,GAAGV,uBAD8B,EAEjC,GAAGO,mBAF8B,CAAlC;AAKA,WAAO;AACNX,MAAAA,kBAAkB,EAAEc;AADd,KAAP;AAGA,GA/BuC,EA+BrC,EA/BqC,CAAxC,CAD+B,CAkC/B;;AACA,QAAM,CAAEC,kBAAF,EAAsBC,sBAAtB,IAAiD5B,QAAQ,CAAE,EAAF,CAA/D;;AAEA,QAAM6B,qBAAqB,GAAG,CAC7B;AAAEV,IAAAA,IAAF;AAAQC,IAAAA,IAAR;AAAcU,IAAAA,GAAd;AAAmBN,IAAAA;AAAnB,GAD6B,EAE7BO,OAF6B,KAGzB;AACJ,QAAKA,OAAL,EAAe;AACdH,MAAAA,sBAAsB,CACrBD,kBAAkB,CAACV,MAAnB,CACGe,GAAF,IACCA,GAAG,CAACb,IAAJ,KAAaA,IAAb,IACAa,GAAG,CAACZ,IAAJ,KAAaA,IADb,IAEAY,GAAG,CAACF,GAAJ,KAAYA,GAFZ,IAGAE,GAAG,CAACR,QAAJ,KAAiBA,QALnB,CADqB,CAAtB;AASA,KAVD,MAUO;AACNI,MAAAA,sBAAsB,CAAE,CACvB,GAAGD,kBADoB,EAEvB;AAAER,QAAAA,IAAF;AAAQC,QAAAA,IAAR;AAAcU,QAAAA,GAAd;AAAmBN,QAAAA;AAAnB,OAFuB,CAAF,CAAtB;AAIA;AACD,GApBD;;AAsBA,QAAMS,OAAO,GAAGrB,kBAAkB,CAACsB,MAAnB,GAA4BP,kBAAkB,CAACO,MAA/C,GAAwD,CAAxE;AAEA,SAAO;AACNtB,IAAAA,kBADM;AAENqB,IAAAA,OAFM;AAGNJ,IAAAA,qBAHM;AAINF,IAAAA;AAJM,GAAP;AAMA,CAnEM","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\nconst TRANSLATED_SITE_PROPERTIES = {\n\ttitle: __( 'Title' ),\n\tdescription: __( 'Tagline' ),\n\tsite_logo: __( 'Logo' ),\n\tsite_icon: __( 'Icon' ),\n\tshow_on_front: __( 'Show on front' ),\n\tpage_on_front: __( 'Page on front' ),\n\tposts_per_page: __( 'Maximum posts per page' ),\n\tdefault_comment_status: __( 'Allow comments on new posts' ),\n};\n\nexport const useIsDirty = () => {\n\tconst { dirtyEntityRecords } = useSelect( ( select ) => {\n\t\tconst dirtyRecords =\n\t\t\tselect( coreStore ).__experimentalGetDirtyEntityRecords();\n\n\t\t// Remove site object and decouple into its edited pieces.\n\t\tconst dirtyRecordsWithoutSite = dirtyRecords.filter(\n\t\t\t( record ) => ! ( record.kind === 'root' && record.name === 'site' )\n\t\t);\n\n\t\tconst siteEdits = select( coreStore ).getEntityRecordEdits(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\n\t\tconst siteEditsAsEntities = [];\n\t\tfor ( const property in siteEdits ) {\n\t\t\tsiteEditsAsEntities.push( {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t\ttitle: TRANSLATED_SITE_PROPERTIES[ property ] || property,\n\t\t\t\tproperty,\n\t\t\t} );\n\t\t}\n\t\tconst dirtyRecordsWithSiteItems = [\n\t\t\t...dirtyRecordsWithoutSite,\n\t\t\t...siteEditsAsEntities,\n\t\t];\n\n\t\treturn {\n\t\t\tdirtyEntityRecords: dirtyRecordsWithSiteItems,\n\t\t};\n\t}, [] );\n\n\t// Unchecked entities to be ignored by save function.\n\tconst [ unselectedEntities, _setUnselectedEntities ] = useState( [] );\n\n\tconst setUnselectedEntities = (\n\t\t{ kind, name, key, property },\n\t\tchecked\n\t) => {\n\t\tif ( checked ) {\n\t\t\t_setUnselectedEntities(\n\t\t\t\tunselectedEntities.filter(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind !== kind ||\n\t\t\t\t\t\telt.name !== name ||\n\t\t\t\t\t\telt.key !== key ||\n\t\t\t\t\t\telt.property !== property\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\t_setUnselectedEntities( [\n\t\t\t\t...unselectedEntities,\n\t\t\t\t{ kind, name, key, property },\n\t\t\t] );\n\t\t}\n\t};\n\n\tconst isDirty = dirtyEntityRecords.length - unselectedEntities.length > 0;\n\n\treturn {\n\t\tdirtyEntityRecords,\n\t\tisDirty,\n\t\tsetUnselectedEntities,\n\t\tunselectedEntities,\n\t};\n};\n"]}
@@ -1,31 +1,22 @@
1
- import _extends from "@babel/runtime/helpers/esm/extends";
2
1
  import { createElement } from "@wordpress/element";
3
2
 
4
3
  /**
5
4
  * WordPress dependencies
6
5
  */
7
6
  import { Button, Flex, FlexItem } from '@wordpress/components';
8
- import { __, sprintf } from '@wordpress/i18n';
9
- import { useSelect, useDispatch } from '@wordpress/data';
10
- import { useState, useCallback, useRef } from '@wordpress/element';
7
+ import { __ } from '@wordpress/i18n';
8
+ import { useDispatch } from '@wordpress/data';
9
+ import { useCallback, useRef } from '@wordpress/element';
11
10
  import { store as coreStore } from '@wordpress/core-data';
12
11
  import { store as blockEditorStore } from '@wordpress/block-editor';
13
12
  import { __experimentalUseDialog as useDialog } from '@wordpress/compose';
14
13
  import { store as noticesStore } from '@wordpress/notices';
15
- import { getQueryArg } from '@wordpress/url';
16
14
  /**
17
15
  * Internal dependencies
18
16
  */
19
17
 
20
18
  import EntityTypeList from './entity-type-list';
21
- const TRANSLATED_SITE_PROPERTIES = {
22
- title: __('Title'),
23
- description: __('Tagline'),
24
- site_logo: __('Logo'),
25
- site_icon: __('Icon'),
26
- show_on_front: __('Show on front'),
27
- page_on_front: __('Page on front')
28
- };
19
+ import { useIsDirty } from './hooks/use-is-dirty';
29
20
  const PUBLISH_ON_SAVE_ENTITIES = [{
30
21
  kind: 'postType',
31
22
  name: 'wp_navigation'
@@ -35,56 +26,27 @@ function identity(values) {
35
26
  return values;
36
27
  }
37
28
 
38
- function isPreviewingTheme() {
39
- var _window;
40
-
41
- return ((_window = window) === null || _window === void 0 ? void 0 : _window.__experimentalEnableThemePreviews) && getQueryArg(window.location.href, 'theme_preview') !== undefined;
42
- }
43
-
44
- function currentlyPreviewingTheme() {
45
- if (isPreviewingTheme()) {
46
- return getQueryArg(window.location.href, 'theme_preview');
47
- }
48
-
49
- return null;
29
+ export default function EntitiesSavedStates({
30
+ close
31
+ }) {
32
+ const isDirtyProps = useIsDirty();
33
+ return createElement(EntitiesSavedStatesExtensible, {
34
+ close: close,
35
+ ...isDirtyProps
36
+ });
50
37
  }
51
-
52
- export default function EntitiesSavedStates(_ref) {
53
- var _theme$name;
54
-
55
- let {
56
- close,
57
- onSave = identity
58
- } = _ref;
38
+ export function EntitiesSavedStatesExtensible({
39
+ additionalPrompt = undefined,
40
+ close,
41
+ onSave = identity,
42
+ saveEnabled: saveEnabledProp = undefined,
43
+ saveLabel = __('Save'),
44
+ dirtyEntityRecords,
45
+ isDirty,
46
+ setUnselectedEntities,
47
+ unselectedEntities
48
+ }) {
59
49
  const saveButtonRef = useRef();
60
- const {
61
- getTheme
62
- } = useSelect(coreStore);
63
- const theme = getTheme(currentlyPreviewingTheme());
64
- const {
65
- dirtyEntityRecords
66
- } = useSelect(select => {
67
- const dirtyRecords = select(coreStore).__experimentalGetDirtyEntityRecords(); // Remove site object and decouple into its edited pieces.
68
-
69
-
70
- const dirtyRecordsWithoutSite = dirtyRecords.filter(record => !(record.kind === 'root' && record.name === 'site'));
71
- const siteEdits = select(coreStore).getEntityRecordEdits('root', 'site');
72
- const siteEditsAsEntities = [];
73
-
74
- for (const property in siteEdits) {
75
- siteEditsAsEntities.push({
76
- kind: 'root',
77
- name: 'site',
78
- title: TRANSLATED_SITE_PROPERTIES[property] || property,
79
- property
80
- });
81
- }
82
-
83
- const dirtyRecordsWithSiteItems = [...dirtyRecordsWithoutSite, ...siteEditsAsEntities];
84
- return {
85
- dirtyEntityRecords: dirtyRecordsWithSiteItems
86
- };
87
- }, []);
88
50
  const {
89
51
  editEntityRecord,
90
52
  saveEditedEntityRecord,
@@ -118,53 +80,29 @@ export default function EntitiesSavedStates(_ref) {
118
80
  wp_template_part: templatePartSavables,
119
81
  ...contentSavables
120
82
  } = partitionedSavables;
121
- const sortedPartitionedSavables = [siteSavables, templateSavables, templatePartSavables, ...Object.values(contentSavables)].filter(Array.isArray); // Unchecked entities to be ignored by save function.
122
-
123
- const [unselectedEntities, _setUnselectedEntities] = useState([]);
83
+ const sortedPartitionedSavables = [siteSavables, templateSavables, templatePartSavables, ...Object.values(contentSavables)].filter(Array.isArray);
84
+ const saveEnabled = saveEnabledProp !== null && saveEnabledProp !== void 0 ? saveEnabledProp : isDirty;
124
85
 
125
- const setUnselectedEntities = (_ref2, checked) => {
126
- let {
86
+ const saveCheckedEntities = () => {
87
+ const saveNoticeId = 'site-editor-save-success';
88
+ removeNotice(saveNoticeId);
89
+ const entitiesToSave = dirtyEntityRecords.filter(({
127
90
  kind,
128
91
  name,
129
92
  key,
130
93
  property
131
- } = _ref2;
132
-
133
- if (checked) {
134
- _setUnselectedEntities(unselectedEntities.filter(elt => elt.kind !== kind || elt.name !== name || elt.key !== key || elt.property !== property));
135
- } else {
136
- _setUnselectedEntities([...unselectedEntities, {
137
- kind,
138
- name,
139
- key,
140
- property
141
- }]);
142
- }
143
- };
144
-
145
- const saveCheckedEntitiesAndActivate = () => {
146
- const saveNoticeId = 'site-editor-save-success';
147
- removeNotice(saveNoticeId);
148
- const entitiesToSave = dirtyEntityRecords.filter(_ref3 => {
149
- let {
150
- kind,
151
- name,
152
- key,
153
- property
154
- } = _ref3;
94
+ }) => {
155
95
  return !unselectedEntities.some(elt => elt.kind === kind && elt.name === name && elt.key === key && elt.property === property);
156
96
  });
157
97
  close(entitiesToSave);
158
98
  const siteItemsToSave = [];
159
99
  const pendingSavedRecords = [];
160
- entitiesToSave.forEach(_ref4 => {
161
- let {
162
- kind,
163
- name,
164
- key,
165
- property
166
- } = _ref4;
167
-
100
+ entitiesToSave.forEach(({
101
+ kind,
102
+ name,
103
+ key,
104
+ property
105
+ }) => {
168
106
  if ('root' === kind && 'site' === name) {
169
107
  siteItemsToSave.push(property);
170
108
  } else {
@@ -204,23 +142,11 @@ export default function EntitiesSavedStates(_ref) {
204
142
  const [saveDialogRef, saveDialogProps] = useDialog({
205
143
  onClose: () => dismissPanel()
206
144
  });
207
- const isDirty = dirtyEntityRecords.length - unselectedEntities.length > 0;
208
- const activateSaveEnabled = isPreviewingTheme() || isDirty;
209
- let activateSaveLabel;
210
-
211
- if (isPreviewingTheme() && isDirty) {
212
- activateSaveLabel = __('Activate & Save');
213
- } else if (isPreviewingTheme()) {
214
- activateSaveLabel = __('Activate');
215
- } else {
216
- activateSaveLabel = __('Save');
217
- }
218
-
219
- return createElement("div", _extends({
220
- ref: saveDialogRef
221
- }, saveDialogProps, {
145
+ return createElement("div", {
146
+ ref: saveDialogRef,
147
+ ...saveDialogProps,
222
148
  className: "entities-saved-states__panel"
223
- }), createElement(Flex, {
149
+ }, createElement(Flex, {
224
150
  className: "entities-saved-states__panel-header",
225
151
  gap: 2
226
152
  }, createElement(FlexItem, {
@@ -228,17 +154,17 @@ export default function EntitiesSavedStates(_ref) {
228
154
  as: Button,
229
155
  ref: saveButtonRef,
230
156
  variant: "primary",
231
- disabled: !activateSaveEnabled,
232
- onClick: saveCheckedEntitiesAndActivate,
157
+ disabled: !saveEnabled,
158
+ onClick: saveCheckedEntities,
233
159
  className: "editor-entities-saved-states__save-button"
234
- }, activateSaveLabel), createElement(FlexItem, {
160
+ }, saveLabel), createElement(FlexItem, {
235
161
  isBlock: true,
236
162
  as: Button,
237
163
  variant: "secondary",
238
164
  onClick: dismissPanel
239
165
  }, __('Cancel'))), createElement("div", {
240
166
  className: "entities-saved-states__text-prompt"
241
- }, createElement("strong", null, __('Are you ready to save?')), isPreviewingTheme() && createElement("p", null, sprintf('Saving your changes will change your active theme to %1$s.', theme === null || theme === void 0 ? void 0 : (_theme$name = theme.name) === null || _theme$name === void 0 ? void 0 : _theme$name.rendered)), isDirty && createElement("p", null, __('The following changes have been made to your site, templates, and content.'))), sortedPartitionedSavables.map(list => {
167
+ }, createElement("strong", null, __('Are you ready to save?')), additionalPrompt, isDirty && createElement("p", null, __('The following changes have been made to your site, templates, and content.'))), sortedPartitionedSavables.map(list => {
242
168
  return createElement(EntityTypeList, {
243
169
  key: list[0].name,
244
170
  list: list,
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/entities-saved-states/index.js"],"names":["Button","Flex","FlexItem","__","sprintf","useSelect","useDispatch","useState","useCallback","useRef","store","coreStore","blockEditorStore","__experimentalUseDialog","useDialog","noticesStore","getQueryArg","EntityTypeList","TRANSLATED_SITE_PROPERTIES","title","description","site_logo","site_icon","show_on_front","page_on_front","PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","isPreviewingTheme","window","__experimentalEnableThemePreviews","location","href","undefined","currentlyPreviewingTheme","EntitiesSavedStates","close","onSave","saveButtonRef","getTheme","theme","dirtyEntityRecords","select","dirtyRecords","__experimentalGetDirtyEntityRecords","dirtyRecordsWithoutSite","filter","record","siteEdits","getEntityRecordEdits","siteEditsAsEntities","property","push","dirtyRecordsWithSiteItems","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","partitionedSavables","reduce","acc","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","Array","isArray","unselectedEntities","_setUnselectedEntities","setUnselectedEntities","checked","key","elt","saveCheckedEntitiesAndActivate","saveNoticeId","entitiesToSave","some","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","id","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","isDirty","activateSaveEnabled","activateSaveLabel","rendered","map","list"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { useState, useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { getQueryArg } from '@wordpress/url';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\n\nconst TRANSLATED_SITE_PROPERTIES = {\n\ttitle: __( 'Title' ),\n\tdescription: __( 'Tagline' ),\n\tsite_logo: __( 'Logo' ),\n\tsite_icon: __( 'Icon' ),\n\tshow_on_front: __( 'Show on front' ),\n\tpage_on_front: __( 'Page on front' ),\n};\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nfunction isPreviewingTheme() {\n\treturn (\n\t\twindow?.__experimentalEnableThemePreviews &&\n\t\tgetQueryArg( window.location.href, 'theme_preview' ) !== undefined\n\t);\n}\n\nfunction currentlyPreviewingTheme() {\n\tif ( isPreviewingTheme() ) {\n\t\treturn getQueryArg( window.location.href, 'theme_preview' );\n\t}\n\treturn null;\n}\n\nexport default function EntitiesSavedStates( { close, onSave = identity } ) {\n\tconst saveButtonRef = useRef();\n\tconst { getTheme } = useSelect( coreStore );\n\tconst theme = getTheme( currentlyPreviewingTheme() );\n\tconst { dirtyEntityRecords } = useSelect( ( select ) => {\n\t\tconst dirtyRecords =\n\t\t\tselect( coreStore ).__experimentalGetDirtyEntityRecords();\n\n\t\t// Remove site object and decouple into its edited pieces.\n\t\tconst dirtyRecordsWithoutSite = dirtyRecords.filter(\n\t\t\t( record ) => ! ( record.kind === 'root' && record.name === 'site' )\n\t\t);\n\n\t\tconst siteEdits = select( coreStore ).getEntityRecordEdits(\n\t\t\t'root',\n\t\t\t'site'\n\t\t);\n\n\t\tconst siteEditsAsEntities = [];\n\t\tfor ( const property in siteEdits ) {\n\t\t\tsiteEditsAsEntities.push( {\n\t\t\t\tkind: 'root',\n\t\t\t\tname: 'site',\n\t\t\t\ttitle: TRANSLATED_SITE_PROPERTIES[ property ] || property,\n\t\t\t\tproperty,\n\t\t\t} );\n\t\t}\n\t\tconst dirtyRecordsWithSiteItems = [\n\t\t\t...dirtyRecordsWithoutSite,\n\t\t\t...siteEditsAsEntities,\n\t\t];\n\n\t\treturn {\n\t\t\tdirtyEntityRecords: dirtyRecordsWithSiteItems,\n\t\t};\n\t}, [] );\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\t// Unchecked entities to be ignored by save function.\n\tconst [ unselectedEntities, _setUnselectedEntities ] = useState( [] );\n\n\tconst setUnselectedEntities = (\n\t\t{ kind, name, key, property },\n\t\tchecked\n\t) => {\n\t\tif ( checked ) {\n\t\t\t_setUnselectedEntities(\n\t\t\t\tunselectedEntities.filter(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind !== kind ||\n\t\t\t\t\t\telt.name !== name ||\n\t\t\t\t\t\telt.key !== key ||\n\t\t\t\t\t\telt.property !== property\n\t\t\t\t)\n\t\t\t);\n\t\t} else {\n\t\t\t_setUnselectedEntities( [\n\t\t\t\t...unselectedEntities,\n\t\t\t\t{ kind, name, key, property },\n\t\t\t] );\n\t\t}\n\t};\n\n\tconst saveCheckedEntitiesAndActivate = () => {\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tremoveNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\n\tconst isDirty = dirtyEntityRecords.length - unselectedEntities.length > 0;\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\n\tlet activateSaveLabel;\n\tif ( isPreviewingTheme() && isDirty ) {\n\t\tactivateSaveLabel = __( 'Activate & Save' );\n\t} else if ( isPreviewingTheme() ) {\n\t\tactivateSaveLabel = __( 'Activate' );\n\t} else {\n\t\tactivateSaveLabel = __( 'Save' );\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! activateSaveEnabled }\n\t\t\t\t\tonClick={ saveCheckedEntitiesAndActivate }\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ activateSaveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<strong>{ __( 'Are you ready to save?' ) }</strong>\n\t\t\t\t{ isPreviewingTheme() && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t\t'Saving your changes will change your active theme to %1$s.',\n\t\t\t\t\t\t\ttheme?.name?.rendered\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tclosePanel={ dismissPanel }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/entities-saved-states/index.js"],"names":["Button","Flex","FlexItem","__","useDispatch","useCallback","useRef","store","coreStore","blockEditorStore","__experimentalUseDialog","useDialog","noticesStore","EntityTypeList","useIsDirty","PUBLISH_ON_SAVE_ENTITIES","kind","name","identity","values","EntitiesSavedStates","close","isDirtyProps","EntitiesSavedStatesExtensible","additionalPrompt","undefined","onSave","saveEnabled","saveEnabledProp","saveLabel","dirtyEntityRecords","isDirty","setUnselectedEntities","unselectedEntities","saveButtonRef","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","partitionedSavables","reduce","acc","record","push","site","siteSavables","wp_template","templateSavables","wp_template_part","templatePartSavables","contentSavables","sortedPartitionedSavables","Object","filter","Array","isArray","saveCheckedEntities","saveNoticeId","entitiesToSave","key","property","some","elt","siteItemsToSave","pendingSavedRecords","forEach","typeToPublish","status","length","Promise","all","then","value","type","id","catch","error","dismissPanel","saveDialogRef","saveDialogProps","onClose","map","list"],"mappings":"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","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Button, Flex, FlexItem } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useCallback, useRef } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { __experimentalUseDialog as useDialog } from '@wordpress/compose';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport EntityTypeList from './entity-type-list';\nimport { useIsDirty } from './hooks/use-is-dirty';\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: 'wp_navigation',\n\t},\n];\n\nfunction identity( values ) {\n\treturn values;\n}\n\nexport default function EntitiesSavedStates( { close } ) {\n\tconst isDirtyProps = useIsDirty();\n\treturn (\n\t\t<EntitiesSavedStatesExtensible close={ close } { ...isDirtyProps } />\n\t);\n}\n\nexport function EntitiesSavedStatesExtensible( {\n\tadditionalPrompt = undefined,\n\tclose,\n\tonSave = identity,\n\tsaveEnabled: saveEnabledProp = undefined,\n\tsaveLabel = __( 'Save' ),\n\n\tdirtyEntityRecords,\n\tisDirty,\n\tsetUnselectedEntities,\n\tunselectedEntities,\n} ) {\n\tconst saveButtonRef = useRef();\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\t// To group entities by type.\n\tconst partitionedSavables = dirtyEntityRecords.reduce( ( acc, record ) => {\n\t\tconst { name } = record;\n\t\tif ( ! acc[ name ] ) {\n\t\t\tacc[ name ] = [];\n\t\t}\n\t\tacc[ name ].push( record );\n\t\treturn acc;\n\t}, {} );\n\n\t// Sort entity groups.\n\tconst {\n\t\tsite: siteSavables,\n\t\twp_template: templateSavables,\n\t\twp_template_part: templatePartSavables,\n\t\t...contentSavables\n\t} = partitionedSavables;\n\tconst sortedPartitionedSavables = [\n\t\tsiteSavables,\n\t\ttemplateSavables,\n\t\ttemplatePartSavables,\n\t\t...Object.values( contentSavables ),\n\t].filter( Array.isArray );\n\n\tconst saveEnabled = saveEnabledProp ?? isDirty;\n\n\tconst saveCheckedEntities = () => {\n\t\tconst saveNoticeId = 'site-editor-save-success';\n\t\tremoveNotice( saveNoticeId );\n\t\tconst entitiesToSave = dirtyEntityRecords.filter(\n\t\t\t( { kind, name, key, property } ) => {\n\t\t\t\treturn ! unselectedEntities.some(\n\t\t\t\t\t( elt ) =>\n\t\t\t\t\t\telt.kind === kind &&\n\t\t\t\t\t\telt.name === name &&\n\t\t\t\t\t\telt.key === key &&\n\t\t\t\t\t\telt.property === property\n\t\t\t\t);\n\t\t\t}\n\t\t);\n\n\t\tclose( entitiesToSave );\n\n\t\tconst siteItemsToSave = [];\n\t\tconst pendingSavedRecords = [];\n\t\tentitiesToSave.forEach( ( { kind, name, key, property } ) => {\n\t\t\tif ( 'root' === kind && 'site' === name ) {\n\t\t\t\tsiteItemsToSave.push( property );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tpendingSavedRecords.push(\n\t\t\t\t\tsaveEditedEntityRecord( kind, name, key )\n\t\t\t\t);\n\t\t\t}\n\t\t} );\n\t\tif ( siteItemsToSave.length ) {\n\t\t\tpendingSavedRecords.push(\n\t\t\t\tsaveSpecifiedEntityEdits(\n\t\t\t\t\t'root',\n\t\t\t\t\t'site',\n\t\t\t\t\tundefined,\n\t\t\t\t\tsiteItemsToSave\n\t\t\t\t)\n\t\t\t);\n\t\t}\n\n\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\tPromise.all( pendingSavedRecords )\n\t\t\t.then( ( values ) => {\n\t\t\t\treturn onSave( values );\n\t\t\t} )\n\t\t\t.then( ( values ) => {\n\t\t\t\tif (\n\t\t\t\t\tvalues.some( ( value ) => typeof value === 'undefined' )\n\t\t\t\t) {\n\t\t\t\t\tcreateErrorNotice( __( 'Saving failed.' ) );\n\t\t\t\t} else {\n\t\t\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\tid: saveNoticeId,\n\t\t\t\t\t} );\n\t\t\t\t}\n\t\t\t} )\n\t\t\t.catch( ( error ) =>\n\t\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` )\n\t\t\t);\n\t};\n\n\t// Explicitly define this with no argument passed. Using `close` on\n\t// its own will use the event object in place of the expected saved entities.\n\tconst dismissPanel = useCallback( () => close(), [ close ] );\n\n\tconst [ saveDialogRef, saveDialogProps ] = useDialog( {\n\t\tonClose: () => dismissPanel(),\n\t} );\n\n\treturn (\n\t\t<div\n\t\t\tref={ saveDialogRef }\n\t\t\t{ ...saveDialogProps }\n\t\t\tclassName=\"entities-saved-states__panel\"\n\t\t>\n\t\t\t<Flex className=\"entities-saved-states__panel-header\" gap={ 2 }>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tref={ saveButtonRef }\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tdisabled={ ! saveEnabled }\n\t\t\t\t\tonClick={ saveCheckedEntities }\n\t\t\t\t\tclassName=\"editor-entities-saved-states__save-button\"\n\t\t\t\t>\n\t\t\t\t\t{ saveLabel }\n\t\t\t\t</FlexItem>\n\t\t\t\t<FlexItem\n\t\t\t\t\tisBlock\n\t\t\t\t\tas={ Button }\n\t\t\t\t\tvariant=\"secondary\"\n\t\t\t\t\tonClick={ dismissPanel }\n\t\t\t\t>\n\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t</FlexItem>\n\t\t\t</Flex>\n\n\t\t\t<div className=\"entities-saved-states__text-prompt\">\n\t\t\t\t<strong>{ __( 'Are you ready to save?' ) }</strong>\n\t\t\t\t{ additionalPrompt }\n\t\t\t\t{ isDirty && (\n\t\t\t\t\t<p>\n\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t'The following changes have been made to your site, templates, and content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t</p>\n\t\t\t\t) }\n\t\t\t</div>\n\n\t\t\t{ sortedPartitionedSavables.map( ( list ) => {\n\t\t\t\treturn (\n\t\t\t\t\t<EntityTypeList\n\t\t\t\t\t\tkey={ list[ 0 ].name }\n\t\t\t\t\t\tlist={ list }\n\t\t\t\t\t\tclosePanel={ dismissPanel }\n\t\t\t\t\t\tunselectedEntities={ unselectedEntities }\n\t\t\t\t\t\tsetUnselectedEntities={ setUnselectedEntities }\n\t\t\t\t\t/>\n\t\t\t\t);\n\t\t\t} ) }\n\t\t</div>\n\t);\n}\n"]}
@@ -28,11 +28,10 @@ function getContent() {
28
28
  } catch (error) {}
29
29
  }
30
30
 
31
- function CopyButton(_ref) {
32
- let {
33
- text,
34
- children
35
- } = _ref;
31
+ function CopyButton({
32
+ text,
33
+ children
34
+ }) {
36
35
  const ref = useCopyToClipboard(text);
37
36
  return createElement(Button, {
38
37
  variant: "secondary",
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/error-boundary/index.js"],"names":["Component","__","Button","select","Warning","useCopyToClipboard","doAction","store","editorStore","getContent","getEditedPostContent","error","CopyButton","text","children","ref","ErrorBoundary","constructor","arguments","state","componentDidCatch","getDerivedStateFromError","render","props","actions","stack"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAASC,OAAT,QAAwB,yBAAxB;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AACA,SAASC,QAAT,QAAyB,kBAAzB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,UAAT,GAAsB;AACrB,MAAI;AACH;AACA;AACA;AACA;AACA;AACA;AACA,WAAON,MAAM,CAAEK,WAAF,CAAN,CAAsBE,oBAAtB,EAAP;AACA,GARD,CAQE,OAAQC,KAAR,EAAgB,CAAE;AACpB;;AAED,SAASC,UAAT,OAA0C;AAAA,MAArB;AAAEC,IAAAA,IAAF;AAAQC,IAAAA;AAAR,GAAqB;AACzC,QAAMC,GAAG,GAAGV,kBAAkB,CAAEQ,IAAF,CAA9B;AACA,SACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAC,WAAhB;AAA4B,IAAA,GAAG,EAAGE;AAAlC,KACGD,QADH,CADD;AAKA;;AAED,MAAME,aAAN,SAA4BhB,SAA5B,CAAsC;AACrCiB,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,KAAL,GAAa;AACZR,MAAAA,KAAK,EAAE;AADK,KAAb;AAGA;;AAEDS,EAAAA,iBAAiB,CAAET,KAAF,EAAU;AAC1BL,IAAAA,QAAQ,CAAE,kCAAF,EAAsCK,KAAtC,CAAR;AACA;;AAE8B,SAAxBU,wBAAwB,CAAEV,KAAF,EAAU;AACxC,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACA;;AAEDW,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEX,MAAAA;AAAF,QAAY,KAAKQ,KAAvB;;AACA,QAAK,CAAER,KAAP,EAAe;AACd,aAAO,KAAKY,KAAL,CAAWT,QAAlB;AACA;;AAED,UAAMU,OAAO,GAAG,CACf,cAAC,UAAD;AAAY,MAAA,GAAG,EAAC,WAAhB;AAA4B,MAAA,IAAI,EAAGf;AAAnC,OACGR,EAAE,CAAE,gBAAF,CADL,CADe,EAIf,cAAC,UAAD;AAAY,MAAA,GAAG,EAAC,YAAhB;AAA6B,MAAA,IAAI,EAAGU,KAAK,CAACc;AAA1C,OACGxB,EAAE,CAAE,YAAF,CADL,CAJe,CAAhB;AASA,WACC,cAAC,OAAD;AAAS,MAAA,SAAS,EAAC,uBAAnB;AAA2C,MAAA,OAAO,EAAGuB;AAArD,OACGvB,EAAE,CAAE,iDAAF,CADL,CADD;AAKA;;AArCoC;;AAwCtC,eAAee,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { select } from '@wordpress/data';\nimport { Warning } from '@wordpress/block-editor';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { doAction } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction getContent() {\n\ttry {\n\t\t// While `select` in a component is generally discouraged, it is\n\t\t// used here because it (a) reduces the chance of data loss in the\n\t\t// case of additional errors by performing a direct retrieval and\n\t\t// (b) avoids the performance cost associated with unnecessary\n\t\t// content serialization throughout the lifetime of a non-erroring\n\t\t// application.\n\t\treturn select( editorStore ).getEditedPostContent();\n\t} catch ( error ) {}\n}\n\nfunction CopyButton( { text, children } ) {\n\tconst ref = useCopyToClipboard( text );\n\treturn (\n\t\t<Button variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nclass ErrorBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t};\n\t}\n\n\tcomponentDidCatch( error ) {\n\t\tdoAction( 'editor.ErrorBoundary.errorLogged', error );\n\t}\n\n\tstatic getDerivedStateFromError( error ) {\n\t\treturn { error };\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tif ( ! error ) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\tconst actions = [\n\t\t\t<CopyButton key=\"copy-post\" text={ getContent }>\n\t\t\t\t{ __( 'Copy Post Text' ) }\n\t\t\t</CopyButton>,\n\t\t\t<CopyButton key=\"copy-error\" text={ error.stack }>\n\t\t\t\t{ __( 'Copy Error' ) }\n\t\t\t</CopyButton>,\n\t\t];\n\n\t\treturn (\n\t\t\t<Warning className=\"editor-error-boundary\" actions={ actions }>\n\t\t\t\t{ __( 'The editor has encountered an unexpected error.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n}\n\nexport default ErrorBoundary;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/error-boundary/index.js"],"names":["Component","__","Button","select","Warning","useCopyToClipboard","doAction","store","editorStore","getContent","getEditedPostContent","error","CopyButton","text","children","ref","ErrorBoundary","constructor","arguments","state","componentDidCatch","getDerivedStateFromError","render","props","actions","stack"],"mappings":";;AAAA;AACA;AACA;AACA,SAASA,SAAT,QAA0B,oBAA1B;AACA,SAASC,EAAT,QAAmB,iBAAnB;AACA,SAASC,MAAT,QAAuB,uBAAvB;AACA,SAASC,MAAT,QAAuB,iBAAvB;AACA,SAASC,OAAT,QAAwB,yBAAxB;AACA,SAASC,kBAAT,QAAmC,oBAAnC;AACA,SAASC,QAAT,QAAyB,kBAAzB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,UAAT,GAAsB;AACrB,MAAI;AACH;AACA;AACA;AACA;AACA;AACA;AACA,WAAON,MAAM,CAAEK,WAAF,CAAN,CAAsBE,oBAAtB,EAAP;AACA,GARD,CAQE,OAAQC,KAAR,EAAgB,CAAE;AACpB;;AAED,SAASC,UAAT,CAAqB;AAAEC,EAAAA,IAAF;AAAQC,EAAAA;AAAR,CAArB,EAA0C;AACzC,QAAMC,GAAG,GAAGV,kBAAkB,CAAEQ,IAAF,CAA9B;AACA,SACC,cAAC,MAAD;AAAQ,IAAA,OAAO,EAAC,WAAhB;AAA4B,IAAA,GAAG,EAAGE;AAAlC,KACGD,QADH,CADD;AAKA;;AAED,MAAME,aAAN,SAA4BhB,SAA5B,CAAsC;AACrCiB,EAAAA,WAAW,GAAG;AACb,UAAO,GAAGC,SAAV;AAEA,SAAKC,KAAL,GAAa;AACZR,MAAAA,KAAK,EAAE;AADK,KAAb;AAGA;;AAEDS,EAAAA,iBAAiB,CAAET,KAAF,EAAU;AAC1BL,IAAAA,QAAQ,CAAE,kCAAF,EAAsCK,KAAtC,CAAR;AACA;;AAE8B,SAAxBU,wBAAwB,CAAEV,KAAF,EAAU;AACxC,WAAO;AAAEA,MAAAA;AAAF,KAAP;AACA;;AAEDW,EAAAA,MAAM,GAAG;AACR,UAAM;AAAEX,MAAAA;AAAF,QAAY,KAAKQ,KAAvB;;AACA,QAAK,CAAER,KAAP,EAAe;AACd,aAAO,KAAKY,KAAL,CAAWT,QAAlB;AACA;;AAED,UAAMU,OAAO,GAAG,CACf,cAAC,UAAD;AAAY,MAAA,GAAG,EAAC,WAAhB;AAA4B,MAAA,IAAI,EAAGf;AAAnC,OACGR,EAAE,CAAE,gBAAF,CADL,CADe,EAIf,cAAC,UAAD;AAAY,MAAA,GAAG,EAAC,YAAhB;AAA6B,MAAA,IAAI,EAAGU,KAAK,CAACc;AAA1C,OACGxB,EAAE,CAAE,YAAF,CADL,CAJe,CAAhB;AASA,WACC,cAAC,OAAD;AAAS,MAAA,SAAS,EAAC,uBAAnB;AAA2C,MAAA,OAAO,EAAGuB;AAArD,OACGvB,EAAE,CAAE,iDAAF,CADL,CADD;AAKA;;AArCoC;;AAwCtC,eAAee,aAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { Component } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { Button } from '@wordpress/components';\nimport { select } from '@wordpress/data';\nimport { Warning } from '@wordpress/block-editor';\nimport { useCopyToClipboard } from '@wordpress/compose';\nimport { doAction } from '@wordpress/hooks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction getContent() {\n\ttry {\n\t\t// While `select` in a component is generally discouraged, it is\n\t\t// used here because it (a) reduces the chance of data loss in the\n\t\t// case of additional errors by performing a direct retrieval and\n\t\t// (b) avoids the performance cost associated with unnecessary\n\t\t// content serialization throughout the lifetime of a non-erroring\n\t\t// application.\n\t\treturn select( editorStore ).getEditedPostContent();\n\t} catch ( error ) {}\n}\n\nfunction CopyButton( { text, children } ) {\n\tconst ref = useCopyToClipboard( text );\n\treturn (\n\t\t<Button variant=\"secondary\" ref={ ref }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n}\n\nclass ErrorBoundary extends Component {\n\tconstructor() {\n\t\tsuper( ...arguments );\n\n\t\tthis.state = {\n\t\t\terror: null,\n\t\t};\n\t}\n\n\tcomponentDidCatch( error ) {\n\t\tdoAction( 'editor.ErrorBoundary.errorLogged', error );\n\t}\n\n\tstatic getDerivedStateFromError( error ) {\n\t\treturn { error };\n\t}\n\n\trender() {\n\t\tconst { error } = this.state;\n\t\tif ( ! error ) {\n\t\t\treturn this.props.children;\n\t\t}\n\n\t\tconst actions = [\n\t\t\t<CopyButton key=\"copy-post\" text={ getContent }>\n\t\t\t\t{ __( 'Copy Post Text' ) }\n\t\t\t</CopyButton>,\n\t\t\t<CopyButton key=\"copy-error\" text={ error.stack }>\n\t\t\t\t{ __( 'Copy Error' ) }\n\t\t\t</CopyButton>,\n\t\t];\n\n\t\treturn (\n\t\t\t<Warning className=\"editor-error-boundary\" actions={ actions }>\n\t\t\t\t{ __( 'The editor has encountered an unexpected error.' ) }\n\t\t\t</Warning>\n\t\t);\n\t}\n}\n\nexport default ErrorBoundary;\n"]}
@@ -10,10 +10,9 @@ import { parse } from '@wordpress/blocks';
10
10
 
11
11
  import { store as editorStore } from '../../store';
12
12
 
13
- function SaveShortcut(_ref) {
14
- let {
15
- resetBlocksOnSave
16
- } = _ref;
13
+ function SaveShortcut({
14
+ resetBlocksOnSave
15
+ }) {
17
16
  const {
18
17
  resetEditorBlocks,
19
18
  savePost
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/save-shortcut.js"],"names":["useShortcut","useDispatch","useSelect","parse","store","editorStore","SaveShortcut","resetBlocksOnSave","resetEditorBlocks","savePost","isEditedPostDirty","getPostEdits","isPostSavingLocked","event","preventDefault","postEdits","content","blocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,+BAA5B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,KAAT,QAAsB,mBAAtB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,YAAT,OAA+C;AAAA,MAAxB;AAAEC,IAAAA;AAAF,GAAwB;AAC9C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAAkCR,WAAW,CAAEI,WAAF,CAAnD;AACA,QAAM;AAAEK,IAAAA,iBAAF;AAAqBC,IAAAA,YAArB;AAAmCC,IAAAA;AAAnC,MACLV,SAAS,CAAEG,WAAF,CADV;AAGAL,EAAAA,WAAW,CAAE,kBAAF,EAAwBa,KAAF,IAAa;AAC7CA,IAAAA,KAAK,CAACC,cAAN;AAEA;AACF;AACA;;AACE,QAAKF,kBAAkB,EAAvB,EAA4B;AAC3B;AACA,KAR4C,CAU7C;AACA;AACA;AACA;AACA;;;AACA,QAAK,CAAEF,iBAAiB,EAAxB,EAA6B;AAC5B;AACA,KAjB4C,CAmB7C;AACA;AACA;AACA;;;AACA,QAAKH,iBAAL,EAAyB;AACxB,YAAMQ,SAAS,GAAGJ,YAAY,EAA9B;;AACA,UAAKI,SAAS,CAACC,OAAV,IAAqB,OAAOD,SAAS,CAACC,OAAjB,KAA6B,QAAvD,EAAkE;AACjE,cAAMC,MAAM,GAAGd,KAAK,CAAEY,SAAS,CAACC,OAAZ,CAApB;AACAR,QAAAA,iBAAiB,CAAES,MAAF,CAAjB;AACA;AACD;;AAEDR,IAAAA,QAAQ;AACR,GAhCU,CAAX;AAkCA,SAAO,IAAP;AACA;;AAED,eAAeH,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction SaveShortcut( { resetBlocksOnSave } ) {\n\tconst { resetEditorBlocks, savePost } = useDispatch( editorStore );\n\tconst { isEditedPostDirty, getPostEdits, isPostSavingLocked } =\n\t\tuseSelect( editorStore );\n\n\tuseShortcut( 'core/editor/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\t/**\n\t\t * Do not save the post if post saving is locked.\n\t\t */\n\t\tif ( isPostSavingLocked() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// TODO: This should be handled in the `savePost` effect in\n\t\t// considering `isSaveable`. See note on `isEditedPostSaveable`\n\t\t// selector about dirtiness and meta-boxes.\n\t\t//\n\t\t// See: `isEditedPostSaveable`\n\t\tif ( ! isEditedPostDirty() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The text editor requires that editor blocks are updated for a\n\t\t// save to work correctly. Usually this happens when the textarea\n\t\t// for the code editors blurs, but the shortcut can be used without\n\t\t// blurring the textarea.\n\t\tif ( resetBlocksOnSave ) {\n\t\t\tconst postEdits = getPostEdits();\n\t\t\tif ( postEdits.content && typeof postEdits.content === 'string' ) {\n\t\t\t\tconst blocks = parse( postEdits.content );\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t}\n\t\t}\n\n\t\tsavePost();\n\t} );\n\n\treturn null;\n}\n\nexport default SaveShortcut;\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/global-keyboard-shortcuts/save-shortcut.js"],"names":["useShortcut","useDispatch","useSelect","parse","store","editorStore","SaveShortcut","resetBlocksOnSave","resetEditorBlocks","savePost","isEditedPostDirty","getPostEdits","isPostSavingLocked","event","preventDefault","postEdits","content","blocks"],"mappings":"AAAA;AACA;AACA;AACA,SAASA,WAAT,QAA4B,+BAA5B;AACA,SAASC,WAAT,EAAsBC,SAAtB,QAAuC,iBAAvC;AACA,SAASC,KAAT,QAAsB,mBAAtB;AAEA;AACA;AACA;;AACA,SAASC,KAAK,IAAIC,WAAlB,QAAqC,aAArC;;AAEA,SAASC,YAAT,CAAuB;AAAEC,EAAAA;AAAF,CAAvB,EAA+C;AAC9C,QAAM;AAAEC,IAAAA,iBAAF;AAAqBC,IAAAA;AAArB,MAAkCR,WAAW,CAAEI,WAAF,CAAnD;AACA,QAAM;AAAEK,IAAAA,iBAAF;AAAqBC,IAAAA,YAArB;AAAmCC,IAAAA;AAAnC,MACLV,SAAS,CAAEG,WAAF,CADV;AAGAL,EAAAA,WAAW,CAAE,kBAAF,EAAwBa,KAAF,IAAa;AAC7CA,IAAAA,KAAK,CAACC,cAAN;AAEA;AACF;AACA;;AACE,QAAKF,kBAAkB,EAAvB,EAA4B;AAC3B;AACA,KAR4C,CAU7C;AACA;AACA;AACA;AACA;;;AACA,QAAK,CAAEF,iBAAiB,EAAxB,EAA6B;AAC5B;AACA,KAjB4C,CAmB7C;AACA;AACA;AACA;;;AACA,QAAKH,iBAAL,EAAyB;AACxB,YAAMQ,SAAS,GAAGJ,YAAY,EAA9B;;AACA,UAAKI,SAAS,CAACC,OAAV,IAAqB,OAAOD,SAAS,CAACC,OAAjB,KAA6B,QAAvD,EAAkE;AACjE,cAAMC,MAAM,GAAGd,KAAK,CAAEY,SAAS,CAACC,OAAZ,CAApB;AACAR,QAAAA,iBAAiB,CAAES,MAAF,CAAjB;AACA;AACD;;AAEDR,IAAAA,QAAQ;AACR,GAhCU,CAAX;AAkCA,SAAO,IAAP;AACA;;AAED,eAAeH,YAAf","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useShortcut } from '@wordpress/keyboard-shortcuts';\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { parse } from '@wordpress/blocks';\n\n/**\n * Internal dependencies\n */\nimport { store as editorStore } from '../../store';\n\nfunction SaveShortcut( { resetBlocksOnSave } ) {\n\tconst { resetEditorBlocks, savePost } = useDispatch( editorStore );\n\tconst { isEditedPostDirty, getPostEdits, isPostSavingLocked } =\n\t\tuseSelect( editorStore );\n\n\tuseShortcut( 'core/editor/save', ( event ) => {\n\t\tevent.preventDefault();\n\n\t\t/**\n\t\t * Do not save the post if post saving is locked.\n\t\t */\n\t\tif ( isPostSavingLocked() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// TODO: This should be handled in the `savePost` effect in\n\t\t// considering `isSaveable`. See note on `isEditedPostSaveable`\n\t\t// selector about dirtiness and meta-boxes.\n\t\t//\n\t\t// See: `isEditedPostSaveable`\n\t\tif ( ! isEditedPostDirty() ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// The text editor requires that editor blocks are updated for a\n\t\t// save to work correctly. Usually this happens when the textarea\n\t\t// for the code editors blurs, but the shortcut can be used without\n\t\t// blurring the textarea.\n\t\tif ( resetBlocksOnSave ) {\n\t\t\tconst postEdits = getPostEdits();\n\t\t\tif ( postEdits.content && typeof postEdits.content === 'string' ) {\n\t\t\t\tconst blocks = parse( postEdits.content );\n\t\t\t\tresetEditorBlocks( blocks );\n\t\t\t}\n\t\t}\n\n\t\tsavePost();\n\t} );\n\n\treturn null;\n}\n\nexport default SaveShortcut;\n"]}
@@ -12,6 +12,7 @@ export { default as EditorHistoryUndo } from './editor-history/undo';
12
12
  export { default as EditorNotices } from './editor-notices';
13
13
  export { default as EditorSnackbars } from './editor-snackbars';
14
14
  export { default as EntitiesSavedStates } from './entities-saved-states';
15
+ export { useIsDirty as useEntitiesSavedStatesIsDirty } from './entities-saved-states/hooks/use-is-dirty';
15
16
  export { default as ErrorBoundary } from './error-boundary';
16
17
  export { default as LocalAutosaveMonitor } from './local-autosave-monitor';
17
18
  export { default as PageAttributesCheck } from './page-attributes/check';
@@ -46,6 +47,7 @@ export { default as PostSlugCheck } from './post-slug/check';
46
47
  export { default as PostSticky } from './post-sticky';
47
48
  export { default as PostStickyCheck } from './post-sticky/check';
48
49
  export { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';
50
+ export { default as PostSyncStatus } from './post-sync-status';
49
51
  export { default as PostTaxonomies } from './post-taxonomies';
50
52
  export { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';
51
53
  export { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';
@@ -1 +1 @@
1
- {"version":3,"sources":["@wordpress/editor/src/components/index.js"],"names":["default","AutosaveMonitor","DocumentOutline","DocumentOutlineCheck","VisualEditorGlobalKeyboardShortcuts","TextEditorGlobalKeyboardShortcuts","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesParent","PageTemplate","PostAuthor","PostAuthorCheck","PostComments","PostExcerpt","PostExcerptCheck","PostFeaturedImage","PostFeaturedImageCheck","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","PostTextEditor","PostTitle","PostTrash","PostTrashCheck","PostTypeSupportCheck","PostURL","PostURLCheck","PostURLLabel","usePostURLLabel","PostVisibility","PostVisibilityLabel","usePostVisibilityLabel","PostVisibilityCheck","TableOfContents","ThemeSupportCheck","UnsavedChangesWarning","WordCount","TimeToRead","CharacterCount","EditorProvider"],"mappings":"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","sourcesContent":["// Block Creation Components.\nexport * from './autocompleters';\n\n// Post Related Components.\nexport { default as AutosaveMonitor } from './autosave-monitor';\nexport { default as DocumentOutline } from './document-outline';\nexport { default as DocumentOutlineCheck } from './document-outline/check';\nexport { default as VisualEditorGlobalKeyboardShortcuts } from './global-keyboard-shortcuts/visual-editor-shortcuts';\nexport { default as TextEditorGlobalKeyboardShortcuts } from './global-keyboard-shortcuts/text-editor-shortcuts';\nexport { default as EditorKeyboardShortcutsRegister } from './global-keyboard-shortcuts/register-shortcuts';\nexport { default as EditorHistoryRedo } from './editor-history/redo';\nexport { default as EditorHistoryUndo } from './editor-history/undo';\nexport { default as EditorNotices } from './editor-notices';\nexport { default as EditorSnackbars } from './editor-snackbars';\nexport { default as EntitiesSavedStates } from './entities-saved-states';\nexport { default as ErrorBoundary } from './error-boundary';\nexport { default as LocalAutosaveMonitor } from './local-autosave-monitor';\nexport { default as PageAttributesCheck } from './page-attributes/check';\nexport { default as PageAttributesOrder } from './page-attributes/order';\nexport { default as PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostComments } from './post-comments';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\nexport { default as PostFormat } from './post-format';\nexport { default as PostFormatCheck } from './post-format/check';\nexport { default as PostLastRevision } from './post-last-revision';\nexport { default as PostLastRevisionCheck } from './post-last-revision/check';\nexport { default as PostLockedModal } from './post-locked-modal';\nexport { default as PostPendingStatus } from './post-pending-status';\nexport { default as PostPendingStatusCheck } from './post-pending-status/check';\nexport { default as PostPingbacks } from './post-pingbacks';\nexport { default as PostPreviewButton } from './post-preview-button';\nexport { default as PostPublishButton } from './post-publish-button';\nexport { default as PostPublishButtonLabel } from './post-publish-button/label';\nexport { default as PostPublishPanel } from './post-publish-panel';\nexport { default as PostSavedState } from './post-saved-state';\nexport { default as PostSchedule } from './post-schedule';\nexport { default as PostScheduleCheck } from './post-schedule/check';\nexport {\n\tdefault as PostScheduleLabel,\n\tusePostScheduleLabel,\n} from './post-schedule/label';\nexport { default as PostSlug } from './post-slug';\nexport { default as PostSlugCheck } from './post-slug/check';\nexport { default as PostSticky } from './post-sticky';\nexport { default as PostStickyCheck } from './post-sticky/check';\nexport { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';\nexport { default as PostTaxonomies } from './post-taxonomies';\nexport { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';\nexport { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';\nexport { default as PostTaxonomiesCheck } from './post-taxonomies/check';\nexport { default as PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\nexport { default as PostTrash } from './post-trash';\nexport { default as PostTrashCheck } from './post-trash/check';\nexport { default as PostTypeSupportCheck } from './post-type-support-check';\nexport { default as PostURL } from './post-url';\nexport { default as PostURLCheck } from './post-url/check';\nexport { default as PostURLLabel, usePostURLLabel } from './post-url/label';\nexport { default as PostVisibility } from './post-visibility';\nexport {\n\tdefault as PostVisibilityLabel,\n\tusePostVisibilityLabel,\n} from './post-visibility/label';\nexport { default as PostVisibilityCheck } from './post-visibility/check';\nexport { default as TableOfContents } from './table-of-contents';\nexport { default as ThemeSupportCheck } from './theme-support-check';\nexport { default as UnsavedChangesWarning } from './unsaved-changes-warning';\nexport { default as WordCount } from './word-count';\nexport { default as TimeToRead } from './time-to-read';\nexport { default as CharacterCount } from './character-count';\n\n// State Related Components.\nexport { default as EditorProvider } from './provider';\n\nexport * from './deprecated';\n"]}
1
+ {"version":3,"sources":["@wordpress/editor/src/components/index.js"],"names":["default","AutosaveMonitor","DocumentOutline","DocumentOutlineCheck","VisualEditorGlobalKeyboardShortcuts","TextEditorGlobalKeyboardShortcuts","EditorKeyboardShortcutsRegister","EditorHistoryRedo","EditorHistoryUndo","EditorNotices","EditorSnackbars","EntitiesSavedStates","useIsDirty","useEntitiesSavedStatesIsDirty","ErrorBoundary","LocalAutosaveMonitor","PageAttributesCheck","PageAttributesOrder","PageAttributesParent","PageTemplate","PostAuthor","PostAuthorCheck","PostComments","PostExcerpt","PostExcerptCheck","PostFeaturedImage","PostFeaturedImageCheck","PostFormat","PostFormatCheck","PostLastRevision","PostLastRevisionCheck","PostLockedModal","PostPendingStatus","PostPendingStatusCheck","PostPingbacks","PostPreviewButton","PostPublishButton","PostPublishButtonLabel","PostPublishPanel","PostSavedState","PostSchedule","PostScheduleCheck","PostScheduleLabel","usePostScheduleLabel","PostSlug","PostSlugCheck","PostSticky","PostStickyCheck","PostSwitchToDraftButton","PostSyncStatus","PostTaxonomies","FlatTermSelector","PostTaxonomiesFlatTermSelector","HierarchicalTermSelector","PostTaxonomiesHierarchicalTermSelector","PostTaxonomiesCheck","PostTextEditor","PostTitle","PostTrash","PostTrashCheck","PostTypeSupportCheck","PostURL","PostURLCheck","PostURLLabel","usePostURLLabel","PostVisibility","PostVisibilityLabel","usePostVisibilityLabel","PostVisibilityCheck","TableOfContents","ThemeSupportCheck","UnsavedChangesWarning","WordCount","TimeToRead","CharacterCount","EditorProvider"],"mappings":"AAAA;AACA,cAAc,kBAAd,C,CAEA;;AACA,SAASA,OAAO,IAAIC,eAApB,QAA2C,oBAA3C;AACA,SAASD,OAAO,IAAIE,eAApB,QAA2C,oBAA3C;AACA,SAASF,OAAO,IAAIG,oBAApB,QAAgD,0BAAhD;AACA,SAASH,OAAO,IAAII,mCAApB,QAA+D,qDAA/D;AACA,SAASJ,OAAO,IAAIK,iCAApB,QAA6D,mDAA7D;AACA,SAASL,OAAO,IAAIM,+BAApB,QAA2D,gDAA3D;AACA,SAASN,OAAO,IAAIO,iBAApB,QAA6C,uBAA7C;AACA,SAASP,OAAO,IAAIQ,iBAApB,QAA6C,uBAA7C;AACA,SAASR,OAAO,IAAIS,aAApB,QAAyC,kBAAzC;AACA,SAAST,OAAO,IAAIU,eAApB,QAA2C,oBAA3C;AACA,SAASV,OAAO,IAAIW,mBAApB,QAA+C,yBAA/C;AACA,SAASC,UAAU,IAAIC,6BAAvB,QAA4D,4CAA5D;AACA,SAASb,OAAO,IAAIc,aAApB,QAAyC,kBAAzC;AACA,SAASd,OAAO,IAAIe,oBAApB,QAAgD,0BAAhD;AACA,SAASf,OAAO,IAAIgB,mBAApB,QAA+C,yBAA/C;AACA,SAAShB,OAAO,IAAIiB,mBAApB,QAA+C,yBAA/C;AACA,SAASjB,OAAO,IAAIkB,oBAApB,QAAgD,0BAAhD;AACA,SAASlB,OAAO,IAAImB,YAApB,QAAwC,iBAAxC;AACA,SAASnB,OAAO,IAAIoB,UAApB,QAAsC,eAAtC;AACA,SAASpB,OAAO,IAAIqB,eAApB,QAA2C,qBAA3C;AACA,SAASrB,OAAO,IAAIsB,YAApB,QAAwC,iBAAxC;AACA,SAAStB,OAAO,IAAIuB,WAApB,QAAuC,gBAAvC;AACA,SAASvB,OAAO,IAAIwB,gBAApB,QAA4C,sBAA5C;AACA,SAASxB,OAAO,IAAIyB,iBAApB,QAA6C,uBAA7C;AACA,SAASzB,OAAO,IAAI0B,sBAApB,QAAkD,6BAAlD;AACA,SAAS1B,OAAO,IAAI2B,UAApB,QAAsC,eAAtC;AACA,SAAS3B,OAAO,IAAI4B,eAApB,QAA2C,qBAA3C;AACA,SAAS5B,OAAO,IAAI6B,gBAApB,QAA4C,sBAA5C;AACA,SAAS7B,OAAO,IAAI8B,qBAApB,QAAiD,4BAAjD;AACA,SAAS9B,OAAO,IAAI+B,eAApB,QAA2C,qBAA3C;AACA,SAAS/B,OAAO,IAAIgC,iBAApB,QAA6C,uBAA7C;AACA,SAAShC,OAAO,IAAIiC,sBAApB,QAAkD,6BAAlD;AACA,SAASjC,OAAO,IAAIkC,aAApB,QAAyC,kBAAzC;AACA,SAASlC,OAAO,IAAImC,iBAApB,QAA6C,uBAA7C;AACA,SAASnC,OAAO,IAAIoC,iBAApB,QAA6C,uBAA7C;AACA,SAASpC,OAAO,IAAIqC,sBAApB,QAAkD,6BAAlD;AACA,SAASrC,OAAO,IAAIsC,gBAApB,QAA4C,sBAA5C;AACA,SAAStC,OAAO,IAAIuC,cAApB,QAA0C,oBAA1C;AACA,SAASvC,OAAO,IAAIwC,YAApB,QAAwC,iBAAxC;AACA,SAASxC,OAAO,IAAIyC,iBAApB,QAA6C,uBAA7C;AACA,SACCzC,OAAO,IAAI0C,iBADZ,EAECC,oBAFD,QAGO,uBAHP;AAIA,SAAS3C,OAAO,IAAI4C,QAApB,QAAoC,aAApC;AACA,SAAS5C,OAAO,IAAI6C,aAApB,QAAyC,mBAAzC;AACA,SAAS7C,OAAO,IAAI8C,UAApB,QAAsC,eAAtC;AACA,SAAS9C,OAAO,IAAI+C,eAApB,QAA2C,qBAA3C;AACA,SAAS/C,OAAO,IAAIgD,uBAApB,QAAmD,+BAAnD;AACA,SAAShD,OAAO,IAAIiD,cAApB,QAA0C,oBAA1C;AACA,SAASjD,OAAO,IAAIkD,cAApB,QAA0C,mBAA1C;AACA,SAASC,gBAAgB,IAAIC,8BAA7B,QAAmE,sCAAnE;AACA,SAASC,wBAAwB,IAAIC,sCAArC,QAAmF,8CAAnF;AACA,SAAStD,OAAO,IAAIuD,mBAApB,QAA+C,yBAA/C;AACA,SAASvD,OAAO,IAAIwD,cAApB,QAA0C,oBAA1C;AACA,SAASxD,OAAO,IAAIyD,SAApB,QAAqC,cAArC;AACA,SAASzD,OAAO,IAAI0D,SAApB,QAAqC,cAArC;AACA,SAAS1D,OAAO,IAAI2D,cAApB,QAA0C,oBAA1C;AACA,SAAS3D,OAAO,IAAI4D,oBAApB,QAAgD,2BAAhD;AACA,SAAS5D,OAAO,IAAI6D,OAApB,QAAmC,YAAnC;AACA,SAAS7D,OAAO,IAAI8D,YAApB,QAAwC,kBAAxC;AACA,SAAS9D,OAAO,IAAI+D,YAApB,EAAkCC,eAAlC,QAAyD,kBAAzD;AACA,SAAShE,OAAO,IAAIiE,cAApB,QAA0C,mBAA1C;AACA,SACCjE,OAAO,IAAIkE,mBADZ,EAECC,sBAFD,QAGO,yBAHP;AAIA,SAASnE,OAAO,IAAIoE,mBAApB,QAA+C,yBAA/C;AACA,SAASpE,OAAO,IAAIqE,eAApB,QAA2C,qBAA3C;AACA,SAASrE,OAAO,IAAIsE,iBAApB,QAA6C,uBAA7C;AACA,SAAStE,OAAO,IAAIuE,qBAApB,QAAiD,2BAAjD;AACA,SAASvE,OAAO,IAAIwE,SAApB,QAAqC,cAArC;AACA,SAASxE,OAAO,IAAIyE,UAApB,QAAsC,gBAAtC;AACA,SAASzE,OAAO,IAAI0E,cAApB,QAA0C,mBAA1C,C,CAEA;;AACA,SAAS1E,OAAO,IAAI2E,cAApB,QAA0C,YAA1C;AAEA,cAAc,cAAd","sourcesContent":["// Block Creation Components.\nexport * from './autocompleters';\n\n// Post Related Components.\nexport { default as AutosaveMonitor } from './autosave-monitor';\nexport { default as DocumentOutline } from './document-outline';\nexport { default as DocumentOutlineCheck } from './document-outline/check';\nexport { default as VisualEditorGlobalKeyboardShortcuts } from './global-keyboard-shortcuts/visual-editor-shortcuts';\nexport { default as TextEditorGlobalKeyboardShortcuts } from './global-keyboard-shortcuts/text-editor-shortcuts';\nexport { default as EditorKeyboardShortcutsRegister } from './global-keyboard-shortcuts/register-shortcuts';\nexport { default as EditorHistoryRedo } from './editor-history/redo';\nexport { default as EditorHistoryUndo } from './editor-history/undo';\nexport { default as EditorNotices } from './editor-notices';\nexport { default as EditorSnackbars } from './editor-snackbars';\nexport { default as EntitiesSavedStates } from './entities-saved-states';\nexport { useIsDirty as useEntitiesSavedStatesIsDirty } from './entities-saved-states/hooks/use-is-dirty';\nexport { default as ErrorBoundary } from './error-boundary';\nexport { default as LocalAutosaveMonitor } from './local-autosave-monitor';\nexport { default as PageAttributesCheck } from './page-attributes/check';\nexport { default as PageAttributesOrder } from './page-attributes/order';\nexport { default as PageAttributesParent } from './page-attributes/parent';\nexport { default as PageTemplate } from './post-template';\nexport { default as PostAuthor } from './post-author';\nexport { default as PostAuthorCheck } from './post-author/check';\nexport { default as PostComments } from './post-comments';\nexport { default as PostExcerpt } from './post-excerpt';\nexport { default as PostExcerptCheck } from './post-excerpt/check';\nexport { default as PostFeaturedImage } from './post-featured-image';\nexport { default as PostFeaturedImageCheck } from './post-featured-image/check';\nexport { default as PostFormat } from './post-format';\nexport { default as PostFormatCheck } from './post-format/check';\nexport { default as PostLastRevision } from './post-last-revision';\nexport { default as PostLastRevisionCheck } from './post-last-revision/check';\nexport { default as PostLockedModal } from './post-locked-modal';\nexport { default as PostPendingStatus } from './post-pending-status';\nexport { default as PostPendingStatusCheck } from './post-pending-status/check';\nexport { default as PostPingbacks } from './post-pingbacks';\nexport { default as PostPreviewButton } from './post-preview-button';\nexport { default as PostPublishButton } from './post-publish-button';\nexport { default as PostPublishButtonLabel } from './post-publish-button/label';\nexport { default as PostPublishPanel } from './post-publish-panel';\nexport { default as PostSavedState } from './post-saved-state';\nexport { default as PostSchedule } from './post-schedule';\nexport { default as PostScheduleCheck } from './post-schedule/check';\nexport {\n\tdefault as PostScheduleLabel,\n\tusePostScheduleLabel,\n} from './post-schedule/label';\nexport { default as PostSlug } from './post-slug';\nexport { default as PostSlugCheck } from './post-slug/check';\nexport { default as PostSticky } from './post-sticky';\nexport { default as PostStickyCheck } from './post-sticky/check';\nexport { default as PostSwitchToDraftButton } from './post-switch-to-draft-button';\nexport { default as PostSyncStatus } from './post-sync-status';\nexport { default as PostTaxonomies } from './post-taxonomies';\nexport { FlatTermSelector as PostTaxonomiesFlatTermSelector } from './post-taxonomies/flat-term-selector';\nexport { HierarchicalTermSelector as PostTaxonomiesHierarchicalTermSelector } from './post-taxonomies/hierarchical-term-selector';\nexport { default as PostTaxonomiesCheck } from './post-taxonomies/check';\nexport { default as PostTextEditor } from './post-text-editor';\nexport { default as PostTitle } from './post-title';\nexport { default as PostTrash } from './post-trash';\nexport { default as PostTrashCheck } from './post-trash/check';\nexport { default as PostTypeSupportCheck } from './post-type-support-check';\nexport { default as PostURL } from './post-url';\nexport { default as PostURLCheck } from './post-url/check';\nexport { default as PostURLLabel, usePostURLLabel } from './post-url/label';\nexport { default as PostVisibility } from './post-visibility';\nexport {\n\tdefault as PostVisibilityLabel,\n\tusePostVisibilityLabel,\n} from './post-visibility/label';\nexport { default as PostVisibilityCheck } from './post-visibility/check';\nexport { default as TableOfContents } from './table-of-contents';\nexport { default as ThemeSupportCheck } from './theme-support-check';\nexport { default as UnsavedChangesWarning } from './unsaved-changes-warning';\nexport { default as WordCount } from './word-count';\nexport { default as TimeToRead } from './time-to-read';\nexport { default as CharacterCount } from './character-count';\n\n// State Related Components.\nexport { default as EditorProvider } from './provider';\n\nexport * from './deprecated';\n"]}