@wordpress/edit-site 5.1.0 → 5.3.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 (415) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/LICENSE.md +1 -1
  3. package/build/components/add-new-template/add-custom-generic-template-modal.js +8 -10
  4. package/build/components/add-new-template/add-custom-generic-template-modal.js.map +1 -1
  5. package/build/components/add-new-template/add-custom-template-modal.js +0 -1
  6. package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
  7. package/build/components/add-new-template/new-template-part.js +5 -9
  8. package/build/components/add-new-template/new-template-part.js.map +1 -1
  9. package/build/components/app/index.js +2 -7
  10. package/build/components/app/index.js.map +1 -1
  11. package/build/components/block-editor/editor-canvas.js +0 -1
  12. package/build/components/block-editor/editor-canvas.js.map +1 -1
  13. package/build/components/block-editor/index.js +25 -59
  14. package/build/components/block-editor/index.js.map +1 -1
  15. package/build/components/block-editor/inserter-media-categories.js +237 -0
  16. package/build/components/block-editor/inserter-media-categories.js.map +1 -0
  17. package/build/components/block-editor/resize-handle.js +2 -1
  18. package/build/components/block-editor/resize-handle.js.map +1 -1
  19. package/build/components/canvas-spinner/index.js +20 -0
  20. package/build/components/canvas-spinner/index.js.map +1 -0
  21. package/build/components/create-template-part-modal/index.js +4 -2
  22. package/build/components/create-template-part-modal/index.js.map +1 -1
  23. package/build/components/editor/index.js +4 -2
  24. package/build/components/editor/index.js.map +1 -1
  25. package/build/components/error-boundary/index.js +2 -12
  26. package/build/components/error-boundary/index.js.map +1 -1
  27. package/build/components/error-boundary/warning.js +5 -28
  28. package/build/components/error-boundary/warning.js.map +1 -1
  29. package/build/components/global-styles/block-preview-panel.js +10 -4
  30. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  31. package/build/components/global-styles/border-panel.js +18 -9
  32. package/build/components/global-styles/border-panel.js.map +1 -1
  33. package/build/components/global-styles/color-palette-panel.js +13 -7
  34. package/build/components/global-styles/color-palette-panel.js.map +1 -1
  35. package/build/components/global-styles/context-menu.js +47 -4
  36. package/build/components/global-styles/context-menu.js.map +1 -1
  37. package/build/components/global-styles/custom-css.js +65 -14
  38. package/build/components/global-styles/custom-css.js.map +1 -1
  39. package/build/components/global-styles/dimensions-panel.js +50 -27
  40. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  41. package/build/components/global-styles/global-styles-provider.js +13 -3
  42. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  43. package/build/components/global-styles/gradients-palette-panel.js +17 -11
  44. package/build/components/global-styles/gradients-palette-panel.js.map +1 -1
  45. package/build/components/global-styles/hooks.js +21 -142
  46. package/build/components/global-styles/hooks.js.map +1 -1
  47. package/build/components/global-styles/index.js +0 -28
  48. package/build/components/global-styles/index.js.map +1 -1
  49. package/build/components/global-styles/palette.js +11 -4
  50. package/build/components/global-styles/palette.js.map +1 -1
  51. package/build/components/global-styles/preview.js +18 -15
  52. package/build/components/global-styles/preview.js.map +1 -1
  53. package/build/components/global-styles/screen-background-color.js +28 -13
  54. package/build/components/global-styles/screen-background-color.js.map +1 -1
  55. package/build/components/global-styles/screen-block-list.js +4 -1
  56. package/build/components/global-styles/screen-block-list.js.map +1 -1
  57. package/build/components/global-styles/screen-border.js +16 -4
  58. package/build/components/global-styles/screen-border.js.map +1 -1
  59. package/build/components/global-styles/screen-button-color.js +17 -9
  60. package/build/components/global-styles/screen-button-color.js.map +1 -1
  61. package/build/components/global-styles/screen-colors.js +59 -26
  62. package/build/components/global-styles/screen-colors.js.map +1 -1
  63. package/build/components/global-styles/screen-css.js +20 -8
  64. package/build/components/global-styles/screen-css.js.map +1 -1
  65. package/build/components/global-styles/screen-heading-color.js +24 -16
  66. package/build/components/global-styles/screen-heading-color.js.map +1 -1
  67. package/build/components/global-styles/screen-layout.js +9 -3
  68. package/build/components/global-styles/screen-layout.js.map +1 -1
  69. package/build/components/global-styles/screen-link-color.js +19 -11
  70. package/build/components/global-styles/screen-link-color.js.map +1 -1
  71. package/build/components/global-styles/screen-root.js +25 -9
  72. package/build/components/global-styles/screen-root.js.map +1 -1
  73. package/build/components/global-styles/screen-style-variations.js +8 -4
  74. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  75. package/build/components/global-styles/screen-text-color.js +15 -7
  76. package/build/components/global-styles/screen-text-color.js.map +1 -1
  77. package/build/components/global-styles/screen-typography.js +23 -11
  78. package/build/components/global-styles/screen-typography.js.map +1 -1
  79. package/build/components/global-styles/screen-variations.js +71 -0
  80. package/build/components/global-styles/screen-variations.js.map +1 -0
  81. package/build/components/global-styles/shadow-panel.js +196 -0
  82. package/build/components/global-styles/shadow-panel.js.map +1 -0
  83. package/build/components/global-styles/typography-panel.js +37 -22
  84. package/build/components/global-styles/typography-panel.js.map +1 -1
  85. package/build/components/global-styles/typography-preview.js +19 -9
  86. package/build/components/global-styles/typography-preview.js.map +1 -1
  87. package/build/components/global-styles/ui.js +139 -21
  88. package/build/components/global-styles/ui.js.map +1 -1
  89. package/build/components/global-styles/utils.js +8 -290
  90. package/build/components/global-styles/utils.js.map +1 -1
  91. package/build/components/global-styles/variations-panel.js +85 -0
  92. package/build/components/global-styles/variations-panel.js.map +1 -0
  93. package/build/components/global-styles-renderer/index.js +7 -5
  94. package/build/components/global-styles-renderer/index.js.map +1 -1
  95. package/build/components/header-edit-mode/document-actions/index.js +2 -2
  96. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  97. package/build/components/keyboard-shortcut-help-modal/index.js +0 -1
  98. package/build/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  99. package/build/components/layout/index.js +86 -15
  100. package/build/components/layout/index.js.map +1 -1
  101. package/build/components/list/actions/rename-menu-item.js +8 -11
  102. package/build/components/list/actions/rename-menu-item.js.map +1 -1
  103. package/build/components/{sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js → navigation-inspector/index.js} +3 -2
  104. package/build/components/navigation-inspector/index.js.map +1 -0
  105. package/build/components/{sidebar-edit-mode/navigation-menu-sidebar → navigation-inspector}/navigation-menu.js +13 -15
  106. package/build/components/navigation-inspector/navigation-menu.js.map +1 -0
  107. package/build/components/sidebar/index.js +3 -1
  108. package/build/components/sidebar/index.js.map +1 -1
  109. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +3 -18
  110. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  111. package/build/components/sidebar-edit-mode/index.js +1 -14
  112. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  113. package/build/components/sidebar-navigation-screen/index.js +3 -2
  114. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  115. package/build/components/sidebar-navigation-screen-main/index.js +23 -1
  116. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  117. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +35 -0
  118. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -0
  119. package/build/components/sidebar-navigation-screen-templates/index.js +3 -8
  120. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  121. package/build/components/site-hub/index.js +11 -11
  122. package/build/components/site-hub/index.js.map +1 -1
  123. package/build/components/site-icon/index.js +1 -1
  124. package/build/components/site-icon/index.js.map +1 -1
  125. package/build/components/style-book/index.js +7 -4
  126. package/build/components/style-book/index.js.map +1 -1
  127. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +54 -0
  128. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -0
  129. package/build/components/template-details/edit-template-title.js +1 -0
  130. package/build/components/template-details/edit-template-title.js.map +1 -1
  131. package/build/components/template-details/template-part-area-selector.js +1 -0
  132. package/build/components/template-details/template-part-area-selector.js.map +1 -1
  133. package/build/components/template-part-converter/convert-to-template-part.js +5 -9
  134. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  135. package/build/experiments.js +19 -0
  136. package/build/experiments.js.map +1 -0
  137. package/build/hooks/push-changes-to-global-styles/index.js +68 -9
  138. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -1
  139. package/build/index.js +53 -60
  140. package/build/index.js.map +1 -1
  141. package/build/store/reducer.js +1 -1
  142. package/build/store/reducer.js.map +1 -1
  143. package/build/store/selectors.js +7 -27
  144. package/build/store/selectors.js.map +1 -1
  145. package/build/store/utils.js +77 -0
  146. package/build/store/utils.js.map +1 -0
  147. package/build/utils/template-part-create.js +71 -0
  148. package/build/utils/template-part-create.js.map +1 -0
  149. package/build-module/components/add-new-template/add-custom-generic-template-modal.js +9 -11
  150. package/build-module/components/add-new-template/add-custom-generic-template-modal.js.map +1 -1
  151. package/build-module/components/add-new-template/add-custom-template-modal.js +0 -1
  152. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  153. package/build-module/components/add-new-template/new-template-part.js +5 -9
  154. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  155. package/build-module/components/app/index.js +2 -7
  156. package/build-module/components/app/index.js.map +1 -1
  157. package/build-module/components/block-editor/editor-canvas.js +0 -1
  158. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  159. package/build-module/components/block-editor/index.js +27 -57
  160. package/build-module/components/block-editor/index.js.map +1 -1
  161. package/build-module/components/block-editor/inserter-media-categories.js +225 -0
  162. package/build-module/components/block-editor/inserter-media-categories.js.map +1 -0
  163. package/build-module/components/block-editor/resize-handle.js +2 -1
  164. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  165. package/build-module/components/canvas-spinner/index.js +12 -0
  166. package/build-module/components/canvas-spinner/index.js.map +1 -0
  167. package/build-module/components/create-template-part-modal/index.js +5 -3
  168. package/build-module/components/create-template-part-modal/index.js.map +1 -1
  169. package/build-module/components/editor/index.js +3 -2
  170. package/build-module/components/editor/index.js.map +1 -1
  171. package/build-module/components/error-boundary/index.js +2 -12
  172. package/build-module/components/error-boundary/index.js.map +1 -1
  173. package/build-module/components/error-boundary/warning.js +5 -28
  174. package/build-module/components/error-boundary/warning.js.map +1 -1
  175. package/build-module/components/global-styles/block-preview-panel.js +10 -4
  176. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  177. package/build-module/components/global-styles/border-panel.js +18 -11
  178. package/build-module/components/global-styles/border-panel.js.map +1 -1
  179. package/build-module/components/global-styles/color-palette-panel.js +11 -7
  180. package/build-module/components/global-styles/color-palette-panel.js.map +1 -1
  181. package/build-module/components/global-styles/context-menu.js +46 -8
  182. package/build-module/components/global-styles/context-menu.js.map +1 -1
  183. package/build-module/components/global-styles/custom-css.js +61 -15
  184. package/build-module/components/global-styles/custom-css.js.map +1 -1
  185. package/build-module/components/global-styles/dimensions-panel.js +50 -28
  186. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  187. package/build-module/components/global-styles/global-styles-provider.js +7 -2
  188. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  189. package/build-module/components/global-styles/gradients-palette-panel.js +15 -11
  190. package/build-module/components/global-styles/gradients-palette-panel.js.map +1 -1
  191. package/build-module/components/global-styles/hooks.js +23 -134
  192. package/build-module/components/global-styles/hooks.js.map +1 -1
  193. package/build-module/components/global-styles/index.js +0 -2
  194. package/build-module/components/global-styles/index.js.map +1 -1
  195. package/build-module/components/global-styles/palette.js +10 -5
  196. package/build-module/components/global-styles/palette.js.map +1 -1
  197. package/build-module/components/global-styles/preview.js +18 -14
  198. package/build-module/components/global-styles/preview.js.map +1 -1
  199. package/build-module/components/global-styles/screen-background-color.js +27 -15
  200. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  201. package/build-module/components/global-styles/screen-block-list.js +3 -1
  202. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  203. package/build-module/components/global-styles/screen-border.js +14 -4
  204. package/build-module/components/global-styles/screen-border.js.map +1 -1
  205. package/build-module/components/global-styles/screen-button-color.js +17 -11
  206. package/build-module/components/global-styles/screen-button-color.js.map +1 -1
  207. package/build-module/components/global-styles/screen-colors.js +56 -27
  208. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  209. package/build-module/components/global-styles/screen-css.js +21 -9
  210. package/build-module/components/global-styles/screen-css.js.map +1 -1
  211. package/build-module/components/global-styles/screen-heading-color.js +24 -18
  212. package/build-module/components/global-styles/screen-heading-color.js.map +1 -1
  213. package/build-module/components/global-styles/screen-layout.js +8 -3
  214. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  215. package/build-module/components/global-styles/screen-link-color.js +19 -13
  216. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  217. package/build-module/components/global-styles/screen-root.js +23 -9
  218. package/build-module/components/global-styles/screen-root.js.map +1 -1
  219. package/build-module/components/global-styles/screen-style-variations.js +5 -2
  220. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  221. package/build-module/components/global-styles/screen-text-color.js +15 -9
  222. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  223. package/build-module/components/global-styles/screen-typography.js +19 -10
  224. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  225. package/build-module/components/global-styles/screen-variations.js +54 -0
  226. package/build-module/components/global-styles/screen-variations.js.map +1 -0
  227. package/build-module/components/global-styles/shadow-panel.js +177 -0
  228. package/build-module/components/global-styles/shadow-panel.js.map +1 -0
  229. package/build-module/components/global-styles/typography-panel.js +37 -24
  230. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  231. package/build-module/components/global-styles/typography-preview.js +17 -9
  232. package/build-module/components/global-styles/typography-preview.js.map +1 -1
  233. package/build-module/components/global-styles/ui.js +132 -22
  234. package/build-module/components/global-styles/ui.js.map +1 -1
  235. package/build-module/components/global-styles/utils.js +7 -277
  236. package/build-module/components/global-styles/utils.js.map +1 -1
  237. package/build-module/components/global-styles/variations-panel.js +68 -0
  238. package/build-module/components/global-styles/variations-panel.js.map +1 -0
  239. package/build-module/components/global-styles-renderer/index.js +5 -5
  240. package/build-module/components/global-styles-renderer/index.js.map +1 -1
  241. package/build-module/components/header-edit-mode/document-actions/index.js +2 -2
  242. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  243. package/build-module/components/keyboard-shortcut-help-modal/index.js +0 -1
  244. package/build-module/components/keyboard-shortcut-help-modal/index.js.map +1 -1
  245. package/build-module/components/layout/index.js +86 -17
  246. package/build-module/components/layout/index.js.map +1 -1
  247. package/build-module/components/list/actions/rename-menu-item.js +9 -12
  248. package/build-module/components/list/actions/rename-menu-item.js.map +1 -1
  249. package/build-module/components/{sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js → navigation-inspector/index.js} +3 -2
  250. package/build-module/components/navigation-inspector/index.js.map +1 -0
  251. package/build-module/components/{sidebar-edit-mode/navigation-menu-sidebar → navigation-inspector}/navigation-menu.js +13 -16
  252. package/build-module/components/navigation-inspector/navigation-menu.js.map +1 -0
  253. package/build-module/components/sidebar/index.js +2 -1
  254. package/build-module/components/sidebar/index.js.map +1 -1
  255. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +6 -21
  256. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  257. package/build-module/components/sidebar-edit-mode/index.js +1 -13
  258. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  259. package/build-module/components/sidebar-navigation-screen/index.js +3 -2
  260. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  261. package/build-module/components/sidebar-navigation-screen-main/index.js +22 -2
  262. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  263. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +23 -0
  264. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -0
  265. package/build-module/components/sidebar-navigation-screen-templates/index.js +4 -9
  266. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  267. package/build-module/components/site-hub/index.js +12 -11
  268. package/build-module/components/site-hub/index.js.map +1 -1
  269. package/build-module/components/site-icon/index.js +1 -1
  270. package/build-module/components/site-icon/index.js.map +1 -1
  271. package/build-module/components/style-book/index.js +8 -5
  272. package/build-module/components/style-book/index.js.map +1 -1
  273. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +43 -0
  274. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -0
  275. package/build-module/components/template-details/edit-template-title.js +1 -0
  276. package/build-module/components/template-details/edit-template-title.js.map +1 -1
  277. package/build-module/components/template-details/template-part-area-selector.js +1 -0
  278. package/build-module/components/template-details/template-part-area-selector.js.map +1 -1
  279. package/build-module/components/template-part-converter/convert-to-template-part.js +5 -9
  280. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  281. package/build-module/experiments.js +9 -0
  282. package/build-module/experiments.js.map +1 -0
  283. package/build-module/hooks/push-changes-to-global-styles/index.js +65 -6
  284. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -1
  285. package/build-module/index.js +52 -60
  286. package/build-module/index.js.map +1 -1
  287. package/build-module/store/reducer.js +1 -1
  288. package/build-module/store/reducer.js.map +1 -1
  289. package/build-module/store/selectors.js +6 -26
  290. package/build-module/store/selectors.js.map +1 -1
  291. package/build-module/store/utils.js +66 -0
  292. package/build-module/store/utils.js.map +1 -0
  293. package/build-module/utils/template-part-create.js +53 -0
  294. package/build-module/utils/template-part-create.js.map +1 -0
  295. package/build-style/style-rtl.css +448 -278
  296. package/build-style/style.css +448 -278
  297. package/package.json +32 -30
  298. package/src/components/add-new-template/add-custom-generic-template-modal.js +20 -28
  299. package/src/components/add-new-template/add-custom-template-modal.js +0 -1
  300. package/src/components/add-new-template/new-template-part.js +12 -11
  301. package/src/components/add-new-template/style.scss +0 -4
  302. package/src/components/app/index.js +2 -2
  303. package/src/components/block-editor/editor-canvas.js +0 -1
  304. package/src/components/block-editor/index.js +21 -77
  305. package/src/components/block-editor/inserter-media-categories.js +247 -0
  306. package/src/components/block-editor/resize-handle.js +6 -2
  307. package/src/components/block-editor/style.scss +55 -7
  308. package/src/components/canvas-spinner/index.js +12 -0
  309. package/src/components/canvas-spinner/style.scss +7 -0
  310. package/src/components/create-template-part-modal/index.js +75 -67
  311. package/src/components/create-template-part-modal/style.scss +0 -10
  312. package/src/components/editor/index.js +5 -3
  313. package/src/components/error-boundary/index.js +2 -10
  314. package/src/components/error-boundary/warning.js +6 -35
  315. package/src/components/global-styles/README.md +1 -75
  316. package/src/components/global-styles/block-preview-panel.js +16 -4
  317. package/src/components/global-styles/border-panel.js +22 -16
  318. package/src/components/global-styles/color-palette-panel.js +10 -7
  319. package/src/components/global-styles/context-menu.js +117 -41
  320. package/src/components/global-styles/custom-css.js +76 -19
  321. package/src/components/global-styles/dimensions-panel.js +58 -31
  322. package/src/components/global-styles/global-styles-provider.js +6 -2
  323. package/src/components/global-styles/gradients-palette-panel.js +17 -11
  324. package/src/components/global-styles/hooks.js +31 -155
  325. package/src/components/global-styles/index.js +0 -2
  326. package/src/components/global-styles/palette.js +9 -5
  327. package/src/components/global-styles/preview.js +19 -13
  328. package/src/components/global-styles/screen-background-color.js +42 -19
  329. package/src/components/global-styles/screen-block-list.js +6 -1
  330. package/src/components/global-styles/screen-border.js +13 -5
  331. package/src/components/global-styles/screen-button-color.js +21 -19
  332. package/src/components/global-styles/screen-colors.js +66 -22
  333. package/src/components/global-styles/screen-css.js +30 -14
  334. package/src/components/global-styles/screen-heading-color.js +32 -27
  335. package/src/components/global-styles/screen-layout.js +7 -4
  336. package/src/components/global-styles/screen-link-color.js +34 -22
  337. package/src/components/global-styles/screen-root.js +24 -9
  338. package/src/components/global-styles/screen-style-variations.js +7 -2
  339. package/src/components/global-styles/screen-text-color.js +15 -15
  340. package/src/components/global-styles/screen-typography.js +34 -12
  341. package/src/components/global-styles/screen-variations.js +47 -0
  342. package/src/components/global-styles/shadow-panel.js +174 -0
  343. package/src/components/global-styles/style.scss +94 -1
  344. package/src/components/global-styles/typography-panel.js +58 -23
  345. package/src/components/global-styles/typography-preview.js +28 -9
  346. package/src/components/global-styles/ui.js +130 -17
  347. package/src/components/global-styles/utils.js +7 -330
  348. package/src/components/global-styles/variations-panel.js +78 -0
  349. package/src/components/global-styles-renderer/index.js +3 -4
  350. package/src/components/header-edit-mode/document-actions/index.js +1 -1
  351. package/src/components/keyboard-shortcut-help-modal/index.js +0 -1
  352. package/src/components/layout/index.js +116 -21
  353. package/src/components/layout/style.scss +29 -5
  354. package/src/components/list/actions/rename-menu-item.js +14 -23
  355. package/src/components/list/style.scss +0 -4
  356. package/src/components/{sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js → navigation-inspector/index.js} +3 -4
  357. package/src/components/{sidebar-edit-mode/navigation-menu-sidebar → navigation-inspector}/navigation-menu.js +10 -12
  358. package/src/components/{sidebar-edit-mode/navigation-menu-sidebar → navigation-inspector}/style.scss +4 -17
  359. package/src/components/sidebar/index.js +2 -0
  360. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +8 -32
  361. package/src/components/sidebar-edit-mode/index.js +0 -11
  362. package/src/components/sidebar-edit-mode/settings-header/style.scss +8 -0
  363. package/src/components/sidebar-navigation-item/style.scss +28 -3
  364. package/src/components/sidebar-navigation-screen/index.js +4 -3
  365. package/src/components/sidebar-navigation-screen/style.scss +2 -0
  366. package/src/components/sidebar-navigation-screen-main/index.js +23 -1
  367. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +25 -0
  368. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +12 -0
  369. package/src/components/sidebar-navigation-screen-templates/index.js +12 -19
  370. package/src/components/site-hub/index.js +120 -109
  371. package/src/components/site-hub/style.scss +7 -1
  372. package/src/components/site-icon/index.js +1 -1
  373. package/src/components/site-icon/style.scss +2 -2
  374. package/src/components/style-book/index.js +10 -5
  375. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +40 -0
  376. package/src/components/template-details/edit-template-title.js +1 -0
  377. package/src/components/template-details/template-part-area-selector.js +1 -0
  378. package/src/components/template-part-converter/convert-to-template-part.js +12 -10
  379. package/src/experiments.js +10 -0
  380. package/src/hooks/push-changes-to-global-styles/index.js +66 -8
  381. package/src/index.js +51 -59
  382. package/src/store/reducer.js +1 -1
  383. package/src/store/selectors.js +6 -26
  384. package/src/store/test/utils.js +181 -0
  385. package/src/store/utils.js +69 -0
  386. package/src/style.scss +4 -2
  387. package/src/utils/template-part-create.js +62 -0
  388. package/src/utils/test/template-part-create.js +63 -0
  389. package/build/components/global-styles/context.js +0 -22
  390. package/build/components/global-styles/context.js.map +0 -1
  391. package/build/components/global-styles/typography-utils.js +0 -92
  392. package/build/components/global-styles/typography-utils.js.map +0 -1
  393. package/build/components/global-styles/use-global-styles-output.js +0 -857
  394. package/build/components/global-styles/use-global-styles-output.js.map +0 -1
  395. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/index.js +0 -42
  396. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/index.js.map +0 -1
  397. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js.map +0 -1
  398. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js.map +0 -1
  399. package/build-module/components/global-styles/context.js +0 -12
  400. package/build-module/components/global-styles/context.js.map +0 -1
  401. package/build-module/components/global-styles/typography-utils.js +0 -84
  402. package/build-module/components/global-styles/typography-utils.js.map +0 -1
  403. package/build-module/components/global-styles/use-global-styles-output.js +0 -815
  404. package/build-module/components/global-styles/use-global-styles-output.js.map +0 -1
  405. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/index.js +0 -28
  406. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/index.js.map +0 -1
  407. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js.map +0 -1
  408. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js.map +0 -1
  409. package/src/components/global-styles/context.js +0 -15
  410. package/src/components/global-styles/test/typography-utils.js +0 -393
  411. package/src/components/global-styles/test/use-global-styles-output.js +0 -814
  412. package/src/components/global-styles/test/utils.js +0 -206
  413. package/src/components/global-styles/typography-utils.js +0 -87
  414. package/src/components/global-styles/use-global-styles-output.js +0 -936
  415. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/index.js +0 -37
