@wordpress/edit-site 5.22.0 → 5.24.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 (524) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/actions/index.js +115 -15
  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/site-editor-canvas.js +7 -2
  7. package/build/components/block-editor/site-editor-canvas.js.map +1 -1
  8. package/build/components/block-editor/use-site-editor-settings.js +54 -63
  9. package/build/components/block-editor/use-site-editor-settings.js.map +1 -1
  10. package/build/components/dataviews/add-filter.js +91 -0
  11. package/build/components/dataviews/add-filter.js.map +1 -0
  12. package/build/components/dataviews/constants.js +14 -0
  13. package/build/components/dataviews/constants.js.map +1 -0
  14. package/build/components/dataviews/dataviews.js +30 -9
  15. package/build/components/dataviews/dataviews.js.map +1 -1
  16. package/build/components/dataviews/filter-summary.js +62 -0
  17. package/build/components/dataviews/filter-summary.js.map +1 -0
  18. package/build/components/dataviews/filters.js +37 -48
  19. package/build/components/dataviews/filters.js.map +1 -1
  20. package/build/components/dataviews/index.js +9 -2
  21. package/build/components/dataviews/index.js.map +1 -1
  22. package/build/components/dataviews/item-actions.js +139 -17
  23. package/build/components/dataviews/item-actions.js.map +1 -1
  24. package/build/components/dataviews/pagination.js +7 -2
  25. package/build/components/dataviews/pagination.js.map +1 -1
  26. package/build/components/dataviews/reset-filters.js +33 -0
  27. package/build/components/dataviews/reset-filters.js.map +1 -0
  28. package/build/components/dataviews/search.js +1 -0
  29. package/build/components/dataviews/search.js.map +1 -1
  30. package/build/components/dataviews/view-actions.js +49 -32
  31. package/build/components/dataviews/view-actions.js.map +1 -1
  32. package/build/components/dataviews/view-grid.js +48 -25
  33. package/build/components/dataviews/view-grid.js.map +1 -1
  34. package/build/components/dataviews/view-list.js +130 -14
  35. package/build/components/dataviews/view-list.js.map +1 -1
  36. package/build/components/dataviews/view-side-by-side.js +20 -0
  37. package/build/components/dataviews/view-side-by-side.js.map +1 -0
  38. package/build/components/editor/index.js +52 -56
  39. package/build/components/editor/index.js.map +1 -1
  40. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  41. package/build/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  42. package/build/components/global-styles/font-library-modal/utils/index.js +15 -2
  43. package/build/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  44. package/build/components/global-styles/header.js +4 -2
  45. package/build/components/global-styles/header.js.map +1 -1
  46. package/build/components/global-styles/screen-block-list.js +22 -16
  47. package/build/components/global-styles/screen-block-list.js.map +1 -1
  48. package/build/components/global-styles/screen-revisions/index.js +66 -24
  49. package/build/components/global-styles/screen-revisions/index.js.map +1 -1
  50. package/build/components/global-styles/screen-revisions/revisions-buttons.js +52 -24
  51. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  52. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  53. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  54. package/build/components/global-styles/screen-root.js +3 -3
  55. package/build/components/global-styles/screen-root.js.map +1 -1
  56. package/build/components/global-styles/ui.js +31 -39
  57. package/build/components/global-styles/ui.js.map +1 -1
  58. package/build/components/global-styles-renderer/index.js +1 -1
  59. package/build/components/global-styles-renderer/index.js.map +1 -1
  60. package/build/components/header-edit-mode/document-actions/index.js +21 -16
  61. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  62. package/build/components/header-edit-mode/document-tools/index.js +160 -0
  63. package/build/components/header-edit-mode/document-tools/index.js.map +1 -0
  64. package/build/components/header-edit-mode/index.js +50 -117
  65. package/build/components/header-edit-mode/index.js.map +1 -1
  66. package/build/components/header-edit-mode/more-menu/index.js +1 -1
  67. package/build/components/header-edit-mode/more-menu/index.js.map +1 -1
  68. package/build/components/header-edit-mode/more-menu/site-export.js +2 -6
  69. package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  70. package/build/components/layout/index.js +4 -19
  71. package/build/components/layout/index.js.map +1 -1
  72. package/build/components/list/added-by.js +44 -54
  73. package/build/components/list/added-by.js.map +1 -1
  74. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +11 -15
  75. package/build/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  76. package/build/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  77. package/build/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  78. package/build/components/page-content-focus-notifications/index.js +22 -0
  79. package/build/components/page-content-focus-notifications/index.js.map +1 -0
  80. package/build/components/page-main/index.js +2 -1
  81. package/build/components/page-main/index.js.map +1 -1
  82. package/build/components/page-pages/index.js +137 -88
  83. package/build/components/page-pages/index.js.map +1 -1
  84. package/build/components/page-pages/side-editor.js +25 -0
  85. package/build/components/page-pages/side-editor.js.map +1 -0
  86. package/build/components/page-patterns/grid-item.js +2 -2
  87. package/build/components/page-patterns/grid-item.js.map +1 -1
  88. package/build/components/page-patterns/patterns-list.js +3 -3
  89. package/build/components/page-patterns/patterns-list.js.map +1 -1
  90. package/build/components/page-patterns/use-patterns.js +2 -2
  91. package/build/components/page-patterns/use-patterns.js.map +1 -1
  92. package/build/components/page-templates/dataviews-templates.js +316 -0
  93. package/build/components/page-templates/dataviews-templates.js.map +1 -0
  94. package/build/components/page-templates/template-actions.js +168 -0
  95. package/build/components/page-templates/template-actions.js.map +1 -0
  96. package/build/components/preferences-modal/index.js +1 -1
  97. package/build/components/preferences-modal/index.js.map +1 -1
  98. package/build/components/save-button/index.js +9 -6
  99. package/build/components/save-button/index.js.map +1 -1
  100. package/build/components/save-hub/index.js +14 -0
  101. package/build/components/save-hub/index.js.map +1 -1
  102. package/build/components/sidebar/index.js +1 -2
  103. package/build/components/sidebar/index.js.map +1 -1
  104. package/build/components/sidebar-dataviews/add-new-view.js +124 -0
  105. package/build/components/sidebar-dataviews/add-new-view.js.map +1 -0
  106. package/build/components/sidebar-dataviews/custom-dataviews-list.js +191 -0
  107. package/build/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  108. package/build/components/sidebar-dataviews/dataview-item.js +71 -0
  109. package/build/components/sidebar-dataviews/dataview-item.js.map +1 -0
  110. package/build/components/sidebar-dataviews/default-views.js +65 -0
  111. package/build/components/sidebar-dataviews/default-views.js.map +1 -0
  112. package/build/components/sidebar-dataviews/index.js +21 -38
  113. package/build/components/sidebar-dataviews/index.js.map +1 -1
  114. package/build/components/sidebar-edit-mode/default-sidebar.js +2 -6
  115. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  116. package/build/components/sidebar-edit-mode/index.js +6 -5
  117. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  118. package/build/components/sidebar-edit-mode/page-panels/edit-template.js +18 -29
  119. package/build/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  120. package/build/components/sidebar-edit-mode/page-panels/hooks.js +22 -8
  121. package/build/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  122. package/build/components/sidebar-edit-mode/page-panels/page-status.js +8 -5
  123. package/build/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  124. package/build/components/sidebar-edit-mode/page-panels/page-summary.js +5 -8
  125. package/build/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  126. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js +6 -14
  127. package/build/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  128. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js +4 -12
  129. package/build/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  130. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  131. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  132. package/build/components/sidebar-edit-mode/settings-header/index.js +10 -6
  133. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  134. package/build/components/sidebar-edit-mode/template-panel/hooks.js +3 -3
  135. package/build/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  136. package/build/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  137. package/build/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  138. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  139. package/build/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  140. package/build/components/sidebar-navigation-screen-page/index.js +23 -4
  141. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -1
  142. package/build/components/sidebar-navigation-screen-page/page-details.js +3 -11
  143. package/build/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  144. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +1 -1
  145. package/build/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  146. package/build/components/site-hub/index.js +18 -6
  147. package/build/components/site-hub/index.js.map +1 -1
  148. package/build/components/start-template-options/index.js +12 -16
  149. package/build/components/start-template-options/index.js.map +1 -1
  150. package/build/components/style-book/index.js +22 -12
  151. package/build/components/style-book/index.js.map +1 -1
  152. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +150 -55
  153. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  154. package/build/components/template-part-converter/convert-to-regular.js +1 -1
  155. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  156. package/build/components/welcome-guide/page.js +2 -2
  157. package/build/components/welcome-guide/page.js.map +1 -1
  158. package/build/components/welcome-guide/template.js +6 -3
  159. package/build/components/welcome-guide/template.js.map +1 -1
  160. package/build/hooks/commands/use-edit-mode-commands.js +24 -14
  161. package/build/hooks/commands/use-edit-mode-commands.js.map +1 -1
  162. package/build/hooks/push-changes-to-global-styles/index.js +3 -1
  163. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  164. package/build/hooks/template-part-edit.js +6 -2
  165. package/build/hooks/template-part-edit.js.map +1 -1
  166. package/build/index.js +0 -3
  167. package/build/index.js.map +1 -1
  168. package/build/store/actions.js +39 -83
  169. package/build/store/actions.js.map +1 -1
  170. package/build/store/private-actions.js +2 -27
  171. package/build/store/private-actions.js.map +1 -1
  172. package/build/store/private-selectors.js +0 -23
  173. package/build/store/private-selectors.js.map +1 -1
  174. package/build/store/reducer.js +1 -40
  175. package/build/store/reducer.js.map +1 -1
  176. package/build/store/selectors.js +33 -67
  177. package/build/store/selectors.js.map +1 -1
  178. package/build/utils/constants.js +3 -14
  179. package/build/utils/constants.js.map +1 -1
  180. package/build-module/components/actions/index.js +113 -14
  181. package/build-module/components/actions/index.js.map +1 -1
  182. package/build-module/components/add-new-template/new-template.js +0 -7
  183. package/build-module/components/add-new-template/new-template.js.map +1 -1
  184. package/build-module/components/block-editor/site-editor-canvas.js +7 -2
  185. package/build-module/components/block-editor/site-editor-canvas.js.map +1 -1
  186. package/build-module/components/block-editor/use-site-editor-settings.js +54 -62
  187. package/build-module/components/block-editor/use-site-editor-settings.js.map +1 -1
  188. package/build-module/components/dataviews/add-filter.js +84 -0
  189. package/build-module/components/dataviews/add-filter.js.map +1 -0
  190. package/build-module/components/dataviews/constants.js +6 -0
  191. package/build-module/components/dataviews/constants.js.map +1 -0
  192. package/build-module/components/dataviews/dataviews.js +29 -9
  193. package/build-module/components/dataviews/dataviews.js.map +1 -1
  194. package/build-module/components/dataviews/filter-summary.js +55 -0
  195. package/build-module/components/dataviews/filter-summary.js.map +1 -0
  196. package/build-module/components/dataviews/filters.js +37 -48
  197. package/build-module/components/dataviews/filters.js.map +1 -1
  198. package/build-module/components/dataviews/index.js +1 -1
  199. package/build-module/components/dataviews/index.js.map +1 -1
  200. package/build-module/components/dataviews/item-actions.js +142 -20
  201. package/build-module/components/dataviews/item-actions.js.map +1 -1
  202. package/build-module/components/dataviews/pagination.js +7 -2
  203. package/build-module/components/dataviews/pagination.js.map +1 -1
  204. package/build-module/components/dataviews/reset-filters.js +26 -0
  205. package/build-module/components/dataviews/reset-filters.js.map +1 -0
  206. package/build-module/components/dataviews/search.js +1 -0
  207. package/build-module/components/dataviews/search.js.map +1 -1
  208. package/build-module/components/dataviews/view-actions.js +50 -33
  209. package/build-module/components/dataviews/view-actions.js.map +1 -1
  210. package/build-module/components/dataviews/view-grid.js +49 -26
  211. package/build-module/components/dataviews/view-grid.js.map +1 -1
  212. package/build-module/components/dataviews/view-list.js +132 -16
  213. package/build-module/components/dataviews/view-list.js.map +1 -1
  214. package/build-module/components/dataviews/view-side-by-side.js +12 -0
  215. package/build-module/components/dataviews/view-side-by-side.js.map +1 -0
  216. package/build-module/components/editor/index.js +55 -59
  217. package/build-module/components/editor/index.js.map +1 -1
  218. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  219. package/build-module/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js.map +1 -1
  220. package/build-module/components/global-styles/font-library-modal/utils/index.js +14 -2
  221. package/build-module/components/global-styles/font-library-modal/utils/index.js.map +1 -1
  222. package/build-module/components/global-styles/header.js +4 -2
  223. package/build-module/components/global-styles/header.js.map +1 -1
  224. package/build-module/components/global-styles/screen-block-list.js +23 -17
  225. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  226. package/build-module/components/global-styles/screen-revisions/index.js +67 -25
  227. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -1
  228. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +51 -24
  229. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -1
  230. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +9 -3
  231. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -1
  232. package/build-module/components/global-styles/screen-root.js +3 -3
  233. package/build-module/components/global-styles/screen-root.js.map +1 -1
  234. package/build-module/components/global-styles/ui.js +31 -39
  235. package/build-module/components/global-styles/ui.js.map +1 -1
  236. package/build-module/components/global-styles-renderer/index.js +1 -1
  237. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  238. package/build-module/components/header-edit-mode/document-actions/index.js +21 -16
  239. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  240. package/build-module/components/header-edit-mode/document-tools/index.js +152 -0
  241. package/build-module/components/header-edit-mode/document-tools/index.js.map +1 -0
  242. package/build-module/components/header-edit-mode/index.js +54 -121
  243. package/build-module/components/header-edit-mode/index.js.map +1 -1
  244. package/build-module/components/header-edit-mode/more-menu/index.js +1 -1
  245. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -1
  246. package/build-module/components/header-edit-mode/more-menu/site-export.js +2 -6
  247. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -1
  248. package/build-module/components/layout/index.js +5 -20
  249. package/build-module/components/layout/index.js.map +1 -1
  250. package/build-module/components/list/added-by.js +45 -56
  251. package/build-module/components/list/added-by.js.map +1 -1
  252. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +11 -15
  253. package/build-module/components/page-content-focus-notifications/back-to-page-notification.js.map +1 -0
  254. package/build-module/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  255. package/build-module/components/page-content-focus-notifications/edit-template-notification.js.map +1 -0
  256. package/build-module/components/page-content-focus-notifications/index.js +14 -0
  257. package/build-module/components/page-content-focus-notifications/index.js.map +1 -0
  258. package/build-module/components/page-main/index.js +2 -1
  259. package/build-module/components/page-main/index.js.map +1 -1
  260. package/build-module/components/page-pages/index.js +141 -90
  261. package/build-module/components/page-pages/index.js.map +1 -1
  262. package/build-module/components/page-pages/side-editor.js +17 -0
  263. package/build-module/components/page-pages/side-editor.js.map +1 -0
  264. package/build-module/components/page-patterns/grid-item.js +2 -2
  265. package/build-module/components/page-patterns/grid-item.js.map +1 -1
  266. package/build-module/components/page-patterns/patterns-list.js +4 -4
  267. package/build-module/components/page-patterns/patterns-list.js.map +1 -1
  268. package/build-module/components/page-patterns/use-patterns.js +3 -3
  269. package/build-module/components/page-patterns/use-patterns.js.map +1 -1
  270. package/build-module/components/page-templates/dataviews-templates.js +308 -0
  271. package/build-module/components/page-templates/dataviews-templates.js.map +1 -0
  272. package/build-module/components/page-templates/template-actions.js +157 -0
  273. package/build-module/components/page-templates/template-actions.js.map +1 -0
  274. package/build-module/components/preferences-modal/index.js +1 -1
  275. package/build-module/components/preferences-modal/index.js.map +1 -1
  276. package/build-module/components/save-button/index.js +11 -8
  277. package/build-module/components/save-button/index.js.map +1 -1
  278. package/build-module/components/save-hub/index.js +14 -0
  279. package/build-module/components/save-hub/index.js.map +1 -1
  280. package/build-module/components/sidebar/index.js +1 -2
  281. package/build-module/components/sidebar/index.js.map +1 -1
  282. package/build-module/components/sidebar-dataviews/add-new-view.js +116 -0
  283. package/build-module/components/sidebar-dataviews/add-new-view.js.map +1 -0
  284. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js +182 -0
  285. package/build-module/components/sidebar-dataviews/custom-dataviews-list.js.map +1 -0
  286. package/build-module/components/sidebar-dataviews/dataview-item.js +63 -0
  287. package/build-module/components/sidebar-dataviews/dataview-item.js.map +1 -0
  288. package/build-module/components/sidebar-dataviews/default-views.js +57 -0
  289. package/build-module/components/sidebar-dataviews/default-views.js.map +1 -0
  290. package/build-module/components/sidebar-dataviews/index.js +22 -39
  291. package/build-module/components/sidebar-dataviews/index.js.map +1 -1
  292. package/build-module/components/sidebar-edit-mode/default-sidebar.js +2 -6
  293. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -1
  294. package/build-module/components/sidebar-edit-mode/index.js +6 -5
  295. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  296. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js +20 -31
  297. package/build-module/components/sidebar-edit-mode/page-panels/edit-template.js.map +1 -1
  298. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js +21 -7
  299. package/build-module/components/sidebar-edit-mode/page-panels/hooks.js.map +1 -1
  300. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js +9 -6
  301. package/build-module/components/sidebar-edit-mode/page-panels/page-status.js.map +1 -1
  302. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js +6 -8
  303. package/build-module/components/sidebar-edit-mode/page-panels/page-summary.js.map +1 -1
  304. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js +8 -16
  305. package/build-module/components/sidebar-edit-mode/page-panels/reset-default-template.js.map +1 -1
  306. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js +5 -13
  307. package/build-module/components/sidebar-edit-mode/page-panels/swap-template-button.js.map +1 -1
  308. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js +2 -6
  309. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -1
  310. package/build-module/components/sidebar-edit-mode/settings-header/index.js +10 -6
  311. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -1
  312. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js +4 -4
  313. package/build-module/components/sidebar-edit-mode/template-panel/hooks.js.map +1 -1
  314. package/build-module/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  315. package/build-module/components/sidebar-navigation-screen-global-styles/index.js.map +1 -1
  316. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  317. package/build-module/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js.map +1 -1
  318. package/build-module/components/sidebar-navigation-screen-page/index.js +23 -4
  319. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -1
  320. package/build-module/components/sidebar-navigation-screen-page/page-details.js +3 -11
  321. package/build-module/components/sidebar-navigation-screen-page/page-details.js.map +1 -1
  322. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  323. package/build-module/components/sidebar-navigation-screen-patterns/use-theme-patterns.js.map +1 -1
  324. package/build-module/components/site-hub/index.js +19 -7
  325. package/build-module/components/site-hub/index.js.map +1 -1
  326. package/build-module/components/start-template-options/index.js +13 -16
  327. package/build-module/components/start-template-options/index.js.map +1 -1
  328. package/build-module/components/style-book/index.js +22 -12
  329. package/build-module/components/style-book/index.js.map +1 -1
  330. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +150 -56
  331. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  332. package/build-module/components/template-part-converter/convert-to-regular.js +1 -1
  333. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  334. package/build-module/components/welcome-guide/page.js +2 -2
  335. package/build-module/components/welcome-guide/page.js.map +1 -1
  336. package/build-module/components/welcome-guide/template.js +6 -3
  337. package/build-module/components/welcome-guide/template.js.map +1 -1
  338. package/build-module/hooks/commands/use-edit-mode-commands.js +24 -14
  339. package/build-module/hooks/commands/use-edit-mode-commands.js.map +1 -1
  340. package/build-module/hooks/push-changes-to-global-styles/index.js +4 -2
  341. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  342. package/build-module/hooks/template-part-edit.js +6 -2
  343. package/build-module/hooks/template-part-edit.js.map +1 -1
  344. package/build-module/index.js +0 -3
  345. package/build-module/index.js.map +1 -1
  346. package/build-module/store/actions.js +37 -80
  347. package/build-module/store/actions.js.map +1 -1
  348. package/build-module/store/private-actions.js +1 -25
  349. package/build-module/store/private-actions.js.map +1 -1
  350. package/build-module/store/private-selectors.js +0 -22
  351. package/build-module/store/private-selectors.js.map +1 -1
  352. package/build-module/store/reducer.js +1 -38
  353. package/build-module/store/reducer.js.map +1 -1
  354. package/build-module/store/selectors.js +27 -62
  355. package/build-module/store/selectors.js.map +1 -1
  356. package/build-module/utils/constants.js +1 -11
  357. package/build-module/utils/constants.js.map +1 -1
  358. package/build-style/style-rtl.css +221 -181
  359. package/build-style/style.css +221 -181
  360. package/package.json +41 -41
  361. package/src/components/actions/index.js +150 -14
  362. package/src/components/add-new-template/new-template.js +0 -5
  363. package/src/components/block-editor/site-editor-canvas.js +8 -2
  364. package/src/components/block-editor/style.scss +0 -87
  365. package/src/components/block-editor/use-site-editor-settings.js +68 -89
  366. package/src/components/dataviews/README.md +80 -83
  367. package/src/components/dataviews/add-filter.js +108 -0
  368. package/src/components/dataviews/constants.js +5 -0
  369. package/src/components/dataviews/dataviews.js +28 -10
  370. package/src/components/dataviews/filter-summary.js +79 -0
  371. package/src/components/dataviews/filters.js +48 -58
  372. package/src/components/dataviews/index.js +1 -1
  373. package/src/components/dataviews/item-actions.js +169 -30
  374. package/src/components/dataviews/pagination.js +9 -4
  375. package/src/components/dataviews/reset-filters.js +26 -0
  376. package/src/components/dataviews/search.js +1 -0
  377. package/src/components/dataviews/style.scss +89 -9
  378. package/src/components/dataviews/view-actions.js +77 -49
  379. package/src/components/dataviews/view-grid.js +63 -38
  380. package/src/components/dataviews/view-list.js +182 -18
  381. package/src/components/dataviews/view-side-by-side.js +9 -0
  382. package/src/components/editor/index.js +135 -123
  383. package/src/components/global-styles/font-library-modal/utils/get-intersecting-font-faces.js +1 -1
  384. package/src/components/global-styles/font-library-modal/utils/index.js +20 -9
  385. package/src/components/global-styles/font-library-modal/utils/test/getIntersectingFontFaces.spec.js +46 -15
  386. package/src/components/global-styles/font-library-modal/utils/test/wpKebabCase.spec.js +28 -0
  387. package/src/components/global-styles/header.js +2 -1
  388. package/src/components/global-styles/screen-block-list.js +37 -26
  389. package/src/components/global-styles/screen-revisions/index.js +91 -35
  390. package/src/components/global-styles/screen-revisions/revisions-buttons.js +65 -45
  391. package/src/components/global-styles/screen-revisions/style.scss +52 -28
  392. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +15 -6
  393. package/src/components/global-styles/screen-root.js +2 -1
  394. package/src/components/global-styles/style.scss +0 -11
  395. package/src/components/global-styles/ui.js +60 -75
  396. package/src/components/global-styles-renderer/index.js +1 -1
  397. package/src/components/header-edit-mode/document-actions/index.js +20 -18
  398. package/src/components/header-edit-mode/document-tools/index.js +201 -0
  399. package/src/components/header-edit-mode/index.js +87 -184
  400. package/src/components/header-edit-mode/more-menu/index.js +1 -1
  401. package/src/components/header-edit-mode/more-menu/site-export.js +2 -6
  402. package/src/components/header-edit-mode/style.scss +35 -2
  403. package/src/components/layout/index.js +4 -11
  404. package/src/components/layout/style.scss +6 -18
  405. package/src/components/list/added-by.js +24 -64
  406. package/src/components/list/style.scss +11 -13
  407. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/back-to-page-notification.js +10 -22
  408. package/src/components/{page-content-focus-manager → page-content-focus-notifications}/edit-template-notification.js +9 -13
  409. package/src/components/page-content-focus-notifications/index.js +14 -0
  410. package/src/components/page-main/index.js +6 -1
  411. package/src/components/page-pages/index.js +167 -91
  412. package/src/components/page-pages/side-editor.js +14 -0
  413. package/src/components/page-patterns/grid-item.js +3 -3
  414. package/src/components/page-patterns/patterns-list.js +10 -4
  415. package/src/components/page-patterns/use-patterns.js +4 -3
  416. package/src/components/page-templates/dataviews-templates.js +345 -0
  417. package/src/components/page-templates/style.scss +13 -0
  418. package/src/components/page-templates/template-actions.js +209 -0
  419. package/src/components/preferences-modal/index.js +1 -1
  420. package/src/components/save-button/index.js +37 -24
  421. package/src/components/save-hub/index.js +15 -0
  422. package/src/components/save-hub/style.scss +7 -0
  423. package/src/components/sidebar/index.js +1 -2
  424. package/src/components/sidebar-dataviews/add-new-view.js +141 -0
  425. package/src/components/sidebar-dataviews/custom-dataviews-list.js +229 -0
  426. package/src/components/sidebar-dataviews/dataview-item.js +67 -0
  427. package/src/components/sidebar-dataviews/default-views.js +59 -0
  428. package/src/components/sidebar-dataviews/index.js +36 -45
  429. package/src/components/sidebar-dataviews/style.scss +29 -0
  430. package/src/components/sidebar-edit-mode/default-sidebar.js +6 -6
  431. package/src/components/sidebar-edit-mode/index.js +13 -9
  432. package/src/components/sidebar-edit-mode/page-panels/edit-template.js +31 -57
  433. package/src/components/sidebar-edit-mode/page-panels/hooks.js +20 -9
  434. package/src/components/sidebar-edit-mode/page-panels/page-status.js +6 -6
  435. package/src/components/sidebar-edit-mode/page-panels/page-summary.js +10 -8
  436. package/src/components/sidebar-edit-mode/page-panels/reset-default-template.js +13 -12
  437. package/src/components/sidebar-edit-mode/page-panels/style.scss +14 -19
  438. package/src/components/sidebar-edit-mode/page-panels/swap-template-button.js +10 -9
  439. package/src/components/sidebar-edit-mode/plugin-sidebar/index.js +6 -6
  440. package/src/components/sidebar-edit-mode/settings-header/index.js +8 -9
  441. package/src/components/sidebar-edit-mode/template-panel/hooks.js +11 -7
  442. package/src/components/sidebar-navigation-screen/style.scss +1 -0
  443. package/src/components/sidebar-navigation-screen-global-styles/index.js +1 -1
  444. package/src/components/sidebar-navigation-screen-navigation-menu/navigation-menu-editor.js +1 -1
  445. package/src/components/sidebar-navigation-screen-page/index.js +24 -3
  446. package/src/components/sidebar-navigation-screen-page/page-details.js +4 -17
  447. package/src/components/sidebar-navigation-screen-patterns/use-theme-patterns.js +2 -2
  448. package/src/components/sidebar-navigation-screen-template/style.scss +6 -1
  449. package/src/components/site-hub/index.js +9 -8
  450. package/src/components/start-template-options/index.js +14 -12
  451. package/src/components/style-book/index.js +48 -35
  452. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +182 -63
  453. package/src/components/template-part-converter/convert-to-regular.js +1 -1
  454. package/src/components/welcome-guide/page.js +2 -2
  455. package/src/components/welcome-guide/template.js +4 -2
  456. package/src/hooks/commands/use-edit-mode-commands.js +22 -16
  457. package/src/hooks/push-changes-to-global-styles/index.js +13 -6
  458. package/src/hooks/template-part-edit.js +4 -2
  459. package/src/index.js +0 -8
  460. package/src/store/actions.js +42 -96
  461. package/src/store/private-actions.js +1 -24
  462. package/src/store/private-selectors.js +0 -22
  463. package/src/store/reducer.js +0 -39
  464. package/src/store/selectors.js +43 -95
  465. package/src/store/test/actions.js +14 -169
  466. package/src/store/test/reducer.js +0 -62
  467. package/src/store/test/selectors.js +0 -117
  468. package/src/style.scss +2 -0
  469. package/src/utils/constants.js +1 -11
  470. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -77
  471. package/build/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  472. package/build/components/block-editor/block-editor-provider/index.js +0 -31
  473. package/build/components/block-editor/block-editor-provider/index.js.map +0 -1
  474. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -110
  475. package/build/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  476. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -84
  477. package/build/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  478. package/build/components/block-editor/index.js +0 -30
  479. package/build/components/block-editor/index.js.map +0 -1
  480. package/build/components/dataviews/in-filter.js +0 -49
  481. package/build/components/dataviews/in-filter.js.map +0 -1
  482. package/build/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  483. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -50
  484. package/build/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  485. package/build/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  486. package/build/components/page-content-focus-manager/index.js +0 -61
  487. package/build/components/page-content-focus-manager/index.js.map +0 -1
  488. package/build/components/page-pages/default-views.js +0 -62
  489. package/build/components/page-pages/default-views.js.map +0 -1
  490. package/build/components/sidebar-edit-mode/page-panels/publish-date.js +0 -87
  491. package/build/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  492. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -69
  493. package/build-module/components/block-editor/block-editor-provider/default-block-editor-provider.js.map +0 -1
  494. package/build-module/components/block-editor/block-editor-provider/index.js +0 -23
  495. package/build-module/components/block-editor/block-editor-provider/index.js.map +0 -1
  496. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -102
  497. package/build-module/components/block-editor/block-editor-provider/navigation-block-editor-provider.js.map +0 -1
  498. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -78
  499. package/build-module/components/block-editor/block-editor-provider/use-page-content-blocks.js.map +0 -1
  500. package/build-module/components/block-editor/index.js +0 -22
  501. package/build-module/components/block-editor/index.js.map +0 -1
  502. package/build-module/components/dataviews/in-filter.js +0 -41
  503. package/build-module/components/dataviews/in-filter.js.map +0 -1
  504. package/build-module/components/page-content-focus-manager/back-to-page-notification.js.map +0 -1
  505. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -43
  506. package/build-module/components/page-content-focus-manager/disable-non-page-content-blocks.js.map +0 -1
  507. package/build-module/components/page-content-focus-manager/edit-template-notification.js.map +0 -1
  508. package/build-module/components/page-content-focus-manager/index.js +0 -52
  509. package/build-module/components/page-content-focus-manager/index.js.map +0 -1
  510. package/build-module/components/page-pages/default-views.js +0 -55
  511. package/build-module/components/page-pages/default-views.js.map +0 -1
  512. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js +0 -80
  513. package/build-module/components/sidebar-edit-mode/page-panels/publish-date.js.map +0 -1
  514. package/src/components/block-editor/block-editor-provider/default-block-editor-provider.js +0 -75
  515. package/src/components/block-editor/block-editor-provider/index.js +0 -29
  516. package/src/components/block-editor/block-editor-provider/navigation-block-editor-provider.js +0 -114
  517. package/src/components/block-editor/block-editor-provider/test/use-page-content-blocks.js +0 -116
  518. package/src/components/block-editor/block-editor-provider/use-page-content-blocks.js +0 -90
  519. package/src/components/block-editor/index.js +0 -28
  520. package/src/components/dataviews/in-filter.js +0 -45
  521. package/src/components/page-content-focus-manager/disable-non-page-content-blocks.js +0 -52
  522. package/src/components/page-content-focus-manager/index.js +0 -51
  523. package/src/components/page-pages/default-views.js +0 -60
  524. package/src/components/sidebar-edit-mode/page-panels/publish-date.js +0 -94
