@wordpress/edit-site 4.19.0 → 5.1.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 (382) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/build/components/add-new-template/add-custom-template-modal.js +1 -0
  3. package/build/components/add-new-template/add-custom-template-modal.js.map +1 -1
  4. package/build/components/add-new-template/index.js +8 -5
  5. package/build/components/add-new-template/index.js.map +1 -1
  6. package/build/components/add-new-template/new-template-part.js +21 -6
  7. package/build/components/add-new-template/new-template-part.js.map +1 -1
  8. package/build/components/add-new-template/new-template.js +12 -8
  9. package/build/components/add-new-template/new-template.js.map +1 -1
  10. package/build/components/app/index.js +15 -30
  11. package/build/components/app/index.js.map +1 -1
  12. package/build/components/block-editor/editor-canvas.js +64 -0
  13. package/build/components/block-editor/editor-canvas.js.map +1 -0
  14. package/build/components/block-editor/index.js +62 -59
  15. package/build/components/block-editor/index.js.map +1 -1
  16. package/build/components/block-editor/resizable-editor.js +10 -44
  17. package/build/components/block-editor/resizable-editor.js.map +1 -1
  18. package/build/components/editor/index.js +76 -135
  19. package/build/components/editor/index.js.map +1 -1
  20. package/build/components/global-styles/block-preview-panel.js +57 -0
  21. package/build/components/global-styles/block-preview-panel.js.map +1 -0
  22. package/build/components/global-styles/border-panel.js +0 -1
  23. package/build/components/global-styles/border-panel.js.map +1 -1
  24. package/build/components/global-styles/context-menu.js +6 -2
  25. package/build/components/global-styles/context-menu.js.map +1 -1
  26. package/build/components/global-styles/custom-css.js +62 -0
  27. package/build/components/global-styles/custom-css.js.map +1 -0
  28. package/build/components/global-styles/dimensions-panel.js +2 -6
  29. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  30. package/build/components/global-styles/global-styles-provider.js +18 -4
  31. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  32. package/build/components/global-styles/hooks.js +5 -2
  33. package/build/components/global-styles/hooks.js.map +1 -1
  34. package/build/components/global-styles/palette.js +1 -1
  35. package/build/components/global-styles/palette.js.map +1 -1
  36. package/build/components/global-styles/screen-background-color.js +0 -1
  37. package/build/components/global-styles/screen-background-color.js.map +1 -1
  38. package/build/components/global-styles/screen-block-list.js +2 -1
  39. package/build/components/global-styles/screen-block-list.js.map +1 -1
  40. package/build/components/global-styles/screen-block.js +5 -1
  41. package/build/components/global-styles/screen-block.js.map +1 -1
  42. package/build/components/global-styles/screen-border.js +47 -0
  43. package/build/components/global-styles/screen-border.js.map +1 -0
  44. package/build/components/global-styles/screen-button-color.js +0 -2
  45. package/build/components/global-styles/screen-button-color.js.map +1 -1
  46. package/build/components/global-styles/screen-colors.js +5 -1
  47. package/build/components/global-styles/screen-colors.js.map +1 -1
  48. package/build/components/global-styles/screen-css.js +42 -0
  49. package/build/components/global-styles/screen-css.js.map +1 -0
  50. package/build/components/global-styles/screen-heading-color.js +1 -3
  51. package/build/components/global-styles/screen-heading-color.js.map +1 -1
  52. package/build/components/global-styles/screen-layout.js +4 -5
  53. package/build/components/global-styles/screen-layout.js.map +1 -1
  54. package/build/components/global-styles/screen-link-color.js +0 -1
  55. package/build/components/global-styles/screen-link-color.js.map +1 -1
  56. package/build/components/global-styles/screen-root.js +20 -2
  57. package/build/components/global-styles/screen-root.js.map +1 -1
  58. package/build/components/global-styles/screen-style-variations.js +3 -3
  59. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  60. package/build/components/global-styles/screen-text-color.js +0 -1
  61. package/build/components/global-styles/screen-text-color.js.map +1 -1
  62. package/build/components/global-styles/screen-typography.js +4 -0
  63. package/build/components/global-styles/screen-typography.js.map +1 -1
  64. package/build/components/global-styles/typography-utils.js +17 -5
  65. package/build/components/global-styles/typography-utils.js.map +1 -1
  66. package/build/components/global-styles/ui.js +50 -4
  67. package/build/components/global-styles/ui.js.map +1 -1
  68. package/build/components/global-styles/use-global-styles-output.js +5 -1
  69. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  70. package/build/components/global-styles/utils.js +14 -4
  71. package/build/components/global-styles/utils.js.map +1 -1
  72. package/build/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -8
  73. package/build/components/global-styles-renderer/index.js.map +1 -0
  74. package/build/components/header-edit-mode/document-actions/index.js +21 -45
  75. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  76. package/build/components/header-edit-mode/index.js +19 -12
  77. package/build/components/header-edit-mode/index.js.map +1 -1
  78. package/build/components/keyboard-shortcuts/index.js +11 -1
  79. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  80. package/build/components/layout/index.js +200 -0
  81. package/build/components/layout/index.js.map +1 -0
  82. package/build/components/list/header.js +5 -1
  83. package/build/components/list/header.js.map +1 -1
  84. package/build/components/list/index.js +4 -22
  85. package/build/components/list/index.js.map +1 -1
  86. package/build/components/navigate-to-link/index.js +1 -3
  87. package/build/components/navigate-to-link/index.js.map +1 -1
  88. package/build/components/routes/index.js +1 -1
  89. package/build/components/routes/index.js.map +1 -1
  90. package/build/components/sidebar/index.js +46 -0
  91. package/build/components/sidebar/index.js.map +1 -0
  92. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +24 -4
  93. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  94. package/build/components/sidebar-edit-mode/index.js +4 -2
  95. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  96. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js +10 -0
  97. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js.map +1 -1
  98. package/build/components/sidebar-navigation-item/index.js +53 -0
  99. package/build/components/sidebar-navigation-item/index.js.map +1 -0
  100. package/build/components/sidebar-navigation-screen/index.js +49 -0
  101. package/build/components/sidebar-navigation-screen/index.js.map +1 -0
  102. package/build/components/sidebar-navigation-screen-main/index.js +46 -0
  103. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -0
  104. package/build/components/sidebar-navigation-screen-templates/index.js +169 -0
  105. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -0
  106. package/build/components/site-hub/index.js +149 -0
  107. package/build/components/site-hub/index.js.map +1 -0
  108. package/build/components/site-icon/index.js +70 -0
  109. package/build/components/site-icon/index.js.map +1 -0
  110. package/build/components/style-book/index.js +173 -0
  111. package/build/components/style-book/index.js.map +1 -0
  112. package/build/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +5 -4
  113. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
  114. package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +53 -0
  115. package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
  116. package/build/components/use-edited-entity-record/index.js +60 -0
  117. package/build/components/use-edited-entity-record/index.js.map +1 -0
  118. package/build/hooks/index.js +2 -0
  119. package/build/hooks/index.js.map +1 -1
  120. package/build/hooks/push-changes-to-global-styles/index.js +144 -0
  121. package/build/hooks/push-changes-to-global-styles/index.js.map +1 -0
  122. package/build/index.js +7 -45
  123. package/build/index.js.map +1 -1
  124. package/build/store/actions.js +93 -43
  125. package/build/store/actions.js.map +1 -1
  126. package/build/store/reducer.js +35 -107
  127. package/build/store/reducer.js.map +1 -1
  128. package/build/store/selectors.js +69 -78
  129. package/build/store/selectors.js.map +1 -1
  130. package/build-module/components/add-new-template/add-custom-template-modal.js +1 -0
  131. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  132. package/build-module/components/add-new-template/index.js +7 -5
  133. package/build-module/components/add-new-template/index.js.map +1 -1
  134. package/build-module/components/add-new-template/new-template-part.js +18 -6
  135. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  136. package/build-module/components/add-new-template/new-template.js +13 -9
  137. package/build-module/components/add-new-template/new-template.js.map +1 -1
  138. package/build-module/components/app/index.js +15 -28
  139. package/build-module/components/app/index.js.map +1 -1
  140. package/build-module/components/block-editor/editor-canvas.js +51 -0
  141. package/build-module/components/block-editor/editor-canvas.js.map +1 -0
  142. package/build-module/components/block-editor/index.js +62 -60
  143. package/build-module/components/block-editor/index.js.map +1 -1
  144. package/build-module/components/block-editor/resizable-editor.js +11 -40
  145. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  146. package/build-module/components/editor/index.js +75 -129
  147. package/build-module/components/editor/index.js.map +1 -1
  148. package/build-module/components/global-styles/block-preview-panel.js +46 -0
  149. package/build-module/components/global-styles/block-preview-panel.js.map +1 -0
  150. package/build-module/components/global-styles/border-panel.js +0 -1
  151. package/build-module/components/global-styles/border-panel.js.map +1 -1
  152. package/build-module/components/global-styles/context-menu.js +7 -3
  153. package/build-module/components/global-styles/context-menu.js.map +1 -1
  154. package/build-module/components/global-styles/custom-css.js +52 -0
  155. package/build-module/components/global-styles/custom-css.js.map +1 -0
  156. package/build-module/components/global-styles/dimensions-panel.js +3 -7
  157. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  158. package/build-module/components/global-styles/global-styles-provider.js +18 -4
  159. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  160. package/build-module/components/global-styles/hooks.js +5 -3
  161. package/build-module/components/global-styles/hooks.js.map +1 -1
  162. package/build-module/components/global-styles/palette.js +1 -1
  163. package/build-module/components/global-styles/palette.js.map +1 -1
  164. package/build-module/components/global-styles/screen-background-color.js +0 -1
  165. package/build-module/components/global-styles/screen-background-color.js.map +1 -1
  166. package/build-module/components/global-styles/screen-block-list.js +2 -1
  167. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  168. package/build-module/components/global-styles/screen-block.js +4 -1
  169. package/build-module/components/global-styles/screen-block.js.map +1 -1
  170. package/build-module/components/global-styles/screen-border.js +30 -0
  171. package/build-module/components/global-styles/screen-border.js.map +1 -0
  172. package/build-module/components/global-styles/screen-button-color.js +0 -2
  173. package/build-module/components/global-styles/screen-button-color.js.map +1 -1
  174. package/build-module/components/global-styles/screen-colors.js +4 -1
  175. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  176. package/build-module/components/global-styles/screen-css.js +28 -0
  177. package/build-module/components/global-styles/screen-css.js.map +1 -0
  178. package/build-module/components/global-styles/screen-heading-color.js +1 -3
  179. package/build-module/components/global-styles/screen-heading-color.js.map +1 -1
  180. package/build-module/components/global-styles/screen-layout.js +3 -4
  181. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  182. package/build-module/components/global-styles/screen-link-color.js +0 -1
  183. package/build-module/components/global-styles/screen-link-color.js.map +1 -1
  184. package/build-module/components/global-styles/screen-root.js +21 -3
  185. package/build-module/components/global-styles/screen-root.js.map +1 -1
  186. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  187. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  188. package/build-module/components/global-styles/screen-text-color.js +0 -1
  189. package/build-module/components/global-styles/screen-text-color.js.map +1 -1
  190. package/build-module/components/global-styles/screen-typography.js +3 -0
  191. package/build-module/components/global-styles/screen-typography.js.map +1 -1
  192. package/build-module/components/global-styles/typography-utils.js +17 -5
  193. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  194. package/build-module/components/global-styles/ui.js +48 -5
  195. package/build-module/components/global-styles/ui.js.map +1 -1
  196. package/build-module/components/global-styles/use-global-styles-output.js +5 -1
  197. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  198. package/build-module/components/global-styles/utils.js +13 -5
  199. package/build-module/components/global-styles/utils.js.map +1 -1
  200. package/build-module/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -7
  201. package/build-module/components/global-styles-renderer/index.js.map +1 -0
  202. package/build-module/components/header-edit-mode/document-actions/index.js +22 -43
  203. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  204. package/build-module/components/header-edit-mode/index.js +16 -11
  205. package/build-module/components/header-edit-mode/index.js.map +1 -1
  206. package/build-module/components/keyboard-shortcuts/index.js +10 -1
  207. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  208. package/build-module/components/layout/index.js +173 -0
  209. package/build-module/components/layout/index.js.map +1 -0
  210. package/build-module/components/list/header.js +5 -1
  211. package/build-module/components/list/header.js.map +1 -1
  212. package/build-module/components/list/index.js +4 -19
  213. package/build-module/components/list/index.js.map +1 -1
  214. package/build-module/components/navigate-to-link/index.js +1 -3
  215. package/build-module/components/navigate-to-link/index.js.map +1 -1
  216. package/build-module/components/routes/index.js +1 -1
  217. package/build-module/components/routes/index.js.map +1 -1
  218. package/build-module/components/sidebar/index.js +33 -0
  219. package/build-module/components/sidebar/index.js.map +1 -0
  220. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +27 -7
  221. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  222. package/build-module/components/sidebar-edit-mode/index.js +6 -4
  223. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  224. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js +11 -1
  225. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js.map +1 -1
  226. package/build-module/components/sidebar-navigation-item/index.js +40 -0
  227. package/build-module/components/sidebar-navigation-item/index.js.map +1 -0
  228. package/build-module/components/sidebar-navigation-screen/index.js +39 -0
  229. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -0
  230. package/build-module/components/sidebar-navigation-screen-main/index.js +32 -0
  231. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -0
  232. package/build-module/components/sidebar-navigation-screen-templates/index.js +147 -0
  233. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -0
  234. package/build-module/components/site-hub/index.js +126 -0
  235. package/build-module/components/site-hub/index.js.map +1 -0
  236. package/build-module/components/site-icon/index.js +55 -0
  237. package/build-module/components/site-icon/index.js.map +1 -0
  238. package/build-module/components/style-book/index.js +156 -0
  239. package/build-module/components/style-book/index.js.map +1 -0
  240. package/build-module/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +4 -3
  241. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
  242. package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +43 -0
  243. package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
  244. package/build-module/components/use-edited-entity-record/index.js +48 -0
  245. package/build-module/components/use-edited-entity-record/index.js.map +1 -0
  246. package/build-module/hooks/index.js +1 -0
  247. package/build-module/hooks/index.js.map +1 -1
  248. package/build-module/hooks/push-changes-to-global-styles/index.js +132 -0
  249. package/build-module/hooks/push-changes-to-global-styles/index.js.map +1 -0
  250. package/build-module/index.js +9 -36
  251. package/build-module/index.js.map +1 -1
  252. package/build-module/store/actions.js +87 -42
  253. package/build-module/store/actions.js.map +1 -1
  254. package/build-module/store/reducer.js +35 -102
  255. package/build-module/store/reducer.js.map +1 -1
  256. package/build-module/store/selectors.js +60 -72
  257. package/build-module/store/selectors.js.map +1 -1
  258. package/build-style/style-rtl.css +549 -352
  259. package/build-style/style.css +549 -352
  260. package/package.json +33 -31
  261. package/src/components/add-new-template/add-custom-template-modal.js +1 -0
  262. package/src/components/add-new-template/index.js +6 -3
  263. package/src/components/add-new-template/new-template-part.js +15 -3
  264. package/src/components/add-new-template/new-template.js +14 -7
  265. package/src/components/add-new-template/style.scss +0 -4
  266. package/src/components/app/index.js +14 -43
  267. package/src/components/block-editor/editor-canvas.js +69 -0
  268. package/src/components/block-editor/index.js +100 -87
  269. package/src/components/block-editor/resizable-editor.js +9 -64
  270. package/src/components/block-editor/style.scss +25 -1
  271. package/src/components/code-editor/style.scss +1 -1
  272. package/src/components/editor/index.js +157 -238
  273. package/src/components/editor/style.scss +0 -22
  274. package/src/components/global-styles/block-preview-panel.js +44 -0
  275. package/src/components/global-styles/border-panel.js +0 -1
  276. package/src/components/global-styles/context-menu.js +11 -2
  277. package/src/components/global-styles/custom-css.js +74 -0
  278. package/src/components/global-styles/dimensions-panel.js +2 -5
  279. package/src/components/global-styles/global-styles-provider.js +50 -22
  280. package/src/components/global-styles/hooks.js +8 -3
  281. package/src/components/global-styles/palette.js +1 -1
  282. package/src/components/global-styles/screen-background-color.js +0 -1
  283. package/src/components/global-styles/screen-block-list.js +2 -1
  284. package/src/components/global-styles/screen-block.js +6 -1
  285. package/src/components/global-styles/screen-border.js +25 -0
  286. package/src/components/global-styles/screen-button-color.js +0 -2
  287. package/src/components/global-styles/screen-colors.js +5 -1
  288. package/src/components/global-styles/screen-css.js +33 -0
  289. package/src/components/global-styles/screen-heading-color.js +1 -3
  290. package/src/components/global-styles/screen-layout.js +2 -3
  291. package/src/components/global-styles/screen-link-color.js +0 -1
  292. package/src/components/global-styles/screen-root.js +37 -1
  293. package/src/components/global-styles/screen-style-variations.js +5 -2
  294. package/src/components/global-styles/screen-text-color.js +0 -1
  295. package/src/components/global-styles/screen-typography.js +3 -0
  296. package/src/components/global-styles/style.scss +31 -2
  297. package/src/components/global-styles/test/typography-utils.js +72 -23
  298. package/src/components/global-styles/typography-utils.js +24 -4
  299. package/src/components/global-styles/ui.js +47 -4
  300. package/src/components/global-styles/use-global-styles-output.js +5 -0
  301. package/src/components/global-styles/utils.js +18 -6
  302. package/src/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +3 -9
  303. package/src/components/header-edit-mode/document-actions/index.js +31 -45
  304. package/src/components/header-edit-mode/document-actions/style.scss +8 -1
  305. package/src/components/header-edit-mode/index.js +96 -78
  306. package/src/components/header-edit-mode/style.scss +6 -33
  307. package/src/components/keyboard-shortcuts/index.js +13 -0
  308. package/src/components/layout/index.js +235 -0
  309. package/src/components/layout/style.scss +183 -0
  310. package/src/components/list/header.js +5 -1
  311. package/src/components/list/index.js +12 -31
  312. package/src/components/list/style.scss +3 -4
  313. package/src/components/navigate-to-link/index.js +2 -8
  314. package/src/components/routes/index.js +1 -1
  315. package/src/components/sidebar/index.js +37 -0
  316. package/src/components/sidebar/style.scss +8 -0
  317. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -7
  318. package/src/components/sidebar-edit-mode/index.js +4 -4
  319. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js +10 -0
  320. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/style.scss +21 -3
  321. package/src/components/sidebar-edit-mode/settings-header/style.scss +47 -34
  322. package/src/components/sidebar-edit-mode/style.scss +0 -13
  323. package/src/components/sidebar-navigation-item/index.js +51 -0
  324. package/src/components/sidebar-navigation-item/style.scss +17 -0
  325. package/src/components/sidebar-navigation-screen/index.js +55 -0
  326. package/src/components/sidebar-navigation-screen/style.scss +39 -0
  327. package/src/components/sidebar-navigation-screen-main/index.js +44 -0
  328. package/src/components/sidebar-navigation-screen-templates/index.js +163 -0
  329. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  330. package/src/components/site-hub/index.js +150 -0
  331. package/src/components/site-hub/style.scss +31 -0
  332. package/src/components/site-icon/index.js +56 -0
  333. package/src/components/site-icon/style.scss +10 -0
  334. package/src/components/style-book/index.js +193 -0
  335. package/src/components/style-book/style.scss +78 -0
  336. package/src/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +3 -3
  337. package/src/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +36 -0
  338. package/src/components/template-details/style.scss +4 -0
  339. package/src/components/use-edited-entity-record/index.js +37 -0
  340. package/src/hooks/index.js +1 -0
  341. package/src/hooks/push-changes-to-global-styles/index.js +162 -0
  342. package/src/hooks/push-changes-to-global-styles/style.scss +4 -0
  343. package/src/index.js +5 -53
  344. package/src/store/actions.js +93 -48
  345. package/src/store/reducer.js +29 -91
  346. package/src/store/selectors.js +61 -101
  347. package/src/store/test/actions.js +3 -15
  348. package/src/store/test/reducer.js +8 -192
  349. package/src/store/test/selectors.js +3 -42
  350. package/src/style.scss +21 -3
  351. package/build/components/editor/global-styles-renderer.js.map +0 -1
  352. package/build/components/navigation-sidebar/index.js +0 -62
  353. package/build/components/navigation-sidebar/index.js.map +0 -1
  354. package/build/components/navigation-sidebar/navigation-panel/constants.js +0 -77
  355. package/build/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
  356. package/build/components/navigation-sidebar/navigation-panel/index.js +0 -152
  357. package/build/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
  358. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
  359. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
  360. package/build/components/navigation-sidebar/navigation-toggle/index.js +0 -124
  361. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
  362. package/build/components/url-query-controller/index.js.map +0 -1
  363. package/build-module/components/editor/global-styles-renderer.js.map +0 -1
  364. package/build-module/components/navigation-sidebar/index.js +0 -45
  365. package/build-module/components/navigation-sidebar/index.js.map +0 -1
  366. package/build-module/components/navigation-sidebar/navigation-panel/constants.js +0 -49
  367. package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
  368. package/build-module/components/navigation-sidebar/navigation-panel/index.js +0 -131
  369. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
  370. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -66
  371. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
  372. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +0 -108
  373. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
  374. package/build-module/components/url-query-controller/index.js.map +0 -1
  375. package/src/components/navigation-sidebar/index.js +0 -46
  376. package/src/components/navigation-sidebar/navigation-panel/constants.js +0 -94
  377. package/src/components/navigation-sidebar/navigation-panel/index.js +0 -142
  378. package/src/components/navigation-sidebar/navigation-panel/style.scss +0 -152
  379. package/src/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
  380. package/src/components/navigation-sidebar/navigation-toggle/index.js +0 -114
  381. package/src/components/navigation-sidebar/navigation-toggle/style.scss +0 -71
  382. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +0 -65