@@ -0,0 +1,247 @@
1
+ /**
2
+ * The `edit-site` settings here need to be in sync with the corresponding ones in `site-editor` package.
3
+ * See `packages/edit-site/src/components/block-editor/inserter-media-categories.js`.
4
+ *
5
+ * In the future we could consider creating an Openvese package that can be used in both `editor` and `site-editor`.
6
+ * The rest of the settings would still need to be in sync though.
7
+ */
8
+
9
+ /**
10
+ * WordPress dependencies
11
+ */
12
+ import { __, sprintf, _x } from '@wordpress/i18n';
13
+ import { resolveSelect } from '@wordpress/data';
14
+ import { decodeEntities } from '@wordpress/html-entities';
15
+
16
+ /**
17
+ * Internal dependencies
18
+ */
19
+ import { store as coreStore } from '@wordpress/core-data';
20
+
21
+ /** @typedef {import('@wordpress/block-editor').InserterMediaRequest} InserterMediaRequest */
22
+ /** @typedef {import('@wordpress/block-editor').InserterMediaItem} InserterMediaItem */
23
+ /**
24
+ * Interface for inserter media category labels.
25
+ *
26
+ * @typedef {Object} InserterMediaCategoryLabels
27
+ * @property {string} name General name of the media category. It's used in the inserter media items list.
28
+ * @property {string} [search_items='Search'] Label for searching items. Default is ‘Search Posts’ / ‘Search Pages’.
29
+ */
30
+ /**
31
+ * Interface for inserter media category.
32
+ *
33
+ * @typedef {Object} InserterMediaCategory
34
+ * @property {string} name The name of the media category, that should be unique among all media categories.
35
+ * @property {InserterMediaCategoryLabels} labels Labels for the media category.
36
+ * @property {('image'|'audio'|'video')} mediaType The media type of the media category.
37
+ * @property {(InserterMediaRequest) => Promise<InserterMediaItem[]>} fetch The function to fetch media items for the category.
38
+ * @property {(InserterMediaItem) => string} [getReportUrl] If the media category supports reporting media items, this function should return
39
+ * the report url for the media item. It accepts the `InserterMediaItem` as an argument.
40
+ * @property {boolean} [isExternalResource] If the media category is an external resource, this should be set to true.
41
+ * This is used to avoid making a request to the external resource when the user
42
+ * opens the inserter for the first time.
43
+ */
44
+
45
+ const getExternalLink = ( url, text ) =>
46
+ `<a ${ getExternalLinkAttributes( url ) }>${ text }</a>`;
47
+
48
+ const getExternalLinkAttributes = ( url ) =>
49
+ `href="${ url }" target="_blank" rel="noreferrer noopener"`;
50
+
51
+ const getOpenverseLicense = ( license, licenseVersion ) => {
52
+ let licenseName = license.trim();
53
+ // PDM has no abbreviation
54
+ if ( license !== 'pdm' ) {
55
+ licenseName = license.toUpperCase().replace( 'SAMPLING', 'Sampling' );
56
+ }
57
+ // If version is known, append version to the name.
58
+ // The license has to have a version to be valid. Only
59
+ // PDM (public domain mark) doesn't have a version.
60
+ if ( licenseVersion ) {
61
+ licenseName += ` ${ licenseVersion }`;
62
+ }
63
+ // For licenses other than public-domain marks, prepend 'CC' to the name.
64
+ if ( ! [ 'pdm', 'cc0' ].includes( license ) ) {
65
+ licenseName = `CC ${ licenseName }`;
66
+ }
67
+ return licenseName;
68
+ };
69
+
70
+ const getOpenverseCaption = ( item ) => {
71
+ const {
72
+ title,
73
+ foreign_landing_url: foreignLandingUrl,
74
+ creator,
75
+ creator_url: creatorUrl,
76
+ license,
77
+ license_version: licenseVersion,
78
+ license_url: licenseUrl,
79
+ } = item;
80
+ const fullLicense = getOpenverseLicense( license, licenseVersion );
81
+ const _creator = decodeEntities( creator );
82
+ let _caption;
83
+ if ( _creator ) {
84
+ _caption = title
85
+ ? sprintf(
86
+ // translators: %1s: Title of a media work from Openverse; %2s: Name of the work's creator; %3s: Work's licence e.g: "CC0 1.0".
87
+ _x( '"%1$s" by %2$s/ %3$s', 'caption' ),
88
+ getExternalLink(
89
+ foreignLandingUrl,
90
+ decodeEntities( title )
91
+ ),
92
+ creatorUrl
93
+ ? getExternalLink( creatorUrl, _creator )
94
+ : _creator,
95
+ licenseUrl
96
+ ? getExternalLink(
97
+ `${ licenseUrl }?ref=openverse`,
98
+ fullLicense
99
+ )
100
+ : fullLicense
101
+ )
102
+ : sprintf(
103
+ // translators: %1s: Link attributes for a given Openverse media work; %2s: Name of the work's creator; %3s: Works's licence e.g: "CC0 1.0".
104
+ _x( '<a %1$s>Work</a> by %2$s/ %3$s', 'caption' ),
105
+ getExternalLinkAttributes( foreignLandingUrl ),
106
+ creatorUrl
107
+ ? getExternalLink( creatorUrl, _creator )
108
+ : _creator,
109
+ licenseUrl
110
+ ? getExternalLink(
111
+ `${ licenseUrl }?ref=openverse`,
112
+ fullLicense
113
+ )
114
+ : fullLicense
115
+ );
116
+ } else {
117
+ _caption = title
118
+ ? sprintf(
119
+ // translators: %1s: Title of a media work from Openverse; %2s: Work's licence e.g: "CC0 1.0".
120
+ _x( '"%1$s"/ %2$s', 'caption' ),
121
+ getExternalLink(
122
+ foreignLandingUrl,
123
+ decodeEntities( title )
124
+ ),
125
+ licenseUrl
126
+ ? getExternalLink(
127
+ `${ licenseUrl }?ref=openverse`,
128
+ fullLicense
129
+ )
130
+ : fullLicense
131
+ )
132
+ : sprintf(
133
+ // translators: %1s: Link attributes for a given Openverse media work; %2s: Works's licence e.g: "CC0 1.0".
134
+ _x( '<a %1$s>Work</a>/ %3$s', 'caption' ),
135
+ getExternalLinkAttributes( foreignLandingUrl ),
136
+ licenseUrl
137
+ ? getExternalLink(
138
+ `${ licenseUrl }?ref=openverse`,
139
+ fullLicense
140
+ )
141
+ : fullLicense
142
+ );
143
+ }
144
+ return _caption.replace( /\s{2}/g, ' ' );
145
+ };
146
+
147
+ const coreMediaFetch = async ( query = {} ) => {
148
+ const mediaItems = await resolveSelect( coreStore ).getMediaItems( {
149
+ ...query,
150
+ orderBy: !! query?.search ? 'relevance' : 'date',
151
+ } );
152
+ return mediaItems.map( ( mediaItem ) => ( {
153
+ ...mediaItem,
154
+ alt: mediaItem.alt_text,
155
+ url: mediaItem.source_url,
156
+ previewUrl: mediaItem.media_details?.sizes?.medium?.source_url,
157
+ caption: mediaItem.caption?.raw,
158
+ } ) );
159
+ };
160
+
161
+ /** @type {InserterMediaCategory[]} */
162
+ const inserterMediaCategories = [
163
+ {
164
+ name: 'images',
165
+ labels: {
166
+ name: __( 'Images' ),
167
+ search_items: __( 'Search images' ),
168
+ },
169
+ mediaType: 'image',
170
+ async fetch( query = {} ) {
171
+ return coreMediaFetch( { ...query, media_type: 'image' } );
172
+ },
173
+ },
174
+ {
175
+ name: 'videos',
176
+ labels: {
177
+ name: __( 'Videos' ),
178
+ search_items: __( 'Search videos' ),
179
+ },
180
+ mediaType: 'video',
181
+ async fetch( query = {} ) {
182
+ return coreMediaFetch( { ...query, media_type: 'video' } );
183
+ },
184
+ },
185
+ {
186
+ name: 'audio',
187
+ labels: {
188
+ name: __( 'Audio' ),
189
+ search_items: __( 'Search audio' ),
190
+ },
191
+ mediaType: 'audio',
192
+ async fetch( query = {} ) {
193
+ return coreMediaFetch( { ...query, media_type: 'audio' } );
194
+ },
195
+ },
196
+ {
197
+ name: 'openverse',
198
+ labels: {
199
+ name: __( 'Openverse' ),
200
+ search_items: __( 'Search Openverse' ),
201
+ },
202
+ mediaType: 'image',
203
+ async fetch( query = {} ) {
204
+ const defaultArgs = {
205
+ mature: false,
206
+ excluded_source: 'flickr,inaturalist,wikimedia',
207
+ license: 'pdm,cc0',
208
+ };
209
+ const finalQuery = { ...query, ...defaultArgs };
210
+ const mapFromInserterMediaRequest = {
211
+ per_page: 'page_size',
212
+ search: 'q',
213
+ };
214
+ const url = new URL(
215
+ 'https://api.openverse.engineering/v1/images/'
216
+ );
217
+ Object.entries( finalQuery ).forEach( ( [ key, value ] ) => {
218
+ const queryKey = mapFromInserterMediaRequest[ key ] || key;
219
+ url.searchParams.set( queryKey, value );
220
+ } );
221
+ const response = await window.fetch( url, {
222
+ headers: {
223
+ 'User-Agent': 'WordPress/inserter-media-fetch',
224
+ },
225
+ } );
226
+ const jsonResponse = await response.json();
227
+ const results = jsonResponse.results;
228
+ return results.map( ( result ) => ( {
229
+ ...result,
230
+ // This is a temp solution for better titles, until Openverse API
231
+ // completes the cleaning up of some titles of their upstream data.
232
+ title: result.title?.toLowerCase().startsWith( 'file:' )
233
+ ? result.title.slice( 5 )
234
+ : result.title,
235
+ sourceId: result.id,
236
+ id: undefined,
237
+ caption: getOpenverseCaption( result ),
238
+ previewUrl: result.thumbnail,
239
+ } ) );
240
+ },
241
+ getReportUrl: ( { sourceId } ) =>
242
+ `https://wordpress.org/openverse/image/${ sourceId }/report/`,
243
+ isExternalResource: true,
244
+ },
245
+ ];
246
+
247
+ export default inserterMediaCategories;
@@ -7,7 +7,11 @@ import { VisuallyHidden } from '@wordpress/components';
7
7
 