@@ -0,0 +1,157 @@
1
+ import { createElement } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { backup, trash } from '@wordpress/icons';
6
+ import { __, sprintf } from '@wordpress/i18n';
7
+ import { useDispatch } from '@wordpress/data';
8
+ import { useMemo, useState } from '@wordpress/element';
9
+ import { store as coreStore } from '@wordpress/core-data';
10
+ import { store as noticesStore } from '@wordpress/notices';
11
+ import { decodeEntities } from '@wordpress/html-entities';
12
+ import { Button, TextControl, __experimentalText as Text, __experimentalHStack as HStack, __experimentalVStack as VStack } from '@wordpress/components';
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+ import { store as editSiteStore } from '../../store';
18
+ import isTemplateRevertable from '../../utils/is-template-revertable';
19
+ import isTemplateRemovable from '../../utils/is-template-removable';
20
+ import { TEMPLATE_POST_TYPE } from '../../utils/constants';
21
+ export function useResetTemplateAction() {
22
+ const {
23
+ revertTemplate
24
+ } = useDispatch(editSiteStore);
25
+ const {
26
+ saveEditedEntityRecord
27
+ } = useDispatch(coreStore);
28
+ const {
29
+ createSuccessNotice,
30
+ createErrorNotice
31
+ } = useDispatch(noticesStore);
32
+ return useMemo(() => ({
33
+ id: 'reset-template',
34
+ label: __('Reset template'),
35
+ isPrimary: true,
36
+ icon: backup,
37
+ isEligible: isTemplateRevertable,
38
+ async callback(template) {
39
+ try {
40
+ await revertTemplate(template, {
41
+ allowUndo: false
42
+ });
43
+ await saveEditedEntityRecord('postType', template.type, template.id);
44
+ createSuccessNotice(sprintf( /* translators: The template/part's name. */
45
+ __('"%s" reverted.'), decodeEntities(template.title.rendered)), {
46
+ type: 'snackbar',
47
+ id: 'edit-site-template-reverted'
48
+ });
49
+ } catch (error) {
50
+ const fallbackErrorMessage = template.type === TEMPLATE_POST_TYPE ? __('An error occurred while reverting the template.') : __('An error occurred while reverting the template part.');
51
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : fallbackErrorMessage;
52
+ createErrorNotice(errorMessage, {
53
+ type: 'snackbar'
54
+ });
55
+ }
56
+ }
57
+ }), [createErrorNotice, createSuccessNotice, revertTemplate, saveEditedEntityRecord]);
58
+ }
59
+ export const deleteTemplateAction = {
60
+ id: 'delete-template',
61
+ label: __('Delete template'),
62
+ isPrimary: true,
63
+ icon: trash,
64
+ isEligible: isTemplateRemovable,
65
+ hideModalHeader: true,
66
+ RenderModal: ({
67
+ item: template,
68
+ closeModal
69
+ }) => {
70
+ const {
71
+ removeTemplate
72
+ } = useDispatch(editSiteStore);
73
+ return createElement(VStack, {
74
+ spacing: "5"
75
+ }, createElement(Text, null, sprintf(
76
+ // translators: %s: The template or template part's title.
77
+ __('Are you sure you want to delete "%s"?'), decodeEntities(template.title.rendered))), createElement(HStack, {
78
+ justify: "right"
79
+ }, createElement(Button, {
80
+ variant: "tertiary",
81
+ onClick: closeModal
82
+ }, __('Cancel')), createElement(Button, {
83
+ variant: "primary",
84
+ onClick: () => removeTemplate(template, {
85
+ allowUndo: false
86
+ })
87
+ }, __('Delete'))));
88
+ }
89
+ };
90
+ export const renameTemplateAction = {
91
+ id: 'rename-template',
92
+ label: __('Rename'),
93
+ isEligible: template => isTemplateRemovable(template) && template.is_custom,
94
+ RenderModal: ({
95
+ item: template,
96
+ closeModal
97
+ }) => {
98
+ const title = decodeEntities(template.title.rendered);
99
+ const [editedTitle, setEditedTitle] = useState(title);
100
+ const {
101
+ editEntityRecord,
102
+ __experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits
103
+ } = useDispatch(coreStore);
104
+ const {
105
+ createSuccessNotice,
106
+ createErrorNotice
107
+ } = useDispatch(noticesStore);
108
+ async function onTemplateRename(event) {
109
+ event.preventDefault();
110
+ try {
111
+ await editEntityRecord('postType', template.type, template.id, {
112
+ title: editedTitle
113
+ });
114
+ // Update state before saving rerenders the list.
115
+ setEditedTitle('');
116
+ closeModal();
117
+ // Persist edited entity.
118
+ await saveSpecifiedEntityEdits('postType', template.type, template.id, ['title'],
119
+ // Only save title to avoid persisting other edits.
120
+ {
121
+ throwOnError: true
122
+ });
123
+ // TODO: this action will be reused in template parts list, so
124
+ // let's keep this for a bit, even it's always a `template` now.
125
+ createSuccessNotice(template.type === TEMPLATE_POST_TYPE ? __('Template renamed.') : __('Template part renamed.'), {
126
+ type: 'snackbar'
127
+ });
128
+ } catch (error) {
129
+ const fallbackErrorMessage = template.type === TEMPLATE_POST_TYPE ? __('An error occurred while renaming the template.') : __('An error occurred while renaming the template part.');
130
+ const errorMessage = error.message && error.code !== 'unknown_error' ? error.message : fallbackErrorMessage;
131
+ createErrorNotice(errorMessage, {
132
+ type: 'snackbar'
133
+ });
134
+ }
135
+ }
136
+ return createElement("form", {
137
+ onSubmit: onTemplateRename
138
+ }, createElement(VStack, {
139
+ spacing: "5"
140
+ }, createElement(TextControl, {
141
+ __nextHasNoMarginBottom: true,
142
+ label: __('Name'),
143
+ value: editedTitle,
144
+ onChange: setEditedTitle,
145
+ required: true
146
+ }), createElement(HStack, {
147
+ justify: "right"
148
+ }, createElement(Button, {
149
+ variant: "tertiary",
150
+ onClick: closeModal
151
+ }, __('Cancel')), createElement(Button, {
152
+ variant: "primary",
153
+ type: "submit"
154
+ }, __('Save')))));
155
+ }
156
+ };
157
+ //# sourceMappingURL=template-actions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["backup","trash","__","sprintf","useDispatch","useMemo","useState","store","coreStore","noticesStore","decodeEntities","Button","TextControl","__experimentalText","Text","__experimentalHStack","HStack","__experimentalVStack","VStack","editSiteStore","isTemplateRevertable","isTemplateRemovable","TEMPLATE_POST_TYPE","useResetTemplateAction","revertTemplate","saveEditedEntityRecord","createSuccessNotice","createErrorNotice","id","label","isPrimary","icon","isEligible","callback","template","allowUndo","type","title","rendered","error","fallbackErrorMessage","errorMessage","message","code","deleteTemplateAction","hideModalHeader","RenderModal","item","closeModal","removeTemplate","createElement","spacing","justify","variant","onClick","renameTemplateAction","is_custom","editedTitle","setEditedTitle","editEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","onTemplateRename","event","preventDefault","throwOnError","onSubmit","__nextHasNoMarginBottom","value","onChange","required"],"sources":["@wordpress/edit-site/src/components/page-templates/template-actions.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { backup, trash } from '@wordpress/icons';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { useDispatch } from '@wordpress/data';\nimport { useMemo, useState } from '@wordpress/element';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as noticesStore } from '@wordpress/notices';\nimport { decodeEntities } from '@wordpress/html-entities';\nimport {\n\tButton,\n\tTextControl,\n\t__experimentalText as Text,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n} from '@wordpress/components';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport isTemplateRevertable from '../../utils/is-template-revertable';\nimport isTemplateRemovable from '../../utils/is-template-removable';\nimport { TEMPLATE_POST_TYPE } from '../../utils/constants';\n\nexport function useResetTemplateAction() {\n\tconst { revertTemplate } = useDispatch( editSiteStore );\n\tconst { saveEditedEntityRecord } = useDispatch( coreStore );\n\tconst { createSuccessNotice, createErrorNotice } =\n\t\tuseDispatch( noticesStore );\n\treturn useMemo(\n\t\t() => ( {\n\t\t\tid: 'reset-template',\n\t\t\tlabel: __( 'Reset template' ),\n\t\t\tisPrimary: true,\n\t\t\ticon: backup,\n\t\t\tisEligible: isTemplateRevertable,\n\t\t\tasync callback( template ) {\n\t\t\t\ttry {\n\t\t\t\t\tawait revertTemplate( template, { allowUndo: false } );\n\t\t\t\t\tawait saveEditedEntityRecord(\n\t\t\t\t\t\t'postType',\n\t\t\t\t\t\ttemplate.type,\n\t\t\t\t\t\ttemplate.id\n\t\t\t\t\t);\n\n\t\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\t\tsprintf(\n\t\t\t\t\t\t\t/* translators: The template/part's name. */\n\t\t\t\t\t\t\t__( '\"%s\" reverted.' ),\n\t\t\t\t\t\t\tdecodeEntities( template.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-template-reverted',\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 fallbackErrorMessage =\n\t\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t\t? __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template.'\n\t\t\t\t\t\t\t )\n\t\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t\t'An error occurred while reverting the template part.'\n\t\t\t\t\t\t\t );\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: fallbackErrorMessage;\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\tcreateErrorNotice,\n\t\t\tcreateSuccessNotice,\n\t\t\trevertTemplate,\n\t\t\tsaveEditedEntityRecord,\n\t\t]\n\t);\n}\n\nexport const deleteTemplateAction = {\n\tid: 'delete-template',\n\tlabel: __( 'Delete template' ),\n\tisPrimary: true,\n\ticon: trash,\n\tisEligible: isTemplateRemovable,\n\thideModalHeader: true,\n\tRenderModal: ( { item: template, closeModal } ) => {\n\t\tconst { removeTemplate } = useDispatch( editSiteStore );\n\t\treturn (\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<Text>\n\t\t\t\t\t{ sprintf(\n\t\t\t\t\t\t// translators: %s: The template or template part's title.\n\t\t\t\t\t\t__( 'Are you sure you want to delete \"%s\"?' ),\n\t\t\t\t\t\tdecodeEntities( template.title.rendered )\n\t\t\t\t\t) }\n\t\t\t\t</Text>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\tonClick={ () =>\n\t\t\t\t\t\t\tremoveTemplate( template, {\n\t\t\t\t\t\t\t\tallowUndo: false,\n\t\t\t\t\t\t\t} )\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Delete' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t);\n\t},\n};\n\nexport const renameTemplateAction = {\n\tid: 'rename-template',\n\tlabel: __( 'Rename' ),\n\tisEligible: ( template ) =>\n\t\tisTemplateRemovable( template ) && template.is_custom,\n\tRenderModal: ( { item: template, closeModal } ) => {\n\t\tconst title = decodeEntities( template.title.rendered );\n\t\tconst [ editedTitle, setEditedTitle ] = useState( title );\n\t\tconst {\n\t\t\teditEntityRecord,\n\t\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t\t} = useDispatch( coreStore );\n\t\tconst { createSuccessNotice, createErrorNotice } =\n\t\t\tuseDispatch( noticesStore );\n\t\tasync function onTemplateRename( event ) {\n\t\t\tevent.preventDefault();\n\t\t\ttry {\n\t\t\t\tawait editEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle: editedTitle,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// Update state before saving rerenders the list.\n\t\t\t\tsetEditedTitle( '' );\n\t\t\t\tcloseModal();\n\t\t\t\t// Persist edited entity.\n\t\t\t\tawait saveSpecifiedEntityEdits(\n\t\t\t\t\t'postType',\n\t\t\t\t\ttemplate.type,\n\t\t\t\t\ttemplate.id,\n\t\t\t\t\t[ 'title' ], // Only save title to avoid persisting other edits.\n\t\t\t\t\t{\n\t\t\t\t\t\tthrowOnError: true,\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\t// TODO: this action will be reused in template parts list, so\n\t\t\t\t// let's keep this for a bit, even it's always a `template` now.\n\t\t\t\tcreateSuccessNotice(\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'Template renamed.' )\n\t\t\t\t\t\t: __( 'Template part renamed.' ),\n\t\t\t\t\t{\n\t\t\t\t\t\ttype: 'snackbar',\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t} catch ( error ) {\n\t\t\t\tconst fallbackErrorMessage =\n\t\t\t\t\ttemplate.type === TEMPLATE_POST_TYPE\n\t\t\t\t\t\t? __( 'An error occurred while renaming the template.' )\n\t\t\t\t\t\t: __(\n\t\t\t\t\t\t\t\t'An error occurred while renaming the template part.'\n\t\t\t\t\t\t );\n\t\t\t\tconst errorMessage =\n\t\t\t\t\terror.message && error.code !== 'unknown_error'\n\t\t\t\t\t\t? error.message\n\t\t\t\t\t\t: fallbackErrorMessage;\n\n\t\t\t\tcreateErrorNotice( errorMessage, { type: 'snackbar' } );\n\t\t\t}\n\t\t}\n\t\treturn (\n\t\t\t<form onSubmit={ onTemplateRename }>\n\t\t\t\t<VStack spacing=\"5\">\n\t\t\t\t\t<TextControl\n\t\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\t\tvalue={ editedTitle }\n\t\t\t\t\t\tonChange={ setEditedTitle }\n\t\t\t\t\t\trequired\n\t\t\t\t\t/>\n\t\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t\t<Button variant=\"tertiary\" onClick={ closeModal }>\n\t\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t\t<Button variant=\"primary\" type=\"submit\">\n\t\t\t\t\t\t\t{ __( 'Save' ) }\n\t\t\t\t\t\t</Button>\n\t\t\t\t\t</HStack>\n\t\t\t\t</VStack>\n\t\t\t</form>\n\t\t);\n\t},\n};\n"],"mappings":"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"}
@@ -32,7 +32,7 @@ export default function EditSitePreferencesModal() {
32
32
  } = useDispatch(preferencesStore);
