@wordpress/edit-site 5.4.0 → 5.6.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 (339) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-template/add-custom-template-modal.js +12 -3
  3. package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
  4. package/build/components/add-new-template/new-template-part.js +8 -7
  5. package/build/components/add-new-template/new-template-part.js.map +1 -1
  6. package/build/components/add-new-template/new-template.js +19 -16
  7. package/build/components/add-new-template/new-template.js.map +1 -1
  8. package/build/components/app/index.js +4 -2
  9. package/build/components/app/index.js.map +1 -1
  10. package/build/components/block-editor/editor-canvas.js +2 -1
  11. package/build/components/block-editor/editor-canvas.js.map +1 -1
  12. package/build/components/editor/index.js +5 -7
  13. package/build/components/editor/index.js.map +1 -1
  14. package/build/components/global-styles/border-panel.js +20 -159
  15. package/build/components/global-styles/border-panel.js.map +1 -1
  16. package/build/components/global-styles/context-menu.js +13 -11
  17. package/build/components/global-styles/context-menu.js.map +1 -1
  18. package/build/components/global-styles/dimensions-panel.js +41 -487
  19. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  20. package/build/components/global-styles/duotone-panel.js +78 -0
  21. package/build/components/global-styles/duotone-panel.js.map +1 -0
  22. package/build/components/global-styles/filter-utils.js +17 -0
  23. package/build/components/global-styles/filter-utils.js.map +1 -0
  24. package/build/components/global-styles/hooks.js +11 -26
  25. package/build/components/global-styles/hooks.js.map +1 -1
  26. package/build/components/global-styles/preview.js +9 -5
  27. package/build/components/global-styles/preview.js.map +1 -1
  28. package/build/components/global-styles/screen-block-list.js +6 -11
  29. package/build/components/global-styles/screen-block-list.js.map +1 -1
  30. package/build/components/global-styles/screen-border.js +14 -6
  31. package/build/components/global-styles/screen-border.js.map +1 -1
  32. package/build/components/global-styles/screen-filters.js +46 -0
  33. package/build/components/global-styles/screen-filters.js.map +1 -0
  34. package/build/components/global-styles/screen-layout.js +13 -5
  35. package/build/components/global-styles/screen-layout.js.map +1 -1
  36. package/build/components/global-styles/screen-root.js +2 -1
  37. package/build/components/global-styles/screen-root.js.map +1 -1
  38. package/build/components/global-styles/screen-style-variations.js +2 -1
  39. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  40. package/build/components/global-styles/screen-variations.js +1 -1
  41. package/build/components/global-styles/screen-variations.js.map +1 -1
  42. package/build/components/global-styles/shadow-panel.js +6 -4
  43. package/build/components/global-styles/shadow-panel.js.map +1 -1
  44. package/build/components/global-styles/typography-panel.js +2 -5
  45. package/build/components/global-styles/typography-panel.js.map +1 -1
  46. package/build/components/global-styles/ui.js +7 -1
  47. package/build/components/global-styles/ui.js.map +1 -1
  48. package/build/components/keyboard-shortcut-help-modal/config.js +12 -0
  49. package/build/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  50. package/build/components/keyboard-shortcuts/edit-mode.js +124 -0
  51. package/build/components/keyboard-shortcuts/edit-mode.js.map +1 -0
  52. package/build/components/keyboard-shortcuts/global.js +48 -0
  53. package/build/components/keyboard-shortcuts/global.js.map +1 -0
  54. package/build/components/keyboard-shortcuts/index.js +67 -0
  55. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  56. package/build/components/keyboard-shortcuts/register.js +153 -0
  57. package/build/components/keyboard-shortcuts/register.js.map +1 -0
  58. package/build/components/layout/index.js +12 -1
  59. package/build/components/layout/index.js.map +1 -1
  60. package/build/components/list/added-by.js +127 -136
  61. package/build/components/list/added-by.js.map +1 -1
  62. package/build/components/list/index.js +2 -1
  63. package/build/components/list/index.js.map +1 -1
  64. package/build/components/list/table.js +9 -7
  65. package/build/components/list/table.js.map +1 -1
  66. package/build/components/routes/link.js +4 -1
  67. package/build/components/routes/link.js.map +1 -1
  68. package/build/components/save-hub/index.js +82 -0
  69. package/build/components/save-hub/index.js.map +1 -0
  70. package/build/components/save-panel/index.js +11 -1
  71. package/build/components/save-panel/index.js.map +1 -1
  72. package/build/components/sidebar/index.js +27 -17
  73. package/build/components/sidebar/index.js.map +1 -1
  74. package/build/components/sidebar-button/index.js +30 -0
  75. package/build/components/sidebar-button/index.js.map +1 -0
  76. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +8 -2
  77. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  78. package/build/components/sidebar-navigation-screen/index.js +14 -11
  79. package/build/components/sidebar-navigation-screen/index.js.map +1 -1
  80. package/build/components/sidebar-navigation-screen-main/index.js +16 -16
  81. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -1
  82. package/build/components/sidebar-navigation-screen-navigation-item/index.js +22 -26
  83. package/build/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  84. package/build/components/sidebar-navigation-screen-navigation-menus/index.js +97 -14
  85. package/build/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  86. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js +19 -0
  87. package/build/components/sidebar-navigation-screen-navigation-menus/loader.js.map +1 -0
  88. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +77 -0
  89. package/build/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -0
  90. package/build/components/sidebar-navigation-screen-template/index.js +66 -27
  91. package/build/components/sidebar-navigation-screen-template/index.js.map +1 -1
  92. package/build/components/sidebar-navigation-screen-templates/index.js +30 -17
  93. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  94. package/build/components/sidebar-navigation-screen-templates-browse/index.js +14 -10
  95. package/build/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  96. package/build/components/site-hub/index.js +3 -1
  97. package/build/components/site-hub/index.js.map +1 -1
  98. package/build/components/style-book/index.js +151 -21
  99. package/build/components/style-book/index.js.map +1 -1
  100. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js +36 -34
  101. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  102. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +24 -8
  103. package/build/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  104. package/build/components/sync-state-with-url/use-sync-path-with-url.js +67 -18
  105. package/build/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  106. package/build/components/template-details/index.js +5 -10
  107. package/build/components/template-details/index.js.map +1 -1
  108. package/build/components/template-part-converter/convert-to-regular.js +8 -12
  109. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  110. package/build/components/template-part-converter/convert-to-template-part.js +2 -2
  111. package/build/components/template-part-converter/convert-to-template-part.js.map +1 -1
  112. package/build/components/template-part-converter/index.js +19 -14
  113. package/build/components/template-part-converter/index.js.map +1 -1
  114. package/build/components/use-edited-entity-record/index.js +6 -6
  115. package/build/components/use-edited-entity-record/index.js.map +1 -1
  116. package/build/index.js +13 -22
  117. package/build/index.js.map +1 -1
  118. package/build/store/actions.js +2 -2
  119. package/build/store/actions.js.map +1 -1
  120. package/build/utils/get-is-list-page.js +1 -1
  121. package/build/utils/get-is-list-page.js.map +1 -1
  122. package/build/utils/history.js +8 -2
  123. package/build/utils/history.js.map +1 -1
  124. package/build-module/components/add-new-template/add-custom-template-modal.js +13 -4
  125. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  126. package/build-module/components/add-new-template/new-template-part.js +8 -7
  127. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  128. package/build-module/components/add-new-template/new-template.js +21 -17
  129. package/build-module/components/add-new-template/new-template.js.map +1 -1
  130. package/build-module/components/app/index.js +3 -2
  131. package/build-module/components/app/index.js.map +1 -1
  132. package/build-module/components/block-editor/editor-canvas.js +2 -1
  133. package/build-module/components/block-editor/editor-canvas.js.map +1 -1
  134. package/build-module/components/editor/index.js +5 -6
  135. package/build-module/components/editor/index.js.map +1 -1
  136. package/build-module/components/global-styles/border-panel.js +21 -157
  137. package/build-module/components/global-styles/border-panel.js.map +1 -1
  138. package/build-module/components/global-styles/context-menu.js +14 -11
  139. package/build-module/components/global-styles/context-menu.js.map +1 -1
  140. package/build-module/components/global-styles/dimensions-panel.js +43 -480
  141. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  142. package/build-module/components/global-styles/duotone-panel.js +67 -0
  143. package/build-module/components/global-styles/duotone-panel.js.map +1 -0
  144. package/build-module/components/global-styles/filter-utils.js +9 -0
  145. package/build-module/components/global-styles/filter-utils.js.map +1 -0
  146. package/build-module/components/global-styles/hooks.js +11 -26
  147. package/build-module/components/global-styles/hooks.js.map +1 -1
  148. package/build-module/components/global-styles/preview.js +10 -6
  149. package/build-module/components/global-styles/preview.js.map +1 -1
  150. package/build-module/components/global-styles/screen-block-list.js +6 -8
  151. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  152. package/build-module/components/global-styles/screen-border.js +12 -3
  153. package/build-module/components/global-styles/screen-border.js.map +1 -1
  154. package/build-module/components/global-styles/screen-filters.js +33 -0
  155. package/build-module/components/global-styles/screen-filters.js.map +1 -0
  156. package/build-module/components/global-styles/screen-layout.js +11 -2
  157. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  158. package/build-module/components/global-styles/screen-root.js +2 -1
  159. package/build-module/components/global-styles/screen-root.js.map +1 -1
  160. package/build-module/components/global-styles/screen-style-variations.js +2 -1
  161. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  162. package/build-module/components/global-styles/screen-variations.js +1 -1
  163. package/build-module/components/global-styles/screen-variations.js.map +1 -1
  164. package/build-module/components/global-styles/shadow-panel.js +6 -4
  165. package/build-module/components/global-styles/shadow-panel.js.map +1 -1
  166. package/build-module/components/global-styles/typography-panel.js +2 -5
  167. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  168. package/build-module/components/global-styles/ui.js +6 -1
  169. package/build-module/components/global-styles/ui.js.map +1 -1
  170. package/build-module/components/keyboard-shortcut-help-modal/config.js +12 -0
  171. package/build-module/components/keyboard-shortcut-help-modal/config.js.map +1 -1
  172. package/build-module/components/keyboard-shortcuts/edit-mode.js +108 -0
  173. package/build-module/components/keyboard-shortcuts/edit-mode.js.map +1 -0
  174. package/build-module/components/keyboard-shortcuts/global.js +37 -0
  175. package/build-module/components/keyboard-shortcuts/global.js.map +1 -0
  176. package/build-module/components/keyboard-shortcuts/index.js +65 -0
  177. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  178. package/build-module/components/keyboard-shortcuts/register.js +141 -0
  179. package/build-module/components/keyboard-shortcuts/register.js.map +1 -0
  180. package/build-module/components/layout/index.js +10 -1
  181. package/build-module/components/layout/index.js.map +1 -1
  182. package/build-module/components/list/added-by.js +126 -138
  183. package/build-module/components/list/added-by.js.map +1 -1
  184. package/build-module/components/list/index.js +2 -1
  185. package/build-module/components/list/index.js.map +1 -1
  186. package/build-module/components/list/table.js +9 -7
  187. package/build-module/components/list/table.js.map +1 -1
  188. package/build-module/components/routes/link.js +5 -2
  189. package/build-module/components/routes/link.js.map +1 -1
  190. package/build-module/components/save-hub/index.js +68 -0
  191. package/build-module/components/save-hub/index.js.map +1 -0
  192. package/build-module/components/save-panel/index.js +8 -1
  193. package/build-module/components/save-panel/index.js.map +1 -1
  194. package/build-module/components/sidebar/index.js +24 -19
  195. package/build-module/components/sidebar/index.js.map +1 -1
  196. package/build-module/components/sidebar-button/index.js +18 -0
  197. package/build-module/components/sidebar-button/index.js.map +1 -0
  198. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +8 -2
  199. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  200. package/build-module/components/sidebar-navigation-screen/index.js +12 -12
  201. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -1
  202. package/build-module/components/sidebar-navigation-screen-main/index.js +16 -16
  203. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -1
  204. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js +24 -30
  205. package/build-module/components/sidebar-navigation-screen-navigation-item/index.js.map +1 -1
  206. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js +91 -14
  207. package/build-module/components/sidebar-navigation-screen-navigation-menus/index.js.map +1 -1
  208. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js +11 -0
  209. package/build-module/components/sidebar-navigation-screen-navigation-menus/loader.js.map +1 -0
  210. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +66 -0
  211. package/build-module/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js.map +1 -0
  212. package/build-module/components/sidebar-navigation-screen-template/index.js +67 -30
  213. package/build-module/components/sidebar-navigation-screen-template/index.js.map +1 -1
  214. package/build-module/components/sidebar-navigation-screen-templates/index.js +28 -18
  215. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -1
  216. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js +13 -10
  217. package/build-module/components/sidebar-navigation-screen-templates-browse/index.js.map +1 -1
  218. package/build-module/components/site-hub/index.js +3 -1
  219. package/build-module/components/site-hub/index.js.map +1 -1
  220. package/build-module/components/style-book/index.js +152 -25
  221. package/build-module/components/style-book/index.js.map +1 -1
  222. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js +36 -34
  223. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -1
  224. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +24 -8
  225. package/build-module/components/sync-state-with-url/use-sync-canvas-mode-with-url.js.map +1 -1
  226. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js +65 -18
  227. package/build-module/components/sync-state-with-url/use-sync-path-with-url.js.map +1 -1
  228. package/build-module/components/template-details/index.js +5 -9
  229. package/build-module/components/template-details/index.js.map +1 -1
  230. package/build-module/components/template-part-converter/convert-to-regular.js +9 -13
  231. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  232. package/build-module/components/template-part-converter/convert-to-template-part.js +3 -3
  233. package/build-module/components/template-part-converter/convert-to-template-part.js.map +1 -1
  234. package/build-module/components/template-part-converter/index.js +20 -15
  235. package/build-module/components/template-part-converter/index.js.map +1 -1
  236. package/build-module/components/use-edited-entity-record/index.js +6 -6
  237. package/build-module/components/use-edited-entity-record/index.js.map +1 -1
  238. package/build-module/index.js +16 -23
  239. package/build-module/index.js.map +1 -1
  240. package/build-module/store/actions.js +2 -2
  241. package/build-module/store/actions.js.map +1 -1
  242. package/build-module/utils/get-is-list-page.js +1 -1
  243. package/build-module/utils/get-is-list-page.js.map +1 -1
  244. package/build-module/utils/history.js +9 -3
  245. package/build-module/utils/history.js.map +1 -1
  246. package/build-style/style-rtl.css +203 -143
  247. package/build-style/style.css +203 -143
  248. package/package.json +31 -31
  249. package/src/components/add-new-template/add-custom-template-modal.js +14 -10
  250. package/src/components/add-new-template/new-template-part.js +7 -9
  251. package/src/components/add-new-template/new-template.js +60 -38
  252. package/src/components/add-new-template/style.scss +12 -6
  253. package/src/components/app/index.js +9 -6
  254. package/src/components/block-editor/editor-canvas.js +2 -1
  255. package/src/components/block-editor/style.scss +1 -1
  256. package/src/components/editor/index.js +62 -65
  257. package/src/components/editor/style.scss +0 -6
  258. package/src/components/global-styles/border-panel.js +24 -199
  259. package/src/components/global-styles/context-menu.js +18 -12
  260. package/src/components/global-styles/dimensions-panel.js +43 -577
  261. package/src/components/global-styles/duotone-panel.js +82 -0
  262. package/src/components/global-styles/filter-utils.js +9 -0
  263. package/src/components/global-styles/hooks.js +12 -36
  264. package/src/components/global-styles/preview.js +155 -140
  265. package/src/components/global-styles/screen-block-list.js +6 -11
  266. package/src/components/global-styles/screen-border.js +10 -3
  267. package/src/components/global-styles/screen-filters.js +27 -0
  268. package/src/components/global-styles/screen-layout.js +9 -2
  269. package/src/components/global-styles/screen-root.js +1 -1
  270. package/src/components/global-styles/screen-style-variations.js +5 -1
  271. package/src/components/global-styles/screen-variations.js +0 -1
  272. package/src/components/global-styles/shadow-panel.js +4 -3
  273. package/src/components/global-styles/style.scss +10 -0
  274. package/src/components/global-styles/typography-panel.js +5 -7
  275. package/src/components/global-styles/ui.js +6 -1
  276. package/src/components/keyboard-shortcut-help-modal/config.js +10 -0
  277. package/src/components/keyboard-shortcuts/edit-mode.js +116 -0
  278. package/src/components/keyboard-shortcuts/global.js +35 -0
  279. package/src/components/keyboard-shortcuts/index.js +70 -0
  280. package/src/components/keyboard-shortcuts/register.js +157 -0
  281. package/src/components/layout/index.js +19 -0
  282. package/src/components/layout/style.scss +9 -4
  283. package/src/components/list/added-by.js +152 -155
  284. package/src/components/list/index.js +3 -1
  285. package/src/components/list/style.scss +5 -13
  286. package/src/components/list/table.js +11 -9
  287. package/src/components/routes/link.js +9 -2
  288. package/src/components/save-hub/index.js +78 -0
  289. package/src/components/save-hub/style.scss +15 -0
  290. package/src/components/save-panel/index.js +8 -1
  291. package/src/components/sidebar/index.js +33 -16
  292. package/src/components/sidebar/style.scss +4 -3
  293. package/src/components/sidebar-button/index.js +21 -0
  294. package/src/components/sidebar-button/style.scss +24 -0
  295. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +3 -7
  296. package/src/components/sidebar-edit-mode/style.scss +16 -0
  297. package/src/components/sidebar-navigation-item/style.scss +1 -23
  298. package/src/components/sidebar-navigation-screen/index.js +37 -38
  299. package/src/components/sidebar-navigation-screen/style.scss +16 -9
  300. package/src/components/sidebar-navigation-screen-main/index.js +24 -11
  301. package/src/components/sidebar-navigation-screen-navigation-item/index.js +39 -26
  302. package/src/components/sidebar-navigation-screen-navigation-menus/index.js +99 -12
  303. package/src/components/sidebar-navigation-screen-navigation-menus/loader.js +9 -0
  304. package/src/components/sidebar-navigation-screen-navigation-menus/navigation-menu-content.js +78 -0
  305. package/src/components/sidebar-navigation-screen-navigation-menus/style.scss +108 -1
  306. package/src/components/sidebar-navigation-screen-template/index.js +89 -30
  307. package/src/components/sidebar-navigation-screen-template/style.scss +25 -0
  308. package/src/components/sidebar-navigation-screen-templates/index.js +29 -14
  309. package/src/components/sidebar-navigation-screen-templates/style.scss +0 -5
  310. package/src/components/sidebar-navigation-screen-templates-browse/index.js +12 -6
  311. package/src/components/site-hub/index.js +5 -1
  312. package/src/components/site-hub/style.scss +5 -1
  313. package/src/components/style-book/index.js +234 -55
  314. package/src/components/style-book/style.scss +1 -45
  315. package/src/components/sync-state-with-url/use-init-edited-entity-from-url.js +28 -23
  316. package/src/components/sync-state-with-url/use-sync-canvas-mode-with-url.js +38 -8
  317. package/src/components/sync-state-with-url/use-sync-path-with-url.js +77 -17
  318. package/src/components/template-details/index.js +4 -8
  319. package/src/components/template-part-converter/convert-to-regular.js +10 -17
  320. package/src/components/template-part-converter/convert-to-template-part.js +9 -16
  321. package/src/components/template-part-converter/index.js +28 -12
  322. package/src/components/use-edited-entity-record/index.js +26 -18
  323. package/src/index.js +11 -22
  324. package/src/store/actions.js +2 -2
  325. package/src/store/test/actions.js +0 -2
  326. package/src/style.scss +3 -1
  327. package/src/utils/get-is-list-page.js +1 -1
  328. package/src/utils/history.js +13 -9
  329. package/build/components/navigation-inspector/index.js +0 -161
  330. package/build/components/navigation-inspector/index.js.map +0 -1
  331. package/build/components/navigation-inspector/navigation-menu.js +0 -62
  332. package/build/components/navigation-inspector/navigation-menu.js.map +0 -1
  333. package/build-module/components/navigation-inspector/index.js +0 -146
  334. package/build-module/components/navigation-inspector/index.js.map +0 -1
  335. package/build-module/components/navigation-inspector/navigation-menu.js +0 -52
  336. package/build-module/components/navigation-inspector/navigation-menu.js.map +0 -1
  337. package/src/components/navigation-inspector/index.js +0 -191
  338. package/src/components/navigation-inspector/navigation-menu.js +0 -66
  339. package/src/components/navigation-inspector/style.scss +0 -46