8
8
  const DELTA_DISTANCE = 20; // The distance to resize per keydown in pixels.
9
9
 
10
- export default function ResizeHandle( { direction, resizeWidthBy } ) {
10
+ export default function ResizeHandle( {
11
+ variation = 'default',
12
+ direction,
13
+ resizeWidthBy,
14
+ } ) {
11
15
  function handleKeyDown( event ) {
12
16
  const { keyCode } = event;
13
17
 
@@ -27,7 +31,7 @@ export default function ResizeHandle( { direction, resizeWidthBy } ) {
27
31
  return (
28
32
  <>
29
33
  <button
30
- className={ `resizable-editor__drag-handle is-${ direction }` }
34
+ className={ `resizable-editor__drag-handle is-${ direction } is-variation-${ variation }` }
31
35
  aria-label={ __( 'Drag to resize' ) }
32
36
  aria-describedby={ `resizable-editor__resize-help-${ direction }` }
33
37
  onKeyDown={ handleKeyDown }
@@ -27,6 +27,11 @@
27
27
  height: 100%;
28
28
  }
29
29
 
30
+ .edit-site-visual-editor__editor-canvas {
31
+ height: 100%;
32
+ background: $white;
33
+ }
34
+
30
35
  &.is-focus-mode {
31
36
  .edit-site-layout.is-full-canvas & {
32
37
  padding: $grid-unit-60;
@@ -78,21 +83,53 @@
78
83
  }
79
84
 
80
85
  .resizable-editor__drag-handle {
81
- $height: 100px;
82
86
  position: absolute;
83
87
  top: 0;
84
88
  bottom: 0;
85
89
  padding: 0;
86
90
  margin: auto 0;
87
- width: $grid-unit-05;
88
- height: $height;
91
+ width: $grid-unit-15;
89
92
  appearance: none;
90
93
  cursor: ew-resize;
91
94
  outline: none;
92
- background: $gray-600;
93
- border-radius: 2px;
95
+ background: none;
96
+ border-radius: $radius-block-ui;
94
97
  border: 0;
95
98
 
99
+ &.is-variation-default {
100
+ height: 100px;
101
+ }
102
+
103
+ &.is-variation-separator {
104
+ height: 100%;
105
+ width: $grid-unit-30;
106
+ right: 0;
107
+
108
+ &::after {
109
+ width: 2px;
110
+ border-radius: 0;
111
+ background: transparent;
112
+ left: 50%;
113
+ transform: translateX(-1px);
114
+ right: 0;
115
+ transition: all ease 0.2s;
116
+ transition-delay: 0.1s;
117
+ @include reduce-motion;
118
+ }
119
+ }
120
+
121
+ &::after {
122
+ position: absolute;
123
+ top: $grid-unit-30;
124
+ left: $grid-unit-05;
125
+ right: 0;
126
+ bottom: $grid-unit-30;
127
+ content: "";
128
+ width: $grid-unit-05;
129
+ background: $gray-600;
130
+ border-radius: $radius-block-ui;
131
+ }
132
+
96
133
  &.is-left {
97
134
  left: -$grid-unit-20;
98
135
  }
@@ -103,10 +140,21 @@
103
140
 
104
141
  &:hover,
105
142
  &:active {
106
- background: $gray-400;
143
+ opacity: 1;
144
+ &.is-variation-default::after {
145
+ background: $gray-400;
146
+ }
147
+ &.is-variation-separator::after {
148
+ background: var(--wp-admin-theme-color);
149
+ }
107
150
  }
108
151
 
109
- &:focus {
152
+ &:focus::after {
110
153
  box-shadow: 0 0 0 1px $gray-800, 0 0 0 calc(var(--wp-admin-border-width-focus) + 1px) var(--wp-admin-theme-color);
111
154
  }
155
+
156
+ &.is-variation-separator:focus::after {
157
+ border-radius: $radius-block-ui;
158
+ box-shadow: inset 0 0 0 2px var(--wp-admin-theme-color);
159
+ }
112
160
  }
@@ -0,0 +1,12 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { Spinner } from '@wordpress/components';
5
+
6
+ export default function CanvasSpinner() {
7
+ return (
8
+ <div className="edit-site-canvas-spinner">
9
+ <Spinner />
10
+ </div>
11
+ );
12
+ }
@@ -0,0 +1,7 @@
1
+ .edit-site-canvas-spinner {
2
+ width: 100%;
3
+ height: 100%;
4
+ display: flex;
5
+ align-items: center;
6
+ justify-content: center;
7
+ }
@@ -13,6 +13,7 @@ import {
13
13
  Modal,
14
14
  __experimentalRadioGroup as RadioGroup,
15
15
  __experimentalRadio as Radio,
16
+ __experimentalVStack as VStack,
16
17
  } from '@wordpress/components';
17
18
  import { __ } from '@wordpress/i18n';
18
19
  import { useState } from '@wordpress/element';
@@ -40,7 +41,6 @@ export default function CreateTemplatePartModal( { closeModal, onCreate } ) {
40
41
  return (
41
42
  <Modal
42
43
  title={ __( 'Create a template part' ) }
43
- closeLabel={ __( 'Close' ) }
44
44
  onRequestClose={ closeModal }
45
45
  overlayClassName="edit-site-create-template-part-modal"
46
46
  >
@@ -54,76 +54,84 @@ export default function CreateTemplatePartModal( { closeModal, onCreate } ) {
54
54
  await onCreate( { title, area } );
55
55
  } }
56
56
  >
57
- <TextControl
58
- label={ __( 'Name' ) }
59
- value={ title }
60
- onChange={ setTitle }
61
- required
62
- />
63
- <BaseControl
64
- label={ __( 'Area' ) }
65
- id={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }
66
- className="edit-site-create-template-part-modal__area-base-control"
67
- >
68
- <RadioGroup
57
+ <VStack spacing="4">
58
+ <TextControl
59
+ __nextHasNoMarginBottom
60
+ label={ __( 'Name' ) }
61
+ value={ title }
62
+ onChange={ setTitle }
63
+ required
64
+ />
65
+ <BaseControl
69
66
  label={ __( 'Area' ) }
70
- className="edit-site-create-template-part-modal__area-radio-group"
71
67
  id={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }
72
- onChange={ setArea }
73
- checked={ area }
68
+ className="edit-site-create-template-part-modal__area-base-control"
74
69
  >
75
- { templatePartAreas.map(
76
- ( { icon, label, area: value, description } ) => (
77
- <Radio
78
- key={ label }
79
- value={ value }
80
- className="edit-site-create-template-part-modal__area-radio"
81
- >
82
- <Flex align="start" justify="start">
83
- <FlexItem>
84
- <Icon icon={ icon } />
85
- </FlexItem>
86
- <FlexBlock className="edit-site-create-template-part-modal__option-label">
87
- { label }
88
- <div>{ description }</div>
89
- </FlexBlock>
90
-
91
- <FlexItem className="edit-site-create-template-part-modal__checkbox">
92
- { area === value && (
93
- <Icon icon={ check } />
94
- ) }
95
- </FlexItem>
96
- </Flex>
97
- </Radio>
98
- )
99
- ) }
100
- </RadioGroup>
101
- </BaseControl>
102
- <Flex
103
- className="edit-site-create-template-part-modal__modal-actions"
104
- justify="flex-end"
105
- >
106
- <FlexItem>
107
- <Button
108
- variant="secondary"
109
- onClick={ () => {
110
- closeModal();
111
- } }
112
- >
113
- { __( 'Cancel' ) }
114
- </Button>
115
- </FlexItem>
116
- <FlexItem>
117
- <Button
118
- variant="primary"
119
- type="submit"
120
- disabled={ ! title }
121
- isBusy={ isSubmitting }
70
+ <RadioGroup
71
+ label={ __( 'Area' ) }
72
+ className="edit-site-create-template-part-modal__area-radio-group"
73
+ id={ `edit-site-create-template-part-modal__area-selection-${ instanceId }` }
74
+ onChange={ setArea }
75
+ checked={ area }
122
76
  >
123
- { __( 'Create' ) }
124
- </Button>
125
- </FlexItem>
126
- </Flex>
77
+ { templatePartAreas.map(
78
+ ( {
79
+ icon,
80
+ label,
81
+ area: value,
82
+ description,
83
+ } ) => (
84
+ <Radio
85
+ key={ label }
86
+ value={ value }
87
+ className="edit-site-create-template-part-modal__area-radio"
88
+ >
89
+ <Flex align="start" justify="start">
90
+ <FlexItem>
91
+ <Icon icon={ icon } />
92
+ </FlexItem>
93
+ <FlexBlock className="edit-site-create-template-part-modal__option-label">
94
+ { label }
95
+ <div>{ description }</div>
96
+ </FlexBlock>
97
+
98
+ <FlexItem className="edit-site-create-template-part-modal__checkbox">
99
+ { area === value && (
100
+ <Icon icon={ check } />
101
+ ) }
102
+ </FlexItem>
103
+ </Flex>
104
+ </Radio>
105
+ )
106
+ ) }
107
+ </RadioGroup>
108
+ </BaseControl>
109
+ <Flex
110
+ className="edit-site-create-template-part-modal__modal-actions"
111
+ justify="flex-end"
112
+ >
113
+ <FlexItem>
114
+ <Button
115
+ variant="secondary"
116
+ onClick={ () => {
117
+ closeModal();
118
+ } }
119
+ >
120
+ { __( 'Cancel' ) }
121
+ </Button>
122
+ </FlexItem>
123
+ <FlexItem>
124
+ <Button
125
+ variant="primary"
126
+ type="submit"
127
+ disabled={ ! title }
128
+ isBusy={ isSubmitting }
129
+ >
130
+ { __( 'Create' ) }
131
+ </Button>
132
+ </FlexItem>
133
+ </Flex>
134
+ </VStack>
127
135
  </form>
128
136
  </Modal>
129
137
  );
@@ -8,16 +8,6 @@
8
8
  }
9
9
  }
10
10
 
11
-
12
- .edit-site-create-template-part-modal__modal-actions {
13
- padding-top: $grid-unit-15;
14
- }
15
-
16
- .edit-site-create-template-part-modal__area-base-control .components-base-control__label {
17
- margin: $grid-unit-20 0 $grid-unit-10;
18
- cursor: auto;
19
- }
20
-
21
11
  .edit-site-create-template-part-modal__area-radio-group {
22
12
  width: 100%;
23
13
  border: $border-width solid $gray-700;
@@ -37,6 +37,7 @@ import { store as editSiteStore } from '../../store';
37
37
  import { GlobalStylesRenderer } from '../global-styles-renderer';
38
38
  import { GlobalStylesProvider } from '../global-styles/global-styles-provider';
39
39
  import useTitle from '../routes/use-title';
40
+ import CanvasSpinner from '../canvas-spinner';
40
41
 
41
42
  const interfaceLabels = {
42
43
  /* translators: accessibility text for the editor content landmark region. */
@@ -149,7 +150,7 @@ export default function Editor() {
149
150
  useTitle( isReady && __( 'Editor (beta)' ) );
150
151
 
151
152
  if ( ! isReady ) {
152
- return null;
153
+ return <CanvasSpinner />;
153
154
  }
154
155
 
155
156
  return (
@@ -174,12 +175,13 @@ export default function Editor() {
174
175
  content={
175
176
  <>
176
177
  <GlobalStylesRenderer />
177
- <EditorNotices />
178
+ { isEditMode && <EditorNotices /> }
178
179
  { showVisualEditor && editedPost && (
179
180
  <BlockEditor />
180
181
  ) }
181
182
  { editorMode === 'text' &&
182
- editedPost && <CodeEditor /> }
183
+ editedPost &&
184
+ isEditMode && <CodeEditor /> }
183
185
  { hasLoadedPost && ! editedPost && (
184
186
  <Notice
185
187
  status="warning"
@@ -14,8 +14,6 @@ export default class ErrorBoundary extends Component {
14
14
  constructor() {
15
15
  super( ...arguments );
16
16
 
17
- this.reboot = this.reboot.bind( this );
18
-
19
17
  this.state = {
20
18
  error: null,
21
19
  };
@@ -29,13 +27,8 @@ export default class ErrorBoundary extends Component {
29
27
  return { error };
30
28
  }
31
29
 
32
- reboot() {
33
- this.props.onError();
34
- }
35
-
36
30
  render() {
37
- const { error } = this.state;
38
- if ( ! error ) {
31
+ if ( ! this.state.error ) {
39
32
  return this.props.children;
40
33
  }
41
34
 
@@ -44,8 +37,7 @@ export default class ErrorBoundary extends Component {
44
37
  message={ __(
45
38
  'The editor has encountered an unexpected error.'
46
39
  ) }
47
- error={ error }
48
- reboot={ this.reboot }
40
+ error={ this.state.error }
49
41
  />
50
42
  );
51
43
  }
@@ -15,41 +15,12 @@ function CopyButton( { text, children } ) {
15
15
  );
16
16
  }
17
17
 
18
- export default function ErrorBoundaryWarning( {
19
- message,
20
- error,
21
- reboot,
22
- dashboardLink,
23
- } ) {
24
- const actions = [];
25
-
26
- if ( reboot ) {
27
- actions.push(
28
- <Button key="recovery" onClick={ reboot } variant="secondary">
29
- { __( 'Attempt Recovery' ) }
30
- </Button>
31
- );
32
- }
33
-
34
- if ( error ) {
35
- actions.push(
36
- <CopyButton key="copy-error" text={ error.stack }>
37
- { __( 'Copy Error' ) }
38
- </CopyButton>
39
- );
40
- }
41
-
42
- if ( dashboardLink ) {
43
- actions.push(
44
- <Button
45
- key="back-to-dashboard"
46
- variant="secondary"
47
- href={ dashboardLink }
48
- >
49
- { __( 'Back to dashboard' ) }
50
- </Button>
51
- );
52
- }
18
+ export default function ErrorBoundaryWarning( { message, error } ) {
19
+ const actions = [
20
+ <CopyButton key="copy-error" text={ error.stack }>
21
+ { __( 'Copy Error' ) }
22
+ </CopyButton>,
23
+ ];
53
24
 
54
25
  return (
55
26
  <Warning className="editor-error-boundary" actions={ actions }>