@@ -0,0 +1,51 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classnames from 'classnames';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import {
10
+ __experimentalItem as Item,
11
+ __experimentalHStack as HStack,
12
+ FlexBlock,
13
+ } from '@wordpress/components';
14
+ import { chevronRight, Icon } from '@wordpress/icons';
15
+
16
+ export default function SidebarNavigationItem( {
17
+ className,
18
+ icon,
19
+ withChevron = false,
20
+ children,
21
+ ...props
22
+ } ) {
23
+ return (
24
+ <Item
25
+ className={ classnames(
26
+ 'edit-site-sidebar-navigation-item',
27
+ className
28
+ ) }
29
+ { ...props }
30
+ >
31
+ { icon && (
32
+ <HStack justify="flex-start">
33
+ <Icon
34
+ style={ { fill: 'currentcolor' } }
35
+ icon={ icon }
36
+ size={ 24 }
37
+ />
38
+ <FlexBlock>{ children }</FlexBlock>
39
+ { withChevron && (
40
+ <Icon
41
+ style={ { fill: 'currentcolor' } }
42
+ icon={ chevronRight }
43
+ size={ 24 }
44
+ />
45
+ ) }
46
+ </HStack>
47
+ ) }
48
+ { ! icon && children }
49
+ </Item>
50
+ );
51
+ }
@@ -0,0 +1,17 @@
1
+ .edit-site-sidebar-navigation-item.components-item {
2
+ color: $gray-600;
3
+ border-width: $border-width-tab;
4
+
5
+ &:hover,
6
+ &:focus {
7
+ color: $white;
8
+ background: $gray-800;
9
+ border-width: $border-width-tab;
10
+ }
11
+
12
+ &[aria-current] {
13
+ color: $white;
14
+ background: var(--wp-admin-theme-color);
15
+ border-width: $border-width-tab;
16
+ }
17
+ }
@@ -0,0 +1,55 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import {
5
+ __experimentalHStack as HStack,
6
+ __experimentalVStack as VStack,
7
+ __experimentalNavigatorBackButton as NavigatorBackButton,
8
+ __experimentalNavigatorScreen as NavigatorScreen,
9
+ } from '@wordpress/components';
10
+ import { isRTL, __, sprintf } from '@wordpress/i18n';
11
+ import { chevronRight, chevronLeft } from '@wordpress/icons';
12
+
13
+ export default function SidebarNavigationScreen( {
14
+ path,
15
+ parentTitle,
16
+ title,
17
+ content,
18
+ } ) {
19
+ return (
20
+ <NavigatorScreen
21
+ className="edit-site-sidebar-navigation-screen"
22
+ path={ path }
23
+ >
24
+ <VStack spacing={ 2 }>
25
+ <HStack
26
+ spacing={ 4 }
27
+ justify="flex-start"
28
+ className="edit-site-sidebar-navigation-screen__title-icon"
29
+ >
30
+ { parentTitle ? (
31
+ <NavigatorBackButton
32
+ className="edit-site-sidebar-navigation-screen__back"
33
+ icon={ isRTL() ? chevronRight : chevronLeft }
34
+ aria-label={ sprintf(
35
+ /* translators: %s: previous page. */
36
+ __( 'Navigate to the previous view: %s' ),
37
+ parentTitle
38
+ ) }
39
+ />
40
+ ) : (
41
+ <div className="edit-site-sidebar-navigation-screen__icon-placeholder" />
42
+ ) }
43
+
44
+ <div className="edit-site-sidebar-navigation-screen__title">
45
+ { title }
46
+ </div>
47
+ </HStack>
48
+
49
+ <nav className="edit-site-sidebar-navigation-screen__content">
50
+ { content }
51
+ </nav>
52
+ </VStack>
53
+ </NavigatorScreen>
54
+ );
55
+ }
@@ -0,0 +1,39 @@
1
+ .edit-site-sidebar-navigation-screen {
2
+ display: flex;
3
+ flex-direction: column;
4
+ overflow-x: unset !important;
5
+ position: relative;
6
+ }
7
+
8
+ .edit-site-sidebar-navigation-screen__content {
9
+ margin: 0 $grid-unit-20 $grid-unit-20 $button-size;
10
+ }
11
+
12
+ .edit-site-sidebar-navigation-screen__title-icon {
13
+ position: sticky;
14
+ top: 0;
15
+ background: $gray-900;
16
+ padding-top: $grid-unit-60 + $hub-height + $canvas-padding * 2;
17
+ box-shadow: 0 $grid-unit-10 $grid-unit-20 $gray-900;
18
+ margin-bottom: $grid-unit-10;
19
+ padding-bottom: $grid-unit-10;
20
+ padding-right: $grid-unit-20;
21
+ }
22
+
23
+ .edit-site-sidebar-navigation-screen__title {
24
+ font-size: calc(1.56 * 13px);
25
+ font-weight: 500;
26
+ flex-grow: 1;
27
+ }
28
+
29
+ .edit-site-sidebar-navigation-screen__back {
30
+ color: $gray-200;
31
+
32
+ &:hover {
33
+ color: $white;
34
+ }
35
+ }
36
+
37
+ .edit-site-sidebar-navigation-screen__icon-placeholder {
38
+ width: $button-size;
39
+ }
@@ -0,0 +1,44 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import {
5
+ __experimentalItemGroup as ItemGroup,
6
+ __experimentalNavigatorButton as NavigatorButton,
7
+ } from '@wordpress/components';
8
+ import { __ } from '@wordpress/i18n';
9
+ import { layout, symbolFilled } from '@wordpress/icons';
10
+
11
+ /**
12
+ * Internal dependencies
13
+ */
14
+ import SidebarNavigationScreen from '../sidebar-navigation-screen';
15
+ import SidebarNavigationItem from '../sidebar-navigation-item';
16
+
17
+ export default function SidebarNavigationScreenMain() {
18
+ return (
19
+ <SidebarNavigationScreen
20
+ path="/"
21
+ title={ __( 'Design' ) }
22
+ content={
23
+ <ItemGroup>
24
+ <NavigatorButton
25
+ as={ SidebarNavigationItem }
26
+ path="/templates"
27
+ withChevron
28
+ icon={ layout }
29
+ >
30
+ { __( 'Templates' ) }
31
+ </NavigatorButton>
32
+ <NavigatorButton
33
+ as={ SidebarNavigationItem }
34
+ path="/template-parts"
35
+ withChevron
36
+ icon={ symbolFilled }
37
+ >
38
+ { __( 'Template Parts' ) }
39
+ </NavigatorButton>
40
+ </ItemGroup>
41
+ }
42
+ />
43
+ );
44
+ }
@@ -0,0 +1,163 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import {
5
+ __experimentalItemGroup as ItemGroup,
6
+ __experimentalHStack as HStack,
7
+ } from '@wordpress/components';
8
+ import { __ } from '@wordpress/i18n';
9
+ import { useSelect } from '@wordpress/data';
10
+ import { useEntityRecords } from '@wordpress/core-data';
11
+ import { decodeEntities } from '@wordpress/html-entities';
12
+ import { useViewportMatch } from '@wordpress/compose';
13
+
14
+ /**
15
+ * Internal dependencies
16
+ */
17
+ import SidebarNavigationScreen from '../sidebar-navigation-screen';
18
+ import { useLink } from '../routes/link';
19
+ import SidebarNavigationItem from '../sidebar-navigation-item';
20
+ import { useLocation } from '../routes';
21
+ import { store as editSiteStore } from '../../store';
22
+ import AddNewTemplate from '../add-new-template';
23
+
24
+ function omit( object, keys ) {
25
+ return Object.fromEntries(
26
+ Object.entries( object ).filter( ( [ key ] ) => ! keys.includes( key ) )
27
+ );
28
+ }
29
+
30
+ const Item = ( { item } ) => {
31
+ const linkInfo = useLink( item.params );
32
+ const props = item.params
33
+ ? { ...omit( item, 'params' ), ...linkInfo }
34
+ : item;
35
+ return <SidebarNavigationItem { ...props } />;
36
+ };
37
+
38
+ const config = {
39
+ wp_template: {
40
+ path: '/templates',
41
+ labels: {
42
+ title: __( 'Templates' ),
43
+ loading: __( 'Loading templates' ),
44
+ notFound: __( 'No templates found' ),
45
+ manage: __( 'Manage all templates' ),
46
+ },
47
+ },
48
+ wp_template_part: {
49
+ path: '/template-parts',
50
+ labels: {
51
+ title: __( 'Template parts' ),
52
+ loading: __( 'Loading template parts' ),
53
+ notFound: __( 'No template parts found' ),
54
+ manage: __( 'Manage all template parts' ),
55
+ },
56
+ },
57
+ };
58
+
59
+ export default function SidebarNavigationScreenTemplates( {
60
+ postType = 'wp_template',
61
+ } ) {
62
+ const { params } = useLocation();
63
+ const isMobileViewport = useViewportMatch( 'medium', '<' );
64
+
65
+ // Ideally the URL params would be enough.
66
+ // Loading the editor should ideally redirect to the home page
67
+ // instead of fetching the edited entity here.
68
+ const { editedPostId, editedPostType } = useSelect( ( select ) => {
69
+ const { getEditedPostType, getEditedPostId } = select( editSiteStore );
70
+ return {
71
+ editedPostId: getEditedPostId(),
72
+ editedPostType: getEditedPostType(),
73
+ };
74
+ }, [] );
75
+
76
+ const { records: templates, isResolving: isLoading } = useEntityRecords(
77
+ 'postType',
78
+ postType,
79
+ {
80
+ per_page: -1,
81
+ }
82
+ );
83
+
84
+ let items = [];
85
+ if ( isLoading ) {
86
+ items = [
87
+ {
88
+ children: config[ postType ].labels.loading,
89
+ },
90
+ ];
91
+ } else if ( ! templates && ! isLoading ) {
92
+ items = [
93
+ {
94
+ children: config[ postType ].labels.notFound,
95
+ },
96
+ ];
97
+ } else {
98
+ items = templates?.map( ( template ) => ( {
99
+ params: {
100
+ postType,
101
+ postId: template.id,
102
+ },
103
+ children: decodeEntities(
104
+ template.title?.rendered || template.slug
105
+ ),
106
+ 'aria-current':
107
+ ( params.postType === postType &&
108
+ params.postId === template.id ) ||
109
+ // This is a special case for the home page.
110
+ ( editedPostId === template.id &&
111
+ editedPostType === postType &&
112
+ !! params.postId )
113
+ ? 'page'
114
+ : undefined,
115
+ } ) );
116
+ }
117
+
118
+ return (
119
+ <SidebarNavigationScreen
120
+ path={ config[ postType ].path }
121
+ parentTitle={ __( 'Design' ) }
122
+ title={
123
+ <HStack justify="space-between">
124
+ <div style={ { flexShrink: 0 } }>
125
+ { config[ postType ].labels.title }
126
+ </div>
127
+ { ! isMobileViewport && (
128
+ <AddNewTemplate
129
+ templateType={ postType }
130
+ toggleProps={ {
131
+ className:
132
+ 'edit-site-sidebar-navigation-screen-templates__add-button',
133
+ } }
134
+ />
135
+ ) }
136
+ </HStack>
137
+ }
138
+ content={
139
+ <>
140
+ <ItemGroup>
141
+ { items.map( ( item, index ) => (
142
+ <Item item={ item } key={ index } />
143
+ ) ) }
144
+
145
+ <SidebarNavigationItem
146
+ className="edit-site-sidebar-navigation-screen-templates__see-all"
147
+ { ...useLink( {
148
+ postType,
149
+ postId: undefined,
150
+ } ) }
151
+ aria-current={
152
+ params.postType === postType && ! params.postId
153
+ ? 'page'
154
+ : undefined
155
+ }
156
+ children={ config[ postType ].labels.manage }
157
+ />
158
+ </ItemGroup>
159
+ </>
160
+ }
161
+ />
162
+ );
163
+ }
@@ -0,0 +1,9 @@
1
+ .edit-site-sidebar-navigation-screen-templates__see-all {
2
+ /* Overrides the margin that comes from the Item component */
3
+ margin-top: $grid-unit-20 !important;
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
+ }
@@ -0,0 +1,150 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classnames from 'classnames';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { useSelect, useDispatch } from '@wordpress/data';
10
+ import {
11
+ Button,
12
+ __unstableMotion as motion,
13
+ __experimentalHStack as HStack,
14
+ __experimentalVStack as VStack,
15
+ } from '@wordpress/components';
16
+ import { useReducedMotion, useViewportMatch } from '@wordpress/compose';
17
+ import { __ } from '@wordpress/i18n';
18
+ import { store as blockEditorStore } from '@wordpress/block-editor';
19
+ import { store as coreStore } from '@wordpress/core-data';
20
+
21
+ /**
22
+ * Internal dependencies
23
+ */
24
+ import { store as editSiteStore } from '../../store';
25
+ import { useLocation } from '../routes';
26
+ import getIsListPage from '../../utils/get-is-list-page';
27
+ import SiteIcon from '../site-icon';
28
+ import useEditedEntityRecord from '../use-edited-entity-record';
29
+
30
+ const HUB_ANIMATION_DURATION = 0.3;
31
+
32
+ function SiteHub( {
33
+ className,
34
+ isMobileCanvasVisible,
35
+ setIsMobileCanvasVisible,
36
+ } ) {
37
+ const { params } = useLocation();
38
+ const isListPage = getIsListPage( params );
39
+ const isEditorPage = ! isListPage;
40
+ const { canvasMode, dashboardLink, entityConfig } = useSelect(
41
+ ( select ) => {
42
+ select( editSiteStore ).getEditedPostType();
43
+ const { __unstableGetCanvasMode, getSettings, getEditedPostType } =
44
+ select( editSiteStore );
45
+ return {
46
+ canvasMode: __unstableGetCanvasMode(),
47
+ dashboardLink: getSettings().__experimentalDashboardLink,
48
+ entityConfig: select( coreStore ).getEntityConfig(
49
+ 'postType',
50
+ getEditedPostType()
51
+ ),
52
+ };
53
+ },
54
+ []
55
+ );
56
+ const disableMotion = useReducedMotion();
57
+ const isMobileViewport = useViewportMatch( 'medium', '<' );
58
+ const { __unstableSetCanvasMode } = useDispatch( editSiteStore );
59
+ const { clearSelectedBlock } = useDispatch( blockEditorStore );
60
+ const showEditButton =
61
+ ( isEditorPage && canvasMode === 'view' && ! isMobileViewport ) ||
62
+ ( isMobileViewport && canvasMode === 'view' && isMobileCanvasVisible );
63
+ const isBackToDashboardButton =
64
+ ( ! isMobileViewport && canvasMode === 'view' ) ||
65
+ ( isMobileViewport && ! isMobileCanvasVisible );
66
+ const showLabels = canvasMode !== 'edit';
67
+ const siteIconButtonProps = isBackToDashboardButton
68
+ ? {
69
+ href: dashboardLink || 'index.php',
70
+ 'aria-label': __( 'Go back to the dashboard' ),
71
+ }
72
+ : {
73
+ label: __( 'Open Navigation Sidebar' ),
74
+ onClick: () => {
75
+ clearSelectedBlock();
76
+ setIsMobileCanvasVisible( false );
77
+ __unstableSetCanvasMode( 'view' );
78
+ },
79
+ };
80
+ const { getTitle } = useEditedEntityRecord();
81
+
82
+ return (
83
+ <motion.div
84
+ className={ classnames( 'edit-site-site-hub', className ) }
85
+ layout
86
+ transition={ {
87
+ type: 'tween',
88
+ duration: disableMotion ? 0 : HUB_ANIMATION_DURATION,
89
+ ease: 'easeOut',
90
+ } }
91
+ >
92
+ <HStack
93
+ justify="flex-start"
94
+ className="edit-site-site-hub__text-content"
95
+ >
96
+ <motion.div
97
+ className="edit-site-site-hub__view-mode-toggle-container"
98
+ layout
99
+ transition={ {
100
+ type: 'tween',
101
+ duration: disableMotion ? 0 : HUB_ANIMATION_DURATION,
102
+ ease: 'easeOut',
103
+ } }
104
+ >
105
+ <Button
106
+ { ...siteIconButtonProps }
107
+ className="edit-site-layout__view-mode-toggle"
108
+ >
109
+ <SiteIcon className="edit-site-layout__view-mode-toggle-icon" />
110
+ </Button>
111
+ </motion.div>
112
+
113
+ { showLabels && (
114
+ <VStack spacing={ 0 }>
115
+ <div className="edit-site-site-hub__title">
116
+ { getTitle() }
117
+ </div>
118
+ <div className="edit-site-site-hub__post-type">
119
+ { entityConfig?.label }
120
+ </div>
121
+ </VStack>
122
+ ) }
123
+ </HStack>
124
+
125
+ { showEditButton && (
126
+ <Button
127
+ className="edit-site-site-hub__edit-button"
128
+ label={ __( 'Open the editor' ) }
129
+ onClick={ () => {
130
+ __unstableSetCanvasMode( 'edit' );
131
+ } }
132
+ variant="primary"
133
+ >
134
+ { __( 'Edit' ) }
135
+ </Button>
136
+ ) }
137
+
138
+ { isMobileViewport && ! isMobileCanvasVisible && (
139
+ <Button
140
+ onClick={ () => setIsMobileCanvasVisible( true ) }
141
+ variant="primary"
142
+ >
143
+ { __( 'View Editor' ) }
144
+ </Button>
145
+ ) }
146
+ </motion.div>
147
+ );
148
+ }
149
+
150
+ export default SiteHub;
@@ -0,0 +1,31 @@
1
+ .edit-site-site-hub {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: space-between;
5
+ gap: $grid-unit-10;
6
+ }
7
+
8
+ .edit-site-site-hub__edit-button {
9
+ height: $grid-unit-40;
10
+ }
11
+
12
+ .edit-site-site-hub__post-type {
13
+ opacity: 0.6;
14
+ }
15
+
16
+ .edit-site-site-hub__view-mode-toggle-container {
17
+ height: $header-height;
18
+ width: $header-height;
19
+ flex-shrink: 0;
20
+ }
21
+
22
+ .edit-site-site-hub__text-content {
23
+ // Necessary for the ellipsis to work.
24
+ overflow: hidden;
25
+ }
26
+
27
+ .edit-site-site-hub__title {
28
+ text-overflow: ellipsis;
29
+ white-space: nowrap;
30
+ overflow: hidden;
31
+ }
@@ -0,0 +1,56 @@
1
+ /**
2
+ * External dependencies
3
+ */
4
+ import classnames from 'classnames';
5
+
6
+ /**
7
+ * WordPress dependencies
8
+ */
9
+ import { useSelect } from '@wordpress/data';
10
+ import { Icon } from '@wordpress/components';
11
+ import { __ } from '@wordpress/i18n';
12
+ import { wordpress } from '@wordpress/icons';
13
+ import { store as coreDataStore } from '@wordpress/core-data';
14
+
15
+ function SiteIcon( { className } ) {
16
+ const { isRequestingSite, siteIconUrl } = useSelect( ( select ) => {
17
+ const { getEntityRecord, isResolving } = select( coreDataStore );
18
+ const siteData =
19
+ getEntityRecord( 'root', '__unstableBase', undefined ) || {};
20
+
21
+ return {
22
+ isRequestingSite: isResolving( 'core', 'getEntityRecord', [
23
+ 'root',
24
+ '__unstableBase',
25
+ undefined,
26
+ ] ),
27
+ siteIconUrl: siteData.site_icon_url,
28
+ };
29
+ }, [] );
30
+
31
+ if ( isRequestingSite && ! siteIconUrl ) {
32
+ return null;
33
+ }
34
+
35
+ const icon = siteIconUrl ? (
36
+ <img
37
+ className="edit-site-site-icon__image"
38
+ alt={ __( 'Site Icon' ) }
39
+ src={ siteIconUrl }
40
+ />
41
+ ) : (
42
+ <Icon
43
+ className="edit-site-site-icon__icon"
44
+ size="36px"
45
+ icon={ wordpress }
46
+ />
47
+ );
48
+
49
+ return (
50
+ <div className={ classnames( className, 'edit-site-site-icon' ) }>
51
+ { icon }
52
+ </div>
53
+ );
54
+ }
55
+
56
+ export default SiteIcon;
@@ -0,0 +1,10 @@
1
+ .edit-site-site-icon__icon {
2
+ fill: currentColor;
3
+ }
4
+
5
+ .edit-site-site-icon__image {
6
+ width: $button-size;
7
+ height: $button-size;
8
+ border-radius: $radius-block-ui;
9
+ object-fit: cover;
10
+ }