@wordpress/edit-site 5.0.0 → 5.2.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 (262) hide show
  1. package/CHANGELOG.md +14 -1
  2. package/LICENSE.md +1 -1
  3. package/build/components/add-new-template/new-template-part.js +21 -1
  4. package/build/components/add-new-template/new-template-part.js.map +1 -1
  5. package/build/components/add-new-template/utils.js +9 -1
  6. package/build/components/add-new-template/utils.js.map +1 -1
  7. package/build/components/block-editor/editor-canvas.js +0 -1
  8. package/build/components/block-editor/editor-canvas.js.map +1 -1
  9. package/build/components/block-editor/index.js +17 -52
  10. package/build/components/block-editor/index.js.map +1 -1
  11. package/build/components/block-editor/resize-handle.js +2 -1
  12. package/build/components/block-editor/resize-handle.js.map +1 -1
  13. package/build/components/editor/index.js +5 -17
  14. package/build/components/editor/index.js.map +1 -1
  15. package/build/components/global-styles/block-preview-panel.js +27 -6
  16. package/build/components/global-styles/block-preview-panel.js.map +1 -1
  17. package/build/components/global-styles/border-panel.js +5 -5
  18. package/build/components/global-styles/border-panel.js.map +1 -1
  19. package/build/components/global-styles/context-menu.js +9 -1
  20. package/build/components/global-styles/context-menu.js.map +1 -1
  21. package/build/components/global-styles/custom-css.js +1 -0
  22. package/build/components/global-styles/custom-css.js.map +1 -1
  23. package/build/components/global-styles/dimensions-panel.js +16 -11
  24. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  25. package/build/components/global-styles/global-styles-provider.js +3 -2
  26. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  27. package/build/components/global-styles/screen-background-color.js +6 -6
  28. package/build/components/global-styles/screen-background-color.js.map +1 -1
  29. package/build/components/global-styles/screen-block-list.js +4 -1
  30. package/build/components/global-styles/screen-block-list.js.map +1 -1
  31. package/build/components/global-styles/screen-block.js +2 -6
  32. package/build/components/global-styles/screen-block.js.map +1 -1
  33. package/build/components/global-styles/screen-border.js +12 -2
  34. package/build/components/global-styles/screen-border.js.map +1 -1
  35. package/build/components/global-styles/screen-button-color.js +3 -4
  36. package/build/components/global-styles/screen-button-color.js.map +1 -1
  37. package/build/components/global-styles/screen-colors.js +53 -25
  38. package/build/components/global-styles/screen-colors.js.map +1 -1
  39. package/build/components/global-styles/screen-heading-color.js +9 -10
  40. package/build/components/global-styles/screen-heading-color.js.map +1 -1
  41. package/build/components/global-styles/screen-layout.js +12 -2
  42. package/build/components/global-styles/screen-layout.js.map +1 -1
  43. package/build/components/global-styles/screen-link-color.js +8 -8
  44. package/build/components/global-styles/screen-link-color.js.map +1 -1
  45. package/build/components/global-styles/screen-root.js +7 -2
  46. package/build/components/global-styles/screen-root.js.map +1 -1
  47. package/build/components/global-styles/screen-text-color.js +4 -4
  48. package/build/components/global-styles/screen-text-color.js.map +1 -1
  49. package/build/components/global-styles/screen-typography.js +11 -1
  50. package/build/components/global-styles/screen-typography.js.map +1 -1
  51. package/build/components/global-styles/screen-variations.js +71 -0
  52. package/build/components/global-styles/screen-variations.js.map +1 -0
  53. package/build/components/global-styles/typography-panel.js +9 -8
  54. package/build/components/global-styles/typography-panel.js.map +1 -1
  55. package/build/components/global-styles/typography-utils.js +17 -5
  56. package/build/components/global-styles/typography-utils.js.map +1 -1
  57. package/build/components/global-styles/ui.js +85 -18
  58. package/build/components/global-styles/ui.js.map +1 -1
  59. package/build/components/global-styles/use-global-styles-output.js +119 -33
  60. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  61. package/build/components/global-styles/utils.js +60 -3
  62. package/build/components/global-styles/utils.js.map +1 -1
  63. package/build/components/global-styles/variations-panel.js +85 -0
  64. package/build/components/global-styles/variations-panel.js.map +1 -0
  65. package/build/components/header-edit-mode/document-actions/index.js +10 -41
  66. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  67. package/build/components/layout/index.js +129 -87
  68. package/build/components/layout/index.js.map +1 -1
  69. package/build/components/sidebar/index.js +5 -1
  70. package/build/components/sidebar/index.js.map +1 -1
  71. package/build/components/sidebar-edit-mode/index.js +3 -1
  72. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  73. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js +2 -0
  74. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js.map +1 -1
  75. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js +10 -0
  76. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js.map +1 -1
  77. package/build/components/sidebar-navigation-screen-main/index.js +1 -31
  78. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  79. package/build/components/sidebar-navigation-screen-templates/index.js +3 -22
  80. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  81. package/build/components/site-hub/index.js +149 -0
  82. package/build/components/site-hub/index.js.map +1 -0
  83. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +54 -0
  84. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -0
  85. package/build/components/template-details/edit-template-title.js +1 -0
  86. package/build/components/template-details/edit-template-title.js.map +1 -1
  87. package/build/components/template-details/template-part-area-selector.js +1 -0
  88. package/build/components/template-details/template-part-area-selector.js.map +1 -1
  89. package/build/components/use-edited-entity-record/index.js +60 -0
  90. package/build/components/use-edited-entity-record/index.js.map +1 -0
  91. package/build/hooks/index.js +2 -0
  92. package/build/hooks/index.js.map +1 -1
  93. package/build/hooks/push-changes-to-global-styles/index.js +144 -0
  94. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -0
  95. package/build/index.js +5 -0
  96. package/build/index.js.map +1 -1
  97. package/build/store/reducer.js +1 -1
  98. package/build/store/reducer.js.map +1 -1
  99. package/build-module/components/add-new-template/new-template-part.js +20 -1
  100. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  101. package/build-module/components/add-new-template/utils.js +5 -0
  102. package/build-module/components/add-new-template/utils.js.map +1 -1
  103. package/build-module/components/block-editor/editor-canvas.js +0 -1
  104. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  105. package/build-module/components/block-editor/index.js +19 -50
  106. package/build-module/components/block-editor/index.js.map +1 -1
  107. package/build-module/components/block-editor/resize-handle.js +2 -1
  108. package/build-module/components/block-editor/resize-handle.js.map +1 -1
  109. package/build-module/components/editor/index.js +2 -13
  110. package/build-module/components/editor/index.js.map +1 -1
  111. package/build-module/components/global-styles/block-preview-panel.js +26 -6
  112. package/build-module/components/global-styles/block-preview-panel.js.map +1 -1
  113. package/build-module/components/global-styles/border-panel.js +5 -5
  114. package/build-module/components/global-styles/border-panel.js.map +1 -1
  115. package/build-module/components/global-styles/context-menu.js +7 -1
  116. package/build-module/components/global-styles/context-menu.js.map +1 -1
  117. package/build-module/components/global-styles/custom-css.js +1 -0
  118. package/build-module/components/global-styles/custom-css.js.map +1 -1
  119. package/build-module/components/global-styles/dimensions-panel.js +16 -11
  120. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  121. package/build-module/components/global-styles/global-styles-provider.js +3 -2
  122. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  123. package/build-module/components/global-styles/screen-background-color.js +6 -6
  124. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  125. package/build-module/components/global-styles/screen-block-list.js +3 -1
  126. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  127. package/build-module/components/global-styles/screen-block.js +2 -5
  128. package/build-module/components/global-styles/screen-block.js.map +1 -1
  129. package/build-module/components/global-styles/screen-border.js +10 -2
  130. package/build-module/components/global-styles/screen-border.js.map +1 -1
  131. package/build-module/components/global-styles/screen-button-color.js +3 -4
  132. package/build-module/components/global-styles/screen-button-color.js.map +1 -1
  133. package/build-module/components/global-styles/screen-colors.js +51 -25
  134. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  135. package/build-module/components/global-styles/screen-heading-color.js +9 -10
  136. package/build-module/components/global-styles/screen-heading-color.js.map +1 -1
  137. package/build-module/components/global-styles/screen-layout.js +10 -2
  138. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  139. package/build-module/components/global-styles/screen-link-color.js +8 -8
  140. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  141. package/build-module/components/global-styles/screen-root.js +8 -3
  142. package/build-module/components/global-styles/screen-root.js.map +1 -1
  143. package/build-module/components/global-styles/screen-text-color.js +4 -4
  144. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  145. package/build-module/components/global-styles/screen-typography.js +9 -1
  146. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  147. package/build-module/components/global-styles/screen-variations.js +54 -0
  148. package/build-module/components/global-styles/screen-variations.js.map +1 -0
  149. package/build-module/components/global-styles/typography-panel.js +9 -8
  150. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  151. package/build-module/components/global-styles/typography-utils.js +17 -5
  152. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  153. package/build-module/components/global-styles/ui.js +84 -19
  154. package/build-module/components/global-styles/ui.js.map +1 -1
  155. package/build-module/components/global-styles/use-global-styles-output.js +121 -35
  156. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  157. package/build-module/components/global-styles/utils.js +56 -3
  158. package/build-module/components/global-styles/utils.js.map +1 -1
  159. package/build-module/components/global-styles/variations-panel.js +68 -0
  160. package/build-module/components/global-styles/variations-panel.js.map +1 -0
  161. package/build-module/components/header-edit-mode/document-actions/index.js +10 -38
  162. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  163. package/build-module/components/layout/index.js +129 -88
  164. package/build-module/components/layout/index.js.map +1 -1
  165. package/build-module/components/sidebar/index.js +4 -1
  166. package/build-module/components/sidebar/index.js.map +1 -1
  167. package/build-module/components/sidebar-edit-mode/index.js +3 -1
  168. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  169. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js +2 -0
  170. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js.map +1 -1
  171. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js +11 -1
  172. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js.map +1 -1
  173. package/build-module/components/sidebar-navigation-screen-main/index.js +2 -27
  174. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  175. package/build-module/components/sidebar-navigation-screen-templates/index.js +5 -23
  176. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  177. package/build-module/components/site-hub/index.js +127 -0
  178. package/build-module/components/site-hub/index.js.map +1 -0
  179. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +43 -0
  180. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -0
  181. package/build-module/components/template-details/edit-template-title.js +1 -0
  182. package/build-module/components/template-details/edit-template-title.js.map +1 -1
  183. package/build-module/components/template-details/template-part-area-selector.js +1 -0
  184. package/build-module/components/template-details/template-part-area-selector.js.map +1 -1
  185. package/build-module/components/use-edited-entity-record/index.js +48 -0
  186. package/build-module/components/use-edited-entity-record/index.js.map +1 -0
  187. package/build-module/hooks/index.js +1 -0
  188. package/build-module/hooks/index.js.map +1 -1
  189. package/build-module/hooks/push-changes-to-global-styles/index.js +132 -0
  190. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -0
  191. package/build-module/index.js +4 -0
  192. package/build-module/index.js.map +1 -1
  193. package/build-module/store/reducer.js +1 -1
  194. package/build-module/store/reducer.js.map +1 -1
  195. package/build-style/style-rtl.css +190 -125
  196. package/build-style/style.css +190 -125
  197. package/package.json +30 -29
  198. package/src/components/add-new-template/new-template-part.js +23 -1
  199. package/src/components/add-new-template/utils.js +14 -0
  200. package/src/components/block-editor/editor-canvas.js +0 -1
  201. package/src/components/block-editor/index.js +14 -59
  202. package/src/components/block-editor/resize-handle.js +6 -2
  203. package/src/components/block-editor/style.scss +43 -7
  204. package/src/components/editor/index.js +2 -17
  205. package/src/components/global-styles/block-preview-panel.js +37 -10
  206. package/src/components/global-styles/border-panel.js +8 -5
  207. package/src/components/global-styles/context-menu.js +6 -0
  208. package/src/components/global-styles/custom-css.js +1 -0
  209. package/src/components/global-styles/dimensions-panel.js +32 -15
  210. package/src/components/global-styles/global-styles-provider.js +11 -5
  211. package/src/components/global-styles/screen-background-color.js +12 -6
  212. package/src/components/global-styles/screen-block-list.js +6 -1
  213. package/src/components/global-styles/screen-block.js +1 -4
  214. package/src/components/global-styles/screen-border.js +8 -3
  215. package/src/components/global-styles/screen-button-color.js +2 -4
  216. package/src/components/global-styles/screen-colors.js +84 -20
  217. package/src/components/global-styles/screen-heading-color.js +8 -10
  218. package/src/components/global-styles/screen-layout.js +11 -3
  219. package/src/components/global-styles/screen-link-color.js +19 -8
  220. package/src/components/global-styles/screen-root.js +34 -27
  221. package/src/components/global-styles/screen-text-color.js +7 -4
  222. package/src/components/global-styles/screen-typography.js +13 -3
  223. package/src/components/global-styles/screen-variations.js +47 -0
  224. package/src/components/global-styles/style.scss +9 -0
  225. package/src/components/global-styles/test/typography-utils.js +72 -23
  226. package/src/components/global-styles/test/use-global-styles-output.js +1 -1
  227. package/src/components/global-styles/typography-panel.js +31 -8
  228. package/src/components/global-styles/typography-utils.js +24 -4
  229. package/src/components/global-styles/ui.js +101 -13
  230. package/src/components/global-styles/use-global-styles-output.js +137 -14
  231. package/src/components/global-styles/utils.js +56 -3
  232. package/src/components/global-styles/variations-panel.js +78 -0
  233. package/src/components/header-edit-mode/document-actions/index.js +18 -37
  234. package/src/components/header-edit-mode/style.scss +1 -0
  235. package/src/components/layout/index.js +217 -172
  236. package/src/components/layout/style.scss +98 -66
  237. package/src/components/list/style.scss +1 -8
  238. package/src/components/sidebar/index.js +4 -1
  239. package/src/components/sidebar-edit-mode/index.js +1 -1
  240. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js +2 -0
  241. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js +10 -0
  242. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/style.scss +4 -0
  243. package/src/components/sidebar-navigation-screen/style.scss +2 -4
  244. package/src/components/sidebar-navigation-screen-main/index.js +1 -29
  245. package/src/components/sidebar-navigation-screen-templates/index.js +9 -27
  246. package/src/components/site-hub/index.js +161 -0
  247. package/src/components/site-hub/style.scss +31 -0
  248. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +40 -0
  249. package/src/components/template-details/edit-template-title.js +1 -0
  250. package/src/components/template-details/template-part-area-selector.js +1 -0
  251. package/src/components/use-edited-entity-record/index.js +37 -0
  252. package/src/hooks/index.js +1 -0
  253. package/src/hooks/push-changes-to-global-styles/index.js +162 -0
  254. package/src/hooks/push-changes-to-global-styles/style.scss +4 -0
  255. package/src/index.js +2 -0
  256. package/src/store/reducer.js +1 -1
  257. package/src/style.scss +2 -0
  258. package/build/components/site-title/index.js +0 -55
  259. package/build/components/site-title/index.js.map +0 -1
  260. package/build-module/components/site-title/index.js +0 -43
  261. package/build-module/components/site-title/index.js.map +0 -1
  262. package/src/components/site-title/index.js +0 -39
