@wordpress/edit-site 5.21.1-next.f8d8eceb.0 → 5.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (375) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/actions/index.js +86 -4
  3. package/build/components/actions/index.js.map +1 -1
  4. package/build/components/add-new-template/new-template.js +0 -7
  5. package/build/components/add-new-template/new-template.js.map +1 -1
  6. package/build/components/block-editor/use-site-editor-settings.js +54 -63
  7. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  8. package/build/components/dataviews/add-filter.js +90 -0
  9. package/build/components/dataviews/add-filter.js.map +1 -0
  10. package/build/components/dataviews/dataviews.js +23 -4
  11. package/build/components/dataviews/dataviews.js.map +1 -1
  12. package/build/components/dataviews/filters.js +36 -32
  13. package/build/components/dataviews/filters.js.map +1 -1
  14. package/build/components/dataviews/in-filter.js +22 -20
  15. package/build/components/dataviews/in-filter.js.map +1 -1
  16. package/build/components/dataviews/index.js +9 -2
  17. package/build/components/dataviews/index.js.map +1 -1
  18. package/build/components/dataviews/item-actions.js +81 -13
  19. package/build/components/dataviews/item-actions.js.map +1 -1
  20. package/build/components/dataviews/pagination.js +3 -2
  21. package/build/components/dataviews/pagination.js.map +1 -1
  22. package/build/components/dataviews/reset-filters.js +33 -0
  23. package/build/components/dataviews/reset-filters.js.map +1 -0
  24. package/build/components/dataviews/search.js +1 -0
  25. package/build/components/dataviews/search.js.map +1 -1
  26. package/build/components/dataviews/view-actions.js +27 -10
  27. package/build/components/dataviews/view-actions.js.map +1 -1
  28. package/build/components/dataviews/view-list.js +126 -5
  29. package/build/components/dataviews/view-list.js.map +1 -1
  30. package/build/components/dataviews/view-side-by-side.js +20 -0
  31. package/build/components/dataviews/view-side-by-side.js.map +1 -0
  32. package/build/components/editor/index.js +53 -53
  33. package/build/components/editor/index.js.map +1 -1
  34. package/build/components/global-styles/screen-revisions/index.js +42 -21
  35. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  36. package/build/components/global-styles/screen-root.js +3 -3
  37. package/build/components/global-styles/screen-root.js.map +1 -1
  38. package/build/components/global-styles/ui.js +3 -3
  39. package/build/components/global-styles/ui.js.map +1 -1
  40. package/build/components/global-styles-renderer/index.js +1 -1
  41. package/build/components/global-styles-renderer/index.js.map +1 -1
  42. package/build/components/header-edit-mode/document-tools/index.js +160 -0
  43. package/build/components/header-edit-mode/document-tools/index.js.map +1 -0
  44. package/build/components/header-edit-mode/index.js +48 -116
  45. package/build/components/header-edit-mode/index.js.map +1 -1
  46. package/build/components/header-edit-mode/more-menu/site-export.js +2 -6
  47. package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  48. package/build/components/layout/index.js +4 -19
  49. package/build/components/layout/index.js.map +1 -1
  50. package/build/components/list/added-by.js +1 -0
  51. package/build/components/list/added-by.js.map +1 -1
  52. package/build/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  53. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  54. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  55. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  56. package/build/components/page-main/index.js +2 -1
  57. package/build/components/page-main/index.js.map +1 -1
  58. package/build/components/page-pages/index.js +133 -78
  59. package/build/components/page-pages/index.js.map +1 -1
  60. package/build/components/page-pages/side-editor.js +25 -0
  61. package/build/components/page-pages/side-editor.js.map +1 -0
  62. package/build/components/page-patterns/grid-item.js +2 -2
  63. package/build/components/page-patterns/grid-item.js.map +1 -1
  64. package/build/components/page-patterns/patterns-list.js +3 -3
  65. package/build/components/page-patterns/patterns-list.js.map +1 -1
  66. package/build/components/page-patterns/rename-category-menu-item.js +27 -9
  67. package/build/components/page-patterns/rename-category-menu-item.js.map +1 -1
  68. package/build/components/page-patterns/use-patterns.js +1 -1
  69. package/build/components/page-patterns/use-patterns.js.map +1 -1
  70. package/build/components/page-templates/dataviews-templates.js +201 -0
  71. package/build/components/page-templates/dataviews-templates.js.map +1 -0
  72. package/build/components/page-templates/template-actions.js +168 -0
  73. package/build/components/page-templates/template-actions.js.map +1 -0
  74. package/build/components/save-button/index.js +4 -2
  75. package/build/components/save-button/index.js.map +1 -1
  76. package/build/components/sidebar/index.js +1 -2
  77. package/build/components/sidebar/index.js.map +1 -1
  78. package/build/components/sidebar-dataviews/add-new-view.js +124 -0
  79. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
  80. package/build/components/sidebar-dataviews/custom-dataviews-list.js +189 -0
  81. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  82. package/build/components/sidebar-dataviews/dataview-item.js +71 -0
  83. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
  84. package/build/components/sidebar-dataviews/default-views.js +60 -0
  85. package/build/components/sidebar-dataviews/default-views.js.map +1 -0
  86. package/build/components/sidebar-dataviews/index.js +22 -37
  87. package/build/components/sidebar-dataviews/index.js.map +1 -1
  88. package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
  89. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  90. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +11 -11
  91. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +2 -1
  93. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +4 -12
  95. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
  97. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  98. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  99. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  100. package/build/components/sidebar-edit-mode/template-panel/hooks.js +3 -3
  101. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  103. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  105. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-page/page-details.js +4 -12
  107. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  109. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  110. package/build/components/site-hub/index.js +18 -6
  111. package/build/components/site-hub/index.js.map +1 -1
  112. package/build/components/start-template-options/index.js +12 -16
  113. package/build/components/start-template-options/index.js.map +1 -1
  114. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -49
  115. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  116. package/build/components/template-part-converter/convert-to-regular.js +1 -1
  117. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  118. package/build/hooks/push-changes-to-global-styles/index.js +3 -1
  119. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  120. package/build/hooks/template-part-edit.js +6 -2
  121. package/build/hooks/template-part-edit.js.map +1 -1
  122. package/build/index.js +0 -3
  123. package/build/index.js.map +1 -1
  124. package/build/store/actions.js +35 -82
  125. package/build/store/actions.js.map +1 -1
  126. package/build/store/selectors.js +25 -63
  127. package/build/store/selectors.js.map +1 -1
  128. package/build/utils/constants.js +3 -3
  129. package/build/utils/constants.js.map +1 -1
  130. package/build/utils/use-activate-theme.js +8 -0
  131. package/build/utils/use-activate-theme.js.map +1 -1
  132. package/build-module/components/actions/index.js +85 -5
  133. package/build-module/components/actions/index.js.map +1 -1
  134. package/build-module/components/add-new-template/new-template.js +0 -7
  135. package/build-module/components/add-new-template/new-template.js.map +1 -1
  136. package/build-module/components/block-editor/use-site-editor-settings.js +54 -62
  137. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  138. package/build-module/components/dataviews/add-filter.js +83 -0
  139. package/build-module/components/dataviews/add-filter.js.map +1 -0
  140. package/build-module/components/dataviews/dataviews.js +22 -4
  141. package/build-module/components/dataviews/dataviews.js.map +1 -1
  142. package/build-module/components/dataviews/filters.js +34 -32
  143. package/build-module/components/dataviews/filters.js.map +1 -1
  144. package/build-module/components/dataviews/in-filter.js +20 -19
  145. package/build-module/components/dataviews/in-filter.js.map +1 -1
  146. package/build-module/components/dataviews/index.js +1 -1
  147. package/build-module/components/dataviews/index.js.map +1 -1
  148. package/build-module/components/dataviews/item-actions.js +84 -16
  149. package/build-module/components/dataviews/item-actions.js.map +1 -1
  150. package/build-module/components/dataviews/pagination.js +3 -2
  151. package/build-module/components/dataviews/pagination.js.map +1 -1
  152. package/build-module/components/dataviews/reset-filters.js +26 -0
  153. package/build-module/components/dataviews/reset-filters.js.map +1 -0
  154. package/build-module/components/dataviews/search.js +1 -0
  155. package/build-module/components/dataviews/search.js.map +1 -1
  156. package/build-module/components/dataviews/view-actions.js +28 -11
  157. package/build-module/components/dataviews/view-actions.js.map +1 -1
  158. package/build-module/components/dataviews/view-list.js +128 -7
  159. package/build-module/components/dataviews/view-list.js.map +1 -1
  160. package/build-module/components/dataviews/view-side-by-side.js +12 -0
  161. package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
  162. package/build-module/components/editor/index.js +57 -57
  163. package/build-module/components/editor/index.js.map +1 -1
  164. package/build-module/components/global-styles/screen-revisions/index.js +42 -21
  165. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  166. package/build-module/components/global-styles/screen-root.js +3 -3
  167. package/build-module/components/global-styles/screen-root.js.map +1 -1
  168. package/build-module/components/global-styles/ui.js +3 -3
  169. package/build-module/components/global-styles/ui.js.map +1 -1
  170. package/build-module/components/global-styles-renderer/index.js +1 -1
  171. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  172. package/build-module/components/header-edit-mode/document-tools/index.js +152 -0
  173. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
  174. package/build-module/components/header-edit-mode/index.js +52 -120
  175. package/build-module/components/header-edit-mode/index.js.map +1 -1
  176. package/build-module/components/header-edit-mode/more-menu/site-export.js +2 -6
  177. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  178. package/build-module/components/layout/index.js +5 -20
  179. package/build-module/components/layout/index.js.map +1 -1
  180. package/build-module/components/list/added-by.js +1 -1
  181. package/build-module/components/list/added-by.js.map +1 -1
  182. package/build-module/components/page-content-focus-manager/back-to-page-notification.js +5 -10
  183. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +1 -1
  184. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +36 -23
  185. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +1 -1
  186. package/build-module/components/page-main/index.js +2 -1
  187. package/build-module/components/page-main/index.js.map +1 -1
  188. package/build-module/components/page-pages/index.js +137 -80
  189. package/build-module/components/page-pages/index.js.map +1 -1
  190. package/build-module/components/page-pages/side-editor.js +17 -0
  191. package/build-module/components/page-pages/side-editor.js.map +1 -0
  192. package/build-module/components/page-patterns/grid-item.js +2 -2
  193. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  194. package/build-module/components/page-patterns/patterns-list.js +4 -4
  195. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  196. package/build-module/components/page-patterns/rename-category-menu-item.js +25 -9
  197. package/build-module/components/page-patterns/rename-category-menu-item.js.map +1 -1
  198. package/build-module/components/page-patterns/use-patterns.js +2 -2
  199. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  200. package/build-module/components/page-templates/dataviews-templates.js +193 -0
  201. package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
  202. package/build-module/components/page-templates/template-actions.js +157 -0
  203. package/build-module/components/page-templates/template-actions.js.map +1 -0
  204. package/build-module/components/save-button/index.js +4 -2
  205. package/build-module/components/save-button/index.js.map +1 -1
  206. package/build-module/components/sidebar/index.js +1 -2
  207. package/build-module/components/sidebar/index.js.map +1 -1
  208. package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
  209. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
  210. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +180 -0
  211. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  212. package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
  213. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
  214. package/build-module/components/sidebar-dataviews/default-views.js +52 -0
  215. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
  216. package/build-module/components/sidebar-dataviews/index.js +23 -38
  217. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  218. package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
  219. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  220. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +12 -12
  221. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  222. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +3 -1
  223. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  224. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +5 -13
  225. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  226. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
  227. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  228. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  229. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  230. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +4 -4
  231. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  232. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  233. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  234. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  235. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  236. package/build-module/components/sidebar-navigation-screen-page/page-details.js +4 -12
  237. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  238. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  239. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  240. package/build-module/components/site-hub/index.js +19 -7
  241. package/build-module/components/site-hub/index.js.map +1 -1
  242. package/build-module/components/start-template-options/index.js +13 -16
  243. package/build-module/components/start-template-options/index.js.map +1 -1
  244. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +112 -50
  245. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  246. package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
  247. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  248. package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
  249. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  250. package/build-module/hooks/template-part-edit.js +6 -2
  251. package/build-module/hooks/template-part-edit.js.map +1 -1
  252. package/build-module/index.js +0 -3
  253. package/build-module/index.js.map +1 -1
  254. package/build-module/store/actions.js +33 -79
  255. package/build-module/store/actions.js.map +1 -1
  256. package/build-module/store/selectors.js +19 -58
  257. package/build-module/store/selectors.js.map +1 -1
  258. package/build-module/utils/constants.js +1 -1
  259. package/build-module/utils/constants.js.map +1 -1
  260. package/build-module/utils/use-activate-theme.js +8 -0
  261. package/build-module/utils/use-activate-theme.js.map +1 -1
  262. package/build-style/style-rtl.css +69 -119
  263. package/build-style/style.css +69 -119
  264. package/package.json +41 -41
  265. package/src/components/actions/index.js +113 -5
  266. package/src/components/add-new-template/new-template.js +0 -5
  267. package/src/components/block-editor/style.scss +0 -87
  268. package/src/components/block-editor/use-site-editor-settings.js +68 -89
  269. package/src/components/dataviews/README.md +77 -83
  270. package/src/components/dataviews/add-filter.js +111 -0
  271. package/src/components/dataviews/dataviews.js +20 -2
  272. package/src/components/dataviews/filters.js +56 -49
  273. package/src/components/dataviews/in-filter.js +35 -17
  274. package/src/components/dataviews/index.js +1 -1
  275. package/src/components/dataviews/item-actions.js +95 -20
  276. package/src/components/dataviews/pagination.js +5 -4
  277. package/src/components/dataviews/reset-filters.js +26 -0
  278. package/src/components/dataviews/search.js +1 -0
  279. package/src/components/dataviews/style.scss +5 -1
  280. package/src/components/dataviews/view-actions.js +39 -9
  281. package/src/components/dataviews/view-list.js +174 -3
  282. package/src/components/dataviews/view-side-by-side.js +9 -0
  283. package/src/components/editor/index.js +149 -121
  284. package/src/components/global-styles/screen-revisions/index.js +52 -25
  285. package/src/components/global-styles/screen-root.js +2 -1
  286. package/src/components/global-styles/ui.js +1 -1
  287. package/src/components/global-styles-renderer/index.js +1 -1
  288. package/src/components/header-edit-mode/document-tools/index.js +201 -0
  289. package/src/components/header-edit-mode/index.js +86 -184
  290. package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
  291. package/src/components/header-edit-mode/style.scss +35 -2
  292. package/src/components/layout/index.js +4 -11
  293. package/src/components/layout/style.scss +6 -18
  294. package/src/components/list/added-by.js +1 -1
  295. package/src/components/page-content-focus-manager/back-to-page-notification.js +4 -15
  296. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +38 -33
  297. package/src/components/page-main/index.js +6 -1
  298. package/src/components/page-pages/index.js +162 -81
  299. package/src/components/page-pages/side-editor.js +14 -0
  300. package/src/components/page-patterns/grid-item.js +3 -3
  301. package/src/components/page-patterns/patterns-list.js +10 -4
  302. package/src/components/page-patterns/rename-category-menu-item.js +29 -12
  303. package/src/components/page-patterns/use-patterns.js +3 -2
  304. package/src/components/page-templates/dataviews-templates.js +224 -0
  305. package/src/components/page-templates/template-actions.js +209 -0
  306. package/src/components/save-button/index.js +10 -5
  307. package/src/components/sidebar/index.js +1 -2
  308. package/src/components/sidebar-dataviews/add-new-view.js +141 -0
  309. package/src/components/sidebar-dataviews/custom-dataviews-list.js +227 -0
  310. package/src/components/sidebar-dataviews/dataview-item.js +67 -0
  311. package/src/components/sidebar-dataviews/default-views.js +54 -0
  312. package/src/components/sidebar-dataviews/index.js +36 -44
  313. package/src/components/sidebar-dataviews/style.scss +22 -0
  314. package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
  315. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +14 -21
  316. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +3 -0
  317. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +10 -9
  318. package/src/components/sidebar-edit-mode/page-panels/style.scss +5 -0
  319. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
  320. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
  321. package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
  322. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  323. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  324. package/src/components/sidebar-navigation-screen-page/page-details.js +7 -18
  325. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  326. package/src/components/site-hub/index.js +9 -8
  327. package/src/components/start-template-options/index.js +14 -12
  328. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +117 -50
  329. package/src/components/template-part-converter/convert-to-regular.js +1 -1
  330. package/src/hooks/push-changes-to-global-styles/index.js +13 -6
  331. package/src/hooks/template-part-edit.js +4 -2
  332. package/src/index.js +0 -8
  333. package/src/store/actions.js +37 -95
  334. package/src/store/selectors.js +31 -91
  335. package/src/store/test/actions.js +11 -137
  336. package/src/store/test/selectors.js +0 -82
  337. package/src/style.scss +1 -0
  338. package/src/utils/constants.js +1 -1
  339. package/src/utils/use-activate-theme.js +5 -0
  340. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
  341. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  342. package/build/components/block-editor/block-editor-provider/index.js +0 -31
  343. package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
  344. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
  345. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  346. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
  347. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  348. package/build/components/block-editor/index.js +0 -30
  349. package/build/components/block-editor/index.js.map +0 -1
  350. package/build/components/dataviews/context.js +0 -15
  351. package/build/components/dataviews/context.js.map +0 -1
  352. package/build/components/page-pages/default-views.js +0 -60
  353. package/build/components/page-pages/default-views.js.map +0 -1
  354. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
  355. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  356. package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
  357. package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
  358. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
  359. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  360. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
  361. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  362. package/build-module/components/block-editor/index.js +0 -22
  363. package/build-module/components/block-editor/index.js.map +0 -1
  364. package/build-module/components/dataviews/context.js +0 -7
  365. package/build-module/components/dataviews/context.js.map +0 -1
  366. package/build-module/components/page-pages/default-views.js +0 -53
  367. package/build-module/components/page-pages/default-views.js.map +0 -1
  368. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
  369. package/src/components/block-editor/block-editor-provider/index.js +0 -29
  370. package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
  371. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
  372. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
  373. package/src/components/block-editor/index.js +0 -28
  374. package/src/components/dataviews/context.js +0 -7
  375. package/src/components/page-pages/default-views.js +0 -58
