@wordpress/edit-site 5.9.0 → 5.10.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 (426) hide show
  1. package/CHANGELOG.md +2 -0
  2. package/build/components/add-new-template/add-custom-template-modal.js +21 -6
  3. package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
  4. package/build/components/add-new-template/new-template-part.js +8 -2
  5. package/build/components/add-new-template/new-template-part.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +6 -3
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/app/index.js +8 -2
  9. package/build/components/app/index.js.map +1 -1
  10. package/build/components/block-editor/back-button.js +10 -3
  11. package/build/components/block-editor/back-button.js.map +1 -1
  12. package/build/components/block-editor/editor-canvas.js +39 -6
  13. package/build/components/block-editor/editor-canvas.js.map +1 -1
  14. package/build/components/editor/index.js +43 -9
  15. package/build/components/editor/index.js.map +1 -1
  16. package/build/components/editor-canvas-container/index.js +18 -4
  17. package/build/components/editor-canvas-container/index.js.map +1 -1
  18. package/build/components/global-styles/block-preview-panel.js +1 -1
  19. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  20. package/build/components/global-styles/border-panel.js +3 -1
  21. package/build/components/global-styles/border-panel.js.map +1 -1
  22. package/build/components/global-styles/color-palette-panel.js +14 -3
  23. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  24. package/build/components/global-styles/dimensions-panel.js +17 -18
  25. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  26. package/build/components/global-styles/gradients-palette-panel.js +14 -3
  27. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  28. package/build/components/global-styles/root-menu.js +61 -0
  29. package/build/components/global-styles/root-menu.js.map +1 -0
  30. package/build/components/global-styles/screen-block-list.js +3 -1
  31. package/build/components/global-styles/screen-block-list.js.map +1 -1
  32. package/build/components/global-styles/screen-block.js +158 -7
  33. package/build/components/global-styles/screen-block.js.map +1 -1
  34. package/build/components/global-styles/screen-colors.js +9 -26
  35. package/build/components/global-styles/screen-colors.js.map +1 -1
  36. package/build/components/global-styles/screen-css.js +20 -15
  37. package/build/components/global-styles/screen-css.js.map +1 -1
  38. package/build/components/global-styles/screen-layout.js +4 -17
  39. package/build/components/global-styles/screen-layout.js.map +1 -1
  40. package/build/components/global-styles/screen-revisions/index.js +148 -0
  41. package/build/components/global-styles/screen-revisions/index.js.map +1 -0
  42. package/build/components/global-styles/screen-revisions/revisions-buttons.js +132 -0
  43. package/build/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -0
  44. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js +130 -0
  45. package/build/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -0
  46. package/build/components/global-styles/screen-root.js +2 -2
  47. package/build/components/global-styles/screen-root.js.map +1 -1
  48. package/build/components/global-styles/screen-typography-element.js +0 -3
  49. package/build/components/global-styles/screen-typography-element.js.map +1 -1
  50. package/build/components/global-styles/screen-typography.js +11 -39
  51. package/build/components/global-styles/screen-typography.js.map +1 -1
  52. package/build/components/global-styles/style-variations-container.js +3 -8
  53. package/build/components/global-styles/style-variations-container.js.map +1 -1
  54. package/build/components/global-styles/typography-panel.js +7 -11
  55. package/build/components/global-styles/typography-panel.js.map +1 -1
  56. package/build/components/global-styles/ui.js +61 -108
  57. package/build/components/global-styles/ui.js.map +1 -1
  58. package/build/components/global-styles/variations-panel.js +4 -28
  59. package/build/components/global-styles/variations-panel.js.map +1 -1
  60. package/build/components/header-edit-mode/index.js +1 -1
  61. package/build/components/header-edit-mode/index.js.map +1 -1
  62. package/build/components/keyboard-shortcuts/register.js +1 -1
  63. package/build/components/keyboard-shortcuts/register.js.map +1 -1
  64. package/build/components/layout/index.js +13 -7
  65. package/build/components/layout/index.js.map +1 -1
  66. package/build/components/list/index.js +9 -3
  67. package/build/components/list/index.js.map +1 -1
  68. package/build/components/list/table.js +1 -1
  69. package/build/components/list/table.js.map +1 -1
  70. package/build/components/plugin-template-setting-panel/index.js +44 -0
  71. package/build/components/plugin-template-setting-panel/index.js.map +1 -0
  72. package/build/components/revisions/index.js +95 -0
  73. package/build/components/revisions/index.js.map +1 -0
  74. package/build/components/routes/link.js +17 -2
  75. package/build/components/routes/link.js.map +1 -1
  76. package/build/components/routes/use-title.js +8 -2
  77. package/build/components/routes/use-title.js.map +1 -1
  78. package/build/components/save-button/index.js +31 -6
  79. package/build/components/save-button/index.js.map +1 -1
  80. package/build/components/save-hub/index.js +14 -31
  81. package/build/components/save-hub/index.js.map +1 -1
  82. package/build/components/save-panel/index.js +20 -7
  83. package/build/components/save-panel/index.js.map +1 -1
  84. package/build/components/secondary-sidebar/list-view-sidebar.js +2 -7
  85. package/build/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  86. package/build/components/sidebar/index.js +16 -2
  87. package/build/components/sidebar/index.js.map +1 -1
  88. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +9 -3
  89. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  90. package/build/components/sidebar-edit-mode/index.js +9 -2
  91. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  92. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js +40 -0
  93. package/build/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -0
  94. package/build/components/sidebar-edit-mode/template-card/index.js +1 -8
  95. package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +1 -1
  97. package/build/components/sidebar-edit-mode/template-revisions/index.js.map +1 -0
  98. package/build/components/sidebar-navigation-item/index.js +5 -7
  99. package/build/components/sidebar-navigation-item/index.js.map +1 -1
  100. package/build/components/sidebar-navigation-screen/index.js +14 -4
  101. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  102. package/build/components/sidebar-navigation-screen-main/index.js +24 -7
  103. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  104. package/build/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  105. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  106. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +17 -5
  107. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  108. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  109. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  110. package/build/components/sidebar-navigation-screen-page/index.js +67 -0
  111. package/build/components/sidebar-navigation-screen-page/index.js.map +1 -0
  112. package/build/components/sidebar-navigation-screen-pages/index.js +74 -0
  113. package/build/components/sidebar-navigation-screen-pages/index.js.map +1 -0
  114. package/build/components/sidebar-navigation-screen-templates/index.js +5 -3
  115. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  116. package/build/components/sidebar-navigation-subtitle/index.js +18 -0
  117. package/build/components/sidebar-navigation-subtitle/index.js.map +1 -0
  118. package/build/components/site-hub/index.js +36 -6
  119. package/build/components/site-hub/index.js.map +1 -1
  120. package/build/components/start-template-options/index.js +12 -16
  121. package/build/components/start-template-options/index.js.map +1 -1
  122. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +8 -2
  123. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  124. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +9 -4
  125. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  126. package/build/components/sync-state-with-url/use-sync-path-with-url.js +17 -3
  127. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  128. package/build/components/template-details/template-areas.js +9 -3
  129. package/build/components/template-details/template-areas.js.map +1 -1
  130. package/build/hooks/template-part-edit.js +8 -2
  131. package/build/hooks/template-part-edit.js.map +1 -1
  132. package/build/index.js +8 -0
  133. package/build/index.js.map +1 -1
  134. package/build/utils/is-previewing-theme.js +27 -0
  135. package/build/utils/is-previewing-theme.js.map +1 -0
  136. package/build/utils/use-activate-theme.js +46 -0
  137. package/build/utils/use-activate-theme.js.map +1 -0
  138. package/build-module/components/add-new-template/add-custom-template-modal.js +21 -6
  139. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  140. package/build-module/components/add-new-template/new-template-part.js +5 -1
  141. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  142. package/build-module/components/add-new-template/new-template.js +4 -1
  143. package/build-module/components/add-new-template/new-template.js.map +1 -1
  144. package/build-module/components/app/index.js +6 -2
  145. package/build-module/components/app/index.js.map +1 -1
  146. package/build-module/components/block-editor/back-button.js +6 -1
  147. package/build-module/components/block-editor/back-button.js.map +1 -1
  148. package/build-module/components/block-editor/editor-canvas.js +37 -6
  149. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  150. package/build-module/components/editor/index.js +45 -11
  151. package/build-module/components/editor/index.js.map +1 -1
  152. package/build-module/components/editor-canvas-container/index.js +21 -6
  153. package/build-module/components/editor-canvas-container/index.js.map +1 -1
  154. package/build-module/components/global-styles/block-preview-panel.js +1 -1
  155. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  156. package/build-module/components/global-styles/border-panel.js +3 -1
  157. package/build-module/components/global-styles/border-panel.js.map +1 -1
  158. package/build-module/components/global-styles/color-palette-panel.js +13 -3
  159. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  160. package/build-module/components/global-styles/dimensions-panel.js +17 -18
  161. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  162. package/build-module/components/global-styles/gradients-palette-panel.js +13 -3
  163. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  164. package/build-module/components/global-styles/root-menu.js +47 -0
  165. package/build-module/components/global-styles/root-menu.js.map +1 -0
  166. package/build-module/components/global-styles/screen-block-list.js +4 -2
  167. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  168. package/build-module/components/global-styles/screen-block.js +151 -7
  169. package/build-module/components/global-styles/screen-block.js.map +1 -1
  170. package/build-module/components/global-styles/screen-colors.js +9 -25
  171. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  172. package/build-module/components/global-styles/screen-css.js +20 -15
  173. package/build-module/components/global-styles/screen-css.js.map +1 -1
  174. package/build-module/components/global-styles/screen-layout.js +4 -16
  175. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  176. package/build-module/components/global-styles/screen-revisions/index.js +128 -0
  177. package/build-module/components/global-styles/screen-revisions/index.js.map +1 -0
  178. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js +121 -0
  179. package/build-module/components/global-styles/screen-revisions/revisions-buttons.js.map +1 -0
  180. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js +116 -0
  181. package/build-module/components/global-styles/screen-revisions/use-global-styles-revisions.js.map +1 -0
  182. package/build-module/components/global-styles/screen-root.js +2 -2
  183. package/build-module/components/global-styles/screen-root.js.map +1 -1
  184. package/build-module/components/global-styles/screen-typography-element.js +0 -3
  185. package/build-module/components/global-styles/screen-typography-element.js.map +1 -1
  186. package/build-module/components/global-styles/screen-typography.js +11 -37
  187. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  188. package/build-module/components/global-styles/style-variations-container.js +3 -7
  189. package/build-module/components/global-styles/style-variations-container.js.map +1 -1
  190. package/build-module/components/global-styles/typography-panel.js +7 -11
  191. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  192. package/build-module/components/global-styles/ui.js +61 -105
  193. package/build-module/components/global-styles/ui.js.map +1 -1
  194. package/build-module/components/global-styles/variations-panel.js +3 -22
  195. package/build-module/components/global-styles/variations-panel.js.map +1 -1
  196. package/build-module/components/header-edit-mode/index.js +2 -2
  197. package/build-module/components/header-edit-mode/index.js.map +1 -1
  198. package/build-module/components/keyboard-shortcuts/register.js +1 -1
  199. package/build-module/components/keyboard-shortcuts/register.js.map +1 -1
  200. package/build-module/components/layout/index.js +9 -3
  201. package/build-module/components/layout/index.js.map +1 -1
  202. package/build-module/components/list/index.js +5 -1
  203. package/build-module/components/list/index.js.map +1 -1
  204. package/build-module/components/list/table.js +1 -1
  205. package/build-module/components/list/table.js.map +1 -1
  206. package/build-module/components/plugin-template-setting-panel/index.js +35 -0
  207. package/build-module/components/plugin-template-setting-panel/index.js.map +1 -0
  208. package/build-module/components/revisions/index.js +77 -0
  209. package/build-module/components/revisions/index.js.map +1 -0
  210. package/build-module/components/routes/link.js +13 -1
  211. package/build-module/components/routes/link.js.map +1 -1
  212. package/build-module/components/routes/use-title.js +5 -1
  213. package/build-module/components/routes/use-title.js.map +1 -1
  214. package/build-module/components/save-button/index.js +28 -6
  215. package/build-module/components/save-button/index.js.map +1 -1
  216. package/build-module/components/save-hub/index.js +13 -32
  217. package/build-module/components/save-hub/index.js.map +1 -1
  218. package/build-module/components/save-panel/index.js +19 -7
  219. package/build-module/components/save-panel/index.js.map +1 -1
  220. package/build-module/components/secondary-sidebar/list-view-sidebar.js +3 -8
  221. package/build-module/components/secondary-sidebar/list-view-sidebar.js.map +1 -1
  222. package/build-module/components/sidebar/index.js +11 -1
  223. package/build-module/components/sidebar/index.js.map +1 -1
  224. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +9 -3
  225. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  226. package/build-module/components/sidebar-edit-mode/index.js +10 -5
  227. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  228. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js +29 -0
  229. package/build-module/components/sidebar-edit-mode/sidebar-fixed-bottom.js.map +1 -0
  230. package/build-module/components/sidebar-edit-mode/template-card/index.js +2 -7
  231. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  232. package/build-module/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +1 -1
  233. package/build-module/components/sidebar-edit-mode/template-revisions/index.js.map +1 -0
  234. package/build-module/components/sidebar-navigation-item/index.js +6 -8
  235. package/build-module/components/sidebar-navigation-item/index.js.map +1 -1
  236. package/build-module/components/sidebar-navigation-screen/index.js +13 -5
  237. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  238. package/build-module/components/sidebar-navigation-screen-main/index.js +25 -8
  239. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  240. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +1 -1
  241. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  242. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +13 -3
  243. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  244. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  245. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -1
  246. package/build-module/components/sidebar-navigation-screen-page/index.js +48 -0
  247. package/build-module/components/sidebar-navigation-screen-page/index.js.map +1 -0
  248. package/build-module/components/sidebar-navigation-screen-pages/index.js +57 -0
  249. package/build-module/components/sidebar-navigation-screen-pages/index.js.map +1 -0
  250. package/build-module/components/sidebar-navigation-screen-templates/index.js +5 -3
  251. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  252. package/build-module/components/sidebar-navigation-subtitle/index.js +10 -0
  253. package/build-module/components/sidebar-navigation-subtitle/index.js.map +1 -0
  254. package/build-module/components/site-hub/index.js +34 -6
  255. package/build-module/components/site-hub/index.js.map +1 -1
  256. package/build-module/components/start-template-options/index.js +13 -17
  257. package/build-module/components/start-template-options/index.js.map +1 -1
  258. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +5 -1
  259. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  260. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +5 -1
  261. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  262. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +13 -1
  263. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  264. package/build-module/components/template-details/template-areas.js +5 -1
  265. package/build-module/components/template-details/template-areas.js.map +1 -1
  266. package/build-module/hooks/template-part-edit.js +5 -1
  267. package/build-module/hooks/template-part-edit.js.map +1 -1
  268. package/build-module/index.js +1 -0
  269. package/build-module/index.js.map +1 -1
  270. package/build-module/utils/is-previewing-theme.js +17 -0
  271. package/build-module/utils/is-previewing-theme.js.map +1 -0
  272. package/build-module/utils/use-activate-theme.js +36 -0
  273. package/build-module/utils/use-activate-theme.js.map +1 -0
  274. package/build-style/style-rtl.css +199 -78
  275. package/build-style/style.css +199 -78
  276. package/package.json +36 -34
  277. package/src/components/add-new-template/add-custom-template-modal.js +31 -8
  278. package/src/components/add-new-template/new-template-part.js +4 -1
  279. package/src/components/add-new-template/new-template.js +3 -1
  280. package/src/components/add-new-template/style.scss +52 -48
  281. package/src/components/app/index.js +6 -3
  282. package/src/components/block-editor/back-button.js +4 -1
  283. package/src/components/block-editor/editor-canvas.js +36 -8
  284. package/src/components/block-editor/style.scss +15 -8
  285. package/src/components/editor/index.js +48 -7
  286. package/src/components/editor-canvas-container/index.js +30 -17
  287. package/src/components/global-styles/block-preview-panel.js +1 -1
  288. package/src/components/global-styles/border-panel.js +3 -1
  289. package/src/components/global-styles/color-palette-panel.js +9 -0
  290. package/src/components/global-styles/dimensions-panel.js +15 -15
  291. package/src/components/global-styles/gradients-palette-panel.js +8 -0
  292. package/src/components/global-styles/root-menu.js +66 -0
  293. package/src/components/global-styles/screen-block-list.js +2 -2
  294. package/src/components/global-styles/screen-block.js +184 -7
  295. package/src/components/global-styles/screen-colors.js +9 -16
  296. package/src/components/global-styles/screen-css.js +21 -21
  297. package/src/components/global-styles/screen-layout.js +5 -9
  298. package/src/components/global-styles/screen-revisions/index.js +177 -0
  299. package/src/components/global-styles/screen-revisions/revisions-buttons.js +131 -0
  300. package/src/components/global-styles/screen-revisions/style.scss +99 -0
  301. package/src/components/global-styles/screen-revisions/test/use-global-styles-revisions.js +125 -0
  302. package/src/components/global-styles/screen-revisions/use-global-styles-revisions.js +103 -0
  303. package/src/components/global-styles/screen-root.js +2 -2
  304. package/src/components/global-styles/screen-typography-element.js +1 -3
  305. package/src/components/global-styles/screen-typography.js +44 -79
  306. package/src/components/global-styles/style-variations-container.js +4 -10
  307. package/src/components/global-styles/style.scss +1 -23
  308. package/src/components/global-styles/typography-panel.js +12 -13
  309. package/src/components/global-styles/ui.js +72 -101
  310. package/src/components/global-styles/variations-panel.js +3 -26
  311. package/src/components/header-edit-mode/index.js +5 -2
  312. package/src/components/keyboard-shortcuts/register.js +1 -1
  313. package/src/components/layout/index.js +7 -3
  314. package/src/components/layout/style.scss +2 -4
  315. package/src/components/list/index.js +4 -1
  316. package/src/components/list/style.scss +4 -0
  317. package/src/components/list/table.js +3 -1
  318. package/src/components/plugin-template-setting-panel/index.js +33 -0
  319. package/src/components/revisions/index.js +104 -0
  320. package/src/components/routes/link.js +16 -1
  321. package/src/components/routes/use-title.js +4 -1
  322. package/src/components/save-button/index.js +27 -6
  323. package/src/components/save-hub/index.js +17 -35
  324. package/src/components/save-panel/index.js +15 -3
  325. package/src/components/secondary-sidebar/list-view-sidebar.js +2 -6
  326. package/src/components/sidebar/index.js +12 -1
  327. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +9 -7
  328. package/src/components/sidebar-edit-mode/index.js +17 -6
  329. package/src/components/sidebar-edit-mode/sidebar-fixed-bottom.js +26 -0
  330. package/src/components/sidebar-edit-mode/style.scss +10 -0
  331. package/src/components/sidebar-edit-mode/template-card/index.js +1 -9
  332. package/src/components/sidebar-navigation-item/index.js +13 -14
  333. package/src/components/sidebar-navigation-item/style.scss +8 -1
  334. package/src/components/sidebar-navigation-screen/index.js +26 -5
  335. package/src/components/sidebar-navigation-screen-main/index.js +43 -22
  336. package/src/components/sidebar-navigation-screen-navigation-item/index.js +3 -9
  337. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +13 -1
  338. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +3 -3
  339. package/src/components/sidebar-navigation-screen-page/index.js +59 -0
  340. package/src/components/sidebar-navigation-screen-pages/index.js +82 -0
  341. package/src/components/sidebar-navigation-screen-pages/style.scss +4 -0
  342. package/src/components/sidebar-navigation-screen-templates/index.js +5 -1
  343. package/src/components/sidebar-navigation-subtitle/index.js +5 -0
  344. package/src/components/sidebar-navigation-subtitle/style.scss +7 -0
  345. package/src/components/site-hub/index.js +89 -58
  346. package/src/components/site-hub/style.scss +8 -0
  347. package/src/components/start-template-options/index.js +19 -27
  348. package/src/components/start-template-options/style.scss +29 -21
  349. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +4 -1
  350. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +3 -1
  351. package/src/components/sync-state-with-url/use-sync-path-with-url.js +14 -1
  352. package/src/components/template-details/template-areas.js +4 -1
  353. package/src/hooks/template-part-edit.js +4 -1
  354. package/src/index.js +1 -0
  355. package/src/store/test/actions.js +6 -14
  356. package/src/style.scss +4 -1
  357. package/src/utils/is-previewing-theme.js +18 -0
  358. package/src/utils/use-activate-theme.js +38 -0
  359. package/build/components/global-styles/context-menu.js +0 -126
  360. package/build/components/global-styles/context-menu.js.map +0 -1
  361. package/build/components/global-styles/custom-css.js +0 -113
  362. package/build/components/global-styles/custom-css.js.map +0 -1
  363. package/build/components/global-styles/effects-panel.js +0 -53
  364. package/build/components/global-styles/effects-panel.js.map +0 -1
  365. package/build/components/global-styles/filters-panel.js +0 -50
  366. package/build/components/global-styles/filters-panel.js.map +0 -1
  367. package/build/components/global-styles/screen-border.js +0 -61
  368. package/build/components/global-styles/screen-border.js.map +0 -1
  369. package/build/components/global-styles/screen-effects.js +0 -61
  370. package/build/components/global-styles/screen-effects.js.map +0 -1
  371. package/build/components/global-styles/screen-filters.js +0 -46
  372. package/build/components/global-styles/screen-filters.js.map +0 -1
  373. package/build/components/global-styles/screen-variations.js +0 -71
  374. package/build/components/global-styles/screen-variations.js.map +0 -1
  375. package/build/components/routes/index.js +0 -60
  376. package/build/components/routes/index.js.map +0 -1
  377. package/build/components/sidebar-edit-mode/template-card/last-revision.js.map +0 -1
  378. package/build/hooks/commands/index.js +0 -19
  379. package/build/hooks/commands/index.js.map +0 -1
  380. package/build/hooks/commands/use-navigation-commands.js +0 -126
  381. package/build/hooks/commands/use-navigation-commands.js.map +0 -1
  382. package/build/hooks/commands/use-wp-admin-commands.js +0 -97
  383. package/build/hooks/commands/use-wp-admin-commands.js.map +0 -1
  384. package/build/utils/history.js +0 -41
  385. package/build/utils/history.js.map +0 -1
  386. package/build-module/components/global-styles/context-menu.js +0 -107
  387. package/build-module/components/global-styles/context-menu.js.map +0 -1
  388. package/build-module/components/global-styles/custom-css.js +0 -98
  389. package/build-module/components/global-styles/custom-css.js.map +0 -1
  390. package/build-module/components/global-styles/effects-panel.js +0 -43
  391. package/build-module/components/global-styles/effects-panel.js.map +0 -1
  392. package/build-module/components/global-styles/filters-panel.js +0 -40
  393. package/build-module/components/global-styles/filters-panel.js.map +0 -1
  394. package/build-module/components/global-styles/screen-border.js +0 -44
  395. package/build-module/components/global-styles/screen-border.js.map +0 -1
  396. package/build-module/components/global-styles/screen-effects.js +0 -44
  397. package/build-module/components/global-styles/screen-effects.js.map +0 -1
  398. package/build-module/components/global-styles/screen-filters.js +0 -33
  399. package/build-module/components/global-styles/screen-filters.js.map +0 -1
  400. package/build-module/components/global-styles/screen-variations.js +0 -54
  401. package/build-module/components/global-styles/screen-variations.js.map +0 -1
  402. package/build-module/components/routes/index.js +0 -47
  403. package/build-module/components/routes/index.js.map +0 -1
  404. package/build-module/components/sidebar-edit-mode/template-card/last-revision.js.map +0 -1
  405. package/build-module/hooks/commands/index.js +0 -10
  406. package/build-module/hooks/commands/index.js.map +0 -1
  407. package/build-module/hooks/commands/use-navigation-commands.js +0 -109
  408. package/build-module/hooks/commands/use-navigation-commands.js.map +0 -1
  409. package/build-module/hooks/commands/use-wp-admin-commands.js +0 -81
  410. package/build-module/hooks/commands/use-wp-admin-commands.js.map +0 -1
  411. package/build-module/utils/history.js +0 -31
  412. package/build-module/utils/history.js.map +0 -1
  413. package/src/components/global-styles/context-menu.js +0 -175
  414. package/src/components/global-styles/custom-css.js +0 -131
  415. package/src/components/global-styles/effects-panel.js +0 -40
  416. package/src/components/global-styles/filters-panel.js +0 -39
  417. package/src/components/global-styles/screen-border.js +0 -35
  418. package/src/components/global-styles/screen-effects.js +0 -35
  419. package/src/components/global-styles/screen-filters.js +0 -27
  420. package/src/components/global-styles/screen-variations.js +0 -46
  421. package/src/components/routes/index.js +0 -53
  422. package/src/hooks/commands/index.js +0 -10
  423. package/src/hooks/commands/use-navigation-commands.js +0 -112
  424. package/src/hooks/commands/use-wp-admin-commands.js +0 -79
  425. package/src/utils/history.js +0 -39
  426. /package/src/components/sidebar-edit-mode/{template-card/last-revision.js → template-revisions/index.js} +0 -0