33
33
  const toggleDistractionFree = () => {
34
34
  registry.batch(() => {
35
- setPreference('core/edit-site', 'fixedToolbar', false);
35
+ setPreference('core/edit-site', 'fixedToolbar', true);
36
36
  setIsInserterOpened(false);
37
37
  setIsListViewOpened(false);
38
38
  closeGeneralSidebar();
@@ -1 +1 @@
1
- {"version":3,"names":["PreferencesModal","PreferencesModalTabs","PreferencesModalSection","store","interfaceStore","useMemo","__","useSelect","useDispatch","useRegistry","preferencesStore","EnableFeature","editSiteStore","PREFERENCES_MODAL_NAME","EditSitePreferencesModal","isModalActive","select","closeModal","openModal","toggleModal","registry","closeGeneralSidebar","setIsListViewOpened","setIsInserterOpened","set","setPreference","toggleDistractionFree","batch","sections","name","tabLabel","content","createElement","title","description","featureName","onToggle","help","label"],"sources":["@wordpress/edit-site/src/components/preferences-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport EnableFeature from './enable-feature';\nimport { store as editSiteStore } from '../../store';\n\nexport const PREFERENCES_MODAL_NAME = 'edit-site/preferences';\n\nexport default function EditSitePreferencesModal() {\n\tconst isModalActive = useSelect( ( select ) =>\n\t\tselect( interfaceStore ).isModalActive( PREFERENCES_MODAL_NAME )\n\t);\n\tconst { closeModal, openModal } = useDispatch( interfaceStore );\n\tconst toggleModal = () =>\n\t\tisModalActive ? closeModal() : openModal( PREFERENCES_MODAL_NAME );\n\tconst registry = useRegistry();\n\tconst { closeGeneralSidebar, setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( editSiteStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core/edit-site', 'fixedToolbar', false );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t} );\n\t};\n\n\tconst sections = useMemo( () => [\n\t\t{\n\t\t\tname: 'general',\n\t\t\ttabLabel: __( 'General' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize options related to the block editor interface and editing flow.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"distractionFree\"\n\t\t\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\thelp={ __( 'Show text instead of icons on buttons.' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Opens the block list view sidebar by default.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Always open list view' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tname: 'blocks',\n\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Block interactions' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize how you interact with blocks in the block library and editing canvas.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Contain text cursor inside block' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t] );\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<PreferencesModal closeModal={ toggleModal }>\n\t\t\t<PreferencesModalTabs sections={ sections } />\n\t\t</PreferencesModal>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["PreferencesModal","PreferencesModalTabs","PreferencesModalSection","store","interfaceStore","useMemo","__","useSelect","useDispatch","useRegistry","preferencesStore","EnableFeature","editSiteStore","PREFERENCES_MODAL_NAME","EditSitePreferencesModal","isModalActive","select","closeModal","openModal","toggleModal","registry","closeGeneralSidebar","setIsListViewOpened","setIsInserterOpened","set","setPreference","toggleDistractionFree","batch","sections","name","tabLabel","content","createElement","title","description","featureName","onToggle","help","label"],"sources":["@wordpress/edit-site/src/components/preferences-modal/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tPreferencesModal,\n\tPreferencesModalTabs,\n\tPreferencesModalSection,\n\tstore as interfaceStore,\n} from '@wordpress/interface';\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport { useSelect, useDispatch, useRegistry } from '@wordpress/data';\nimport { store as preferencesStore } from '@wordpress/preferences';\n\n/**\n * Internal dependencies\n */\nimport EnableFeature from './enable-feature';\nimport { store as editSiteStore } from '../../store';\n\nexport const PREFERENCES_MODAL_NAME = 'edit-site/preferences';\n\nexport default function EditSitePreferencesModal() {\n\tconst isModalActive = useSelect( ( select ) =>\n\t\tselect( interfaceStore ).isModalActive( PREFERENCES_MODAL_NAME )\n\t);\n\tconst { closeModal, openModal } = useDispatch( interfaceStore );\n\tconst toggleModal = () =>\n\t\tisModalActive ? closeModal() : openModal( PREFERENCES_MODAL_NAME );\n\tconst registry = useRegistry();\n\tconst { closeGeneralSidebar, setIsListViewOpened, setIsInserterOpened } =\n\t\tuseDispatch( editSiteStore );\n\n\tconst { set: setPreference } = useDispatch( preferencesStore );\n\tconst toggleDistractionFree = () => {\n\t\tregistry.batch( () => {\n\t\t\tsetPreference( 'core/edit-site', 'fixedToolbar', true );\n\t\t\tsetIsInserterOpened( false );\n\t\t\tsetIsListViewOpened( false );\n\t\t\tcloseGeneralSidebar();\n\t\t} );\n\t};\n\n\tconst sections = useMemo( () => [\n\t\t{\n\t\t\tname: 'general',\n\t\t\ttabLabel: __( 'General' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Appearance' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize options related to the block editor interface and editing flow.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"distractionFree\"\n\t\t\t\t\t\tonToggle={ toggleDistractionFree }\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Reduce visual distractions by hiding the toolbar and other elements to focus on writing.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Distraction free' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"focusMode\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Highlights the current block and fades other content.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Spotlight mode' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showIconLabels\"\n\t\t\t\t\t\tlabel={ __( 'Show button text labels' ) }\n\t\t\t\t\t\thelp={ __( 'Show text instead of icons on buttons.' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showListViewByDefault\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Opens the block list view sidebar by default.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Always open list view' ) }\n\t\t\t\t\t/>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"showBlockBreadcrumbs\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Shows block breadcrumbs at the bottom of the editor.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Display block breadcrumbs' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t\t{\n\t\t\tname: 'blocks',\n\t\t\ttabLabel: __( 'Blocks' ),\n\t\t\tcontent: (\n\t\t\t\t<PreferencesModalSection\n\t\t\t\t\ttitle={ __( 'Block interactions' ) }\n\t\t\t\t\tdescription={ __(\n\t\t\t\t\t\t'Customize how you interact with blocks in the block library and editing canvas.'\n\t\t\t\t\t) }\n\t\t\t\t>\n\t\t\t\t\t<EnableFeature\n\t\t\t\t\t\tfeatureName=\"keepCaretInsideBlock\"\n\t\t\t\t\t\thelp={ __(\n\t\t\t\t\t\t\t'Aids screen readers by stopping text caret from leaving blocks.'\n\t\t\t\t\t\t) }\n\t\t\t\t\t\tlabel={ __( 'Contain text cursor inside block' ) }\n\t\t\t\t\t/>\n\t\t\t\t</PreferencesModalSection>\n\t\t\t),\n\t\t},\n\t] );\n\tif ( ! isModalActive ) {\n\t\treturn null;\n\t}\n\treturn (\n\t\t<PreferencesModal closeModal={ toggleModal }>\n\t\t\t<PreferencesModalTabs sections={ sections } />\n\t\t</PreferencesModal>\n\t);\n}\n"],"mappings":"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"}
@@ -4,7 +4,7 @@ import { createElement } from "react";
4
4
  */
5
5
  import { useSelect, useDispatch } from '@wordpress/data';
6
6
  import { Button } from '@wordpress/components';
7
- import { __ } from '@wordpress/i18n';
7
+ import { __, sprintf } from '@wordpress/i18n';
8
8
  import { store as coreStore } from '@wordpress/core-data';
9
9
  import { displayShortcut } from '@wordpress/keycodes';
10
10
 
@@ -12,7 +12,7 @@ import { displayShortcut } from '@wordpress/keycodes';
12
12
  * Internal dependencies
13
13
  */
14
14
  import { store as editSiteStore } from '../../store';
15
- import { isPreviewingTheme } from '../../utils/is-previewing-theme';
15
+ import { currentlyPreviewingTheme, isPreviewingTheme } from '../../utils/is-previewing-theme';
16
16
  export default function SaveButton({
17
17
  className = 'edit-site-save-button__button',
18
18
  variant = 'primary',
@@ -24,7 +24,8 @@ export default function SaveButton({
24
24
  const {
25
25
  isDirty,
26
26
  isSaving,
27
- isSaveViewOpen
27
+ isSaveViewOpen,
28
+ previewingThemeName
28
29
  } = useSelect(select => {
29
30
  const {
30
31
  __experimentalGetDirtyEntityRecords,
@@ -36,10 +37,12 @@ export default function SaveButton({
36
37
  isSaveViewOpened
37
38
  } = select(editSiteStore);
38
39
  const isActivatingTheme = isResolving('activateTheme');
40
+ const previewingTheme = select(coreStore).getTheme(currentlyPreviewingTheme());
39
41
  return {
40
42
  isDirty: dirtyEntityRecords.length > 0,
41
43
  isSaving: dirtyEntityRecords.some(record => isSavingEntityRecord(record.kind, record.name, record.key)) || isActivatingTheme,
42
- isSaveViewOpen: isSaveViewOpened()
44
+ isSaveViewOpen: isSaveViewOpened(),
45
+ previewingThemeName: previewingTheme?.name?.rendered
43
46
  };
44
47
  }, []);
45
48
  const {
@@ -50,13 +53,13 @@ export default function SaveButton({
50
53
  const getLabel = () => {
51
54
  if (isPreviewingTheme()) {
52
55
  if (isSaving) {
53
- return __('Activating');
56
+ return sprintf('Activating %s', previewingThemeName);
54
57
  } else if (disabled) {
55
58
  return __('Saved');
56
59
  } else if (isDirty) {
57
- return __('Activate & Save');
60
+ return sprintf('Activate %s & Save', previewingThemeName);
58
61
  }
59
- return __('Activate');
62
+ return sprintf('Activate %s', previewingThemeName);
60
63
  }
61
64
  if (isSaving) {
62
65
  return __('Saving');
@@ -85,7 +88,7 @@ export default function SaveButton({
85
88
  * Displaying the keyboard shortcut conditionally makes the tooltip
86
89
  * itself show conditionally. This would trigger a full-rerendering
87
90
  * of the button that we want to avoid. By setting `showTooltip`,
88
- & the tooltip is always rendered even when there's no keyboard shortcut.
91
+ * the tooltip is always rendered even when there's no keyboard shortcut.
89
92
  */,
90
93
  showTooltip: showTooltip,
91
94
  icon: icon,
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","Button","__","store","coreStore","displayShortcut","editSiteStore","isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","dirtyEntityRecords","isSaveViewOpened","isActivatingTheme","length","some","record","kind","name","key","setIsSaveViewOpened","activateSaveEnabled","disabled","getLabel","label","createElement","isBusy","onClick","undefined","shortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\tisSavingEntityRecord,\n\t\t\tisResolving,\n\t\t} = select( coreStore );\n\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\treturn {\n\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\tisSaving:\n\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\tisSavingEntityRecord( record.kind, record.name, record.key )\n\t\t\t\t) || isActivatingTheme,\n\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t};\n\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn __( 'Activating' );\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( isDirty ) {\n\t\t\t\treturn __( 'Activate & Save' );\n\t\t\t}\n\t\t\treturn __( 'Activate' );\n\t\t}\n\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t} else if ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t} else if ( defaultLabel ) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t & the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useDispatch","Button","__","sprintf","store","coreStore","displayShortcut","editSiteStore","currentlyPreviewingTheme","isPreviewingTheme","SaveButton","className","variant","showTooltip","defaultLabel","icon","__next40pxDefaultSize","isDirty","isSaving","isSaveViewOpen","previewingThemeName","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","isResolving","dirtyEntityRecords","isSaveViewOpened","isActivatingTheme","previewingTheme","getTheme","length","some","record","kind","name","key","rendered","setIsSaveViewOpened","activateSaveEnabled","disabled","getLabel","label","createElement","isBusy","onClick","undefined","shortcut","primary"],"sources":["@wordpress/edit-site/src/components/save-button/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button } from '@wordpress/components';\nimport { __, sprintf } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { displayShortcut } from '@wordpress/keycodes';\n\n/**\n * Internal dependencies\n */\nimport { store as editSiteStore } from '../../store';\nimport {\n\tcurrentlyPreviewingTheme,\n\tisPreviewingTheme,\n} from '../../utils/is-previewing-theme';\n\nexport default function SaveButton( {\n\tclassName = 'edit-site-save-button__button',\n\tvariant = 'primary',\n\tshowTooltip = true,\n\tdefaultLabel,\n\ticon,\n\t__next40pxDefaultSize = false,\n} ) {\n\tconst { isDirty, isSaving, isSaveViewOpen, previewingThemeName } =\n\t\tuseSelect( ( select ) => {\n\t\t\tconst {\n\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\tisSavingEntityRecord,\n\t\t\t\tisResolving,\n\t\t\t} = select( coreStore );\n\t\t\tconst dirtyEntityRecords = __experimentalGetDirtyEntityRecords();\n\t\t\tconst { isSaveViewOpened } = select( editSiteStore );\n\t\t\tconst isActivatingTheme = isResolving( 'activateTheme' );\n\t\t\tconst previewingTheme = select( coreStore ).getTheme(\n\t\t\t\tcurrentlyPreviewingTheme()\n\t\t\t);\n\n\t\t\treturn {\n\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\tisSaving:\n\t\t\t\t\tdirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t) || isActivatingTheme,\n\t\t\t\tisSaveViewOpen: isSaveViewOpened(),\n\t\t\t\tpreviewingThemeName: previewingTheme?.name?.rendered,\n\t\t\t};\n\t\t}, [] );\n\tconst { setIsSaveViewOpened } = useDispatch( editSiteStore );\n\n\tconst activateSaveEnabled = isPreviewingTheme() || isDirty;\n\tconst disabled = isSaving || ! activateSaveEnabled;\n\n\tconst getLabel = () => {\n\t\tif ( isPreviewingTheme() ) {\n\t\t\tif ( isSaving ) {\n\t\t\t\treturn sprintf( 'Activating %s', previewingThemeName );\n\t\t\t} else if ( disabled ) {\n\t\t\t\treturn __( 'Saved' );\n\t\t\t} else if ( isDirty ) {\n\t\t\t\treturn sprintf( 'Activate %s & Save', previewingThemeName );\n\t\t\t}\n\t\t\treturn sprintf( 'Activate %s', previewingThemeName );\n\t\t}\n\n\t\tif ( isSaving ) {\n\t\t\treturn __( 'Saving' );\n\t\t} else if ( disabled ) {\n\t\t\treturn __( 'Saved' );\n\t\t} else if ( defaultLabel ) {\n\t\t\treturn defaultLabel;\n\t\t}\n\t\treturn __( 'Save' );\n\t};\n\tconst label = getLabel();\n\n\treturn (\n\t\t<Button\n\t\t\tvariant={ variant }\n\t\t\tclassName={ className }\n\t\t\taria-disabled={ disabled }\n\t\t\taria-expanded={ isSaveViewOpen }\n\t\t\tisBusy={ isSaving }\n\t\t\tonClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }\n\t\t\tlabel={ label }\n\t\t\t/*\n\t\t\t * We want the tooltip to show the keyboard shortcut only when the\n\t\t\t * button does something, i.e. when it's not disabled.\n\t\t\t */\n\t\t\tshortcut={ disabled ? undefined : displayShortcut.primary( 's' ) }\n\t\t\t/*\n\t\t\t * Displaying the keyboard shortcut conditionally makes the tooltip\n\t\t\t * itself show conditionally. This would trigger a full-rerendering\n\t\t\t * of the button that we want to avoid. By setting `showTooltip`,\n\t\t\t * the tooltip is always rendered even when there's no keyboard shortcut.\n\t\t\t */\n\t\t\tshowTooltip={ showTooltip }\n\t\t\ticon={ icon }\n\t\t\t__next40pxDefaultSize={ __next40pxDefaultSize }\n\t\t>\n\t\t\t{ label }\n\t\t</Button>\n\t);\n}\n"],"mappings":"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"}
@@ -81,6 +81,16 @@ export default function SaveHub() {
81
81
  if (isSaving) {
82
82
  label = __('Saving');
83
83
  }
84
+ const {
85
+ homeUrl
86
+ } = useSelect(select => {
87
+ const {
88
+ getUnstableBase // Site index.
89
+ } = select(coreStore);
90
+ return {
91
+ homeUrl: getUnstableBase()?.home
92
+ };
93
+ }, []);
84
94
  const saveCurrentEntity = async () => {
85
95
  if (!dirtyCurrentEntity) return;
86
96
  removeNotice(saveNoticeId);
@@ -104,6 +114,10 @@ export default function SaveHub() {
104
114
  __unstableMarkLastChangeAsPersistent();
105
115
  createSuccessNotice(__('Site updated.'), {
106
116
  type: 'snackbar',
117
+ actions: [{
118
+ label: __('View site'),
119
+ url: homeUrl
120
+ }],
107
121
  id: saveNoticeId
108
122
  });
109
123
  } catch (error) {
@@ -1 +1 @@
1
- {"version":3,"names":["useSelect","useDispatch","Button","__experimentalHStack","HStack","__","sprintf","_n","store","coreStore","blockEditorStore","check","privateApis","routerPrivateApis","noticesStore","SaveButton","isPreviewingTheme","unlock","NAVIGATION_POST_TYPE","useLocation","PUBLISH_ON_SAVE_ENTITIES","kind","name","SaveHub","saveNoticeId","params","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","dirtyCurrentEntity","countUnsavedChanges","isDirty","isSaving","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","dirtyEntityRecords","calcDirtyCurrentEntity","length","path","includes","find","record","postId","postType","String","key","some","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","disabled","label","saveCurrentEntity","property","undefined","typeToPublish","status","type","id","error","createElement","className","alignment","spacing","variant","onClick","isBusy","__next40pxDefaultSize","showTooltip","icon","defaultLabel"],"sources":["@wordpress/edit-site/src/components/save-hub/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { check } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: NAVIGATION_POST_TYPE,\n\t},\n];\n\nexport default function SaveHub() {\n\tconst saveNoticeId = 'site-edit-save-notice';\n\tconst { params } = useLocation();\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { dirtyCurrentEntity, countUnsavedChanges, isDirty, isSaving } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tconst dirtyEntityRecords =\n\t\t\t\t\t__experimentalGetDirtyEntityRecords();\n\t\t\t\tlet calcDirtyCurrentEntity = null;\n\n\t\t\t\tif ( dirtyEntityRecords.length === 1 ) {\n\t\t\t\t\t// if we are on global styles\n\t\t\t\t\tif ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) => record.name === 'globalStyles'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// if we are on pages\n\t\t\t\t\telse if ( params.postId ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) =>\n\t\t\t\t\t\t\t\trecord.name === params.postType &&\n\t\t\t\t\t\t\t\tString( record.key ) === params.postId\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tdirtyCurrentEntity: calcDirtyCurrentEntity,\n\t\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\t\tisSaving: dirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tcountUnsavedChanges: dirtyEntityRecords.length,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ params.path, params.postType, params.postId ]\n\t\t);\n\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst disabled = isSaving || ( ! isDirty && ! isPreviewingTheme() );\n\n\t// if we have only one unsaved change and it matches current context, we can show a more specific label\n\tlet label = dirtyCurrentEntity\n\t\t? __( 'Save' )\n\t\t: sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tcountUnsavedChanges\n\t\t\t\t),\n\t\t\t\tcountUnsavedChanges\n\t\t );\n\n\tif ( isSaving ) {\n\t\tlabel = __( 'Saving' );\n\t}\n\n\tconst saveCurrentEntity = async () => {\n\t\tif ( ! dirtyCurrentEntity ) return;\n\n\t\tremoveNotice( saveNoticeId );\n\t\tconst { kind, name, key, property } = dirtyCurrentEntity;\n\n\t\ttry {\n\t\t\tif ( 'root' === dirtyCurrentEntity.kind && 'site' === name ) {\n\t\t\t\tawait saveSpecifiedEntityEdits( 'root', 'site', undefined, [\n\t\t\t\t\tproperty,\n\t\t\t\t] );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tawait saveEditedEntityRecord( kind, name, key );\n\t\t\t}\n\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tid: saveNoticeId,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` );\n\t\t}\n\t};\n\n\treturn (\n\t\t<HStack className=\"edit-site-save-hub\" alignment=\"right\" spacing={ 4 }>\n\t\t\t{ dirtyCurrentEntity ? (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ saveCurrentEntity }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\taria-disabled={ isSaving }\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Button>\n\t\t\t) : (\n\t\t\t\t<SaveButton\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\tvariant={ disabled ? null : 'primary' }\n\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\ticon={ disabled && ! isSaving ? check : null }\n\t\t\t\t\tdefaultLabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
1
+ {"version":3,"names":["useSelect","useDispatch","Button","__experimentalHStack","HStack","__","sprintf","_n","store","coreStore","blockEditorStore","check","privateApis","routerPrivateApis","noticesStore","SaveButton","isPreviewingTheme","unlock","NAVIGATION_POST_TYPE","useLocation","PUBLISH_ON_SAVE_ENTITIES","kind","name","SaveHub","saveNoticeId","params","__unstableMarkLastChangeAsPersistent","createSuccessNotice","createErrorNotice","removeNotice","dirtyCurrentEntity","countUnsavedChanges","isDirty","isSaving","select","__experimentalGetDirtyEntityRecords","isSavingEntityRecord","dirtyEntityRecords","calcDirtyCurrentEntity","length","path","includes","find","record","postId","postType","String","key","some","editEntityRecord","saveEditedEntityRecord","__experimentalSaveSpecifiedEntityEdits","saveSpecifiedEntityEdits","disabled","label","homeUrl","getUnstableBase","home","saveCurrentEntity","property","undefined","typeToPublish","status","type","actions","url","id","error","createElement","className","alignment","spacing","variant","onClick","isBusy","__next40pxDefaultSize","showTooltip","icon","defaultLabel"],"sources":["@wordpress/edit-site/src/components/save-hub/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useSelect, useDispatch } from '@wordpress/data';\nimport { Button, __experimentalHStack as HStack } from '@wordpress/components';\nimport { __, sprintf, _n } from '@wordpress/i18n';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { store as blockEditorStore } from '@wordpress/block-editor';\nimport { check } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\nimport { store as noticesStore } from '@wordpress/notices';\n\n/**\n * Internal dependencies\n */\nimport SaveButton from '../save-button';\nimport { isPreviewingTheme } from '../../utils/is-previewing-theme';\nimport { unlock } from '../../lock-unlock';\nimport { NAVIGATION_POST_TYPE } from '../../utils/constants';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nconst PUBLISH_ON_SAVE_ENTITIES = [\n\t{\n\t\tkind: 'postType',\n\t\tname: NAVIGATION_POST_TYPE,\n\t},\n];\n\nexport default function SaveHub() {\n\tconst saveNoticeId = 'site-edit-save-notice';\n\tconst { params } = useLocation();\n\n\tconst { __unstableMarkLastChangeAsPersistent } =\n\t\tuseDispatch( blockEditorStore );\n\n\tconst { createSuccessNotice, createErrorNotice, removeNotice } =\n\t\tuseDispatch( noticesStore );\n\n\tconst { dirtyCurrentEntity, countUnsavedChanges, isDirty, isSaving } =\n\t\tuseSelect(\n\t\t\t( select ) => {\n\t\t\t\tconst {\n\t\t\t\t\t__experimentalGetDirtyEntityRecords,\n\t\t\t\t\tisSavingEntityRecord,\n\t\t\t\t} = select( coreStore );\n\t\t\t\tconst dirtyEntityRecords =\n\t\t\t\t\t__experimentalGetDirtyEntityRecords();\n\t\t\t\tlet calcDirtyCurrentEntity = null;\n\n\t\t\t\tif ( dirtyEntityRecords.length === 1 ) {\n\t\t\t\t\t// if we are on global styles\n\t\t\t\t\tif ( params.path?.includes( 'wp_global_styles' ) ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) => record.name === 'globalStyles'\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t\t// if we are on pages\n\t\t\t\t\telse if ( params.postId ) {\n\t\t\t\t\t\tcalcDirtyCurrentEntity = dirtyEntityRecords.find(\n\t\t\t\t\t\t\t( record ) =>\n\t\t\t\t\t\t\t\trecord.name === params.postType &&\n\t\t\t\t\t\t\t\tString( record.key ) === params.postId\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\treturn {\n\t\t\t\t\tdirtyCurrentEntity: calcDirtyCurrentEntity,\n\t\t\t\t\tisDirty: dirtyEntityRecords.length > 0,\n\t\t\t\t\tisSaving: dirtyEntityRecords.some( ( record ) =>\n\t\t\t\t\t\tisSavingEntityRecord(\n\t\t\t\t\t\t\trecord.kind,\n\t\t\t\t\t\t\trecord.name,\n\t\t\t\t\t\t\trecord.key\n\t\t\t\t\t\t)\n\t\t\t\t\t),\n\t\t\t\t\tcountUnsavedChanges: dirtyEntityRecords.length,\n\t\t\t\t};\n\t\t\t},\n\t\t\t[ params.path, params.postType, params.postId ]\n\t\t);\n\n\tconst {\n\t\teditEntityRecord,\n\t\tsaveEditedEntityRecord,\n\t\t__experimentalSaveSpecifiedEntityEdits: saveSpecifiedEntityEdits,\n\t} = useDispatch( coreStore );\n\n\tconst disabled = isSaving || ( ! isDirty && ! isPreviewingTheme() );\n\n\t// if we have only one unsaved change and it matches current context, we can show a more specific label\n\tlet label = dirtyCurrentEntity\n\t\t? __( 'Save' )\n\t\t: sprintf(\n\t\t\t\t// translators: %d: number of unsaved changes (number).\n\t\t\t\t_n(\n\t\t\t\t\t'Review %d change…',\n\t\t\t\t\t'Review %d changes…',\n\t\t\t\t\tcountUnsavedChanges\n\t\t\t\t),\n\t\t\t\tcountUnsavedChanges\n\t\t );\n\n\tif ( isSaving ) {\n\t\tlabel = __( 'Saving' );\n\t}\n\n\tconst { homeUrl } = useSelect( ( select ) => {\n\t\tconst {\n\t\t\tgetUnstableBase, // Site index.\n\t\t} = select( coreStore );\n\t\treturn {\n\t\t\thomeUrl: getUnstableBase()?.home,\n\t\t};\n\t}, [] );\n\n\tconst saveCurrentEntity = async () => {\n\t\tif ( ! dirtyCurrentEntity ) return;\n\n\t\tremoveNotice( saveNoticeId );\n\t\tconst { kind, name, key, property } = dirtyCurrentEntity;\n\n\t\ttry {\n\t\t\tif ( 'root' === dirtyCurrentEntity.kind && 'site' === name ) {\n\t\t\t\tawait saveSpecifiedEntityEdits( 'root', 'site', undefined, [\n\t\t\t\t\tproperty,\n\t\t\t\t] );\n\t\t\t} else {\n\t\t\t\tif (\n\t\t\t\t\tPUBLISH_ON_SAVE_ENTITIES.some(\n\t\t\t\t\t\t( typeToPublish ) =>\n\t\t\t\t\t\t\ttypeToPublish.kind === kind &&\n\t\t\t\t\t\t\ttypeToPublish.name === name\n\t\t\t\t\t)\n\t\t\t\t) {\n\t\t\t\t\teditEntityRecord( kind, name, key, { status: 'publish' } );\n\t\t\t\t}\n\n\t\t\t\tawait saveEditedEntityRecord( kind, name, key );\n\t\t\t}\n\n\t\t\t__unstableMarkLastChangeAsPersistent();\n\n\t\t\tcreateSuccessNotice( __( 'Site updated.' ), {\n\t\t\t\ttype: 'snackbar',\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tlabel: __( 'View site' ),\n\t\t\t\t\t\turl: homeUrl,\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t\tid: saveNoticeId,\n\t\t\t} );\n\t\t} catch ( error ) {\n\t\t\tcreateErrorNotice( `${ __( 'Saving failed.' ) } ${ error }` );\n\t\t}\n\t};\n\n\treturn (\n\t\t<HStack className=\"edit-site-save-hub\" alignment=\"right\" spacing={ 4 }>\n\t\t\t{ dirtyCurrentEntity ? (\n\t\t\t\t<Button\n\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\tonClick={ saveCurrentEntity }\n\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\tdisabled={ isSaving }\n\t\t\t\t\taria-disabled={ isSaving }\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t>\n\t\t\t\t\t{ label }\n\t\t\t\t</Button>\n\t\t\t) : (\n\t\t\t\t<SaveButton\n\t\t\t\t\tclassName=\"edit-site-save-hub__button\"\n\t\t\t\t\tvariant={ disabled ? null : 'primary' }\n\t\t\t\t\tshowTooltip={ false }\n\t\t\t\t\ticon={ disabled && ! isSaving ? check : null }\n\t\t\t\t\tdefaultLabel={ label }\n\t\t\t\t\t__next40pxDefaultSize\n\t\t\t\t/>\n\t\t\t) }\n\t\t</HStack>\n\t);\n}\n"],"mappings":"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"}
@@ -46,8 +46,7 @@ function SidebarScreens() {
46
46
  }, createElement(SidebarNavigationScreenPage, null)), window?.__experimentalAdminViews && createElement(NavigatorScreen, {
47
47
  path: "/pages"
48
48
  }, createElement(SidebarNavigationScreen, {
49
- title: __('All Pages'),
50
- description: __('Manage your pages.'),
49
+ title: __('Pages'),
51
50
  backPath: "/page",
52
51
  content: createElement(DataViewsSidebarContent, null)
53
52
  })), createElement(NavigatorScreen, {
@@ -1 +1 @@
1
- {"version":3,"names":["memo","useRef","__","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","privateApis","routerPrivateApis","SidebarNavigationScreenMain","SidebarNavigationScreenTemplates","SidebarNavigationScreenTemplate","SidebarNavigationScreenPatterns","SidebarNavigationScreenPattern","useSyncPathWithURL","getPathFromURL","SidebarNavigationScreenNavigationMenus","SidebarNavigationScreenNavigationMenu","SidebarNavigationScreenGlobalStyles","SidebarNavigationScreenTemplatesBrowse","SaveHub","unlock","SidebarNavigationScreenPages","SidebarNavigationScreenPage","SidebarNavigationScreen","DataViewsSidebarContent","useLocation","SidebarScreens","createElement","Fragment","path","window","__experimentalAdminViews","title","description","backPath","content","Sidebar","params","urlParams","initialPath","className","current"],"sources":["@wordpress/edit-site/src/components/sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n} from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';\nimport SidebarNavigationScreenTemplates from '../sidebar-navigation-screen-templates';\nimport SidebarNavigationScreenTemplate from '../sidebar-navigation-screen-template';\nimport SidebarNavigationScreenPatterns from '../sidebar-navigation-screen-patterns';\nimport SidebarNavigationScreenPattern from '../sidebar-navigation-screen-pattern';\nimport useSyncPathWithURL, {\n\tgetPathFromURL,\n} from '../sync-state-with-url/use-sync-path-with-url';\nimport SidebarNavigationScreenNavigationMenus from '../sidebar-navigation-screen-navigation-menus';\nimport SidebarNavigationScreenNavigationMenu from '../sidebar-navigation-screen-navigation-menu';\nimport SidebarNavigationScreenGlobalStyles from '../sidebar-navigation-screen-global-styles';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SaveHub from '../save-hub';\nimport { unlock } from '../../lock-unlock';\nimport SidebarNavigationScreenPages from '../sidebar-navigation-screen-pages';\nimport SidebarNavigationScreenPage from '../sidebar-navigation-screen-page';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nfunction SidebarScreens() {\n\tuseSyncPathWithURL();\n\n\treturn (\n\t\t<>\n\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t<SidebarNavigationScreenMain />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/navigation\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenus />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/navigation/:postType/:postId\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenu />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/wp_global_styles\">\n\t\t\t\t<SidebarNavigationScreenGlobalStyles />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/page\">\n\t\t\t\t<SidebarNavigationScreenPages />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/page/:postId\">\n\t\t\t\t<SidebarNavigationScreenPage />\n\t\t\t</NavigatorScreen>\n\t\t\t{ window?.__experimentalAdminViews && (\n\t\t\t\t<NavigatorScreen path=\"/pages\">\n\t\t\t\t\t<SidebarNavigationScreen\n\t\t\t\t\t\ttitle={ __( 'All Pages' ) }\n\t\t\t\t\t\tdescription={ __( 'Manage your pages.' ) }\n\t\t\t\t\t\tbackPath=\"/page\"\n\t\t\t\t\t\tcontent={ <DataViewsSidebarContent /> }\n\t\t\t\t\t/>\n\t\t\t\t</NavigatorScreen>\n\t\t\t) }\n\t\t\t<NavigatorScreen path=\"/:postType(wp_template)\">\n\t\t\t\t<SidebarNavigationScreenTemplates />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/patterns\">\n\t\t\t\t<SidebarNavigationScreenPatterns />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/:postType(wp_template|wp_template_part)/all\">\n\t\t\t\t<SidebarNavigationScreenTemplatesBrowse />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/:postType(wp_template_part|wp_block)/:postId\">\n\t\t\t\t<SidebarNavigationScreenPattern />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/:postType(wp_template)/:postId\">\n\t\t\t\t<SidebarNavigationScreenTemplate />\n\t\t\t</NavigatorScreen>\n\t\t</>\n\t);\n}\n\nfunction Sidebar() {\n\tconst { params: urlParams } = useLocation();\n\tconst initialPath = useRef( getPathFromURL( urlParams ) );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigatorProvider\n\t\t\t\tclassName=\"edit-site-sidebar__content\"\n\t\t\t\tinitialPath={ initialPath.current }\n\t\t\t>\n\t\t\t\t<SidebarScreens />\n\t\t\t</NavigatorProvider>\n\t\t\t<SaveHub />\n\t\t</>\n\t);\n}\n\nexport default memo( Sidebar );\n"],"mappings":"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"}
1
+ {"version":3,"names":["memo","useRef","__","__experimentalNavigatorProvider","NavigatorProvider","__experimentalNavigatorScreen","NavigatorScreen","privateApis","routerPrivateApis","SidebarNavigationScreenMain","SidebarNavigationScreenTemplates","SidebarNavigationScreenTemplate","SidebarNavigationScreenPatterns","SidebarNavigationScreenPattern","useSyncPathWithURL","getPathFromURL","SidebarNavigationScreenNavigationMenus","SidebarNavigationScreenNavigationMenu","SidebarNavigationScreenGlobalStyles","SidebarNavigationScreenTemplatesBrowse","SaveHub","unlock","SidebarNavigationScreenPages","SidebarNavigationScreenPage","SidebarNavigationScreen","DataViewsSidebarContent","useLocation","SidebarScreens","createElement","Fragment","path","window","__experimentalAdminViews","title","backPath","content","Sidebar","params","urlParams","initialPath","className","current"],"sources":["@wordpress/edit-site/src/components/sidebar/index.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { memo, useRef } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\nimport {\n\t__experimentalNavigatorProvider as NavigatorProvider,\n\t__experimentalNavigatorScreen as NavigatorScreen,\n} from '@wordpress/components';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationScreenMain from '../sidebar-navigation-screen-main';\nimport SidebarNavigationScreenTemplates from '../sidebar-navigation-screen-templates';\nimport SidebarNavigationScreenTemplate from '../sidebar-navigation-screen-template';\nimport SidebarNavigationScreenPatterns from '../sidebar-navigation-screen-patterns';\nimport SidebarNavigationScreenPattern from '../sidebar-navigation-screen-pattern';\nimport useSyncPathWithURL, {\n\tgetPathFromURL,\n} from '../sync-state-with-url/use-sync-path-with-url';\nimport SidebarNavigationScreenNavigationMenus from '../sidebar-navigation-screen-navigation-menus';\nimport SidebarNavigationScreenNavigationMenu from '../sidebar-navigation-screen-navigation-menu';\nimport SidebarNavigationScreenGlobalStyles from '../sidebar-navigation-screen-global-styles';\nimport SidebarNavigationScreenTemplatesBrowse from '../sidebar-navigation-screen-templates-browse';\nimport SaveHub from '../save-hub';\nimport { unlock } from '../../lock-unlock';\nimport SidebarNavigationScreenPages from '../sidebar-navigation-screen-pages';\nimport SidebarNavigationScreenPage from '../sidebar-navigation-screen-page';\nimport SidebarNavigationScreen from '../sidebar-navigation-screen';\nimport DataViewsSidebarContent from '../sidebar-dataviews';\n\nconst { useLocation } = unlock( routerPrivateApis );\n\nfunction SidebarScreens() {\n\tuseSyncPathWithURL();\n\n\treturn (\n\t\t<>\n\t\t\t<NavigatorScreen path=\"/\">\n\t\t\t\t<SidebarNavigationScreenMain />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/navigation\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenus />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/navigation/:postType/:postId\">\n\t\t\t\t<SidebarNavigationScreenNavigationMenu />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/wp_global_styles\">\n\t\t\t\t<SidebarNavigationScreenGlobalStyles />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/page\">\n\t\t\t\t<SidebarNavigationScreenPages />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/page/:postId\">\n\t\t\t\t<SidebarNavigationScreenPage />\n\t\t\t</NavigatorScreen>\n\t\t\t{ window?.__experimentalAdminViews && (\n\t\t\t\t<NavigatorScreen path=\"/pages\">\n\t\t\t\t\t<SidebarNavigationScreen\n\t\t\t\t\t\ttitle={ __( 'Pages' ) }\n\t\t\t\t\t\tbackPath=\"/page\"\n\t\t\t\t\t\tcontent={ <DataViewsSidebarContent /> }\n\t\t\t\t\t/>\n\t\t\t\t</NavigatorScreen>\n\t\t\t) }\n\t\t\t<NavigatorScreen path=\"/:postType(wp_template)\">\n\t\t\t\t<SidebarNavigationScreenTemplates />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/patterns\">\n\t\t\t\t<SidebarNavigationScreenPatterns />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/:postType(wp_template|wp_template_part)/all\">\n\t\t\t\t<SidebarNavigationScreenTemplatesBrowse />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/:postType(wp_template_part|wp_block)/:postId\">\n\t\t\t\t<SidebarNavigationScreenPattern />\n\t\t\t</NavigatorScreen>\n\t\t\t<NavigatorScreen path=\"/:postType(wp_template)/:postId\">\n\t\t\t\t<SidebarNavigationScreenTemplate />\n\t\t\t</NavigatorScreen>\n\t\t</>\n\t);\n}\n\nfunction Sidebar() {\n\tconst { params: urlParams } = useLocation();\n\tconst initialPath = useRef( getPathFromURL( urlParams ) );\n\n\treturn (\n\t\t<>\n\t\t\t<NavigatorProvider\n\t\t\t\tclassName=\"edit-site-sidebar__content\"\n\t\t\t\tinitialPath={ initialPath.current }\n\t\t\t>\n\t\t\t\t<SidebarScreens />\n\t\t\t</NavigatorProvider>\n\t\t\t<SaveHub />\n\t\t</>\n\t);\n}\n\nexport default memo( Sidebar );\n"],"mappings":";AAAA;AACA;AACA;AACA,SAASA,IAAI,EAAEC,MAAM,QAAQ,oBAAoB;AACjD,SAASC,EAAE,QAAQ,iBAAiB;AACpC,SACCC,+BAA+B,IAAIC,iBAAiB,EACpDC,6BAA6B,IAAIC,eAAe,QAC1C,uBAAuB;AAC9B,SAASC,WAAW,IAAIC,iBAAiB,QAAQ,mBAAmB;;AAEpE;AACA;AACA;AACA,OAAOC,2BAA2B,MAAM,mCAAmC;AAC3E,OAAOC,gCAAgC,MAAM,wCAAwC;AACrF,OAAOC,+BAA+B,MAAM,uCAAuC;AACnF,OAAOC,+BAA+B,MAAM,uCAAuC;AACnF,OAAOC,8BAA8B,MAAM,sCAAsC;AACjF,OAAOC,kBAAkB,IACxBC,cAAc,QACR,+CAA+C;AACtD,OAAOC,sCAAsC,MAAM,+CAA+C;AAClG,OAAOC,qCAAqC,MAAM,8CAA8C;AAChG,OAAOC,mCAAmC,MAAM,4CAA4C;AAC5F,OAAOC,sCAAsC,MAAM,+CAA+C;AAClG,OAAOC,OAAO,MAAM,aAAa;AACjC,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,OAAOC,4BAA4B,MAAM,oCAAoC;AAC7E,OAAOC,2BAA2B,MAAM,mCAAmC;AAC3E,OAAOC,uBAAuB,MAAM,8BAA8B;AAClE,OAAOC,uBAAuB,MAAM,sBAAsB;AAE1D,MAAM;EAAEC;AAAY,CAAC,GAAGL,MAAM,CAAEb,iBAAkB,CAAC;AAEnD,SAASmB,cAAcA,CAAA,EAAG;EACzBb,kBAAkB,CAAC,CAAC;EAEpB,OACCc,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAAG,GACxBF,aAAA,CAACnB,2BAA2B,MAAE,CACd,CAAC,EAClBmB,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAAa,GAClCF,aAAA,CAACZ,sCAAsC,MAAE,CACzB,CAAC,EAClBY,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAA+B,GACpDF,aAAA,CAACX,qCAAqC,MAAE,CACxB,CAAC,EAClBW,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAAmB,GACxCF,aAAA,CAACV,mCAAmC,MAAE,CACtB,CAAC,EAClBU,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAAO,GAC5BF,aAAA,CAACN,4BAA4B,MAAE,CACf,CAAC,EAClBM,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAAe,GACpCF,aAAA,CAACL,2BAA2B,MAAE,CACd,CAAC,EAChBQ,MAAM,EAAEC,wBAAwB,IACjCJ,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAAQ,GAC7BF,aAAA,CAACJ,uBAAuB;IACvBS,KAAK,EAAG/B,EAAE,CAAE,OAAQ,CAAG;IACvBgC,QAAQ,EAAC,OAAO;IAChBC,OAAO,EAAGP,aAAA,CAACH,uBAAuB,MAAE;EAAG,CACvC,CACe,CACjB,EACDG,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAAyB,GAC9CF,aAAA,CAAClB,gCAAgC,MAAE,CACnB,CAAC,EAClBkB,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAAW,GAChCF,aAAA,CAAChB,+BAA+B,MAAE,CAClB,CAAC,EAClBgB,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAA8C,GACnEF,aAAA,CAACT,sCAAsC,MAAE,CACzB,CAAC,EAClBS,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAA+C,GACpEF,aAAA,CAACf,8BAA8B,MAAE,CACjB,CAAC,EAClBe,aAAA,CAACtB,eAAe;IAACwB,IAAI,EAAC;EAAiC,GACtDF,aAAA,CAACjB,+BAA+B,MAAE,CAClB,CAChB,CAAC;AAEL;AAEA,SAASyB,OAAOA,CAAA,EAAG;EAClB,MAAM;IAAEC,MAAM,EAAEC;EAAU,CAAC,GAAGZ,WAAW,CAAC,CAAC;EAC3C,MAAMa,WAAW,GAAGtC,MAAM,CAAEc,cAAc,CAAEuB,SAAU,CAAE,CAAC;EAEzD,OACCV,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACxB,iBAAiB;IACjBoC,SAAS,EAAC,4BAA4B;IACtCD,WAAW,EAAGA,WAAW,CAACE;EAAS,GAEnCb,aAAA,CAACD,cAAc,MAAE,CACC,CAAC,EACpBC,aAAA,CAACR,OAAO,MAAE,CACT,CAAC;AAEL;AAEA,eAAepB,IAAI,CAAEoC,OAAQ,CAAC"}
@@ -0,0 +1,116 @@
1
+ import { createElement, Fragment } from "react";
2
+ /**
3
+ * WordPress dependencies
4
+ */
5
+ import { Modal, TextControl, __experimentalHStack as HStack, __experimentalVStack as VStack, Button } from '@wordpress/components';
6
+ import { __ } from '@wordpress/i18n';
7
+ import { useDispatch, resolveSelect } from '@wordpress/data';
8
+ import { store as coreStore } from '@wordpress/core-data';
9
+ import { useState } from '@wordpress/element';
10
+ import { plus } from '@wordpress/icons';
11
+ import { privateApis as routerPrivateApis } from '@wordpress/router';
12
+
13
+ /**
14
+ * Internal dependencies
15
+ */
16
+ import SidebarNavigationItem from '../sidebar-navigation-item';
17
+ import DEFAULT_VIEWS from './default-views';
18
+ import { unlock } from '../../lock-unlock';
19
+ const {
20
+ useHistory,
21
+ useLocation
22
+ } = unlock(routerPrivateApis);
23
+ function AddNewItemModalContent({
24
+ type,
25
+ setIsAdding
26
+ }) {
27
+ const {
28
+ params: {
29
+ path
30
+ }
31
+ } = useLocation();
32
+ const history = useHistory();
33
+ const {
34
+ saveEntityRecord
35
+ } = useDispatch(coreStore);
36
+ const [title, setTitle] = useState('');
37
+ const [isSaving, setIsSaving] = useState(false);
38
+ return createElement("form", {
39
+ onSubmit: async event => {
40
+ event.preventDefault();
41
+ setIsSaving(true);
42
+ const {
43
+ getEntityRecords
44
+ } = resolveSelect(coreStore);
45
+ let dataViewTaxonomyId;
46
+ const dataViewTypeRecords = await getEntityRecords('taxonomy', 'wp_dataviews_type', {
47
+ slug: type
48
+ });
49
+ if (dataViewTypeRecords && dataViewTypeRecords.length > 0) {
50
+ dataViewTaxonomyId = dataViewTypeRecords[0].id;
51
+ } else {
52
+ const record = await saveEntityRecord('taxonomy', 'wp_dataviews_type', {
53
+ name: type
54
+ });
55
+ if (record && record.id) {
56
+ dataViewTaxonomyId = record.id;
57
+ }
58
+ }
59
+ const savedRecord = await saveEntityRecord('postType', 'wp_dataviews', {
60
+ title,
61
+ status: 'publish',
62
+ wp_dataviews_type: dataViewTaxonomyId,
63
+ content: JSON.stringify(DEFAULT_VIEWS[type][0].view)
64
+ });
65
+ history.push({
66
+ path,
67
+ activeView: savedRecord.id,
68
+ isCustom: 'true'
69
+ });
70
+ setIsSaving(false);
71
+ setIsAdding(false);
72
+ }
73
+ }, createElement(VStack, {
74
+ spacing: "5"
75
+ }, createElement(TextControl, {
76
+ __nextHasNoMarginBottom: true,
77
+ label: __('Name'),
78
+ value: title,
79
+ onChange: setTitle,
80
+ placeholder: __('My view'),
81
+ className: "patterns-create-modal__name-input"
82
+ }), createElement(HStack, {
83
+ justify: "right"
84
+ }, createElement(Button, {
85
+ variant: "tertiary",
86
+ onClick: () => {
87
+ setIsAdding(false);
88
+ }
89
+ }, __('Cancel')), createElement(Button, {
90
+ variant: "primary",
91
+ type: "submit",
92
+ "aria-disabled": !title || isSaving,
93
+ isBusy: isSaving
94
+ }, __('Create')))));
95
+ }
96
+ export default function AddNewItem({
97
+ type
98
+ }) {
99
+ const [isAdding, setIsAdding] = useState(false);
100
+ return createElement(Fragment, null, createElement(SidebarNavigationItem, {
101
+ icon: plus,
102
+ onClick: () => {
103
+ setIsAdding(true);
104
+ },
105
+ className: "dataviews__siderbar-content-add-new-item"
106
+ }, __('New view')), isAdding && createElement(Modal, {
107
+ title: __('Add new view'),
108
+ onRequestClose: () => {
109
+ setIsAdding(false);
110
+ }
111
+ }, createElement(AddNewItemModalContent, {
112
+ type: type,
113
+ setIsAdding: setIsAdding
114
+ })));
115
+ }
116
+ //# sourceMappingURL=add-new-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Modal","TextControl","__experimentalHStack","HStack","__experimentalVStack","VStack","Button","__","useDispatch","resolveSelect","store","coreStore","useState","plus","privateApis","routerPrivateApis","SidebarNavigationItem","DEFAULT_VIEWS","unlock","useHistory","useLocation","AddNewItemModalContent","type","setIsAdding","params","path","history","saveEntityRecord","title","setTitle","isSaving","setIsSaving","createElement","onSubmit","event","preventDefault","getEntityRecords","dataViewTaxonomyId","dataViewTypeRecords","slug","length","id","record","name","savedRecord","status","wp_dataviews_type","content","JSON","stringify","view","push","activeView","isCustom","spacing","__nextHasNoMarginBottom","label","value","onChange","placeholder","className","justify","variant","onClick","isBusy","AddNewItem","isAdding","Fragment","icon","onRequestClose"],"sources":["@wordpress/edit-site/src/components/sidebar-dataviews/add-new-view.js"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tModal,\n\tTextControl,\n\t__experimentalHStack as HStack,\n\t__experimentalVStack as VStack,\n\tButton,\n} from '@wordpress/components';\nimport { __ } from '@wordpress/i18n';\nimport { useDispatch, resolveSelect } from '@wordpress/data';\nimport { store as coreStore } from '@wordpress/core-data';\nimport { useState } from '@wordpress/element';\nimport { plus } from '@wordpress/icons';\nimport { privateApis as routerPrivateApis } from '@wordpress/router';\n\n/**\n * Internal dependencies\n */\nimport SidebarNavigationItem from '../sidebar-navigation-item';\nimport DEFAULT_VIEWS from './default-views';\nimport { unlock } from '../../lock-unlock';\n\nconst { useHistory, useLocation } = unlock( routerPrivateApis );\n\nfunction AddNewItemModalContent( { type, setIsAdding } ) {\n\tconst {\n\t\tparams: { path },\n\t} = useLocation();\n\tconst history = useHistory();\n\tconst { saveEntityRecord } = useDispatch( coreStore );\n\tconst [ title, setTitle ] = useState( '' );\n\tconst [ isSaving, setIsSaving ] = useState( false );\n\treturn (\n\t\t<form\n\t\t\tonSubmit={ async ( event ) => {\n\t\t\t\tevent.preventDefault();\n\t\t\t\tsetIsSaving( true );\n\t\t\t\tconst { getEntityRecords } = resolveSelect( coreStore );\n\t\t\t\tlet dataViewTaxonomyId;\n\t\t\t\tconst dataViewTypeRecords = await getEntityRecords(\n\t\t\t\t\t'taxonomy',\n\t\t\t\t\t'wp_dataviews_type',\n\t\t\t\t\t{ slug: type }\n\t\t\t\t);\n\t\t\t\tif ( dataViewTypeRecords && dataViewTypeRecords.length > 0 ) {\n\t\t\t\t\tdataViewTaxonomyId = dataViewTypeRecords[ 0 ].id;\n\t\t\t\t} else {\n\t\t\t\t\tconst record = await saveEntityRecord(\n\t\t\t\t\t\t'taxonomy',\n\t\t\t\t\t\t'wp_dataviews_type',\n\t\t\t\t\t\t{ name: type }\n\t\t\t\t\t);\n\t\t\t\t\tif ( record && record.id ) {\n\t\t\t\t\t\tdataViewTaxonomyId = record.id;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tconst savedRecord = await saveEntityRecord(\n\t\t\t\t\t'postType',\n\t\t\t\t\t'wp_dataviews',\n\t\t\t\t\t{\n\t\t\t\t\t\ttitle,\n\t\t\t\t\t\tstatus: 'publish',\n\t\t\t\t\t\twp_dataviews_type: dataViewTaxonomyId,\n\t\t\t\t\t\tcontent: JSON.stringify(\n\t\t\t\t\t\t\tDEFAULT_VIEWS[ type ][ 0 ].view\n\t\t\t\t\t\t),\n\t\t\t\t\t}\n\t\t\t\t);\n\t\t\t\thistory.push( {\n\t\t\t\t\tpath,\n\t\t\t\t\tactiveView: savedRecord.id,\n\t\t\t\t\tisCustom: 'true',\n\t\t\t\t} );\n\t\t\t\tsetIsSaving( false );\n\t\t\t\tsetIsAdding( false );\n\t\t\t} }\n\t\t>\n\t\t\t<VStack spacing=\"5\">\n\t\t\t\t<TextControl\n\t\t\t\t\t__nextHasNoMarginBottom\n\t\t\t\t\tlabel={ __( 'Name' ) }\n\t\t\t\t\tvalue={ title }\n\t\t\t\t\tonChange={ setTitle }\n\t\t\t\t\tplaceholder={ __( 'My view' ) }\n\t\t\t\t\tclassName=\"patterns-create-modal__name-input\"\n\t\t\t\t/>\n\t\t\t\t<HStack justify=\"right\">\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"tertiary\"\n\t\t\t\t\t\tonClick={ () => {\n\t\t\t\t\t\t\tsetIsAdding( false );\n\t\t\t\t\t\t} }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Cancel' ) }\n\t\t\t\t\t</Button>\n\n\t\t\t\t\t<Button\n\t\t\t\t\t\tvariant=\"primary\"\n\t\t\t\t\t\ttype=\"submit\"\n\t\t\t\t\t\taria-disabled={ ! title || isSaving }\n\t\t\t\t\t\tisBusy={ isSaving }\n\t\t\t\t\t>\n\t\t\t\t\t\t{ __( 'Create' ) }\n\t\t\t\t\t</Button>\n\t\t\t\t</HStack>\n\t\t\t</VStack>\n\t\t</form>\n\t);\n}\n\nexport default function AddNewItem( { type } ) {\n\tconst [ isAdding, setIsAdding ] = useState( false );\n\treturn (\n\t\t<>\n\t\t\t<SidebarNavigationItem\n\t\t\t\ticon={ plus }\n\t\t\t\tonClick={ () => {\n\t\t\t\t\tsetIsAdding( true );\n\t\t\t\t} }\n\t\t\t\tclassName=\"dataviews__siderbar-content-add-new-item\"\n\t\t\t>\n\t\t\t\t{ __( 'New view' ) }\n\t\t\t</SidebarNavigationItem>\n\t\t\t{ isAdding && (\n\t\t\t\t<Modal\n\t\t\t\t\ttitle={ __( 'Add new view' ) }\n\t\t\t\t\tonRequestClose={ () => {\n\t\t\t\t\t\tsetIsAdding( false );\n\t\t\t\t\t} }\n\t\t\t\t>\n\t\t\t\t\t<AddNewItemModalContent\n\t\t\t\t\t\ttype={ type }\n\t\t\t\t\t\tsetIsAdding={ setIsAdding }\n\t\t\t\t\t/>\n\t\t\t\t</Modal>\n\t\t\t) }\n\t\t</>\n\t);\n}\n"],"mappings":"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"}