@@ -58,15 +58,15 @@
58
58
  * @param {string} hex - the hexadecimal value to convert
59
59
  * @return {string} comma separated rgb values
60
60
  */
61
- /**
62
- * Breakpoint mixins
63
- */
64
61
  /**
65
62
  * Long content fade mixin
66
63
  *
67
64
  * Creates a fading overlay to signify that the content is longer
68
65
  * than the space allows.
69
66
  */
67
+ /**
68
+ * Breakpoint mixins
69
+ */
70
70
  /**
71
71
  * Focus styles.
72
72
  */
@@ -320,11 +320,6 @@ body.is-fullscreen-mode .interface-interface-skeleton {
320
320
  overflow: auto;
321
321
  z-index: 20;
322
322
  }
323
- .interface-interface-skeleton__content .interface-navigable-region__stacker {
324
- flex-grow: 1;
325
- display: flex;
326
- flex-direction: column;
327
- }
328
323
 
329
324
  .interface-interface-skeleton__secondary-sidebar,
330
325
  .interface-interface-skeleton__sidebar {
@@ -359,9 +354,6 @@ body.is-fullscreen-mode .interface-interface-skeleton {
359
354
  }
360
355
  }
361
356
 
362
- .interface-interface-skeleton__secondary-sidebar .interface-navigable-region__stacker {
363
- height: 100%;
364
- }
365
357
  @media (min-width: 782px) {
366
358
  .interface-interface-skeleton__secondary-sidebar {
367
359
  border-right: 1px solid #e0e0e0;
@@ -509,6 +501,9 @@ body.is-fullscreen-mode .interface-interface-skeleton {
509
501
  box-shadow: none;
510
502
  font-weight: 500;
511
503
  }
504
+ .interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item.is-active::after {
505
+ content: none;
506
+ }
512
507
  .interface-preferences__tabs .components-tab-panel__tabs .components-tab-panel__tabs-item:focus:not(:disabled) {
513
508
  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
514
509
  }
@@ -617,16 +612,49 @@ body.is-fullscreen-mode .interface-interface-skeleton {
617
612
  bottom: 0;
618
613
  padding: 0;
619
614
  margin: auto 0;
620
- width: 4px;
621
- height: 100px;
615
+ width: 12px;
622
616
  -webkit-appearance: none;
623
617
  appearance: none;
624
618
  cursor: ew-resize;
625
619
  outline: none;
626
- background: #949494;
620
+ background: none;
627
621
  border-radius: 2px;
628
622
  border: 0;
629
623
  }
624
+ .resizable-editor__drag-handle.is-variation-default {
625
+ height: 100px;
626
+ }
627
+ .resizable-editor__drag-handle.is-variation-separator {
628
+ height: 100%;
629
+ }
630
+ .resizable-editor__drag-handle.is-variation-separator::after {
631
+ width: 1px;
632
+ border-radius: 0;
633
+ background: #2f2f2f;
634
+ left: auto;
635
+ right: 50%;
636
+ transition: all ease 0.2s;
637
+ transition-delay: 0.1s;
638
+ }
639
+ @media (prefers-reduced-motion: reduce) {
640
+ .resizable-editor__drag-handle.is-variation-separator::after {
641
+ transition-duration: 0s;
642
+ transition-delay: 0s;
643
+ animation-duration: 1ms;
644
+ animation-delay: 0s;
645
+ }
646
+ }
647
+ .resizable-editor__drag-handle::after {
648
+ position: absolute;
649
+ top: 0;
650
+ left: 4px;
651
+ right: 0;
652
+ bottom: 0;
653
+ content: "";
654
+ width: 4px;
655
+ background: #949494;
656
+ border-radius: 2px;
657
+ }
630
658
  .resizable-editor__drag-handle.is-left {
631
659
  left: -16px;
632
660
  }
@@ -634,9 +662,16 @@ body.is-fullscreen-mode .interface-interface-skeleton {
634
662
  right: -16px;
635
663
  }
636
664
  .resizable-editor__drag-handle:hover, .resizable-editor__drag-handle:active {
665
+ opacity: 1;
666
+ }
667
+ .resizable-editor__drag-handle:hover.is-variation-default::after, .resizable-editor__drag-handle:active.is-variation-default::after {
637
668
  background: #ccc;
638
669
  }
639
- .resizable-editor__drag-handle:focus {
670
+ .resizable-editor__drag-handle:hover.is-variation-separator::after, .resizable-editor__drag-handle:active.is-variation-separator::after {
671
+ width: 2px;
672
+ background: var(--wp-admin-theme-color);
673
+ }
674
+ .resizable-editor__drag-handle:focus::after {
640
675
  box-shadow: 0 0 0 1px #2f2f2f, 0 0 0 calc(var(--wp-admin-border-width-focus) + 1px) var(--wp-admin-theme-color);
641
676
  }
642
677
 
@@ -875,6 +910,14 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp
875
910
  overflow-y: scroll;
876
911
  }
877
912
 
913
+ .edit-site-global-styles-screen-variations {
914
+ margin-top: 16px;
915
+ border-top: 1px solid #ddd;
916
+ }
917
+ .edit-site-global-styles-screen-variations > * {
918
+ margin: 24px 16px;
919
+ }
920
+
878
921
  .edit-site-header-edit-mode {
879
922
  height: 60px;
880
923
  align-items: center;
@@ -885,6 +928,7 @@ textarea.edit-site-code-editor-text-area.edit-site-code-editor-text-area:-ms-inp
885
928
  width: 100%;
886
929
  justify-content: space-between;
887
930
  border-bottom: 1px solid #e0e0e0;
931
+ padding-left: 60px;
888
932
  }
889
933
  .edit-site-header-edit-mode .edit-site-header-edit-mode__start {
890
934
  display: flex;
@@ -1154,8 +1198,6 @@ body.is-fullscreen-mode .edit-site-list-header {
1154
1198
  .edit-site .edit-site-list .interface-interface-skeleton__content {
1155
1199
  background: #fff;
1156
1200
  padding: 16px;
1157
- }
1158
- .edit-site .edit-site-list .interface-interface-skeleton__content .interface-navigable-region__stacker {
1159
1201
  align-items: center;
1160
1202
  }
1161
1203
  @media (min-width: 782px) {
@@ -1163,9 +1205,6 @@ body.is-fullscreen-mode .edit-site-list-header {
1163
1205
  padding: 72px;
1164
1206
  }
1165
1207
  }
1166
- .edit-site .edit-site-list .interface-interface-skeleton__content > .interface-navigable-region__stacker {
1167
- height: auto;
1168
- }
1169
1208
 
1170
1209
  .edit-site-list-table {
1171
1210
  min-width: 100%;
@@ -1224,7 +1263,7 @@ body.is-fullscreen-mode .edit-site-list-header {
1224
1263
 
1225
1264
  @media (min-width: 782px) {
1226
1265
  .edit-site-list.is-navigation-open .components-snackbar-list {
1227
- margin-left: 300px;
1266
+ margin-left: 360px;
1228
1267
  }
1229
1268
  }
1230
1269
 
@@ -1619,6 +1658,9 @@ body.is-fullscreen-mode .edit-site-list-header {
1619
1658
  .edit-site-navigation-inspector .block-editor-list-view-block__menu-cell {
1620
1659
  padding-right: 0;
1621
1660
  }
1661
+ .edit-site-navigation-inspector .edit-site-navigation-inspector__select-menu {
1662
+ margin-bottom: 8px;
1663
+ }
1622
1664
 
1623
1665
  .edit-site-navigation-inspector__placeholder {
1624
1666
  padding: 8px;
@@ -2016,134 +2058,125 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2016
2058
  }
2017
2059
 
2018
2060
  .edit-site-layout {
2019
- min-height: 100%;
2061
+ height: 100%;
2020
2062
  background: #1e1e1e;
2021
2063
  color: #fff;
2022
2064
  display: flex;
2023
2065
  flex-direction: column;
2024
2066
  }
2025
- @media (min-width: 600px) {
2026
- .edit-site-layout {
2027
- display: grid;
2028
- grid-template-columns: 320px 1fr;
2029
- grid-template-rows: auto 1fr;
2030
- grid-template-areas: "header canvas" "sidebar canvas";
2067
+
2068
+ .edit-site-layout__hub {
2069
+ position: fixed;
2070
+ top: 24px;
2071
+ left: 24px;
2072
+ width: calc(100vw - 48px);
2073
+ height: 68px;
2074
+ z-index: 3;
2075
+ background: #000;
2076
+ padding: 16px;
2077
+ padding-left: 0;
2078
+ border-radius: 8px;
2079
+ box-shadow: 0 0.7px 1px rgba(0, 0, 0, 0.15), 0 2.7px 3.8px -0.2px rgba(0, 0, 0, 0.15), 0 5.5px 7.8px -0.3px rgba(0, 0, 0, 0.15), 0.1px 11.5px 16.4px -0.5px rgba(0, 0, 0, 0.15);
2080
+ }
2081
+ .edit-site-layout.is-full-canvas .edit-site-layout__hub {
2082
+ top: 0;
2083
+ left: 0;
2084
+ padding: 0;
2085
+ padding-right: 16px;
2086
+ height: 60px;
2087
+ border-radius: 0;
2088
+ width: 100vw;
2089
+ box-shadow: none;
2090
+ }
2091
+ @media (min-width: 782px) {
2092
+ .edit-site-layout.is-full-canvas .edit-site-layout__hub {
2093
+ width: auto;
2094
+ padding-right: 0;
2031
2095
  }
2032
- .edit-site-layout.is-full-canvas {
2033
- grid-template-areas: "header header" "canvas canvas";
2096
+ }
2097
+ .edit-site-layout.is-full-canvas.is-edit-mode .edit-site-layout__hub {
2098
+ width: auto;
2099
+ padding-right: 0;
2100
+ }
2101
+ @media (min-width: 782px) {
2102
+ .edit-site-layout__hub {
2103
+ width: calc(360px - 48px);
2034
2104
  }
2035
2105
  }
2036
2106
 
2037
2107
  .edit-site-layout__header {
2038
- grid-area: header;
2039
2108
  height: 60px;
2040
2109
  display: flex;
2110
+ z-index: 2;
2041
2111
  }
2042
-
2043
- .edit-site-layout__logo {
2044
- align-items: center;
2045
- height: 60px;
2046
- display: flex;
2047
- justify-content: space-between;
2048
- }
2049
- .edit-site-layout__logo .components-button {
2050
- color: currentColor;
2112
+ .edit-site-layout:not(.is-full-canvas) .edit-site-layout__header {
2113
+ position: fixed;
2114
+ width: 100vw;
2051
2115
  }
2052
2116
 
2053
- .edit-site-layout__edit-button {
2054
- background: #2f2f2f;
2055
- /* Overrides the color for all states of the button */
2056
- color: inherit !important;
2117
+ .edit-site-layout__content {
2118
+ flex-grow: 1;
2119
+ display: flex;
2120
+ gap: 24px;
2121
+ overflow: hidden;
2057
2122
  }
2058
2123
 
2059
2124
  .edit-site-layout__sidebar {
2060
- grid-area: sidebar;
2061
2125
  z-index: 1;
2126
+ width: 100vw;
2127
+ }
2128
+ @media (min-width: 782px) {
2129
+ .edit-site-layout__sidebar {
2130
+ width: 360px;
2131
+ }
2132
+ }
2133
+ .edit-site-layout.is-full-canvas .edit-site-layout__sidebar {
2134
+ position: fixed !important;
2135
+ height: 100vh;
2136
+ left: 0;
2137
+ top: 0;
2138
+ }
2139
+ .edit-site-layout__sidebar .resizable-editor__drag-handle.is-right {
2140
+ right: -6px;
2141
+ }
2142
+ .edit-site-layout__sidebar > div {
2062
2143
  overflow-y: auto;
2063
- max-height: calc(100vh - 60px);
2144
+ min-height: 100%;
2064
2145
  visibility: hidden;
2065
2146
  scrollbar-color: #757575 #1e1e1e;
2066
2147
  scrollbar-width: thin;
2067
2148
  scrollbar-gutter: stable;
2068
2149
  }
2069
- .edit-site-layout__sidebar::-webkit-scrollbar {
2150
+ .edit-site-layout__sidebar > div::-webkit-scrollbar {
2070
2151
  width: 12px;
2071
2152
  height: 12px;
2072
2153
  }
2073
- .edit-site-layout__sidebar::-webkit-scrollbar-track {
2154
+ .edit-site-layout__sidebar > div::-webkit-scrollbar-track {
2074
2155
  background-color: #1e1e1e;
2075
2156
  }
2076
- .edit-site-layout__sidebar::-webkit-scrollbar-thumb {
2157
+ .edit-site-layout__sidebar > div::-webkit-scrollbar-thumb {
2077
2158
  background-color: #757575;
2078
2159
  border-radius: 8px;
2079
2160
  border: 3px solid transparent;
2080
2161
  background-clip: padding-box;
2081
2162
  }
2082
- .edit-site-layout__sidebar:hover, .edit-site-layout__sidebar:focus, .edit-site-layout__sidebar > * {
2163
+ .edit-site-layout__sidebar > div:hover, .edit-site-layout__sidebar > div:focus, .edit-site-layout__sidebar > div > * {
2083
2164
  visibility: visible;
2084
2165
  }
2085
- .edit-site-layout.is-full-canvas .edit-site-layout__sidebar {
2086
- display: none;
2087
- }
2088
- @media (min-width: 600px) {
2089
- .edit-site-layout.is-full-canvas .edit-site-layout__sidebar {
2090
- display: block;
2091
- grid-area: header;
2092
- position: absolute;
2093
- top: 60px;
2094
- }
2095
- }
2096
-
2097
- .edit-site-layout__editor-header {
2098
- flex-grow: 1;
2099
- }
2100
- .edit-site-layout:not(.is-full-canvas) .edit-site-layout__editor-header {
2101
- position: fixed;
2102
- left: 60px;
2103
- right: 0;
2104
- }
2105
2166
 
2106
2167
  .edit-site-layout__canvas-container {
2107
- grid-area: canvas;
2108
2168
  position: relative;
2109
2169
  flex-grow: 1;
2110
2170
  z-index: 2;
2111
2171
  }
2112
-
2113
- @media (min-width: 600px) {
2114
- .edit-site-layout__header {
2115
- -ms-grid-row: 1;
2116
- -ms-grid-column: 1;
2117
- }
2118
- .edit-site-layout.is-full-canvas > .edit-site-layout__header {
2119
- -ms-grid-row: 1;
2120
- -ms-grid-column: 1;
2121
- -ms-grid-column-span: 2;
2122
- }
2123
- .edit-site-layout__sidebar {
2124
- -ms-grid-row: 2;
2125
- -ms-grid-column: 1;
2126
- }
2127
- .edit-site-layout.is-full-canvas .edit-site-layout__sidebar {
2128
- -ms-grid-row: 1;
2129
- -ms-grid-column: 1;
2130
- }
2131
- .edit-site-layout.is-full-canvas > .edit-site-layout__sidebar {
2132
- -ms-grid-row: 1;
2133
- -ms-grid-column: 1;
2134
- -ms-grid-column-span: 2;
2135
- }
2136
- .edit-site-layout__canvas-container {
2137
- -ms-grid-row: 1;
2138
- -ms-grid-row-span: 2;
2139
- -ms-grid-column: 2;
2140
- }
2141
- .edit-site-layout.is-full-canvas > .edit-site-layout__canvas-container {
2142
- -ms-grid-row: 2;
2143
- -ms-grid-row-span: 1;
2144
- -ms-grid-column: 1;
2145
- -ms-grid-column-span: 2;
2146
- }
2172
+ .edit-site-layout__canvas-container.is-resizing::after {
2173
+ position: absolute;
2174
+ top: 0;
2175
+ left: 0;
2176
+ right: 0;
2177
+ bottom: 0;
2178
+ content: "";
2179
+ z-index: 100;
2147
2180
  }
2148
2181
 
2149
2182
  .edit-site-layout__canvas {
@@ -2152,13 +2185,13 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2152
2185
  left: 0;
2153
2186
  bottom: 0;
2154
2187
  width: 100%;
2155
- box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 8px 10px -6px rgba(0, 0, 0, 0.8);
2156
2188
  }
2157
2189
  .edit-site-layout__canvas > div {
2158
2190
  color: #1e1e1e;
2159
2191
  background: #fff;
2192
+ box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.8), 0 8px 10px -6px rgba(0, 0, 0, 0.8);
2160
2193
  }
2161
- @media (min-width: 600px) {
2194
+ @media (min-width: 782px) {
2162
2195
  .edit-site-layout__canvas {
2163
2196
  top: 24px;
2164
2197
  bottom: 24px;
@@ -2175,6 +2208,8 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2175
2208
  top: 0;
2176
2209
  bottom: 0;
2177
2210
  width: 100%;
2211
+ }
2212
+ .edit-site-layout.is-full-canvas .edit-site-layout__canvas > div {
2178
2213
  border-radius: 0;
2179
2214
  }
2180
2215
 
@@ -2185,11 +2220,14 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2185
2220
 
2186
2221
  .edit-site-layout__view-mode-toggle.components-button {
2187
2222
  position: relative;
2188
- background: #1e1e1e;
2189
2223
  color: #fff;
2190
- height: calc(100% + 1px);
2191
- border-radius: 0;
2192
- margin-bottom: -1px;
2224
+ height: 100%;
2225
+ width: 100%;
2226
+ border-radius: 2px;
2227
+ padding: 0;
2228
+ display: flex;
2229
+ align-items: center;
2230
+ justify-content: center;
2193
2231
  }
2194
2232
  .edit-site-layout__view-mode-toggle.components-button:hover, .edit-site-layout__view-mode-toggle.components-button:active {
2195
2233
  color: #fff;
@@ -2207,7 +2245,7 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2207
2245
  bottom: 9px;
2208
2246
  left: 9px;
2209
2247
  border-radius: 4px;
2210
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #1e1e1e;
2248
+ box-shadow: none;
2211
2249
  }
2212
2250
  @media (prefers-reduced-motion: reduce) {
2213
2251
  .edit-site-layout__view-mode-toggle.components-button::before {
@@ -2215,19 +2253,12 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2215
2253
  transition-delay: 0s;
2216
2254
  }
2217
2255
  }
2218
- .edit-site-layout__view-mode-toggle.components-button:hover::before {
2219
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #757575;
2220
- }
2221
- .edit-site-layout__view-mode-toggle.components-button.has-icon:hover::before {
2222
- box-shadow: none;
2223
- }
2224
2256
  .edit-site-layout__view-mode-toggle.components-button:focus::before {
2225
2257
  box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba(255, 255, 255, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
2226
2258
  }
2227
2259
  .edit-site-layout__view-mode-toggle.components-button .edit-site-layout__view-mode-toggle-icon {
2260
+ display: flex;
2228
2261
  border-radius: 2px;
2229
- -o-object-fit: cover;
2230
- object-fit: cover;
2231
2262
  }
2232
2263
 
2233
2264
  .edit-site-sidebar__content.edit-site-sidebar__content {
@@ -2261,16 +2292,14 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2261
2292
  }
2262
2293
 
2263
2294
  .edit-site-sidebar-navigation-screen__content {
2264
- margin: 0 16px 0 36px;
2265
- flex-grow: 1;
2266
- overflow-y: auto;
2295
+ margin: 0 16px 16px 36px;
2267
2296
  }
2268
2297
 
2269
2298
  .edit-site-sidebar-navigation-screen__title-icon {
2270
2299
  position: sticky;
2271
2300
  top: 0;
2272
2301
  background: #1e1e1e;
2273
- padding-top: 64px;
2302
+ padding-top: 164px;
2274
2303
  box-shadow: 0 8px 16px #1e1e1e;
2275
2304
  margin-bottom: 8px;
2276
2305
  padding-bottom: 8px;
@@ -2304,6 +2333,37 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2304
2333
  color: inherit !important;
2305
2334
  }
2306
2335
 
2336
+ .edit-site-site-hub {
2337
+ display: flex;
2338
+ align-items: center;
2339
+ justify-content: space-between;
2340
+ gap: 8px;
2341
+ }
2342
+
2343
+ .edit-site-site-hub__edit-button {
2344
+ height: 32px;
2345
+ }
2346
+
2347
+ .edit-site-site-hub__post-type {
2348
+ opacity: 0.6;
2349
+ }
2350
+
2351
+ .edit-site-site-hub__view-mode-toggle-container {
2352
+ height: 60px;
2353
+ width: 60px;
2354
+ flex-shrink: 0;
2355
+ }
2356
+
2357
+ .edit-site-site-hub__text-content {
2358
+ overflow: hidden;
2359
+ }
2360
+
2361
+ .edit-site-site-hub__title {
2362
+ text-overflow: ellipsis;
2363
+ white-space: nowrap;
2364
+ overflow: hidden;
2365
+ }
2366
+
2307
2367
  .edit-site-site-icon__icon {
2308
2368
  fill: currentColor;
2309
2369
  }
@@ -2389,6 +2449,11 @@ body.is-fullscreen-mode .edit-site .components-editor-notices__snackbar {
2389
2449
  width: 100%;
2390
2450
  }
2391
2451
 
2452
+ .edit-site-push-changes-to-global-styles-control .components-button {
2453
+ justify-content: center;
2454
+ width: 100%;
2455
+ }
2456
+
2392
2457
  html #wpadminbar {
2393
2458
  display: none;
2394
2459
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wordpress/edit-site",
3
- "version": "5.0.0",
3
+ "version": "5.2.0",
4
4
  "description": "Edit Site Page module for WordPress.",
5
5
  "author": "The WordPress Contributors",
6
6
  "license": "GPL-2.0-or-later",
@@ -27,33 +27,34 @@
27
27
  "react-native": "src/index",
28
28
  "dependencies": {
29
29
  "@babel/runtime": "^7.16.0",
30
- "@wordpress/a11y": "^3.23.0",
31
- "@wordpress/api-fetch": "^6.20.0",
32
- "@wordpress/block-editor": "^11.0.0",
33
- "@wordpress/block-library": "^8.0.0",
34
- "@wordpress/blocks": "^12.0.0",
35
- "@wordpress/components": "^23.0.0",
36
- "@wordpress/compose": "^6.0.0",
37
- "@wordpress/core-data": "^6.0.0",
38
- "@wordpress/data": "^8.0.0",
39
- "@wordpress/deprecated": "^3.23.0",
40
- "@wordpress/editor": "^13.0.0",
41
- "@wordpress/element": "^5.0.0",
42
- "@wordpress/hooks": "^3.23.0",
43
- "@wordpress/html-entities": "^3.23.0",
44
- "@wordpress/i18n": "^4.23.0",
45
- "@wordpress/icons": "^9.14.0",
46
- "@wordpress/interface": "^5.0.0",
47
- "@wordpress/keyboard-shortcuts": "^4.0.0",
48
- "@wordpress/keycodes": "^3.23.0",
49
- "@wordpress/media-utils": "^4.14.0",
50
- "@wordpress/notices": "^3.23.0",
51
- "@wordpress/plugins": "^5.0.0",
52
- "@wordpress/preferences": "^3.0.0",
53
- "@wordpress/reusable-blocks": "^4.0.0",
54
- "@wordpress/style-engine": "^1.6.0",
55
- "@wordpress/url": "^3.24.0",
56
- "@wordpress/viewport": "^5.0.0",
30
+ "@wordpress/a11y": "^3.25.0",
31
+ "@wordpress/api-fetch": "^6.22.0",
32
+ "@wordpress/block-editor": "^11.2.0",
33
+ "@wordpress/block-library": "^8.2.0",
34
+ "@wordpress/blocks": "^12.2.0",
35
+ "@wordpress/components": "^23.2.0",
36
+ "@wordpress/compose": "^6.2.0",
37
+ "@wordpress/core-data": "^6.2.0",
38
+ "@wordpress/data": "^8.2.0",
39
+ "@wordpress/deprecated": "^3.25.0",
40
+ "@wordpress/editor": "^13.2.0",
41
+ "@wordpress/element": "^5.2.0",
42
+ "@wordpress/hooks": "^3.25.0",
43
+ "@wordpress/html-entities": "^3.25.0",
44
+ "@wordpress/i18n": "^4.25.0",
45
+ "@wordpress/icons": "^9.16.0",
46
+ "@wordpress/interface": "^5.2.0",
47
+ "@wordpress/keyboard-shortcuts": "^4.2.0",
48
+ "@wordpress/keycodes": "^3.25.0",
49
+ "@wordpress/media-utils": "^4.16.0",
50
+ "@wordpress/notices": "^3.25.0",
51
+ "@wordpress/plugins": "^5.2.0",
52
+ "@wordpress/preferences": "^3.2.0",
53
+ "@wordpress/reusable-blocks": "^4.2.0",
54
+ "@wordpress/style-engine": "^1.8.0",
55
+ "@wordpress/url": "^3.26.0",
56
+ "@wordpress/viewport": "^5.2.0",
57
+ "@wordpress/widgets": "^3.2.0",
57
58
  "classnames": "^2.3.1",
58
59
  "colord": "^2.9.2",
59
60
  "downloadjs": "^1.4.7",
@@ -70,5 +71,5 @@
70
71
  "publishConfig": {
71
72
  "access": "public"
72
73
  },
73
- "gitHead": "1eb65aabe6738097f4c062e78f69ae8f05879848"
74
+ "gitHead": "204c880ff65295768e9695dfee6c7a9fee1fdd05"
74
75
  }
@@ -20,6 +20,7 @@ import { plus } from '@wordpress/icons';
20
20
  import { useHistory } from '../routes';
21
21
  import { store as editSiteStore } from '../../store';
22
22
  import CreateTemplatePartModal from '../create-template-part-modal';
23
+ import { useExistingTemplateParts } from './utils';
23
24
 
24
25
  export default function NewTemplatePart( {
25
26
  postType,
@@ -31,6 +32,7 @@ export default function NewTemplatePart( {
31
32
  const { createErrorNotice } = useDispatch( noticesStore );
32
33
  const { saveEntityRecord } = useDispatch( coreStore );
33
34
  const { __unstableSetCanvasMode } = useDispatch( editSiteStore );
35
+ const existingTemplateParts = useExistingTemplateParts();
34
36
 
35
37
  async function createTemplatePart( { title, area } ) {
36
38
  if ( ! title ) {
@@ -40,6 +42,26 @@ export default function NewTemplatePart( {
40
42
  return;
41
43
  }
42
44
 
45
+ const uniqueTitle = () => {
46
+ const lowercaseTitle = title.toLowerCase();
47
+ const existingTitles = existingTemplateParts.map(
48
+ ( templatePart ) => templatePart.title.rendered.toLowerCase()
49
+ );
50
+
51
+ if ( ! existingTitles.includes( lowercaseTitle ) ) {
52
+ return title;
53
+ }
54
+
55
+ let suffix = 2;
56
+ while (
57
+ existingTitles.includes( `${ lowercaseTitle } ${ suffix }` )
58
+ ) {
59
+ suffix++;
60
+ }
61
+
62
+ return `${ title } ${ suffix }`;
63
+ };
64
+
43
65
  try {
44
66
  // Currently template parts only allow latin chars.
45
67
  // Fallback slug will receive suffix by default.
@@ -52,7 +74,7 @@ export default function NewTemplatePart( {
52
74
  'wp_template_part',
53
75
  {
54
76
  slug: cleanSlug,
55
- title,
77
+ title: uniqueTitle(),
56
78
  content: '',
57
79
  area,
58
80
  },
@@ -52,6 +52,20 @@ export const useExistingTemplates = () => {
52
52
  );
53
53
  };
54
54
 
55
+ export const useExistingTemplateParts = () => {
56
+ return useSelect(
57
+ ( select ) =>
58
+ select( coreStore ).getEntityRecords(
59
+ 'postType',
60
+ 'wp_template_part',
61
+ {
62
+ per_page: -1,
63
+ }
64
+ ),
65
+ []
66
+ );
67
+ };
68
+
55
69
  export const useDefaultTemplateTypes = () => {
56
70
  return useSelect(
57
71
  ( select ) =>
@@ -53,7 +53,6 @@ function EditorCanvas( { enableResizing, settings, children, ...props } ) {
53
53
  ) }
54
54
  </>
55
55
  }
56
- assets={ settings.__unstableResolvedAssets }
57
56
  ref={ mouseMoveTypingRef }
58
57
  name="editor-canvas"
59
58
  className="edit-site-visual-editor__editor-canvas"