@@ -1 +1 @@
1
- {"version":3,"names":["_i18n","require","_patterns","_lockUnlock","NAVIGATION_POST_TYPE","exports","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","TEMPLATE_ORIGINS","custom","theme","plugin","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","PATTERN_USER_CATEGORY","PATTERN_CORE_SOURCES","PATTERN_SYNC_TYPES","unlock","patternPrivateApis","FOCUSABLE_ENTITIES","user","PAGE_CONTENT_BLOCK_TYPES","POST_TYPE_LABELS","__"],"sources":["@wordpress/edit-site/src/utils/constants.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n// Navigation\nexport const NAVIGATION_POST_TYPE = 'wp_navigation';\n\n// Templates.\nexport const TEMPLATE_POST_TYPE = 'wp_template';\nexport const TEMPLATE_PART_POST_TYPE = 'wp_template_part';\nexport const TEMPLATE_ORIGINS = {\n\tcustom: 'custom',\n\ttheme: 'theme',\n\tplugin: 'plugin',\n};\nexport const TEMPLATE_PART_AREA_DEFAULT_CATEGORY = 'uncategorized';\n\n// Patterns.\nexport const {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tPATTERN_CORE_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternPrivateApis );\n\n// Entities that are editable in focus mode.\nexport const FOCUSABLE_ENTITIES = [\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\n/**\n * Block types that are considered to be page content. These are the only blocks\n * editable when hasPageContentFocus() is true.\n */\nexport const PAGE_CONTENT_BLOCK_TYPES = {\n\t'core/post-title': true,\n\t'core/post-featured-image': true,\n\t'core/post-content': true,\n};\n\nexport const POST_TYPE_LABELS = {\n\t[ TEMPLATE_POST_TYPE ]: __( 'Template' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),\n\t[ PATTERN_TYPES.user ]: __( 'Pattern' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Navigation' ),\n};\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACO,MAAMG,oBAAoB,GAAG,eAAe;;AAEnD;AAAAC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AACO,MAAME,kBAAkB,GAAG,aAAa;AAACD,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AACzC,MAAMC,uBAAuB,GAAG,kBAAkB;AAACF,OAAA,CAAAE,uBAAA,GAAAA,uBAAA;AACnD,MAAMC,gBAAgB,GAAG;EAC/BC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACT,CAAC;AAACN,OAAA,CAAAG,gBAAA,GAAAA,gBAAA;AACK,MAAMI,mCAAmC,GAAG,eAAe;;AAElE;AAAAP,OAAA,CAAAO,mCAAA,GAAAA,mCAAA;AACO,MAAM;EACZC,aAAa;EACbC,wBAAwB;EACxBC,qBAAqB;EACrBC,oBAAoB;EACpBC;AACD,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAmB,CAAC;;AAEhC;AAAAd,OAAA,CAAAY,kBAAA,GAAAA,kBAAA;AAAAZ,OAAA,CAAAW,oBAAA,GAAAA,oBAAA;AAAAX,OAAA,CAAAU,qBAAA,GAAAA,qBAAA;AAAAV,OAAA,CAAAS,wBAAA,GAAAA,wBAAA;AAAAT,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AACO,MAAMO,kBAAkB,GAAG,CACjCb,uBAAuB,EACvBH,oBAAoB,EACpBS,aAAa,CAACQ,IAAI,CAClB;;AAED;AACA;AACA;AACA;AAHAhB,OAAA,CAAAe,kBAAA,GAAAA,kBAAA;AAIO,MAAME,wBAAwB,GAAG;EACvC,iBAAiB,EAAE,IAAI;EACvB,0BAA0B,EAAE,IAAI;EAChC,mBAAmB,EAAE;AACtB,CAAC;AAACjB,OAAA,CAAAiB,wBAAA,GAAAA,wBAAA;AAEK,MAAMC,gBAAgB,GAAG;EAC/B,CAAEjB,kBAAkB,GAAI,IAAAkB,QAAE,EAAE,UAAW,CAAC;EACxC,CAAEjB,uBAAuB,GAAI,IAAAiB,QAAE,EAAE,eAAgB,CAAC;EAClD,CAAEX,aAAa,CAACQ,IAAI,GAAI,IAAAG,QAAE,EAAE,SAAU,CAAC;EACvC,CAAEpB,oBAAoB,GAAI,IAAAoB,QAAE,EAAE,YAAa;AAC5C,CAAC;AAACnB,OAAA,CAAAkB,gBAAA,GAAAA,gBAAA"}
1
+ {"version":3,"names":["_i18n","require","_patterns","_lockUnlock","NAVIGATION_POST_TYPE","exports","TEMPLATE_POST_TYPE","TEMPLATE_PART_POST_TYPE","TEMPLATE_ORIGINS","custom","theme","plugin","TEMPLATE_PART_AREA_DEFAULT_CATEGORY","PATTERN_TYPES","PATTERN_DEFAULT_CATEGORY","PATTERN_USER_CATEGORY","EXCLUDED_PATTERN_SOURCES","PATTERN_SYNC_TYPES","unlock","patternPrivateApis","FOCUSABLE_ENTITIES","user","PAGE_CONTENT_BLOCK_TYPES","POST_TYPE_LABELS","__"],"sources":["@wordpress/edit-site/src/utils/constants.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\nimport { privateApis as patternPrivateApis } from '@wordpress/patterns';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\n\n// Navigation\nexport const NAVIGATION_POST_TYPE = 'wp_navigation';\n\n// Templates.\nexport const TEMPLATE_POST_TYPE = 'wp_template';\nexport const TEMPLATE_PART_POST_TYPE = 'wp_template_part';\nexport const TEMPLATE_ORIGINS = {\n\tcustom: 'custom',\n\ttheme: 'theme',\n\tplugin: 'plugin',\n};\nexport const TEMPLATE_PART_AREA_DEFAULT_CATEGORY = 'uncategorized';\n\n// Patterns.\nexport const {\n\tPATTERN_TYPES,\n\tPATTERN_DEFAULT_CATEGORY,\n\tPATTERN_USER_CATEGORY,\n\tEXCLUDED_PATTERN_SOURCES,\n\tPATTERN_SYNC_TYPES,\n} = unlock( patternPrivateApis );\n\n// Entities that are editable in focus mode.\nexport const FOCUSABLE_ENTITIES = [\n\tTEMPLATE_PART_POST_TYPE,\n\tNAVIGATION_POST_TYPE,\n\tPATTERN_TYPES.user,\n];\n\n/**\n * Block types that are considered to be page content. These are the only blocks\n * editable when hasPageContentFocus() is true.\n */\nexport const PAGE_CONTENT_BLOCK_TYPES = {\n\t'core/post-title': true,\n\t'core/post-featured-image': true,\n\t'core/post-content': true,\n};\n\nexport const POST_TYPE_LABELS = {\n\t[ TEMPLATE_POST_TYPE ]: __( 'Template' ),\n\t[ TEMPLATE_PART_POST_TYPE ]: __( 'Template part' ),\n\t[ PATTERN_TYPES.user ]: __( 'Pattern' ),\n\t[ NAVIGATION_POST_TYPE ]: __( 'Navigation' ),\n};\n"],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAKA,IAAAE,WAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAIA;AACA;AACA;;AAGA;AACO,MAAMG,oBAAoB,GAAG,eAAe;;AAEnD;AAAAC,OAAA,CAAAD,oBAAA,GAAAA,oBAAA;AACO,MAAME,kBAAkB,GAAG,aAAa;AAACD,OAAA,CAAAC,kBAAA,GAAAA,kBAAA;AACzC,MAAMC,uBAAuB,GAAG,kBAAkB;AAACF,OAAA,CAAAE,uBAAA,GAAAA,uBAAA;AACnD,MAAMC,gBAAgB,GAAG;EAC/BC,MAAM,EAAE,QAAQ;EAChBC,KAAK,EAAE,OAAO;EACdC,MAAM,EAAE;AACT,CAAC;AAACN,OAAA,CAAAG,gBAAA,GAAAA,gBAAA;AACK,MAAMI,mCAAmC,GAAG,eAAe;;AAElE;AAAAP,OAAA,CAAAO,mCAAA,GAAAA,mCAAA;AACO,MAAM;EACZC,aAAa;EACbC,wBAAwB;EACxBC,qBAAqB;EACrBC,wBAAwB;EACxBC;AACD,CAAC,GAAG,IAAAC,kBAAM,EAAEC,qBAAmB,CAAC;;AAEhC;AAAAd,OAAA,CAAAY,kBAAA,GAAAA,kBAAA;AAAAZ,OAAA,CAAAW,wBAAA,GAAAA,wBAAA;AAAAX,OAAA,CAAAU,qBAAA,GAAAA,qBAAA;AAAAV,OAAA,CAAAS,wBAAA,GAAAA,wBAAA;AAAAT,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AACO,MAAMO,kBAAkB,GAAG,CACjCb,uBAAuB,EACvBH,oBAAoB,EACpBS,aAAa,CAACQ,IAAI,CAClB;;AAED;AACA;AACA;AACA;AAHAhB,OAAA,CAAAe,kBAAA,GAAAA,kBAAA;AAIO,MAAME,wBAAwB,GAAG;EACvC,iBAAiB,EAAE,IAAI;EACvB,0BAA0B,EAAE,IAAI;EAChC,mBAAmB,EAAE;AACtB,CAAC;AAACjB,OAAA,CAAAiB,wBAAA,GAAAA,wBAAA;AAEK,MAAMC,gBAAgB,GAAG;EAC/B,CAAEjB,kBAAkB,GAAI,IAAAkB,QAAE,EAAE,UAAW,CAAC;EACxC,CAAEjB,uBAAuB,GAAI,IAAAiB,QAAE,EAAE,eAAgB,CAAC;EAClD,CAAEX,aAAa,CAACQ,IAAI,GAAI,IAAAG,QAAE,EAAE,SAAU,CAAC;EACvC,CAAEpB,oBAAoB,GAAI,IAAAoB,QAAE,EAAE,YAAa;AAC5C,CAAC;AAACnB,OAAA,CAAAkB,gBAAA,GAAAA,gBAAA"}
@@ -4,6 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useActivateTheme = useActivateTheme;
7
+ var _coreData = require("@wordpress/core-data");
8
+ var _data = require("@wordpress/data");
7
9
  var _router = require("@wordpress/router");
8
10
  var _lockUnlock = require("../lock-unlock");
9
11
  var _isPreviewingTheme = require("./is-previewing-theme");
@@ -28,10 +30,16 @@ const {
28
30
  function useActivateTheme() {
29
31
  const history = useHistory();
30
32
  const location = useLocation();
33
+ const {
34
+ startResolution,
35
+ finishResolution
36
+ } = (0, _data.useDispatch)(_coreData.store);
31
37
  return async () => {
32
38
  if ((0, _isPreviewingTheme.isPreviewingTheme)()) {
33
39
  const activationURL = 'themes.php?action=activate&stylesheet=' + (0, _isPreviewingTheme.currentlyPreviewingTheme)() + '&_wpnonce=' + window.WP_BLOCK_THEME_ACTIVATE_NONCE;
40
+ startResolution('activateTheme');
34
41
  await window.fetch(activationURL);
42
+ finishResolution('activateTheme');
35
43
  const {
36
44
  wp_theme_preview: themePreview,
37
45
  ...params
@@ -1 +1 @@
1
- {"version":3,"names":["_router","require","_lockUnlock","_isPreviewingTheme","useHistory","useLocation","unlock","routerPrivateApis","useActivateTheme","history","location","isPreviewingTheme","activationURL","currentlyPreviewingTheme","window","WP_BLOCK_THEME_ACTIVATE_NONCE","fetch","wp_theme_preview","themePreview","params","replace"],"sources":["@wordpress/edit-site/src/utils/use-activate-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from './is-previewing-theme';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * This should be refactored to use the REST API, once the REST API can activate themes.\n *\n * @return {Function} A function that activates the theme.\n */\nexport function useActivateTheme() {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\n\treturn async () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tconst activationURL =\n\t\t\t\t'themes.php?action=activate&stylesheet=' +\n\t\t\t\tcurrentlyPreviewingTheme() +\n\t\t\t\t'&_wpnonce=' +\n\t\t\t\twindow.WP_BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tawait window.fetch( activationURL );\n\t\t\tconst { wp_theme_preview: themePreview, ...params } =\n\t\t\t\tlocation.params;\n\t\t\thistory.replace( params );\n\t\t}\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,OAAA,GAAAC,OAAA;AAKA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,kBAAA,GAAAF,OAAA;AATA;AACA;AACA;;AAGA;AACA;AACA;;AAOA,MAAM;EAAEG,UAAU;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAA,EAAG;EAClC,MAAMC,OAAO,GAAGL,UAAU,CAAC,CAAC;EAC5B,MAAMM,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAE9B,OAAO,YAAY;IAClB,IAAK,IAAAM,oCAAiB,EAAC,CAAC,EAAG;MAC1B,MAAMC,aAAa,GAClB,wCAAwC,GACxC,IAAAC,2CAAwB,EAAC,CAAC,GAC1B,YAAY,GACZC,MAAM,CAACC,6BAA6B;MACrC,MAAMD,MAAM,CAACE,KAAK,CAAEJ,aAAc,CAAC;MACnC,MAAM;QAAEK,gBAAgB,EAAEC,YAAY;QAAE,GAAGC;MAAO,CAAC,GAClDT,QAAQ,CAACS,MAAM;MAChBV,OAAO,CAACW,OAAO,CAAED,MAAO,CAAC;IAC1B;EACD,CAAC;AACF"}
1
+ {"version":3,"names":["_coreData","require","_data","_router","_lockUnlock","_isPreviewingTheme","useHistory","useLocation","unlock","routerPrivateApis","useActivateTheme","history","location","startResolution","finishResolution","useDispatch","coreStore","isPreviewingTheme","activationURL","currentlyPreviewingTheme","window","WP_BLOCK_THEME_ACTIVATE_NONCE","fetch","wp_theme_preview","themePreview","params","replace"],"sources":["@wordpress/edit-site/src/utils/use-activate-theme.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useDispatch } from '@wordpress/data';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { unlock } from '../lock-unlock';\nimport {\n\tisPreviewingTheme,\n\tcurrentlyPreviewingTheme,\n} from './is-previewing-theme';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\n/**\n * This should be refactored to use the REST API, once the REST API can activate themes.\n *\n * @return {Function} A function that activates the theme.\n */\nexport function useActivateTheme() {\n\tconst history = useHistory();\n\tconst location = useLocation();\n\tconst { startResolution, finishResolution } = useDispatch( coreStore );\n\n\treturn async () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tconst activationURL =\n\t\t\t\t'themes.php?action=activate&stylesheet=' +\n\t\t\t\tcurrentlyPreviewingTheme() +\n\t\t\t\t'&_wpnonce=' +\n\t\t\t\twindow.WP_BLOCK_THEME_ACTIVATE_NONCE;\n\t\t\tstartResolution( 'activateTheme' );\n\t\t\tawait window.fetch( activationURL );\n\t\t\tfinishResolution( 'activateTheme' );\n\t\t\tconst { wp_theme_preview: themePreview, ...params } =\n\t\t\t\tlocation.params;\n\t\t\thistory.replace( params );\n\t\t}\n\t};\n}\n"],"mappings":";;;;;;AAGA,IAAAA,SAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAKA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AAXA;AACA;AACA;;AAKA;AACA;AACA;;AAOA,MAAM;EAAEK,UAAU;EAAEC;AAAY,CAAC,GAAG,IAAAC,kBAAM,EAAEC,mBAAkB,CAAC;;AAE/D;AACA;AACA;AACA;AACA;AACO,SAASC,gBAAgBA,CAAA,EAAG;EAClC,MAAMC,OAAO,GAAGL,UAAU,CAAC,CAAC;EAC5B,MAAMM,QAAQ,GAAGL,WAAW,CAAC,CAAC;EAC9B,MAAM;IAAEM,eAAe;IAAEC;EAAiB,CAAC,GAAG,IAAAC,iBAAW,EAAEC,eAAU,CAAC;EAEtE,OAAO,YAAY;IAClB,IAAK,IAAAC,oCAAiB,EAAC,CAAC,EAAG;MAC1B,MAAMC,aAAa,GAClB,wCAAwC,GACxC,IAAAC,2CAAwB,EAAC,CAAC,GAC1B,YAAY,GACZC,MAAM,CAACC,6BAA6B;MACrCR,eAAe,CAAE,eAAgB,CAAC;MAClC,MAAMO,MAAM,CAACE,KAAK,CAAEJ,aAAc,CAAC;MACnCJ,gBAAgB,CAAE,eAAgB,CAAC;MACnC,MAAM;QAAES,gBAAgB,EAAEC,YAAY;QAAE,GAAGC;MAAO,CAAC,GAClDb,QAAQ,CAACa,MAAM;MAChBd,OAAO,CAACe,OAAO,CAAED,MAAO,CAAC;IAC1B;EACD,CAAC;AACF"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { external, trash } from '@wordpress/icons';
4
+ import { external, trash, backup } from '@wordpress/icons';
5
5
  import { addQueryArgs } from '@wordpress/url';
6
6
  import { useDispatch } from '@wordpress/data';
7
7
  import { decodeEntities } from '@wordpress/html-entities';
@@ -35,7 +35,7 @@ export function useTrashPostAction() {
35
35
  }) {
36
36
  return status !== 'trash';
37
37
  },
38
- async perform(post) {
38
+ async callback(post) {
39
39
  try {
40
40
  await deleteEntityRecord('postType', post.type, post.id, {}, {
41
41
  throwOnError: true
@@ -54,6 +54,86 @@ export function useTrashPostAction() {
54
54
  }
55
55
  }), [createSuccessNotice, createErrorNotice, deleteEntityRecord]);
56
56
  }
57
+ export function usePermanentlyDeletePostAction() {
58
+ const {
59
+ createSuccessNotice,
60
+ createErrorNotice
61
+ } = useDispatch(noticesStore);
62
+ const {
63
+ deleteEntityRecord
64
+ } = useDispatch(coreStore);
65
+ return useMemo(() => ({
66
+ id: 'permanently-delete',
67
+ label: __('Permanently delete'),
68
+ isPrimary: true,
69
+ icon: trash,
70
+ isEligible({
71
+ status
72
+ }) {
73
+ return status === 'trash';
74
+ },
75
+ async callback(post) {
76
+ try {
77
+ await deleteEntityRecord('postType', post.type, post.id, {
78
+ force: true
79
+ }, {
80
+ throwOnError: true
81
+ });
82
+ createSuccessNotice(sprintf( /* translators: The posts's title. */
83
+ __('"%s" permanently deleted.'), decodeEntities(post.title.rendered)), {
84
+ type: 'snackbar',
85
+ id: 'edit-site-post-permanently-deleted'
86
+ });
87
+ } catch (error) {
88
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while permanently deleting the post.');
89
+ createErrorNotice(errorMessage, {
90
+ type: 'snackbar'
91
+ });
92
+ }
93
+ }
94
+ }), [createSuccessNotice, createErrorNotice, deleteEntityRecord]);
95
+ }
96
+ export function useRestorePostAction() {
97
+ const {
98
+ createSuccessNotice,
99
+ createErrorNotice
100
+ } = useDispatch(noticesStore);
101
+ const {
102
+ editEntityRecord,
103
+ saveEditedEntityRecord
104
+ } = useDispatch(coreStore);
105
+ return useMemo(() => ({
106
+ id: 'restore',
107
+ label: __('Restore'),
108
+ isPrimary: true,
109
+ icon: backup,
110
+ isEligible({
111
+ status
112
+ }) {
113
+ return status === 'trash';
114
+ },
115
+ async callback(post) {
116
+ await editEntityRecord('postType', post.type, post.id, {
117
+ status: 'draft'
118
+ });
119
+ try {
120
+ await saveEditedEntityRecord('postType', post.type, post.id, {
121
+ throwOnError: true
122
+ });
123
+ createSuccessNotice(sprintf( /* translators: The posts's title. */
124
+ __('"%s" has been restored.'), decodeEntities(post.title.rendered)), {
125
+ type: 'snackbar',
126
+ id: 'edit-site-post-restored'
127
+ });
128
+ } catch (error) {
129
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : __('An error occurred while restoring the post.');
130
+ createErrorNotice(errorMessage, {
131
+ type: 'snackbar'
132
+ });
133
+ }
134
+ }
135
+ }), [createSuccessNotice, createErrorNotice, editEntityRecord, saveEditedEntityRecord]);
136
+ }
57
137
  export const viewPostAction = {
58
138
  id: 'view-post',
59
139
  label: __('View'),
@@ -62,7 +142,7 @@ export const viewPostAction = {
62
142
  isEligible(post) {
63
143
  return post.status !== 'trash';
64
144
  },
65
- perform(post) {
145
+ callback(post) {
66
146
  document.location.href = post.link;
67
147
  }
68
148
  };
@@ -76,7 +156,7 @@ export function useEditPostAction() {
76
156
  }) {
77
157
  return status !== 'trash';
78
158
  },
79
- perform(post) {
159
+ callback(post) {
80
160
  history.push({
81
161
  postId: post.id,
82
162
  postType: post.type,
@@ -98,7 +178,7 @@ export const postRevisionsAction = {
98
178
  const revisionsCount = (_post$_links$version = post?._links?.['version-history']?.[0]?.count) !== null && _post$_links$version !== void 0 ? _post$_links$version : 0;
99
179
  return lastRevisionId && revisionsCount > 1;
100
180
  },
101
- perform(post) {
181
+ callback(post) {
102
182
  const href = addQueryArgs('revision.php', {
103
183
  revision: post?._links?.['predecessor-version']?.[0]?.id
104
184
  });
@@ -1 +1 @@
1
- {"version":3,"names":["external","trash","addQueryArgs","useDispatch","decodeEntities","store","coreStore","__","sprintf","noticesStore","useMemo","privateApis","routerPrivateApis","unlock","useHistory","useTrashPostAction","createSuccessNotice","createErrorNotice","deleteEntityRecord","id","label","isPrimary","icon","isEligible","status","perform","post","type","throwOnError","title","rendered","error","errorMessage","message","code","viewPostAction","document","location","href","link","useEditPostAction","history","push","postId","postType","canvas","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","revision"],"sources":["@wordpress/edit-site/src/components/actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function useTrashPostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'move-to-trash',\n\t\t\tlabel: __( 'Move to Trash' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: trash,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tasync perform( post ) {\n\t\t\t\ttry {\n\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: The page's title. */\n\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-page-trashed',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while moving the page to the trash.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport const viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tperform( post ) {\n\t\tdocument.location.href = post.link;\n\t},\n};\n\nexport function useEditPostAction() {\n\tconst history = useHistory();\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'edit-post',\n\t\t\tlabel: __( 'Edit' ),\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tperform( post ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t},\n\t\t} ),\n\t\t[ history ]\n\t);\n}\nexport const postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tperform( post ) {\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t},\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["external","trash","backup","addQueryArgs","useDispatch","decodeEntities","store","coreStore","__","sprintf","noticesStore","useMemo","privateApis","routerPrivateApis","unlock","useHistory","useTrashPostAction","createSuccessNotice","createErrorNotice","deleteEntityRecord","id","label","isPrimary","icon","isEligible","status","callback","post","type","throwOnError","title","rendered","error","errorMessage","message","code","usePermanentlyDeletePostAction","force","useRestorePostAction","editEntityRecord","saveEditedEntityRecord","viewPostAction","document","location","href","link","useEditPostAction","history","push","postId","postType","canvas","postRevisionsAction","_post$_links$predeces","_post$_links$version","lastRevisionId","_links","revisionsCount","count","revision"],"sources":["@wordpress/edit-site/src/components/actions/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { external, trash, backup } from '@wordpress/icons';\nimport { addQueryArgs } from '@wordpress/url';\nimport { useDispatch } from '@wordpress/data';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { useMemo } from '@wordpress/element';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n/**\n * Internal dependencies\n */\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nexport function useTrashPostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'move-to-trash',\n\t\t\tlabel: __( 'Move to Trash' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: trash,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tasync callback( post ) {\n\t\t\t\ttry {\n\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t{},\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: The page's title. */\n\t\t\t\t\t\t\t__( '\"%s\" moved to the Trash.' ),\n\t\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-page-trashed',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while moving the page to the trash.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport function usePermanentlyDeletePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { deleteEntityRecord } = useDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'permanently-delete',\n\t\t\tlabel: __( 'Permanently delete' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: trash,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( post ) {\n\t\t\t\ttry {\n\t\t\t\t\tawait deleteEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t{ force: true },\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" permanently deleted.' ),\n\t\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-post-permanently-deleted',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while permanently deleting the post.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[ createSuccessNotice, createErrorNotice, deleteEntityRecord ]\n\t);\n}\n\nexport function useRestorePostAction() {\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { editEntityRecord, saveEditedEntityRecord } =\n\t\tuseDispatch( coreStore );\n\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'restore',\n\t\t\tlabel: __( 'Restore' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status === 'trash';\n\t\t\t},\n\t\t\tasync callback( post ) {\n\t\t\t\tawait editEntityRecord( 'postType', post.type, post.id, {\n\t\t\t\t\tstatus: 'draft',\n\t\t\t\t} );\n\t\t\t\ttry {\n\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\tpost.type,\n\t\t\t\t\t\tpost.id,\n\t\t\t\t\t\t{ throwOnError: true }\n\t\t\t\t\t);\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: The posts's title. */\n\t\t\t\t\t\t\t__( '\"%s\" has been restored.' ),\n\t\t\t\t\t\t\tdecodeEntities( post.title.rendered )\n\t\t\t\t\t\t),\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t\t\tid: 'edit-site-post-restored',\n\t\t\t\t\t\t}\n\t\t\t\t\t);\n\t\t\t\t} catch ( error ) {\n\t\t\t\t\tconst errorMessage =\n\t\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while restoring the post.'\n\t\t\t\t\t\t\t );\n\n\t\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t\t}\n\t\t\t},\n\t\t} ),\n\t\t[\n\t\t\tcreateSuccessNotice,\n\t\t\tcreateErrorNotice,\n\t\t\teditEntityRecord,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nexport const viewPostAction = {\n\tid: 'view-post',\n\tlabel: __( 'View' ),\n\tisPrimary: true,\n\ticon: external,\n\tisEligible( post ) {\n\t\treturn post.status !== 'trash';\n\t},\n\tcallback( post ) {\n\t\tdocument.location.href = post.link;\n\t},\n};\n\nexport function useEditPostAction() {\n\tconst history = useHistory();\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'edit-post',\n\t\t\tlabel: __( 'Edit' ),\n\t\t\tisEligible( { status } ) {\n\t\t\t\treturn status !== 'trash';\n\t\t\t},\n\t\t\tcallback( post ) {\n\t\t\t\thistory.push( {\n\t\t\t\t\tpostId: post.id,\n\t\t\t\t\tpostType: post.type,\n\t\t\t\t\tcanvas: 'edit',\n\t\t\t\t} );\n\t\t\t},\n\t\t} ),\n\t\t[ history ]\n\t);\n}\nexport const postRevisionsAction = {\n\tid: 'view-post-revisions',\n\tlabel: __( 'View revisions' ),\n\tisPrimary: false,\n\tisEligible: ( post ) => {\n\t\tif ( post.status === 'trash' ) {\n\t\t\treturn false;\n\t\t}\n\t\tconst lastRevisionId =\n\t\t\tpost?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id ?? null;\n\t\tconst revisionsCount =\n\t\t\tpost?._links?.[ 'version-history' ]?.[ 0 ]?.count ?? 0;\n\t\treturn lastRevisionId && revisionsCount > 1;\n\t},\n\tcallback( post ) {\n\t\tconst href = addQueryArgs( 'revision.php', {\n\t\t\trevision: post?._links?.[ 'predecessor-version' ]?.[ 0 ]?.id,\n\t\t} );\n\t\tdocument.location.href = href;\n\t},\n};\n"],"mappings":"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"}
@@ -29,7 +29,6 @@ import AddCustomTemplateModalContent from './add-custom-template-modal-content';
29
29
  import { useExistingTemplates, useDefaultTemplateTypes, useTaxonomiesMenuItems, usePostTypeMenuItems, useAuthorMenuItem, usePostTypeArchiveMenuItems } from './utils';
30
30
  import AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';
31
31
  import TemplateActionsLoadingScreen from './template-actions-loading-screen';
32
- import { store as editSiteStore } from '../../store';
33
32
  import { unlock } from '../../lock-unlock';
34
33
  const {
35
34
  useHistory
@@ -109,9 +108,6 @@ export default function NewTemplate({
109
108
  createErrorNotice,
110
109
  createSuccessNotice
111
110
  } = useDispatch(noticesStore);
112
- const {
113
- setTemplate
114
- } = unlock(useDispatch(editSiteStore));
115
111
  const {
116
112
  homeUrl
117
113
  } = useSelect(select => {
@@ -151,9 +147,6 @@ export default function NewTemplate({
151
147
  throwOnError: true
152
148
  });
153
149
 
154
- // Set template before navigating away to avoid initial stale value.
155
- setTemplate(newTemplate.id, newTemplate.slug);
156
-
157
150
  // Navigate to the created template editor.
158
151
  history.push({
159
152
  postId: newTemplate.id,
@@ -1 +1 @@
1
- {"version":3,"names":["classnames","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","useSelect","useDispatch","store","coreStore","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","plus","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","TemplateActionsLoadingScreen","editSiteStore","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","createElement","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplate","postType","toggleProps","showIcon","showModal","setShowModal","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isCreatingTemplate","setIsCreatingTemplate","history","saveEntityRecord","createErrorNotice","createSuccessNotice","setTemplate","homeUrl","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","id","push","postId","type","canvas","rendered","error","errorMessage","message","code","onModalClose","missingTemplates","useMissingTemplates","length","Toggle","restToggleProps","modalTitle","labels","singular_name","Fragment","add_new_item","onRequestClose","overlayClassName","undefined","columns","gap","map","key","onSelect","onClose","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tplus,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nexport default function NewTemplate( {\n\tpostType,\n\ttoggleProps,\n\tshowIcon = true,\n} ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isCreatingTemplate, setIsCreatingTemplate ] = useState( false );\n\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\tconst { setTemplate } = unlock( useDispatch( editSiteStore ) );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isCreatingTemplate ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingTemplate( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Set template before navigating away to avoid initial stale value.\n\t\t\tsetTemplate( newTemplate.id, newTemplate.slug );\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: newTemplate.type,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingTemplate( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tsetShowModal( false );\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\tconst { as: Toggle = Button, ...restToggleProps } = toggleProps ?? {};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t<Toggle\n\t\t\t\t{ ...restToggleProps }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\ticon={ showIcon ? plus : null }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t>\n\t\t\t\t{ showIcon ? null : postType.labels.add_new_item }\n\t\t\t</Toggle>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ modalTitle }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-add-new-template__modal',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onModalClose }\n\t\t\t\t\toverlayClassName={\n\t\t\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_ICONS[ slug ] || layout\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</TemplateListItem>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent ===\n\t\t\t\t\t\tmodalContentMap.customGenericTemplate && (\n\t\t\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["classnames","Button","Modal","__experimentalGrid","Grid","__experimentalText","Text","__experimentalVStack","VStack","Flex","Icon","decodeEntities","useState","useSelect","useDispatch","store","coreStore","archive","blockMeta","calendar","category","commentAuthorAvatar","edit","home","layout","list","media","notFound","page","plus","pin","verse","search","tag","__","sprintf","noticesStore","privateApis","routerPrivateApis","TEMPLATE_POST_TYPE","AddCustomTemplateModalContent","useExistingTemplates","useDefaultTemplateTypes","useTaxonomiesMenuItems","usePostTypeMenuItems","useAuthorMenuItem","usePostTypeArchiveMenuItems","AddCustomGenericTemplateModalContent","TemplateActionsLoadingScreen","unlock","useHistory","DEFAULT_TEMPLATE_SLUGS","TEMPLATE_ICONS","single","index","author","taxonomy","date","attachment","TemplateListItem","title","direction","className","description","icon","onClick","children","createElement","label","showTooltip","as","spacing","align","justify","style","width","alignment","weight","lineHeight","modalContentMap","templatesList","customTemplate","customGenericTemplate","NewTemplate","postType","toggleProps","showIcon","showModal","setShowModal","modalContent","setModalContent","entityForSuggestions","setEntityForSuggestions","isCreatingTemplate","setIsCreatingTemplate","history","saveEntityRecord","createErrorNotice","createSuccessNotice","homeUrl","select","getUnstableBase","TEMPLATE_SHORT_DESCRIPTIONS","Date","getFullYear","createTemplate","template","isWPSuggestion","slug","newTemplate","toString","status","is_wp_suggestion","throwOnError","push","postId","id","type","canvas","rendered","error","errorMessage","message","code","onModalClose","missingTemplates","useMissingTemplates","length","Toggle","restToggleProps","modalTitle","labels","singular_name","Fragment","add_new_item","onRequestClose","overlayClassName","undefined","columns","gap","map","key","onSelect","onClose","existingTemplates","defaultTemplateTypes","existingTemplateSlugs","missingDefaultTemplates","filter","includes","onClickMenuItem","_entityForSuggestions","enhancedMissingDefaultTemplateTypes","defaultTaxonomiesMenuItems","taxonomiesMenuItems","defaultPostTypesMenuItems","postTypesMenuItems","authorMenuItem","forEach","menuItem","matchIndex","findIndex","sort","template1","template2","indexOf"],"sources":["@wordpress/edit-site/src/components/add-new-template/new-template.js"],"sourcesContent":["/**\n * External dependencies\n */\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport {\n\tButton,\n\tModal,\n\t__experimentalGrid as Grid,\n\t__experimentalText as Text,\n\t__experimentalVStack as VStack,\n\tFlex,\n\tIcon,\n} from '@wordpress/components';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport { useState } from '@wordpress/element';\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport {\n\tarchive,\n\tblockMeta,\n\tcalendar,\n\tcategory,\n\tcommentAuthorAvatar,\n\tedit,\n\thome,\n\tlayout,\n\tlist,\n\tmedia,\n\tnotFound,\n\tpage,\n\tplus,\n\tpin,\n\tverse,\n\tsearch,\n\ttag,\n} from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\n/**\n * Internal dependencies\n */\nimport AddCustomTemplateModalContent from './add-custom-template-modal-content';\nimport {\n\tuseExistingTemplates,\n\tuseDefaultTemplateTypes,\n\tuseTaxonomiesMenuItems,\n\tusePostTypeMenuItems,\n\tuseAuthorMenuItem,\n\tusePostTypeArchiveMenuItems,\n} from './utils';\nimport AddCustomGenericTemplateModalContent from './add-custom-generic-template-modal-content';\nimport TemplateActionsLoadingScreen from './template-actions-loading-screen';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory } = unlock( routerPrivateApis );\n\nconst DEFAULT_TEMPLATE_SLUGS = [\n\t'front-page',\n\t'home',\n\t'single',\n\t'page',\n\t'index',\n\t'archive',\n\t'author',\n\t'category',\n\t'date',\n\t'tag',\n\t'search',\n\t'404',\n];\n\nconst TEMPLATE_ICONS = {\n\t'front-page': home,\n\thome: verse,\n\tsingle: pin,\n\tpage,\n\tarchive,\n\tsearch,\n\t404: notFound,\n\tindex: list,\n\tcategory,\n\tauthor: commentAuthorAvatar,\n\ttaxonomy: blockMeta,\n\tdate: calendar,\n\ttag,\n\tattachment: media,\n};\n\nfunction TemplateListItem( {\n\ttitle,\n\tdirection,\n\tclassName,\n\tdescription,\n\ticon,\n\tonClick,\n\tchildren,\n} ) {\n\treturn (\n\t\t<Button\n\t\t\tclassName={ className }\n\t\t\tonClick={ onClick }\n\t\t\tlabel={ description }\n\t\t\tshowTooltip={ !! description }\n\t\t>\n\t\t\t<Flex\n\t\t\t\tas=\"span\"\n\t\t\t\tspacing={ 2 }\n\t\t\t\talign=\"center\"\n\t\t\t\tjustify=\"center\"\n\t\t\t\tstyle={ { width: '100%' } }\n\t\t\t\tdirection={ direction }\n\t\t\t>\n\t\t\t\t<div className=\"edit-site-add-new-template__template-icon\">\n\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t</div>\n\t\t\t\t<VStack\n\t\t\t\t\tclassName=\"edit-site-add-new-template__template-name\"\n\t\t\t\t\talignment=\"center\"\n\t\t\t\t\tspacing={ 0 }\n\t\t\t\t>\n\t\t\t\t\t<Text\n\t\t\t\t\t\tweight={ 500 }\n\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t>\n\t\t\t\t\t\t{ title }\n\t\t\t\t\t</Text>\n\t\t\t\t\t{ children }\n\t\t\t\t</VStack>\n\t\t\t</Flex>\n\t\t</Button>\n\t);\n}\n\nconst modalContentMap = {\n\ttemplatesList: 1,\n\tcustomTemplate: 2,\n\tcustomGenericTemplate: 3,\n};\n\nexport default function NewTemplate( {\n\tpostType,\n\ttoggleProps,\n\tshowIcon = true,\n} ) {\n\tconst [ showModal, setShowModal ] = useState( false );\n\tconst [ modalContent, setModalContent ] = useState(\n\t\tmodalContentMap.templatesList\n\t);\n\tconst [ entityForSuggestions, setEntityForSuggestions ] = useState( {} );\n\tconst [ isCreatingTemplate, setIsCreatingTemplate ] = useState( false );\n\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst { createErrorNotice, createSuccessNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst TEMPLATE_SHORT_DESCRIPTIONS = {\n\t\t'front-page': homeUrl,\n\t\tdate: sprintf(\n\t\t\t// translators: %s: The homepage url.\n\t\t\t__( 'E.g. %s' ),\n\t\t\thomeUrl + '/' + new Date().getFullYear()\n\t\t),\n\t};\n\n\tasync function createTemplate( template, isWPSuggestion = true ) {\n\t\tif ( isCreatingTemplate ) {\n\t\t\treturn;\n\t\t}\n\t\tsetIsCreatingTemplate( true );\n\t\ttry {\n\t\t\tconst { title, description, slug } = template;\n\t\t\tconst newTemplate = await saveEntityRecord(\n\t\t\t\t'postType',\n\t\t\t\tTEMPLATE_POST_TYPE,\n\t\t\t\t{\n\t\t\t\t\tdescription,\n\t\t\t\t\t// Slugs need to be strings, so this is for template `404`\n\t\t\t\t\tslug: slug.toString(),\n\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\ttitle,\n\t\t\t\t\t// This adds a post meta field in template that is part of `is_custom` value calculation.\n\t\t\t\t\tis_wp_suggestion: isWPSuggestion,\n\t\t\t\t},\n\t\t\t\t{ throwOnError: true }\n\t\t\t);\n\n\t\t\t// Navigate to the created template editor.\n\t\t\thistory.push( {\n\t\t\t\tpostId: newTemplate.id,\n\t\t\t\tpostType: newTemplate.type,\n\t\t\t\tcanvas: 'edit',\n\t\t\t} );\n\n\t\t\tcreateSuccessNotice(\n\t\t\t\tsprintf(\n\t\t\t\t\t// translators: %s: Title of the created template e.g: \"Category\".\n\t\t\t\t\t__( '\"%s\" successfully created.' ),\n\t\t\t\t\tdecodeEntities( newTemplate.title?.rendered || title )\n\t\t\t\t),\n\t\t\t\t{\n\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t}\n\t\t\t);\n\t\t} catch ( error ) {\n\t\t\tconst errorMessage =\n\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t? error.message\n\t\t\t\t\t: __( 'An error occurred while creating the template.' );\n\n\t\t\tcreateErrorNotice( errorMessage, {\n\t\t\t\ttype: 'snackbar',\n\t\t\t} );\n\t\t} finally {\n\t\t\tsetIsCreatingTemplate( false );\n\t\t}\n\t}\n\tconst onModalClose = () => {\n\t\tsetShowModal( false );\n\t\tsetModalContent( modalContentMap.templatesList );\n\t};\n\n\tconst missingTemplates = useMissingTemplates( setEntityForSuggestions, () =>\n\t\tsetModalContent( modalContentMap.customTemplate )\n\t);\n\tif ( ! missingTemplates.length ) {\n\t\treturn null;\n\t}\n\tconst { as: Toggle = Button, ...restToggleProps } = toggleProps ?? {};\n\n\tlet modalTitle = __( 'Add template' );\n\tif ( modalContent === modalContentMap.customTemplate ) {\n\t\tmodalTitle = sprintf(\n\t\t\t// translators: %s: Name of the post type e.g: \"Post\".\n\t\t\t__( 'Add template: %s' ),\n\t\t\tentityForSuggestions.labels.singular_name\n\t\t);\n\t} else if ( modalContent === modalContentMap.customGenericTemplate ) {\n\t\tmodalTitle = __( 'Create custom template' );\n\t}\n\treturn (\n\t\t<>\n\t\t\t{ isCreatingTemplate && <TemplateActionsLoadingScreen /> }\n\t\t\t<Toggle\n\t\t\t\t{ ...restToggleProps }\n\t\t\t\tonClick={ () => setShowModal( true ) }\n\t\t\t\ticon={ showIcon ? plus : null }\n\t\t\t\tlabel={ postType.labels.add_new_item }\n\t\t\t>\n\t\t\t\t{ showIcon ? null : postType.labels.add_new_item }\n\t\t\t</Toggle>\n\t\t\t{ showModal && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ modalTitle }\n\t\t\t\t\tclassName={ classnames(\n\t\t\t\t\t\t'edit-site-add-new-template__modal',\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t'edit-site-add-new-template__modal_template_list':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.templatesList,\n\t\t\t\t\t\t\t'edit-site-custom-template-modal':\n\t\t\t\t\t\t\t\tmodalContent === modalContentMap.customTemplate,\n\t\t\t\t\t\t}\n\t\t\t\t\t) }\n\t\t\t\t\tonRequestClose={ onModalClose }\n\t\t\t\t\toverlayClassName={\n\t\t\t\t\t\tmodalContent === modalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t? 'edit-site-custom-generic-template__modal'\n\t\t\t\t\t\t\t: undefined\n\t\t\t\t\t}\n\t\t\t\t>\n\t\t\t\t\t{ modalContent === modalContentMap.templatesList && (\n\t\t\t\t\t\t<Grid\n\t\t\t\t\t\t\tcolumns={ 3 }\n\t\t\t\t\t\t\tgap={ 4 }\n\t\t\t\t\t\t\talign=\"flex-start\"\n\t\t\t\t\t\t\tjustify=\"center\"\n\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-list__contents\"\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t<Flex className=\"edit-site-add-new-template__template-list__prompt\">\n\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t'Select what the new template should apply to:'\n\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t</Flex>\n\t\t\t\t\t\t\t{ missingTemplates.map( ( template ) => {\n\t\t\t\t\t\t\t\tconst { title, slug, onClick } = template;\n\t\t\t\t\t\t\t\treturn (\n\t\t\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\t\t\tkey={ slug }\n\t\t\t\t\t\t\t\t\t\ttitle={ title }\n\t\t\t\t\t\t\t\t\t\tdirection=\"column\"\n\t\t\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__template-button\"\n\t\t\t\t\t\t\t\t\t\tdescription={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_SHORT_DESCRIPTIONS[ slug ]\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\ticon={\n\t\t\t\t\t\t\t\t\t\t\tTEMPLATE_ICONS[ slug ] || layout\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\t\t\tonClick\n\t\t\t\t\t\t\t\t\t\t\t\t? onClick( template )\n\t\t\t\t\t\t\t\t\t\t\t\t: createTemplate( template )\n\t\t\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t} ) }\n\t\t\t\t\t\t\t<TemplateListItem\n\t\t\t\t\t\t\t\ttitle={ __( 'Custom template' ) }\n\t\t\t\t\t\t\t\tdirection=\"row\"\n\t\t\t\t\t\t\t\tclassName=\"edit-site-add-new-template__custom-template-button\"\n\t\t\t\t\t\t\t\ticon={ edit }\n\t\t\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\t\t\tsetModalContent(\n\t\t\t\t\t\t\t\t\t\tmodalContentMap.customGenericTemplate\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t<Text\n\t\t\t\t\t\t\t\t\tlineHeight={ 1.53846153846 } // 20px\n\t\t\t\t\t\t\t\t>\n\t\t\t\t\t\t\t\t\t{ __(\n\t\t\t\t\t\t\t\t\t\t'A custom template can be manually applied to any post or page.'\n\t\t\t\t\t\t\t\t\t) }\n\t\t\t\t\t\t\t\t</Text>\n\t\t\t\t\t\t\t</TemplateListItem>\n\t\t\t\t\t\t</Grid>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent === modalContentMap.customTemplate && (\n\t\t\t\t\t\t<AddCustomTemplateModalContent\n\t\t\t\t\t\t\tonSelect={ createTemplate }\n\t\t\t\t\t\t\tentityForSuggestions={ entityForSuggestions }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t\t{ modalContent ===\n\t\t\t\t\t\tmodalContentMap.customGenericTemplate && (\n\t\t\t\t\t\t<AddCustomGenericTemplateModalContent\n\t\t\t\t\t\t\tonClose={ onModalClose }\n\t\t\t\t\t\t\tcreateTemplate={ createTemplate }\n\t\t\t\t\t\t/>\n\t\t\t\t\t) }\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n\nfunction useMissingTemplates( setEntityForSuggestions, onClick ) {\n\tconst existingTemplates = useExistingTemplates();\n\tconst defaultTemplateTypes = useDefaultTemplateTypes();\n\tconst existingTemplateSlugs = ( existingTemplates || [] ).map(\n\t\t( { slug } ) => slug\n\t);\n\tconst missingDefaultTemplates = ( defaultTemplateTypes || [] ).filter(\n\t\t( template ) =>\n\t\t\tDEFAULT_TEMPLATE_SLUGS.includes( template.slug ) &&\n\t\t\t! existingTemplateSlugs.includes( template.slug )\n\t);\n\tconst onClickMenuItem = ( _entityForSuggestions ) => {\n\t\tonClick?.();\n\t\tsetEntityForSuggestions( _entityForSuggestions );\n\t};\n\t// We need to replace existing default template types with\n\t// the create specific template functionality. The original\n\t// info (title, description, etc.) is preserved in the\n\t// used hooks.\n\tconst enhancedMissingDefaultTemplateTypes = [ ...missingDefaultTemplates ];\n\tconst { defaultTaxonomiesMenuItems, taxonomiesMenuItems } =\n\t\tuseTaxonomiesMenuItems( onClickMenuItem );\n\tconst { defaultPostTypesMenuItems, postTypesMenuItems } =\n\t\tusePostTypeMenuItems( onClickMenuItem );\n\n\tconst authorMenuItem = useAuthorMenuItem( onClickMenuItem );\n\t[\n\t\t...defaultTaxonomiesMenuItems,\n\t\t...defaultPostTypesMenuItems,\n\t\tauthorMenuItem,\n\t].forEach( ( menuItem ) => {\n\t\tif ( ! menuItem ) {\n\t\t\treturn;\n\t\t}\n\t\tconst matchIndex = enhancedMissingDefaultTemplateTypes.findIndex(\n\t\t\t( template ) => template.slug === menuItem.slug\n\t\t);\n\t\t// Some default template types might have been filtered above from\n\t\t// `missingDefaultTemplates` because they only check for the general\n\t\t// template. So here we either replace or append the item, augmented\n\t\t// with the check if it has available specific item to create a\n\t\t// template for.\n\t\tif ( matchIndex > -1 ) {\n\t\t\tenhancedMissingDefaultTemplateTypes[ matchIndex ] = menuItem;\n\t\t} else {\n\t\t\tenhancedMissingDefaultTemplateTypes.push( menuItem );\n\t\t}\n\t} );\n\t// Update the sort order to match the DEFAULT_TEMPLATE_SLUGS order.\n\tenhancedMissingDefaultTemplateTypes?.sort( ( template1, template2 ) => {\n\t\treturn (\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template1.slug ) -\n\t\t\tDEFAULT_TEMPLATE_SLUGS.indexOf( template2.slug )\n\t\t);\n\t} );\n\tconst missingTemplates = [\n\t\t...enhancedMissingDefaultTemplateTypes,\n\t\t...usePostTypeArchiveMenuItems(),\n\t\t...postTypesMenuItems,\n\t\t...taxonomiesMenuItems,\n\t];\n\treturn missingTemplates;\n}\n"],"mappings":"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"}
@@ -4,12 +4,17 @@
4
4
  import { useDispatch, useSelect } from '@wordpress/data';
5
5
  import { useMemo } from '@wordpress/element';
6
6
  import { store as coreStore } from '@wordpress/core-data';
7
+ import { privateApis as editorPrivateApis } from '@wordpress/editor';
8
+ import { store as preferencesStore } from '@wordpress/preferences';
9
+
7
10
  /**
8
11
  * Internal dependencies
9
12
  */
10
13
  import { store as editSiteStore } from '../../store';
11
14
  import { unlock } from '../../lock-unlock';
12
- import inserterMediaCategories from './inserter-media-categories';
15
+ const {
16
+ useBlockEditorSettings
17
+ } = unlock(editorPrivateApis);
13
18
  function useArchiveLabel(templateSlug) {
14
19
  const taxonomyMatches = templateSlug?.match(/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/);
15
20
  let taxonomy;
@@ -76,90 +81,77 @@ function useArchiveLabel(templateSlug) {
76
81
  };
77
82
  }, [authorSlug, isAuthor, taxonomy, term]);
78
83
  }
79
- export default function useSiteEditorSettings() {
80
- var _storedSettings$__exp, _storedSettings$__exp2;
84
+ export function useSpecificEditorSettings() {
81
85
  const {
82
86
  setIsInserterOpened
83
87
  } = useDispatch(editSiteStore);
84
88
  const {
85
- storedSettings,
89
+ templateSlug,
90
+ focusMode,
91
+ isDistractionFree,
92
+ hasFixedToolbar,
93
+ keepCaretInsideBlock,
86
94
  canvasMode,
87
- templateType,
88
- siteSettings
95
+ settings
89
96
  } = useSelect(select => {
90
97
  const {
91
- canUser,
92
- getEntityRecord
93
- } = select(coreStore);
94
- const {
95
- getSettings,
98
+ getEditedPostType,
99
+ getEditedPostId,
96
100
  getCanvasMode,
97
- getEditedPostType
101
+ getSettings
98
102
  } = unlock(select(editSiteStore));
99
- return {
100
- storedSettings: getSettings(setIsInserterOpened),
101
- canvasMode: getCanvasMode(),
102
- templateType: getEditedPostType(),
103
- siteSettings: canUser('read', 'settings') ? getEntityRecord('root', 'site') : undefined
104
- };
105
- }, [setIsInserterOpened]);
106
- const settingsBlockPatterns = (_storedSettings$__exp = storedSettings.__experimentalAdditionalBlockPatterns) !== null && _storedSettings$__exp !== void 0 ? _storedSettings$__exp :
107
- // WP 6.0
108
- storedSettings.__experimentalBlockPatterns; // WP 5.9
109
- const settingsBlockPatternCategories = (_storedSettings$__exp2 = storedSettings.__experimentalAdditionalBlockPatternCategories) !== null && _storedSettings$__exp2 !== void 0 ? _storedSettings$__exp2 :
110
- // WP 6.0
111
- storedSettings.__experimentalBlockPatternCategories; // WP 5.9
112
-
113
- const {
114
- restBlockPatterns,
115
- restBlockPatternCategories,
116
- templateSlug,
117
- userPatternCategories
118
- } = useSelect(select => {
119
103
  const {
120
- getEditedPostType,
121
- getEditedPostId
122
- } = select(editSiteStore);
104
+ get: getPreference
105
+ } = select(preferencesStore);
123
106
  const {
124
- getEditedEntityRecord,
125
- getUserPatternCategories
107
+ getEditedEntityRecord
126
108
  } = select(coreStore);
127
109
  const usedPostType = getEditedPostType();
128
110
  const usedPostId = getEditedPostId();
129
111
  const _record = getEditedEntityRecord('postType', usedPostType, usedPostId);
130
112
  return {
131
- restBlockPatterns: select(coreStore).getBlockPatterns(),
132
- restBlockPatternCategories: select(coreStore).getBlockPatternCategories(),
133
113
  templateSlug: _record.slug,
134
- userPatternCategories: getUserPatternCategories()
114
+ focusMode: !!getPreference('core/edit-site', 'focusMode'),
115
+ isDistractionFree: !!getPreference('core/edit-site', 'distractionFree'),
116
+ hasFixedToolbar: !!getPreference('core/edit-site', 'fixedToolbar'),
117
+ keepCaretInsideBlock: !!getPreference('core/edit-site', 'keepCaretInsideBlock'),
118
+ canvasMode: getCanvasMode(),
119
+ settings: getSettings()
135
120
  };
136
121
  }, []);
137
122
  const archiveLabels = useArchiveLabel(templateSlug);
138
- const blockPatterns = useMemo(() => [...(settingsBlockPatterns || []), ...(restBlockPatterns || [])].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name)).filter(({
139
- postTypes
140
- }) => {
141
- return !postTypes || Array.isArray(postTypes) && postTypes.includes(templateType);
142
- }), [settingsBlockPatterns, restBlockPatterns, templateType]);
143
- const blockPatternCategories = useMemo(() => [...(settingsBlockPatternCategories || []), ...(restBlockPatternCategories || [])].filter((x, index, arr) => index === arr.findIndex(y => x.name === y.name)), [settingsBlockPatternCategories, restBlockPatternCategories]);
144
- return useMemo(() => {
145
- const {
146
- __experimentalAdditionalBlockPatterns,
147
- __experimentalAdditionalBlockPatternCategories,
148
- focusMode,
149
- ...restStoredSettings
150
- } = storedSettings;
123
+ const defaultEditorSettings = useMemo(() => {
151
124
  return {
152
- ...restStoredSettings,
153
- inserterMediaCategories,
154
- __experimentalBlockPatterns: blockPatterns,
155
- __experimentalBlockPatternCategories: blockPatternCategories,
156
- __experimentalUserPatternCategories: userPatternCategories,
125
+ ...settings,
126
+ __experimentalSetIsInserterOpened: setIsInserterOpened,
157
127
  focusMode: canvasMode === 'view' && focusMode ? false : focusMode,
128
+ isDistractionFree,
129
+ hasFixedToolbar,
130
+ keepCaretInsideBlock,
131
+ // I wonder if they should be set in the post editor too
158
132
  __experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,
159
- __experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,
160
- pageOnFront: siteSettings?.page_on_front,
161
- pageForPosts: siteSettings?.page_for_posts
133
+ __experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel
162
134
  };
163
- }, [storedSettings, blockPatterns, blockPatternCategories, userPatternCategories, canvasMode, archiveLabels.archiveTypeLabel, archiveLabels.archiveNameLabel, siteSettings?.page_on_front, siteSettings?.page_for_posts]);
135
+ }, [settings, setIsInserterOpened, focusMode, isDistractionFree, hasFixedToolbar, keepCaretInsideBlock, canvasMode, archiveLabels.archiveTypeLabel, archiveLabels.archiveNameLabel]);
136
+ return defaultEditorSettings;
137
+ }
138
+ export default function useSiteEditorSettings() {
139
+ const defaultEditorSettings = useSpecificEditorSettings();
140
+ const {
141
+ postType,
142
+ postId
143
+ } = useSelect(select => {
144
+ const {
145
+ getEditedPostType,
146
+ getEditedPostId
147
+ } = unlock(select(editSiteStore));
148
+ const usedPostType = getEditedPostType();
149
+ const usedPostId = getEditedPostId();
150
+ return {
151
+ postType: usedPostType,
152
+ postId: usedPostId
153
+ };
154
+ }, []);
155
+ return useBlockEditorSettings(defaultEditorSettings, postType, postId);
164
156
  }
165
157
  //# sourceMappingURL=use-site-editor-settings.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useDispatch","useSelect","useMemo","store","coreStore","editSiteStore","unlock","inserterMediaCategories","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useSiteEditorSettings","_storedSettings$__exp","_storedSettings$__exp2","setIsInserterOpened","storedSettings","canvasMode","templateType","siteSettings","canUser","getEntityRecord","getSettings","getCanvasMode","getEditedPostType","undefined","settingsBlockPatterns","__experimentalAdditionalBlockPatterns","__experimentalBlockPatterns","settingsBlockPatternCategories","__experimentalAdditionalBlockPatternCategories","__experimentalBlockPatternCategories","restBlockPatterns","restBlockPatternCategories","userPatternCategories","getEditedPostId","getEditedEntityRecord","getUserPatternCategories","usedPostType","usedPostId","_record","getBlockPatterns","getBlockPatternCategories","archiveLabels","blockPatterns","filter","x","index","arr","findIndex","y","postTypes","Array","isArray","includes","blockPatternCategories","focusMode","restStoredSettings","__experimentalUserPatternCategories","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","pageOnFront","page_on_front","pageForPosts","page_for_posts"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\nimport inserterMediaCategories from './inserter-media-categories';\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nexport default function useSiteEditorSettings() {\n\tconst { setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst { storedSettings, canvasMode, templateType, siteSettings } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst { canUser, getEntityRecord } = select( coreStore );\n\t\t\t\tconst { getSettings, getCanvasMode, getEditedPostType } =\n\t\t\t\t\tunlock( select( editSiteStore ) );\n\t\t\t\treturn {\n\t\t\t\t\tstoredSettings: getSettings( setIsInserterOpened ),\n\t\t\t\t\tcanvasMode: getCanvasMode(),\n\t\t\t\t\ttemplateType: getEditedPostType(),\n\t\t\t\t\tsiteSettings: canUser( 'read', 'settings' )\n\t\t\t\t\t\t? getEntityRecord( 'root', 'site' )\n\t\t\t\t\t\t: undefined,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ setIsInserterOpened ]\n\t\t);\n\n\tconst settingsBlockPatterns =\n\t\tstoredSettings.__experimentalAdditionalBlockPatterns ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatterns; // WP 5.9\n\tconst settingsBlockPatternCategories =\n\t\tstoredSettings.__experimentalAdditionalBlockPatternCategories ?? // WP 6.0\n\t\tstoredSettings.__experimentalBlockPatternCategories; // WP 5.9\n\n\tconst {\n\t\trestBlockPatterns,\n\t\trestBlockPatternCategories,\n\t\ttemplateSlug,\n\t\tuserPatternCategories,\n\t} = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = select( editSiteStore );\n\t\tconst { getEditedEntityRecord, getUserPatternCategories } =\n\t\t\tselect( coreStore );\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\tconst _record = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\tusedPostType,\n\t\t\tusedPostId\n\t\t);\n\t\treturn {\n\t\t\trestBlockPatterns: select( coreStore ).getBlockPatterns(),\n\t\t\trestBlockPatternCategories:\n\t\t\t\tselect( coreStore ).getBlockPatternCategories(),\n\t\t\ttemplateSlug: _record.slug,\n\t\t\tuserPatternCategories: getUserPatternCategories(),\n\t\t};\n\t}, [] );\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\n\tconst blockPatterns = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatterns || [] ),\n\t\t\t\t...( restBlockPatterns || [] ),\n\t\t\t]\n\t\t\t\t.filter(\n\t\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t\t)\n\t\t\t\t.filter( ( { postTypes } ) => {\n\t\t\t\t\treturn (\n\t\t\t\t\t\t! postTypes ||\n\t\t\t\t\t\t( Array.isArray( postTypes ) &&\n\t\t\t\t\t\t\tpostTypes.includes( templateType ) )\n\t\t\t\t\t);\n\t\t\t\t} ),\n\t\t[ settingsBlockPatterns, restBlockPatterns, templateType ]\n\t);\n\n\tconst blockPatternCategories = useMemo(\n\t\t() =>\n\t\t\t[\n\t\t\t\t...( settingsBlockPatternCategories || [] ),\n\t\t\t\t...( restBlockPatternCategories || [] ),\n\t\t\t].filter(\n\t\t\t\t( x, index, arr ) =>\n\t\t\t\t\tindex === arr.findIndex( ( y ) => x.name === y.name )\n\t\t\t),\n\t\t[ settingsBlockPatternCategories, restBlockPatternCategories ]\n\t);\n\treturn useMemo( () => {\n\t\tconst {\n\t\t\t__experimentalAdditionalBlockPatterns,\n\t\t\t__experimentalAdditionalBlockPatternCategories,\n\t\t\tfocusMode,\n\t\t\t...restStoredSettings\n\t\t} = storedSettings;\n\n\t\treturn {\n\t\t\t...restStoredSettings,\n\t\t\tinserterMediaCategories,\n\t\t\t__experimentalBlockPatterns: blockPatterns,\n\t\t\t__experimentalBlockPatternCategories: blockPatternCategories,\n\t\t\t__experimentalUserPatternCategories: userPatternCategories,\n\t\t\tfocusMode: canvasMode === 'view' && focusMode ? false : focusMode,\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t\tpageOnFront: siteSettings?.page_on_front,\n\t\t\tpageForPosts: siteSettings?.page_for_posts,\n\t\t};\n\t}, [\n\t\tstoredSettings,\n\t\tblockPatterns,\n\t\tblockPatternCategories,\n\t\tuserPatternCategories,\n\t\tcanvasMode,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t\tsiteSettings?.page_on_front,\n\t\tsiteSettings?.page_for_posts,\n\t] );\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useDispatch","useSelect","useMemo","store","coreStore","privateApis","editorPrivateApis","preferencesStore","editSiteStore","unlock","useBlockEditorSettings","useArchiveLabel","templateSlug","taxonomyMatches","match","taxonomy","term","isAuthor","authorSlug","authorMatches","select","getEntityRecords","getTaxonomy","getAuthors","archiveTypeLabel","archiveNameLabel","labels","singular_name","records","slug","per_page","name","authorRecords","useSpecificEditorSettings","setIsInserterOpened","focusMode","isDistractionFree","hasFixedToolbar","keepCaretInsideBlock","canvasMode","settings","getEditedPostType","getEditedPostId","getCanvasMode","getSettings","get","getPreference","getEditedEntityRecord","usedPostType","usedPostId","_record","archiveLabels","defaultEditorSettings","__experimentalSetIsInserterOpened","__experimentalArchiveTitleTypeLabel","__experimentalArchiveTitleNameLabel","useSiteEditorSettings","postType","postId"],"sources":["@wordpress/edit-site/src/components/block-editor/use-site-editor-settings.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useDispatch, useSelect } from '@wordpress/data';\nimport { useMemo } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { privateApis as editorPrivateApis } from '@wordpress/editor';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { unlock } from '../../lock-unlock';\n\nconst { useBlockEditorSettings } = unlock( editorPrivateApis );\n\nfunction useArchiveLabel( templateSlug ) {\n\tconst taxonomyMatches = templateSlug?.match(\n\t\t/^(category|tag|taxonomy-([^-]+))$|^(((category|tag)|taxonomy-([^-]+))-(.+))$/\n\t);\n\tlet taxonomy;\n\tlet term;\n\tlet isAuthor = false;\n\tlet authorSlug;\n\tif ( taxonomyMatches ) {\n\t\t// If is for a all taxonomies of a type\n\t\tif ( taxonomyMatches[ 1 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 2 ]\n\t\t\t\t? taxonomyMatches[ 2 ]\n\t\t\t\t: taxonomyMatches[ 1 ];\n\t\t}\n\t\t// If is for a all taxonomies of a type\n\t\telse if ( taxonomyMatches[ 3 ] ) {\n\t\t\ttaxonomy = taxonomyMatches[ 6 ]\n\t\t\t\t? taxonomyMatches[ 6 ]\n\t\t\t\t: taxonomyMatches[ 4 ];\n\t\t\tterm = taxonomyMatches[ 7 ];\n\t\t}\n\t\ttaxonomy = taxonomy === 'tag' ? 'post_tag' : taxonomy;\n\n\t\t//getTaxonomy( 'category' );\n\t\t//wp.data.select('core').getEntityRecords( 'taxonomy', 'category', {slug: 'newcat'} );\n\t} else {\n\t\tconst authorMatches = templateSlug?.match( /^(author)$|^author-(.+)$/ );\n\t\tif ( authorMatches ) {\n\t\t\tisAuthor = true;\n\t\t\tif ( authorMatches[ 2 ] ) {\n\t\t\t\tauthorSlug = authorMatches[ 2 ];\n\t\t\t}\n\t\t}\n\t}\n\treturn useSelect(\n\t\t( select ) => {\n\t\t\tconst { getEntityRecords, getTaxonomy, getAuthors } =\n\t\t\t\tselect( coreStore );\n\t\t\tlet archiveTypeLabel;\n\t\t\tlet archiveNameLabel;\n\t\t\tif ( taxonomy ) {\n\t\t\t\tarchiveTypeLabel =\n\t\t\t\t\tgetTaxonomy( taxonomy )?.labels?.singular_name;\n\t\t\t}\n\t\t\tif ( term ) {\n\t\t\t\tconst records = getEntityRecords( 'taxonomy', taxonomy, {\n\t\t\t\t\tslug: term,\n\t\t\t\t\tper_page: 1,\n\t\t\t\t} );\n\t\t\t\tif ( records && records[ 0 ] ) {\n\t\t\t\t\tarchiveNameLabel = records[ 0 ].name;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif ( isAuthor ) {\n\t\t\t\tarchiveTypeLabel = 'Author';\n\t\t\t\tif ( authorSlug ) {\n\t\t\t\t\tconst authorRecords = getAuthors( { slug: authorSlug } );\n\t\t\t\t\tif ( authorRecords && authorRecords[ 0 ] ) {\n\t\t\t\t\t\tarchiveNameLabel = authorRecords[ 0 ].name;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn {\n\t\t\t\tarchiveTypeLabel,\n\t\t\t\tarchiveNameLabel,\n\t\t\t};\n\t\t},\n\t\t[ authorSlug, isAuthor, taxonomy, term ]\n\t);\n}\n\nexport function useSpecificEditorSettings() {\n\tconst { setIsInserterOpened } = useDispatch( editSiteStore );\n\tconst {\n\t\ttemplateSlug,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\tkeepCaretInsideBlock,\n\t\tcanvasMode,\n\t\tsettings,\n\t} = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetEditedPostType,\n\t\t\tgetEditedPostId,\n\t\t\tgetCanvasMode,\n\t\t\tgetSettings,\n\t\t} = unlock( select( editSiteStore ) );\n\t\tconst { get: getPreference } = select( preferencesStore );\n\t\tconst { getEditedEntityRecord } = select( coreStore );\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\tconst _record = getEditedEntityRecord(\n\t\t\t'postType',\n\t\t\tusedPostType,\n\t\t\tusedPostId\n\t\t);\n\t\treturn {\n\t\t\ttemplateSlug: _record.slug,\n\t\t\tfocusMode: !! getPreference( 'core/edit-site', 'focusMode' ),\n\t\t\tisDistractionFree: !! getPreference(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'distractionFree'\n\t\t\t),\n\t\t\thasFixedToolbar: !! getPreference(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'fixedToolbar'\n\t\t\t),\n\t\t\tkeepCaretInsideBlock: !! getPreference(\n\t\t\t\t'core/edit-site',\n\t\t\t\t'keepCaretInsideBlock'\n\t\t\t),\n\t\t\tcanvasMode: getCanvasMode(),\n\t\t\tsettings: getSettings(),\n\t\t};\n\t}, [] );\n\tconst archiveLabels = useArchiveLabel( templateSlug );\n\n\tconst defaultEditorSettings = useMemo( () => {\n\t\treturn {\n\t\t\t...settings,\n\n\t\t\t__experimentalSetIsInserterOpened: setIsInserterOpened,\n\t\t\tfocusMode: canvasMode === 'view' && focusMode ? false : focusMode,\n\t\t\tisDistractionFree,\n\t\t\thasFixedToolbar,\n\t\t\tkeepCaretInsideBlock,\n\n\t\t\t// I wonder if they should be set in the post editor too\n\t\t\t__experimentalArchiveTitleTypeLabel: archiveLabels.archiveTypeLabel,\n\t\t\t__experimentalArchiveTitleNameLabel: archiveLabels.archiveNameLabel,\n\t\t};\n\t}, [\n\t\tsettings,\n\t\tsetIsInserterOpened,\n\t\tfocusMode,\n\t\tisDistractionFree,\n\t\thasFixedToolbar,\n\t\tkeepCaretInsideBlock,\n\t\tcanvasMode,\n\t\tarchiveLabels.archiveTypeLabel,\n\t\tarchiveLabels.archiveNameLabel,\n\t] );\n\n\treturn defaultEditorSettings;\n}\n\nexport default function useSiteEditorSettings() {\n\tconst defaultEditorSettings = useSpecificEditorSettings();\n\tconst { postType, postId } = useSelect( ( select ) => {\n\t\tconst { getEditedPostType, getEditedPostId } = unlock(\n\t\t\tselect( editSiteStore )\n\t\t);\n\t\tconst usedPostType = getEditedPostType();\n\t\tconst usedPostId = getEditedPostId();\n\t\treturn {\n\t\t\tpostType: usedPostType,\n\t\t\tpostId: usedPostId,\n\t\t};\n\t}, [] );\n\treturn useBlockEditorSettings( defaultEditorSettings, postType, postId );\n}\n"],"mappings":"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"}