@@ -1,8 +1,115 @@
1
- .edit-site-sidebar-navigation-screen-navigation-menus {
1
+ .edit-site-sidebar-navigation-screen__description {
2
+ margin: 0 0 $grid-unit-40 $grid-unit-20;
3
+ }
4
+
5
+ .edit-site-sidebar-navigation-screen-navigation-menus__placeholder {
6
+ padding: $grid-unit-10;
7
+ margin: $grid-unit-10;
8
+ background-color: $gray-100;
9
+ animation: loadingpulse 1s linear infinite;
10
+ animation-delay: 0.5s; // avoid animating for fast network responses
11
+ }
12
+
13
+ @keyframes loadingpulse {
14
+ 0% {
15
+ opacity: 1;
16
+ }
17
+ 50% {
18
+ opacity: 0.5;
19
+ }
20
+ 100% {
21
+ opacity: 1;
22
+ }
23
+ }
24
+
25
+ .edit-site-sidebar-navigation-screen-navigation-menus__content {
2
26
  .offcanvas-editor-list-view-leaf {
3
27
  max-width: calc(100% - #{ $grid-unit-05 });
28
+ border-radius: $radius-block-ui;
29
+ &:hover,
30
+ &:focus,
31
+ &[aria-current] {
32
+ background: $gray-800;
33
+ }
34
+ .block-editor-list-view-block__menu {
35
+ margin-left: -$grid-unit-10;
36
+ }
37
+ &.is-selected {
38
+ > td {
39
+ background: transparent;
40
+ }
41
+
42
+ .block-editor-list-view-block-contents {
43
+ color: inherit;
44
+ }
45
+
46
+ &:not(:hover) {
47
+ .block-editor-list-view-block__menu {
48
+ opacity: 0;
49
+ }
50
+ }
51
+
52
+ &:hover,
53
+ &:focus {
54
+ color: $white;
55
+
56
+ .block-editor-list-view-block__menu-cell {
57
+ opacity: 1;
58
+ }
59
+ }
60
+
61
+ .block-editor-list-view-block__menu {
62
+ opacity: 1;
63
+
64
+ &:focus {
65
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
66
+ }
67
+ }
68
+ }
69
+
70
+ .block-editor-list-view-block-contents {
71
+ &:focus {
72
+ &::after {
73
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
74
+ }
75
+ }
76
+ }
77
+
78
+ &.is-branch-selected:not(.is-selected):not(.is-synced-branch) {
79
+ background: transparent;
80
+
81
+ &:hover {
82
+ background: $gray-800;
83
+ }
84
+ }
4
85
  }
86
+
5
87
  .block-editor-list-view-leaf .block-editor-list-view-block__contents-cell {
6
88
  width: 100%;
7
89
  }
90
+
91
+ .block-editor-list-view-leaf .block-editor-list-view-block-contents {
92
+ white-space: normal;
93
+ }
94
+
95
+ .block-editor-list-view-block__title {
96
+ margin-top: 3px;
97
+ }
98
+
99
+ .block-editor-list-view-block__menu-cell {
100
+ padding-right: 0;
101
+ }
102
+
103
+ .components-button {
104
+ color: $gray-600;
105
+ &:hover,
106
+ &:focus,
107
+ &[aria-current] {
108
+ color: $white;
109
+ }
110
+ }
111
+ }
112
+
113
+ .edit-site-sidebar-navigation-screen-navigation-menus__content .popover-slot .wp-block-navigation-submenu {
114
+ display: none;
8
115
  }
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { __ } from '@wordpress/i18n';
5
- import { useDispatch } from '@wordpress/data';
6
- import { Button } from '@wordpress/components';
4
+ import { __, sprintf, _x } from '@wordpress/i18n';
5
+ import { useDispatch, useSelect } from '@wordpress/data';
6
+ import { pencil } from '@wordpress/icons';
7
+ import {
8
+ __experimentalUseNavigator as useNavigator,
9
+ Icon,
10
+ } from '@wordpress/components';
11
+ import { store as coreStore } from '@wordpress/core-data';
7
12
 
8
13
  /**
9
14
  * Internal dependencies
@@ -12,41 +17,95 @@ import SidebarNavigationScreen from '../sidebar-navigation-screen';
12
17
  import useEditedEntityRecord from '../use-edited-entity-record';
13
18
  import { unlock } from '../../private-apis';
14
19
  import { store as editSiteStore } from '../../store';
20
+ import SidebarButton from '../sidebar-button';
21
+ import { useAddedBy } from '../list/added-by';
15
22
 
16
- const config = {
17
- wp_template: {
18
- path: '/templates/single',
19
- },
20
- wp_template_part: {
21
- path: '/template-parts/single',
22
- },
23
- };
24
-
25
- export default function SidebarNavigationScreenTemplate( {
26
- postType = 'wp_template',
27
- } ) {
28
- const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
29
- const { getDescription, getTitle, record } = useEditedEntityRecord();
30
- let description = getDescription();
31
- if ( ! description && record.is_custom ) {
32
- description = __(
33
- 'This is a custom template that can be applied manually to any Post or Page.'
34
- );
23
+ function useTemplateTitleAndDescription( postType, postId ) {
24
+ const { getDescription, getTitle, record } = useEditedEntityRecord(
25
+ postType,
26
+ postId
27
+ );
28
+ const currentTheme = useSelect(
29
+ ( select ) => select( coreStore ).getCurrentTheme(),
30
+ []
31
+ );
32
+ const addedBy = useAddedBy( postType, postId );
33
+ const isAddedByActiveTheme =
34
+ addedBy.type === 'theme' && record.theme === currentTheme?.stylesheet;
35
+ const title = getTitle();
36
+ let descriptionText = getDescription();
37
+
38
+ if ( ! descriptionText && addedBy.text ) {
39
+ if ( record.type === 'wp_template' && record.is_custom ) {
40
+ descriptionText = __(
41
+ 'This is a custom template that can be applied manually to any Post or Page.'
42
+ );
43
+ } else if ( record.type === 'wp_template_part' ) {
44
+ descriptionText = sprintf(
45
+ // translators: %s: template part title e.g: "Header".
46
+ __( 'This is your %s template part.' ),
47
+ getTitle()
48
+ );
49
+ }
35
50
  }
36
51
 
52
+ const description = (
53
+ <>
54
+ { descriptionText }
55
+
56
+ { addedBy.text && ! isAddedByActiveTheme && (
57
+ <span className="edit-site-sidebar-navigation-screen-template__added-by-description">
58
+ <span className="edit-site-sidebar-navigation-screen-template__added-by-description-author">
59
+ <span className="edit-site-sidebar-navigation-screen-template__added-by-description-author-icon">
60
+ { addedBy.imageUrl ? (
61
+ <img
62
+ src={ addedBy.imageUrl }
63
+ alt=""
64
+ width="24"
65
+ height="24"
66
+ />
67
+ ) : (
68
+ <Icon icon={ addedBy.icon } />
69
+ ) }
70
+ </span>
71
+ { addedBy.text }
72
+ </span>
73
+
74
+ { addedBy.isCustomized && (
75
+ <span className="edit-site-sidebar-navigation-screen-template__added-by-description-customized">
76
+ { postType === 'wp_template'
77
+ ? _x( '(Customized)', 'template' )
78
+ : _x( '(Customized)', 'template part' ) }
79
+ </span>
80
+ ) }
81
+ </span>
82
+ ) }
83
+ </>
84
+ );
85
+
86
+ return { title, description };
87
+ }
88
+
89
+ export default function SidebarNavigationScreenTemplate() {
90
+ const { params } = useNavigator();
91
+ const { postType, postId } = params;
92
+ const { setCanvasMode } = unlock( useDispatch( editSiteStore ) );
93
+ const { title, description } = useTemplateTitleAndDescription(
94
+ postType,
95
+ postId
96
+ );
97
+
37
98
  return (
38
99
  <SidebarNavigationScreen
39
- path={ config[ postType ].path }
40
- title={ getTitle() }
100
+ title={ title }
41
101
  actions={
42
- <Button
43
- variant="primary"
102
+ <SidebarButton
44
103
  onClick={ () => setCanvasMode( 'edit' ) }
45
- >
46
- { __( 'Edit' ) }
47
- </Button>
104
+ label={ __( 'Edit' ) }
105
+ icon={ pencil }
106
+ />
48
107
  }
49
- content={ description ? <p>{ description }</p> : undefined }
108
+ description={ description }
50
109
  />
51
110
  );
52
111
  }
@@ -0,0 +1,25 @@
1
+ .edit-site-sidebar-navigation-screen-template__added-by-description {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: space-between;
5
+ margin-top: $grid-unit-30;
6
+
7
+ &-author {
8
+ display: inline-flex;
9
+ align-items: center;
10
+
11
+ img {
12
+ border-radius: $grid-unit-15;
13
+ }
14
+
15
+ svg {
16
+ fill: $gray-600;
17
+ }
18
+
19
+ &-icon {
20
+ width: 24px;
21
+ height: 24px;
22
+ margin-right: $grid-unit-10;
23
+ }
24
+ }
25
+ }
@@ -4,9 +4,11 @@
4
4
  import {
5
5
  __experimentalItemGroup as ItemGroup,
6
6
  __experimentalItem as Item,
7
+ __experimentalUseNavigator as useNavigator,
7
8
  } from '@wordpress/components';
8
9
  import { __ } from '@wordpress/i18n';
9
10
  import { useEntityRecords } from '@wordpress/core-data';
11
+ import { useSelect } from '@wordpress/data';
10
12
  import { decodeEntities } from '@wordpress/html-entities';
11
13
  import { useViewportMatch } from '@wordpress/compose';
12
14
 
@@ -17,24 +19,30 @@ import SidebarNavigationScreen from '../sidebar-navigation-screen';
17
19
  import { useLink } from '../routes/link';
18
20
  import SidebarNavigationItem from '../sidebar-navigation-item';
19
21
  import AddNewTemplate from '../add-new-template';
22
+ import { store as editSiteStore } from '../../store';
23
+ import SidebarButton from '../sidebar-button';
20
24
 
21
25
  const config = {
22
26
  wp_template: {
23
- path: '/templates',
24
27
  labels: {
25
28
  title: __( 'Templates' ),
26
29
  loading: __( 'Loading templates' ),
27
30
  notFound: __( 'No templates found' ),
28
31
  manage: __( 'Manage all templates' ),
32
+ description: __(
33
+ 'Express the layout of your site with templates.'
34
+ ),
29
35
  },
30
36
  },
31
37
  wp_template_part: {
32
- path: '/template-parts',
33
38
  labels: {
34
39
  title: __( 'Template parts' ),
35
40
  loading: __( 'Loading template parts' ),
36
41
  notFound: __( 'No template parts found' ),
37
42
  manage: __( 'Manage all template parts' ),
43
+ description: __(
44
+ 'Template Parts are small pieces of a layout that can be reused across multiple templates and always appear the same way. Common template parts include the site header, footer, or sidebar.'
45
+ ),
38
46
  },
39
47
  },
40
48
  };
@@ -43,15 +51,20 @@ const TemplateItem = ( { postType, postId, ...props } ) => {
43
51
  const linkInfo = useLink( {
44
52
  postType,
45
53
  postId,
46
- path: config[ postType ].path + '/single',
47
54
  } );
48
55
  return <SidebarNavigationItem { ...linkInfo } { ...props } />;
49
56
  };
50
57
 
51
- export default function SidebarNavigationScreenTemplates( {
52
- postType = 'wp_template',
53
- } ) {
58
+ export default function SidebarNavigationScreenTemplates() {
59
+ const {
60
+ params: { postType },
61
+ } = useNavigator();
54
62
  const isMobileViewport = useViewportMatch( 'medium', '<' );
63
+ const isTemplatePartsMode = useSelect( ( select ) => {
64
+ const settings = select( editSiteStore ).getSettings();
65
+
66
+ return !! settings.supportsTemplatePartsMode;
67
+ }, [] );
55
68
 
56
69
  const { records: templates, isResolving: isLoading } = useEntityRecords(
57
70
  'postType',
@@ -60,24 +73,26 @@ export default function SidebarNavigationScreenTemplates( {
60
73
  per_page: -1,
61
74
  }
62
75
  );
76
+ const sortedTemplates = templates ? [ ...templates ] : [];
77
+ sortedTemplates.sort( ( a, b ) => a.slug.localeCompare( b.slug ) );
63
78
 
64
79
  const browseAllLink = useLink( {
65
- postType,
66
- postId: undefined,
67
- path: config[ postType ].path + '/all',
80
+ path: '/' + postType + '/all',
68
81
  } );
69
82
 
83
+ const canCreate = ! isMobileViewport && ! isTemplatePartsMode;
84
+
70
85
  return (
71
86
  <SidebarNavigationScreen
72
- path={ config[ postType ].path }
87
+ isRoot={ isTemplatePartsMode }
73
88
  title={ config[ postType ].labels.title }
89
+ description={ config[ postType ].labels.description }
74
90
  actions={
75
- ! isMobileViewport && (
91
+ canCreate && (
76
92
  <AddNewTemplate
77
93
  templateType={ postType }
78
94
  toggleProps={ {
79
- className:
80
- 'edit-site-sidebar-navigation-screen-templates__add-button',
95
+ as: SidebarButton,
81
96
  } }
82
97
  />
83
98
  )
@@ -92,7 +107,7 @@ export default function SidebarNavigationScreenTemplates( {
92
107
  { config[ postType ].labels.notFound }
93
108
  </Item>
94
109
  ) }
95
- { ( templates ?? [] ).map( ( template ) => (
110
+ { sortedTemplates.map( ( template ) => (
96
111
  <TemplateItem
97
112
  postType={ postType }
98
113
  postId={ template.id }
@@ -2,8 +2,3 @@
2
2
  /* Overrides the margin that comes from the Item component */
3
3
  margin-top: $grid-unit-20 !important;
4
4
  }
5
-
6
- .edit-site-sidebar-navigation-screen-templates__add-button {
7
- /* Overrides the color for all states of the button */
8
- color: inherit !important;
9
- }
@@ -2,6 +2,7 @@
2
2
  * WordPress dependencies
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
+ import { __experimentalUseNavigator as useNavigator } from '@wordpress/components';
5
6
 
6
7
  /**
7
8
  * Internal dependencies
@@ -10,22 +11,27 @@ import SidebarNavigationScreen from '../sidebar-navigation-screen';
10
11
 
11
12
  const config = {
12
13
  wp_template: {
13
- path: '/templates/all',
14
14
  title: __( 'All templates' ),
15
+ description: __(
16
+ 'Create new templates, or reset any customizations made to the templates supplied by your theme.'
17
+ ),
15
18
  },
16
19
  wp_template_part: {
17
- path: '/template-parts/all',
18
20
  title: __( 'All template parts' ),
21
+ description: __(
22
+ 'Create new template parts, or reset any customizations made to the template parts supplied by your theme.'
23
+ ),
19
24
  },
20
25
  };
21
26
 
22
- export default function SidebarNavigationScreenTemplatesBrowse( {
23
- postType = 'wp_template',
24
- } ) {
27
+ export default function SidebarNavigationScreenTemplatesBrowse() {
28
+ const {
29
+ params: { postType },
30
+ } = useNavigator();
25
31
  return (
26
32
  <SidebarNavigationScreen
27
- path={ config[ postType ].path }
28
33
  title={ config[ postType ].title }
34
+ description={ config[ postType ].description }
29
35
  />
30
36
  );
31
37
  }
@@ -95,7 +95,11 @@ const SiteHub = forwardRef( ( props, ref ) => {
95
95
  </Button>
96
96
  </motion.div>
97
97
 
98
- { showLabels && <div>{ siteTitle }</div> }
98
+ { showLabels && (
99
+ <div className="edit-site-site-hub__site-title">
100
+ { siteTitle }
101
+ </div>
102
+ ) }
99
103
  </HStack>
100
104
  </motion.div>
101
105
  );
@@ -11,7 +11,7 @@
11
11
 
12
12
  .edit-site-site-hub__view-mode-toggle-container {
13
13
  height: $header-height;
14
- width: $header-height + 4px;
14
+ width: $header-height;
15
15
  flex-shrink: 0;
16
16
  background: $gray-900;
17
17
  }
@@ -26,3 +26,7 @@
26
26
  white-space: nowrap;
27
27
  overflow: hidden;
28
28
  }
29
+
30
+ .edit-site-site-hub__site-title {
31
+ margin-left: $grid-unit-05;
32
+ }