@@ -1,131 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { useState } from '@wordpress/element';
5
- import {
6
- TextareaControl,
7
- Panel,
8
- PanelBody,
9
- __experimentalVStack as VStack,
10
- Tooltip,
11
- Icon,
12
- } from '@wordpress/components';
13
- import { __ } from '@wordpress/i18n';
14
- import {
15
- privateApis as blockEditorPrivateApis,
16
- transformStyles,
17
- } from '@wordpress/block-editor';
18
- import { info } from '@wordpress/icons';
19
-
20
- /**
21
- * Internal dependencies
22
- */
23
- import { unlock } from '../../private-apis';
24
- import Subtitle from './subtitle';
25
-
26
- const { useGlobalStyle } = unlock( blockEditorPrivateApis );
27
- function CustomCSSControl( { blockName } ) {
28
- // If blockName is defined, we are customizing CSS at the block level:
29
- // styles.blocks.blockName.css
30
- const block = !! blockName ? blockName : null;
31
-
32
- const [ customCSS, setCustomCSS ] = useGlobalStyle( 'css', block );
33
- const [ themeCSS ] = useGlobalStyle( 'css', block, 'base' );
34
- const [ cssError, setCSSError ] = useState( null );
35
- const ignoreThemeCustomCSS = '/* IgnoreThemeCustomCSS */';
36
-
37
- // If there is custom css from theme.json show it in the edit box
38
- // so the user can selectively overwrite it, rather than have the user CSS
39
- // completely overwrite the theme CSS by default.
40
- const themeCustomCSS =
41
- ! customCSS && themeCSS
42
- ? `/* ${ __(
43
- 'Theme Custom CSS start'
44
- ) } */\n${ themeCSS }\n/* ${ __( 'Theme Custom CSS end' ) } */`
45
- : undefined;
46
-
47
- function handleOnChange( value ) {
48
- // If there is theme custom CSS, but the user clears the input box then save the
49
- // ignoreThemeCustomCSS string so that the theme custom CSS is not re-applied.
50
- if ( themeCSS && value === '' ) {
51
- setCustomCSS( ignoreThemeCustomCSS );
52
- return;
53
- }
54
- setCustomCSS( value );
55
- if ( cssError ) {
56
- const [ transformed ] = transformStyles(
57
- [ { css: value } ],
58
- '.editor-styles-wrapper'
59
- );
60
- if ( transformed ) {
61
- setCSSError( null );
62
- }
63
- }
64
- }
65
-
66
- function handleOnBlur( event ) {
67
- if ( ! event?.target?.value ) {
68
- setCSSError( null );
69
- return;
70
- }
71
-
72
- const [ transformed ] = transformStyles(
73
- [ { css: event.target.value } ],
74
- '.editor-styles-wrapper'
75
- );
76
-
77
- setCSSError(
78
- transformed === null
79
- ? __( 'There is an error with your CSS structure.' )
80
- : null
81
- );
82
- }
83
-
84
- const originalThemeCustomCSS =
85
- themeCSS && customCSS && themeCustomCSS !== customCSS
86
- ? themeCSS
87
- : undefined;
88
-
89
- return (
90
- <>
91
- { originalThemeCustomCSS && (
92
- <Panel>
93
- <PanelBody
94
- title={ __( 'Original Theme Custom CSS' ) }
95
- initialOpen={ false }
96
- >
97
- <pre className="edit-site-global-styles__custom-css-theme-css">
98
- { originalThemeCustomCSS }
99
- </pre>
100
- </PanelBody>
101
- </Panel>
102
- ) }
103
- <VStack spacing={ 3 }>
104
- <Subtitle>{ __( 'Additional CSS' ) }</Subtitle>
105
- <TextareaControl
106
- __nextHasNoMarginBottom
107
- value={
108
- customCSS?.replace( ignoreThemeCustomCSS, '' ) ||
109
- themeCustomCSS
110
- }
111
- onChange={ ( value ) => handleOnChange( value ) }
112
- onBlur={ handleOnBlur }
113
- className="edit-site-global-styles__custom-css-input"
114
- spellCheck={ false }
115
- />
116
- { cssError && (
117
- <Tooltip text={ cssError }>
118
- <div className="edit-site-global-styles__custom-css-validation-wrapper">
119
- <Icon
120
- icon={ info }
121
- className="edit-site-global-styles__custom-css-validation-icon"
122
- />
123
- </div>
124
- </Tooltip>
125
- ) }
126
- </VStack>
127
- </>
128
- );
129
- }
130
-
131
- export default CustomCSSControl;
@@ -1,40 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import { unlock } from '../../private-apis';
10
-
11
- const {
12
- useGlobalSetting,
13
- useGlobalStyle,
14
- EffectsPanel: StylesEffectsPanel,
15
- useSettingsForBlockElement,
16
- } = unlock( blockEditorPrivateApis );
17
-
18
- export default function EffectsPanel( { name, variation = '' } ) {
19
- let prefixParts = [];
20
- if ( variation ) {
21
- prefixParts = [ 'variations', variation ].concat( prefixParts );
22
- }
23
- const prefix = prefixParts.join( '.' );
24
-
25
- const [ style ] = useGlobalStyle( prefix, name, 'user', false );
26
- const [ inheritedStyle, setStyle ] = useGlobalStyle( prefix, name, 'all', {
27
- shouldDecodeEncode: false,
28
- } );
29
- const [ rawSettings ] = useGlobalSetting( '', name );
30
- const settings = useSettingsForBlockElement( rawSettings, name );
31
-
32
- return (
33
- <StylesEffectsPanel
34
- inheritedValue={ inheritedStyle }
35
- value={ style }
36
- onChange={ setStyle }
37
- settings={ settings }
38
- />
39
- );
40
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import { unlock } from '../../private-apis';
10
- const {
11
- useGlobalStyle,
12
- useGlobalSetting,
13
- useSettingsForBlockElement,
14
- FiltersPanel: StylesFiltersPanel,
15
- } = unlock( blockEditorPrivateApis );
16
-
17
- export default function FiltersPanel( { name } ) {
18
- const [ style ] = useGlobalStyle( '', name, 'user', false );
19
- const [ inheritedStyle, setStyle ] = useGlobalStyle( '', name, 'all', {
20
- shouldDecodeEncode: false,
21
- } );
22
- const [ rawSettings ] = useGlobalSetting( '', name );
23
- const settings = useSettingsForBlockElement( rawSettings, name );
24
-
25
- return (
26
- <StylesFiltersPanel
27
- inheritedValue={ inheritedStyle }
28
- value={ style }
29
- onChange={ setStyle }
30
- settings={ {
31
- ...settings,
32
- color: {
33
- ...settings.color,
34
- customDuotone: false, //TO FIX: Custom duotone only works on the block level right now
35
- },
36
- } }
37
- />
38
- );
39
- }
@@ -1,35 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { __ } from '@wordpress/i18n';
5
- import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import ScreenHeader from './header';
11
- import BorderPanel from './border-panel';
12
- import BlockPreviewPanel from './block-preview-panel';
13
- import { getVariationClassName } from './utils';
14
- import { unlock } from '../../private-apis';
15
-
16
- const { useHasBorderPanel, useGlobalSetting, useSettingsForBlockElement } =
17
- unlock( blockEditorPrivateApis );
18
-
19
- function ScreenBorder( { name, variation = '' } ) {
20
- const [ rawSettings ] = useGlobalSetting( '', name );
21
- const settings = useSettingsForBlockElement( rawSettings, name );
22
- const hasBorderPanel = useHasBorderPanel( settings );
23
- const variationClassName = getVariationClassName( variation );
24
- return (
25
- <>
26
- <ScreenHeader title={ __( 'Border' ) } />
27
- <BlockPreviewPanel name={ name } variation={ variationClassName } />
28
- { hasBorderPanel && (
29
- <BorderPanel name={ name } variation={ variation } />
30
- ) }
31
- </>
32
- );
33
- }
34
-
35
- export default ScreenBorder;
@@ -1,35 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { __ } from '@wordpress/i18n';
5
- import { privateApis as blockEditorPrivateApis } from '@wordpress/block-editor';
6
-
7
- /**
8
- * Internal dependencies
9
- */
10
- import ScreenHeader from './header';
11
- import BlockPreviewPanel from './block-preview-panel';
12
- import { getVariationClassName } from './utils';
13
- import { unlock } from '../../private-apis';
14
- import EffectsPanel from './effects-panel';
15
-
16
- const { useGlobalSetting, useSettingsForBlockElement, useHasEffectsPanel } =
17
- unlock( blockEditorPrivateApis );
18
-
19
- function ScreenEffects( { name, variation = '' } ) {
20
- const [ rawSettings ] = useGlobalSetting( '', name );
21
- const settings = useSettingsForBlockElement( rawSettings, name );
22
- const variationClassName = getVariationClassName( variation );
23
- const hasEffectsPanel = useHasEffectsPanel( settings );
24
- return (
25
- <>
26
- <ScreenHeader title={ __( 'Effects' ) } />
27
- <BlockPreviewPanel name={ name } variation={ variationClassName } />
28
- { hasEffectsPanel && (
29
- <EffectsPanel name={ name } variation={ variation } />
30
- ) }
31
- </>
32
- );
33
- }
34
-
35
- export default ScreenEffects;
@@ -1,27 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { __ } from '@wordpress/i18n';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import FiltersPanel from './filters-panel';
10
- import BlockPreviewPanel from './block-preview-panel';
11
-
12
- /**
13
- * Internal dependencies
14
- */
15
- import ScreenHeader from './header';
16
-
17
- function ScreenFilters( { name } ) {
18
- return (
19
- <>
20
- <ScreenHeader title={ __( 'Filters' ) } />
21
- <BlockPreviewPanel name={ name } />
22
- <FiltersPanel name={ name } />
23
- </>
24
- );
25
- }
26
-
27
- export default ScreenFilters;
@@ -1,46 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { __ } from '@wordpress/i18n';
5
- import { __experimentalVStack as VStack } from '@wordpress/components';
6
- /**
7
- * Internal dependencies
8
- */
9
- import {
10
- VariationPanel,
11
- VariationsPanel,
12
- useHasVariationsPanel,
13
- } from './variations-panel';
14
- import ScreenHeader from './header';
15
- import BlockPreviewPanel from './block-preview-panel';
16
- import Subtitle from './subtitle';
17
-
18
- export function ScreenVariations( { name, path = '' } ) {
19
- const hasVariationsPanel = useHasVariationsPanel( name, path );
20
-
21
- if ( ! hasVariationsPanel ) {
22
- return null;
23
- }
24
- return (
25
- <div className="edit-site-global-styles-screen-variations">
26
- <VStack spacing={ 3 }>
27
- <Subtitle>{ __( 'Style Variations' ) }</Subtitle>
28
- <VariationsPanel name={ name } />
29
- </VStack>
30
- </div>
31
- );
32
- }
33
-
34
- export function ScreenVariation( { blockName, style } ) {
35
- const { name: styleName, label: styleLabel } = style;
36
- return (
37
- <>
38
- <ScreenHeader title={ styleLabel } />
39
- <BlockPreviewPanel
40
- name={ blockName }
41
- variation={ `is-style-${ styleName }` }
42
- />
43
- <VariationPanel blockName={ blockName } styleName={ styleName } />
44
- </>
45
- );
46
- }
@@ -1,53 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import {
5
- createContext,
6
- useState,
7
- useEffect,
8
- useContext,
9
- } from '@wordpress/element';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import history from '../../utils/history';
15
-
16
- const RoutesContext = createContext();
17
- const HistoryContext = createContext();
18
-
19
- export function useLocation() {
20
- return useContext( RoutesContext );
21
- }
22
-
23
- export function useHistory() {
24
- return useContext( HistoryContext );
25
- }
26
-
27
- function getLocationWithParams( location ) {
28
- const searchParams = new URLSearchParams( location.search );
29
- return {
30
- ...location,
31
- params: Object.fromEntries( searchParams.entries() ),
32
- };
33
- }
34
-
35
- export function Routes( { children } ) {
36
- const [ location, setLocation ] = useState( () =>
37
- getLocationWithParams( history.location )
38
- );
39
-
40
- useEffect( () => {
41
- return history.listen( ( { location: updatedLocation } ) => {
42
- setLocation( getLocationWithParams( updatedLocation ) );
43
- } );
44
- }, [] );
45
-
46
- return (
47
- <HistoryContext.Provider value={ history }>
48
- <RoutesContext.Provider value={ location }>
49
- { children }
50
- </RoutesContext.Provider>
51
- </HistoryContext.Provider>
52
- );
53
- }
@@ -1,10 +0,0 @@
1
- /**
2
- * Internal dependencies
3
- */
4
- import { useNavigationCommands } from './use-navigation-commands';
5
- import { useWPAdminCommands } from './use-wp-admin-commands';
6
-
7
- export function useCommands() {
8
- useWPAdminCommands();
9
- useNavigationCommands();
10
- }
@@ -1,112 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { privateApis } from '@wordpress/commands';
5
- import { __ } from '@wordpress/i18n';
6
- import { useMemo } from '@wordpress/element';
7
- import { useSelect } from '@wordpress/data';
8
- import { store as coreStore } from '@wordpress/core-data';
9
- import { post, page, layout, symbolFilled } from '@wordpress/icons';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import { store as editSiteStore } from '../../store';
15
- import { unlock } from '../../private-apis';
16
- import { useHistory } from '../../components/routes';
17
-
18
- const { useCommandLoader } = unlock( privateApis );
19
-
20
- const icons = {
21
- post,
22
- page,
23
- wp_template: layout,
24
- wp_template_part: symbolFilled,
25
- };
26
-
27
- const getNavigationCommandLoaderPerPostType = ( postType ) =>
28
- function useNavigationCommandLoader( { search } ) {
29
- const supportsSearch = ! [ 'wp_template', 'wp_template_part' ].includes(
30
- postType
31
- );
32
- const deps = supportsSearch ? [ search ] : [];
33
- const history = useHistory();
34
- const { canvasMode, records, isLoading } = useSelect( ( select ) => {
35
- const { getEntityRecords } = select( coreStore );
36
- const query = supportsSearch
37
- ? {
38
- search: !! search ? search : undefined,
39
- per_page: 10,
40
- orderby: search ? 'relevance' : 'date',
41
- }
42
- : {
43
- per_page: -1,
44
- };
45
- return {
46
- records: getEntityRecords( 'postType', postType, query ),
47
- isLoading: ! select( coreStore ).hasFinishedResolution(
48
- 'getEntityRecords',
49
- [ 'postType', postType, query ]
50
- ),
51
- canvasMode: unlock( select( editSiteStore ) ).getCanvasMode(),
52
- };
53
- }, deps );
54
-
55
- const commands = useMemo( () => {
56
- return ( records ?? [] ).slice( 0, 10 ).map( ( record ) => {
57
- return {
58
- name: record.title?.rendered + ' ' + record.id,
59
- label: record.title?.rendered
60
- ? record.title?.rendered
61
- : __( '(no title)' ),
62
- icon: icons[ postType ],
63
- callback: ( { close } ) => {
64
- history.push( {
65
- postType,
66
- postId: record.id,
67
- canvas:
68
- canvasMode === 'edit' ? canvasMode : undefined,
69
- } );
70
- close();
71
- },
72
- };
73
- } );
74
- }, [ records, history, canvasMode ] );
75
-
76
- return {
77
- commands,
78
- isLoading,
79
- };
80
- };
81
-
82
- const usePageNavigationCommandLoader =
83
- getNavigationCommandLoaderPerPostType( 'page' );
84
- const usePostNavigationCommandLoader =
85
- getNavigationCommandLoaderPerPostType( 'post' );
86
- const useTemplateNavigationCommandLoader =
87
- getNavigationCommandLoaderPerPostType( 'wp_template' );
88
- const useTemplatePartNavigationCommandLoader =
89
- getNavigationCommandLoaderPerPostType( 'wp_template_part' );
90
-
91
- export function useNavigationCommands() {
92
- useCommandLoader( {
93
- name: 'core/edit-site/navigate-pages',
94
- group: __( 'Pages' ),
95
- hook: usePageNavigationCommandLoader,
96
- } );
97
- useCommandLoader( {
98
- name: 'core/edit-site/navigate-posts',
99
- group: __( 'Posts' ),
100
- hook: usePostNavigationCommandLoader,
101
- } );
102
- useCommandLoader( {
103
- name: 'core/edit-site/navigate-templates',
104
- group: __( 'Templates' ),
105
- hook: useTemplateNavigationCommandLoader,
106
- } );
107
- useCommandLoader( {
108
- name: 'core/edit-site/navigate-template-parts',
109
- group: __( 'Template Parts' ),
110
- hook: useTemplatePartNavigationCommandLoader,
111
- } );
112
- }
@@ -1,79 +0,0 @@
1
- /**
2
- * WordPress dependencies
3
- */
4
- import { privateApis } from '@wordpress/commands';
5
- import { __, sprintf } from '@wordpress/i18n';
6
- import { useSelect } from '@wordpress/data';
7
- import { addQueryArgs } from '@wordpress/url';
8
- import { useMemo } from '@wordpress/element';
9
- import { plus } from '@wordpress/icons';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import { store as editSiteStore } from '../../store';
15
- import { unlock } from '../../private-apis';
16
-
17
- const { useCommandLoader } = unlock( privateApis );
18
-
19
- const getWPAdminAddCommandLoader = ( postType ) =>
20
- function useAddCommandLoader( { search } ) {
21
- let label;
22
- if ( postType === 'post' ) {
23
- label = __( 'Add a new post' );
24
- } else if ( postType === 'page' ) {
25
- label = __( 'Add a new page' );
26
- } else {
27
- throw 'unsupported post type ' + postType;
28
- }
29
- const hasRecordTitle =
30
- !! search && ! label.toLowerCase().includes( search.toLowerCase() );
31
- if ( postType === 'post' && hasRecordTitle ) {
32
- /* translators: %s: Post title placeholder */
33
- label = sprintf( __( 'Add a new post "%s"' ), search );
34
- } else if ( postType === 'page' && hasRecordTitle ) {
35
- /* translators: %s: Page title placeholder */
36
- label = sprintf( __( 'Add a new page "%s"' ), search );
37
- }
38
-
39
- const newPostLink = useSelect( ( select ) => {
40
- const { getSettings } = unlock( select( editSiteStore ) );
41
- return getSettings().newPostLink ?? 'post-new.php';
42
- }, [] );
43
-
44
- const commands = useMemo(
45
- () => [
46
- {
47
- name: 'core/wp-admin/add-' + postType + '-' + search,
48
- label,
49
- icon: plus,
50
- callback: () => {
51
- document.location.href = addQueryArgs( newPostLink, {
52
- post_type: postType,
53
- post_title: hasRecordTitle ? search : undefined,
54
- } );
55
- },
56
- },
57
- ],
58
- [ newPostLink, hasRecordTitle, search, label ]
59
- );
60
-
61
- return {
62
- isLoading: false,
63
- commands,
64
- };
65
- };
66
-
67
- const useAddPostLoader = getWPAdminAddCommandLoader( 'post' );
68
- const useAddPageLoader = getWPAdminAddCommandLoader( 'page' );
69
-
70
- export function useWPAdminCommands() {
71
- useCommandLoader( {
72
- name: 'core/wp-admin/add-post-loader',
73
- hook: useAddPostLoader,
74
- } );
75
- useCommandLoader( {
76
- name: 'core/wp-admin/add-page-loader',
77
- hook: useAddPageLoader,
78
- } );
79
- }
@@ -1,39 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { createBrowserHistory } from 'history';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { addQueryArgs, getQueryArgs, removeQueryArgs } from '@wordpress/url';
10
-
11
- const history = createBrowserHistory();
12
-
13
- const originalHistoryPush = history.push;
14
- const originalHistoryReplace = history.replace;
15
-
16
- function push( params, state ) {
17
- const currentArgs = getQueryArgs( window.location.href );
18
- const currentUrlWithoutArgs = removeQueryArgs(
19
- window.location.href,
20
- ...Object.keys( currentArgs )
21
- );
22
- const newUrl = addQueryArgs( currentUrlWithoutArgs, params );
23
- return originalHistoryPush.call( history, newUrl, state );
24
- }
25
-
26
- function replace( params, state ) {
27
- const currentArgs = getQueryArgs( window.location.href );
28
- const currentUrlWithoutArgs = removeQueryArgs(
29
- window.location.href,
30
- ...Object.keys( currentArgs )
31
- );
32
- const newUrl = addQueryArgs( currentUrlWithoutArgs, params );
33
- return originalHistoryReplace.call( history, newUrl, state );
34
- }
35
-
36
- history.push = push;
37
- history.replace = replace;
38
-
39
- export default history;