@wordpress/edit-site 4.18.0 → 5.0.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 (352) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/build/components/add-new-template/add-custom-template-modal.js +4 -1
  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 +61 -59
  15. package/build/components/block-editor/index.js.map +1 -1
  16. package/build/components/block-editor/resizable-editor.js +13 -85
  17. package/build/components/block-editor/resizable-editor.js.map +1 -1
  18. package/build/components/editor/index.js +80 -127
  19. package/build/components/editor/index.js.map +1 -1
  20. package/build/components/global-styles/block-preview-panel.js +42 -0
  21. package/build/components/global-styles/block-preview-panel.js.map +1 -0
  22. package/build/components/global-styles/context-menu.js +6 -2
  23. package/build/components/global-styles/context-menu.js.map +1 -1
  24. package/build/components/global-styles/custom-css.js +61 -0
  25. package/build/components/global-styles/custom-css.js.map +1 -0
  26. package/build/components/global-styles/dimensions-panel.js +42 -2
  27. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  28. package/build/components/global-styles/global-styles-provider.js +15 -2
  29. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  30. package/build/components/global-styles/hooks.js +37 -2
  31. package/build/components/global-styles/hooks.js.map +1 -1
  32. package/build/components/global-styles/palette.js +9 -2
  33. package/build/components/global-styles/palette.js.map +1 -1
  34. package/build/components/global-styles/screen-block-list.js +2 -1
  35. package/build/components/global-styles/screen-block-list.js.map +1 -1
  36. package/build/components/global-styles/screen-block.js +10 -2
  37. package/build/components/global-styles/screen-block.js.map +1 -1
  38. package/build/components/global-styles/screen-border.js +43 -0
  39. package/build/components/global-styles/screen-border.js.map +1 -0
  40. package/build/components/global-styles/screen-colors.js +1 -1
  41. package/build/components/global-styles/screen-colors.js.map +1 -1
  42. package/build/components/global-styles/screen-css.js +42 -0
  43. package/build/components/global-styles/screen-css.js.map +1 -0
  44. package/build/components/global-styles/screen-layout.js +0 -5
  45. package/build/components/global-styles/screen-layout.js.map +1 -1
  46. package/build/components/global-styles/screen-root.js +14 -1
  47. package/build/components/global-styles/screen-root.js.map +1 -1
  48. package/build/components/global-styles/screen-style-variations.js +3 -3
  49. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  50. package/build/components/global-styles/typography-panel.js +52 -16
  51. package/build/components/global-styles/typography-panel.js.map +1 -1
  52. package/build/components/global-styles/ui.js +50 -4
  53. package/build/components/global-styles/ui.js.map +1 -1
  54. package/build/components/global-styles/use-global-styles-output.js +47 -8
  55. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  56. package/build/components/global-styles/utils.js +3 -3
  57. package/build/components/global-styles/utils.js.map +1 -1
  58. package/build/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -8
  59. package/build/components/global-styles-renderer/index.js.map +1 -0
  60. package/build/components/header-edit-mode/document-actions/index.js +14 -5
  61. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  62. package/build/components/header-edit-mode/index.js +31 -17
  63. package/build/components/header-edit-mode/index.js.map +1 -1
  64. package/build/components/keyboard-shortcuts/index.js +14 -1
  65. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  66. package/build/components/layout/index.js +231 -0
  67. package/build/components/layout/index.js.map +1 -0
  68. package/build/components/list/header.js +5 -1
  69. package/build/components/list/header.js.map +1 -1
  70. package/build/components/list/index.js +4 -22
  71. package/build/components/list/index.js.map +1 -1
  72. package/build/components/list/table.js +1 -1
  73. package/build/components/list/table.js.map +1 -1
  74. package/build/components/list/use-register-shortcuts.js +3 -0
  75. package/build/components/list/use-register-shortcuts.js.map +1 -1
  76. package/build/components/navigate-to-link/index.js +1 -3
  77. package/build/components/navigate-to-link/index.js.map +1 -1
  78. package/build/components/routes/index.js +1 -1
  79. package/build/components/routes/index.js.map +1 -1
  80. package/build/components/save-button/index.js +20 -2
  81. package/build/components/save-button/index.js.map +1 -1
  82. package/build/components/sidebar/index.js +42 -0
  83. package/build/components/sidebar/index.js.map +1 -0
  84. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +24 -4
  85. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  86. package/build/components/sidebar-edit-mode/index.js +1 -1
  87. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  88. package/build/components/sidebar-edit-mode/template-card/index.js +4 -2
  89. package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  90. package/build/components/sidebar-navigation-item/index.js +53 -0
  91. package/build/components/sidebar-navigation-item/index.js.map +1 -0
  92. package/build/components/sidebar-navigation-screen/index.js +49 -0
  93. package/build/components/sidebar-navigation-screen/index.js.map +1 -0
  94. package/build/components/sidebar-navigation-screen-main/index.js +76 -0
  95. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -0
  96. package/build/components/sidebar-navigation-screen-templates/index.js +188 -0
  97. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -0
  98. package/build/components/site-icon/index.js +70 -0
  99. package/build/components/site-icon/index.js.map +1 -0
  100. package/build/components/site-title/index.js +55 -0
  101. package/build/components/site-title/index.js.map +1 -0
  102. package/build/components/style-book/index.js +173 -0
  103. package/build/components/style-book/index.js.map +1 -0
  104. package/build/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +5 -4
  105. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
  106. package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +53 -0
  107. package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
  108. package/build/components/template-details/index.js +4 -2
  109. package/build/components/template-details/index.js.map +1 -1
  110. package/build/index.js +2 -45
  111. package/build/index.js.map +1 -1
  112. package/build/store/actions.js +93 -43
  113. package/build/store/actions.js.map +1 -1
  114. package/build/store/reducer.js +35 -107
  115. package/build/store/reducer.js.map +1 -1
  116. package/build/store/selectors.js +69 -78
  117. package/build/store/selectors.js.map +1 -1
  118. package/build-module/components/add-new-template/add-custom-template-modal.js +3 -1
  119. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  120. package/build-module/components/add-new-template/index.js +7 -5
  121. package/build-module/components/add-new-template/index.js.map +1 -1
  122. package/build-module/components/add-new-template/new-template-part.js +18 -6
  123. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  124. package/build-module/components/add-new-template/new-template.js +13 -9
  125. package/build-module/components/add-new-template/new-template.js.map +1 -1
  126. package/build-module/components/app/index.js +15 -28
  127. package/build-module/components/app/index.js.map +1 -1
  128. package/build-module/components/block-editor/editor-canvas.js +51 -0
  129. package/build-module/components/block-editor/editor-canvas.js.map +1 -0
  130. package/build-module/components/block-editor/index.js +61 -60
  131. package/build-module/components/block-editor/index.js.map +1 -1
  132. package/build-module/components/block-editor/resizable-editor.js +15 -82
  133. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  134. package/build-module/components/editor/index.js +81 -124
  135. package/build-module/components/editor/index.js.map +1 -1
  136. package/build-module/components/global-styles/block-preview-panel.js +32 -0
  137. package/build-module/components/global-styles/block-preview-panel.js.map +1 -0
  138. package/build-module/components/global-styles/context-menu.js +7 -3
  139. package/build-module/components/global-styles/context-menu.js.map +1 -1
  140. package/build-module/components/global-styles/custom-css.js +51 -0
  141. package/build-module/components/global-styles/custom-css.js.map +1 -0
  142. package/build-module/components/global-styles/dimensions-panel.js +43 -3
  143. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  144. package/build-module/components/global-styles/global-styles-provider.js +15 -2
  145. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  146. package/build-module/components/global-styles/hooks.js +32 -4
  147. package/build-module/components/global-styles/hooks.js.map +1 -1
  148. package/build-module/components/global-styles/palette.js +10 -4
  149. package/build-module/components/global-styles/palette.js.map +1 -1
  150. package/build-module/components/global-styles/screen-block-list.js +2 -1
  151. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  152. package/build-module/components/global-styles/screen-block.js +8 -2
  153. package/build-module/components/global-styles/screen-block.js.map +1 -1
  154. package/build-module/components/global-styles/screen-border.js +27 -0
  155. package/build-module/components/global-styles/screen-border.js.map +1 -0
  156. package/build-module/components/global-styles/screen-colors.js +1 -1
  157. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  158. package/build-module/components/global-styles/screen-css.js +28 -0
  159. package/build-module/components/global-styles/screen-css.js.map +1 -0
  160. package/build-module/components/global-styles/screen-layout.js +0 -4
  161. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  162. package/build-module/components/global-styles/screen-root.js +14 -1
  163. package/build-module/components/global-styles/screen-root.js.map +1 -1
  164. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  165. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  166. package/build-module/components/global-styles/typography-panel.js +53 -16
  167. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  168. package/build-module/components/global-styles/ui.js +48 -5
  169. package/build-module/components/global-styles/ui.js.map +1 -1
  170. package/build-module/components/global-styles/use-global-styles-output.js +48 -9
  171. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  172. package/build-module/components/global-styles/utils.js +4 -4
  173. package/build-module/components/global-styles/utils.js.map +1 -1
  174. package/build-module/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -7
  175. package/build-module/components/global-styles-renderer/index.js.map +1 -0
  176. package/build-module/components/header-edit-mode/document-actions/index.js +14 -6
  177. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  178. package/build-module/components/header-edit-mode/index.js +27 -16
  179. package/build-module/components/header-edit-mode/index.js.map +1 -1
  180. package/build-module/components/keyboard-shortcuts/index.js +13 -1
  181. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  182. package/build-module/components/layout/index.js +203 -0
  183. package/build-module/components/layout/index.js.map +1 -0
  184. package/build-module/components/list/header.js +5 -1
  185. package/build-module/components/list/header.js.map +1 -1
  186. package/build-module/components/list/index.js +4 -19
  187. package/build-module/components/list/index.js.map +1 -1
  188. package/build-module/components/list/table.js +1 -1
  189. package/build-module/components/list/table.js.map +1 -1
  190. package/build-module/components/list/use-register-shortcuts.js +3 -0
  191. package/build-module/components/list/use-register-shortcuts.js.map +1 -1
  192. package/build-module/components/navigate-to-link/index.js +1 -3
  193. package/build-module/components/navigate-to-link/index.js.map +1 -1
  194. package/build-module/components/routes/index.js +1 -1
  195. package/build-module/components/routes/index.js.map +1 -1
  196. package/build-module/components/save-button/index.js +21 -2
  197. package/build-module/components/save-button/index.js.map +1 -1
  198. package/build-module/components/sidebar/index.js +30 -0
  199. package/build-module/components/sidebar/index.js.map +1 -0
  200. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +27 -7
  201. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  202. package/build-module/components/sidebar-edit-mode/index.js +3 -3
  203. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  204. package/build-module/components/sidebar-edit-mode/template-card/index.js +3 -2
  205. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -1
  206. package/build-module/components/sidebar-navigation-item/index.js +40 -0
  207. package/build-module/components/sidebar-navigation-item/index.js.map +1 -0
  208. package/build-module/components/sidebar-navigation-screen/index.js +39 -0
  209. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -0
  210. package/build-module/components/sidebar-navigation-screen-main/index.js +57 -0
  211. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -0
  212. package/build-module/components/sidebar-navigation-screen-templates/index.js +165 -0
  213. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -0
  214. package/build-module/components/site-icon/index.js +55 -0
  215. package/build-module/components/site-icon/index.js.map +1 -0
  216. package/build-module/components/site-title/index.js +43 -0
  217. package/build-module/components/site-title/index.js.map +1 -0
  218. package/build-module/components/style-book/index.js +156 -0
  219. package/build-module/components/style-book/index.js.map +1 -0
  220. package/build-module/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +4 -3
  221. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
  222. package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +43 -0
  223. package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
  224. package/build-module/components/template-details/index.js +3 -2
  225. package/build-module/components/template-details/index.js.map +1 -1
  226. package/build-module/index.js +5 -36
  227. package/build-module/index.js.map +1 -1
  228. package/build-module/store/actions.js +87 -42
  229. package/build-module/store/actions.js.map +1 -1
  230. package/build-module/store/reducer.js +35 -102
  231. package/build-module/store/reducer.js.map +1 -1
  232. package/build-module/store/selectors.js +60 -72
  233. package/build-module/store/selectors.js.map +1 -1
  234. package/build-style/style-rtl.css +558 -354
  235. package/build-style/style.css +558 -354
  236. package/package.json +33 -31
  237. package/src/components/add-new-template/add-custom-template-modal.js +6 -1
  238. package/src/components/add-new-template/index.js +6 -3
  239. package/src/components/add-new-template/new-template-part.js +15 -3
  240. package/src/components/add-new-template/new-template.js +14 -7
  241. package/src/components/add-new-template/style.scss +0 -4
  242. package/src/components/app/index.js +14 -43
  243. package/src/components/block-editor/editor-canvas.js +69 -0
  244. package/src/components/block-editor/index.js +102 -87
  245. package/src/components/block-editor/resizable-editor.js +12 -112
  246. package/src/components/block-editor/style.scss +25 -1
  247. package/src/components/code-editor/style.scss +1 -1
  248. package/src/components/editor/index.js +170 -236
  249. package/src/components/editor/style.scss +1 -29
  250. package/src/components/global-styles/block-preview-panel.js +29 -0
  251. package/src/components/global-styles/context-menu.js +11 -2
  252. package/src/components/global-styles/custom-css.js +73 -0
  253. package/src/components/global-styles/dimensions-panel.js +56 -1
  254. package/src/components/global-styles/global-styles-provider.js +39 -17
  255. package/src/components/global-styles/hooks.js +44 -3
  256. package/src/components/global-styles/palette.js +16 -2
  257. package/src/components/global-styles/screen-block-list.js +2 -1
  258. package/src/components/global-styles/screen-block.js +9 -1
  259. package/src/components/global-styles/screen-border.js +23 -0
  260. package/src/components/global-styles/screen-colors.js +2 -1
  261. package/src/components/global-styles/screen-css.js +33 -0
  262. package/src/components/global-styles/screen-layout.js +0 -3
  263. package/src/components/global-styles/screen-root.js +30 -1
  264. package/src/components/global-styles/screen-style-variations.js +5 -2
  265. package/src/components/global-styles/style.scss +31 -2
  266. package/src/components/global-styles/test/typography-utils.js +82 -98
  267. package/src/components/global-styles/test/use-global-styles-output.js +6 -6
  268. package/src/components/global-styles/typography-panel.js +57 -15
  269. package/src/components/global-styles/ui.js +47 -4
  270. package/src/components/global-styles/use-global-styles-output.js +52 -10
  271. package/src/components/global-styles/utils.js +8 -5
  272. package/src/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +3 -9
  273. package/src/components/header-edit-mode/document-actions/index.js +16 -10
  274. package/src/components/header-edit-mode/document-actions/style.scss +8 -1
  275. package/src/components/header-edit-mode/index.js +104 -82
  276. package/src/components/header-edit-mode/style.scss +5 -33
  277. package/src/components/keyboard-shortcuts/index.js +17 -0
  278. package/src/components/layout/index.js +278 -0
  279. package/src/components/layout/style.scss +176 -0
  280. package/src/components/list/header.js +5 -1
  281. package/src/components/list/index.js +12 -31
  282. package/src/components/list/style.scss +10 -4
  283. package/src/components/list/table.js +1 -1
  284. package/src/components/list/use-register-shortcuts.js +4 -0
  285. package/src/components/navigate-to-link/index.js +2 -8
  286. package/src/components/routes/index.js +1 -1
  287. package/src/components/save-button/index.js +17 -1
  288. package/src/components/sidebar/index.js +34 -0
  289. package/src/components/sidebar/style.scss +8 -0
  290. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -7
  291. package/src/components/sidebar-edit-mode/index.js +3 -3
  292. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/style.scss +21 -3
  293. package/src/components/sidebar-edit-mode/settings-header/style.scss +47 -34
  294. package/src/components/sidebar-edit-mode/style.scss +0 -13
  295. package/src/components/sidebar-edit-mode/template-card/index.js +3 -2
  296. package/src/components/sidebar-navigation-item/index.js +51 -0
  297. package/src/components/sidebar-navigation-item/style.scss +17 -0
  298. package/src/components/sidebar-navigation-screen/index.js +55 -0
  299. package/src/components/sidebar-navigation-screen/style.scss +41 -0
  300. package/src/components/sidebar-navigation-screen-main/index.js +72 -0
  301. package/src/components/sidebar-navigation-screen-templates/index.js +181 -0
  302. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  303. package/src/components/site-icon/index.js +56 -0
  304. package/src/components/site-icon/style.scss +10 -0
  305. package/src/components/site-title/index.js +39 -0
  306. package/src/components/style-book/index.js +193 -0
  307. package/src/components/style-book/style.scss +78 -0
  308. package/src/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +3 -3
  309. package/src/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +36 -0
  310. package/src/components/template-details/index.js +3 -2
  311. package/src/components/template-details/style.scss +4 -0
  312. package/src/index.js +3 -53
  313. package/src/store/actions.js +93 -48
  314. package/src/store/reducer.js +29 -91
  315. package/src/store/selectors.js +61 -101
  316. package/src/store/test/actions.js +3 -15
  317. package/src/store/test/reducer.js +8 -192
  318. package/src/store/test/selectors.js +3 -42
  319. package/src/style.scss +19 -3
  320. package/build/components/editor/global-styles-renderer.js.map +0 -1
  321. package/build/components/navigation-sidebar/index.js +0 -62
  322. package/build/components/navigation-sidebar/index.js.map +0 -1
  323. package/build/components/navigation-sidebar/navigation-panel/constants.js +0 -77
  324. package/build/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
  325. package/build/components/navigation-sidebar/navigation-panel/index.js +0 -152
  326. package/build/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
  327. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
  328. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
  329. package/build/components/navigation-sidebar/navigation-toggle/index.js +0 -124
  330. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
  331. package/build/components/url-query-controller/index.js.map +0 -1
  332. package/build-module/components/editor/global-styles-renderer.js.map +0 -1
  333. package/build-module/components/navigation-sidebar/index.js +0 -45
  334. package/build-module/components/navigation-sidebar/index.js.map +0 -1
  335. package/build-module/components/navigation-sidebar/navigation-panel/constants.js +0 -49
  336. package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
  337. package/build-module/components/navigation-sidebar/navigation-panel/index.js +0 -131
  338. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
  339. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -66
  340. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
  341. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +0 -108
  342. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
  343. package/build-module/components/url-query-controller/index.js.map +0 -1
  344. package/src/components/navigation-sidebar/index.js +0 -46
  345. package/src/components/navigation-sidebar/navigation-panel/constants.js +0 -94
  346. package/src/components/navigation-sidebar/navigation-panel/index.js +0 -142
  347. package/src/components/navigation-sidebar/navigation-panel/style.scss +0 -159
  348. package/src/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
  349. package/src/components/navigation-sidebar/navigation-toggle/index.js +0 -114
  350. package/src/components/navigation-sidebar/navigation-toggle/style.scss +0 -71
  351. package/src/components/navigation-sidebar/navigation-toggle/test/__snapshots__/index.js.snap +0 -41
  352. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +0 -69
@@ -1,159 +0,0 @@
1
- .edit-site-navigation-panel {
2
- height: 100%;
3
- position: relative;
4
- width: 0;
5
- overflow: hidden;
6
- background: $gray-900;
7
- color: $white;
8
- transition: width 100ms linear;
9
- @include reduce-motion("transition");
10
-
11
- // Footer is visible from medium so we subtract footer's height
12
- .interface-interface-skeleton.has-footer & {
13
- @include break-medium() {
14
- height: calc(100% - #{$button-size-small + $border-width});
15
- }
16
- }
17
- }
18
-
19
- .edit-site-navigation-panel__inner {
20
- position: relative;
21
- width: $nav-sidebar-width;
22
- height: 100%;
23
- overflow: hidden;
24
- // Inner container is hidden to remove menu from the accessibility tree when not visible.
25
- // Setting visibility here (rather than on the parent container) preserves the slide transition.
26
- visibility: hidden;
27
- // Transition settings should match parent container.
28
- transition: visibility 100ms linear;
29
- @include reduce-motion("transition");
30
- }
31
-
32
- .edit-site-navigation-panel.is-open {
33
- width: $nav-sidebar-width;
34
-
35
- .edit-site-navigation-panel__inner {
36
- visibility: visible;
37
- }
38
- }
39
-
40
- .edit-site-navigation-panel__site-title-container {
41
- height: $header-height;
42
- padding-left: $header-height;
43
- margin: 0 $grid-unit-20 0 $grid-unit-10;
44
- display: flex;
45
- align-items: center;
46
- }
47
-
48
- .edit-site-navigation-panel__site-title {
49
- font-style: normal;
50
- font-weight: 600;
51
- font-size: 14px; /* Matches menu items */
52
- line-height: 20px;
53
- color: $gray-300;
54
-
55
- display: -webkit-box;
56
- -webkit-line-clamp: 2;
57
- -webkit-box-orient: vertical;
58
- overflow: hidden;
59
- }
60
-
61
- .edit-site-navigation-panel__scroll-container {
62
- overflow-x: hidden;
63
- overflow-y: auto;
64
- height: calc(100% - #{$header-height});
65
- }
66
-
67
- .edit-site-navigation-panel__back-to-dashboard.components-button.is-tertiary {
68
- height: $button-size;
69
- margin-top: $grid-unit-30;
70
- padding: $grid-unit $grid-unit-20 $grid-unit $grid-unit;
71
-
72
- &:focus:not(:disabled) {
73
- border-bottom-color: transparent;
74
- }
75
- }
76
-
77
- .edit-site-navigation-panel__preview {
78
- display: none;
79
- border: $border-width solid $gray-400;
80
- width: $nav-sidebar-width;
81
- padding: $grid-unit-20;
82
- background: $white;
83
- box-shadow: $shadow-popover;
84
- border-radius: $radius-block-ui;
85
- position: absolute;
86
- top: $header-height + $grid-unit-15 + 1px; // +1px for the header border
87
- left: $nav-sidebar-width + $grid-unit-15;
88
- color: $gray-900;
89
- z-index: z-index(".edit-site-navigation-panel__preview");
90
-
91
- @include break-medium {
92
- display: block;
93
- }
94
- }
95
-
96
- .edit-site-navigation-panel__template-item {
97
- display: block;
98
-
99
- .components-button {
100
- display: flex;
101
- flex-direction: column;
102
- align-items: flex-start;
103
- justify-content: center;
104
- height: auto;
105
- min-height: $button-size;
106
- text-align: left;
107
- padding-left: $grid-unit-20;
108
- padding-right: $grid-unit-20;
109
- color: inherit;
110
- }
111
- }
112
-
113
- .edit-site-navigation-panel__template-item-title {
114
- font-size: 14px;
115
- line-height: 20px;
116
-
117
- em {
118
- margin-right: 1ch;
119
- }
120
- }
121
-
122
- .edit-site-navigation-panel__template-parts .components-navigation__menu-title-heading {
123
- text-transform: capitalize;
124
- }
125
-
126
- .edit-site-navigation-panel__template-part-item .components-navigation__item-title {
127
- text-transform: capitalize;
128
- }
129
-
130
- .components-navigation__item + .edit-site-navigation-panel__template-item {
131
- margin-top: $grid-unit-20;
132
- }
133
-
134
- .edit-site-navigation-panel__template-item + .edit-site-navigation-panel__template-item {
135
- margin-top: $grid-unit-10;
136
- }
137
-
138
- .edit-site-navigation-panel__info-wrapper {
139
- padding: $grid-unit-05 0;
140
- }
141
-
142
- .edit-site-navigation-panel__template-item-description {
143
- padding-top: $grid-unit-10;
144
- font-size: 12px;
145
- line-height: 16px;
146
- }
147
-
148
- .edit-site-navigation-panel__new-template-dropdown {
149
- margin: 0 0 0 $grid-unit-15;
150
-
151
- button {
152
- margin: 0;
153
- }
154
- }
155
- .edit-site-navigation-panel__new-template-popover {
156
- @include break-small() {
157
- min-width: 300px;
158
- }
159
- }
@@ -1,81 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { map } from 'lodash';
5
-
6
- /**
7
- * Internal dependencies
8
- */
9
- import {
10
- MENU_TEMPLATES,
11
- MENU_TEMPLATES_GENERAL,
12
- MENU_TEMPLATES_PAGES,
13
- MENU_TEMPLATES_POSTS,
14
- TEMPLATE_OVERRIDES,
15
- TEMPLATES_GENERAL,
16
- TEMPLATES_PAGES_PREFIXES,
17
- TEMPLATES_POSTS_PREFIXES,
18
- TEMPLATES_TOP_LEVEL,
19
- } from './constants';
20
-
21
- export function isTemplateSuperseded( slug, existingSlugs, showOnFront ) {
22
- if ( ! TEMPLATE_OVERRIDES[ slug ] ) {
23
- return false;
24
- }
25
-
26
- // `home` template is unused if it is superseded by `front-page`
27
- // or "show on front" is set to show a page rather than blog posts.
28
- if ( slug === 'home' && showOnFront !== 'posts' ) {
29
- return true;
30
- }
31
-
32
- return TEMPLATE_OVERRIDES[ slug ].every(
33
- ( overrideSlug ) =>
34
- existingSlugs.includes( overrideSlug ) ||
35
- isTemplateSuperseded( overrideSlug, existingSlugs, showOnFront )
36
- );
37
- }
38
-
39
- export function getTemplateLocation( slug ) {
40
- const isTopLevelTemplate = TEMPLATES_TOP_LEVEL.includes( slug );
41
- if ( isTopLevelTemplate ) {
42
- return MENU_TEMPLATES;
43
- }
44
-
45
- const isGeneralTemplate = TEMPLATES_GENERAL.includes( slug );
46
- if ( isGeneralTemplate ) {
47
- return MENU_TEMPLATES_GENERAL;
48
- }
49
-
50
- const isPostsTemplate = TEMPLATES_POSTS_PREFIXES.some( ( prefix ) =>
51
- slug.startsWith( prefix )
52
- );
53
- if ( isPostsTemplate ) {
54
- return MENU_TEMPLATES_POSTS;
55
- }
56
-
57
- const isPagesTemplate = TEMPLATES_PAGES_PREFIXES.some( ( prefix ) =>
58
- slug.startsWith( prefix )
59
- );
60
- if ( isPagesTemplate ) {
61
- return MENU_TEMPLATES_PAGES;
62
- }
63
-
64
- return MENU_TEMPLATES_GENERAL;
65
- }
66
-
67
- export function getUnusedTemplates( templates, showOnFront ) {
68
- const templateSlugs = map( templates, 'slug' );
69
- const supersededTemplates = templates.filter( ( { slug } ) =>
70
- isTemplateSuperseded( slug, templateSlugs, showOnFront )
71
- );
72
-
73
- return supersededTemplates;
74
- }
75
-
76
- export function getTemplatesLocationMap( templates ) {
77
- return templates.reduce( ( obj, template ) => {
78
- obj[ template.slug ] = getTemplateLocation( template.slug );
79
- return obj;
80
- }, {} );
81
- }
@@ -1,114 +0,0 @@
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 { useEffect, useRef } from '@wordpress/element';
11
- import {
12
- Button,
13
- Icon,
14
- __unstableMotion as motion,
15
- } from '@wordpress/components';
16
- import { __ } from '@wordpress/i18n';
17
- import { wordpress } from '@wordpress/icons';
18
- import { store as coreDataStore } from '@wordpress/core-data';
19
- import { useReducedMotion } from '@wordpress/compose';
20
-
21
- /**
22
- * Internal dependencies
23
- */
24
- import { store as editSiteStore } from '../../../store';
25
-
26
- function NavigationToggle( { icon } ) {
27
- const { isNavigationOpen, isRequestingSiteIcon, siteIconUrl } = useSelect(
28
- ( select ) => {
29
- const { getEntityRecord, isResolving } = select( coreDataStore );
30
- const siteData =
31
- getEntityRecord( 'root', '__unstableBase', undefined ) || {};
32
-
33
- return {
34
- isNavigationOpen: select( editSiteStore ).isNavigationOpened(),
35
- isRequestingSiteIcon: isResolving( 'core', 'getEntityRecord', [
36
- 'root',
37
- '__unstableBase',
38
- undefined,
39
- ] ),
40
- siteIconUrl: siteData.site_icon_url,
41
- };
42
- },
43
- []
44
- );
45
- const { setIsNavigationPanelOpened } = useDispatch( editSiteStore );
46
-
47
- const disableMotion = useReducedMotion();
48
-
49
- const navigationToggleRef = useRef();
50
-
51
- useEffect( () => {
52
- // TODO: Remove this effect when alternative solution is merged.
53
- // See: https://github.com/WordPress/gutenberg/pull/37314
54
- if ( ! isNavigationOpen ) {
55
- navigationToggleRef.current.focus();
56
- }
57
- }, [ isNavigationOpen ] );
58
-
59
- const toggleNavigationPanel = () =>
60
- setIsNavigationPanelOpened( ! isNavigationOpen );
61
-
62
- let buttonIcon = <Icon size="36px" icon={ wordpress } />;
63
-
64
- const effect = {
65
- expand: {
66
- scale: 1.25,
67
- transition: { type: 'tween', duration: '0.3' },
68
- },
69
- };
70
-
71
- if ( siteIconUrl ) {
72
- buttonIcon = (
73
- <motion.img
74
- variants={ ! disableMotion && effect }
75
- alt={ __( 'Site Icon' ) }
76
- className="edit-site-navigation-toggle__site-icon"
77
- src={ siteIconUrl }
78
- />
79
- );
80
- } else if ( isRequestingSiteIcon ) {
81
- buttonIcon = null;
82
- } else if ( icon ) {
83
- buttonIcon = <Icon size="36px" icon={ icon } />;
84
- }
85
-
86
- const classes = classnames( {
87
- 'edit-site-navigation-toggle__button': true,
88
- 'has-icon': siteIconUrl,
89
- } );
90
-
91
- return (
92
- <motion.div
93
- className={
94
- 'edit-site-navigation-toggle' +
95
- ( isNavigationOpen ? ' is-open' : '' )
96
- }
97
- whileHover="expand"
98
- >
99
- <Button
100
- className={ classes }
101
- label={ __( 'Toggle navigation' ) }
102
- ref={ navigationToggleRef }
103
- // isPressed will add unwanted styles.
104
- aria-pressed={ isNavigationOpen }
105
- onClick={ toggleNavigationPanel }
106
- showTooltip
107
- >
108
- { buttonIcon }
109
- </Button>
110
- </motion.div>
111
- );
112
- }
113
-
114
- export default NavigationToggle;
@@ -1,71 +0,0 @@
1
- // Developer notes: these rules are duplicated for the post editor.
2
- // They need to be updated in both places.
3
-
4
- .edit-site-navigation-toggle {
5
- align-items: center;
6
- background: $gray-900;
7
- border-radius: 0;
8
- display: flex;
9
- position: absolute;
10
- z-index: z-index(".edit-site-navigation-toggle");
11
- height: $header-height;
12
- width: $header-height;
13
- }
14
-
15
- .edit-site-navigation-toggle__button.components-button {
16
- align-items: center;
17
- background: $gray-900;
18
- border-radius: 0;
19
- color: $white;
20
- height: $header-height + $border-width;
21
- width: $header-height;
22
- z-index: 1;
23
- margin-bottom: - $border-width;
24
- min-width: $header-height;
25
-
26
- &:hover,
27
- &:active {
28
- color: $white;
29
- }
30
-
31
- &:focus {
32
- box-shadow: none;
33
- }
34
-
35
- &::before {
36
- transition: box-shadow 0.1s ease;
37
- @include reduce-motion("transition");
38
- content: "";
39
- display: block;
40
- position: absolute;
41
- top: 9px;
42
- right: 9px;
43
- bottom: 9px;
44
- left: 9px;
45
- border-radius: $radius-block-ui + $border-width + $border-width;
46
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) $gray-900;
47
- }
48
-
49
- // Hover color.
50
- &:hover::before {
51
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) $gray-700;
52
- }
53
-
54
- &.has-icon:hover::before {
55
- box-shadow: none;
56
- }
57
-
58
- // Lightened spot color focus.
59
- &:focus::before {
60
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba($white, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
61
- }
62
-
63
- .edit-site-navigation-toggle__site-icon {
64
- width: $button-size;
65
- height: $button-size;
66
- border-radius: $radius-block-ui;
67
- object-fit: cover;
68
- // Compensate for the top-bar border.
69
- margin-top: -($border-width);
70
- }
71
- }
@@ -1,41 +0,0 @@
1
- // Jest Snapshot v1, https://goo.gl/fbAQLP
2
-
3
- exports[`NavigationToggle when in full screen mode should display a default site icon if no user uploaded site icon exists 1`] = `
4
- <div>
5
- <div
6
- class="edit-site-navigation-toggle"
7
- >
8
- <button
9
- aria-label="Toggle navigation"
10
- aria-pressed="false"
11
- class="components-button edit-site-navigation-toggle__button"
12
- type="button"
13
- >
14
- <svg
15
- aria-hidden="true"
16
- focusable="false"
17
- height="36px"
18
- viewBox="-2 -2 24 24"
19
- width="36px"
20
- xmlns="http://www.w3.org/2000/svg"
21
- >
22
- <path
23
- d="M20 10c0-5.51-4.49-10-10-10C4.48 0 0 4.49 0 10c0 5.52 4.48 10 10 10 5.51 0 10-4.48 10-10zM7.78 15.37L4.37 6.22c.55-.02 1.17-.08 1.17-.08.5-.06.44-1.13-.06-1.11 0 0-1.45.11-2.37.11-.18 0-.37 0-.58-.01C4.12 2.69 6.87 1.11 10 1.11c2.33 0 4.45.87 6.05 2.34-.68-.11-1.65.39-1.65 1.58 0 .74.45 1.36.9 2.1.35.61.55 1.36.55 2.46 0 1.49-1.4 5-1.4 5l-3.03-8.37c.54-.02.82-.17.82-.17.5-.05.44-1.25-.06-1.22 0 0-1.44.12-2.38.12-.87 0-2.33-.12-2.33-.12-.5-.03-.56 1.2-.06 1.22l.92.08 1.26 3.41zM17.41 10c.24-.64.74-1.87.43-4.25.7 1.29 1.05 2.71 1.05 4.25 0 3.29-1.73 6.24-4.4 7.78.97-2.59 1.94-5.2 2.92-7.78zM6.1 18.09C3.12 16.65 1.11 13.53 1.11 10c0-1.3.23-2.48.72-3.59C3.25 10.3 4.67 14.2 6.1 18.09zm4.03-6.63l2.58 6.98c-.86.29-1.76.45-2.71.45-.79 0-1.57-.11-2.29-.33.81-2.38 1.62-4.74 2.42-7.1z"
24
- />
25
- </svg>
26
- <div
27
- aria-hidden="true"
28
- class="components-popover components-tooltip"
29
- style="position: absolute;"
30
- tabindex="-1"
31
- >
32
- <div
33
- class="components-popover__content"
34
- >
35
- Toggle navigation
36
- </div>
37
- </div>
38
- </button>
39
- </div>
40
- </div>
41
- `;
@@ -1,69 +0,0 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { render, screen } from '@testing-library/react';
5
-
6
- /**
7
- * WordPress dependencies
8
- */
9
- import { useSelect } from '@wordpress/data';
10
-
11
- /**
12
- * Internal dependencies
13
- */
14
- import NavigationToggle from '..';
15
-
16
- jest.mock( '@wordpress/data/src/components/use-select', () => {
17
- // This allows us to tweak the returned value on each test.
18
- const mock = jest.fn();
19
- return mock;
20
- } );
21
- jest.mock( '@wordpress/data/src/components/use-dispatch', () => ( {
22
- useDispatch: () => ( { setNavigationPanelActiveMenu: jest.fn() } ),
23
- } ) );
24
-
25
- jest.mock( '@wordpress/core-data' );
26
-
27
- describe( 'NavigationToggle', () => {
28
- describe( 'when in full screen mode', () => {
29
- it( 'should display a user uploaded site icon if it exists', () => {
30
- useSelect.mockImplementation( ( cb ) => {
31
- return cb( () => ( {
32
- getCurrentTemplateNavigationPanelSubMenu: () => 'root',
33
- getEntityRecord: () => ( {
34
- site_icon_url: 'https://fakeUrl.com',
35
- } ),
36
- isResolving: () => false,
37
- isNavigationOpened: () => false,
38
- } ) );
39
- } );
40
-
41
- render( <NavigationToggle /> );
42
-
43
- const siteIcon = screen.getByAltText( 'Site Icon' );
44
-
45
- expect( siteIcon ).toBeVisible();
46
- } );
47
-
48
- it( 'should display a default site icon if no user uploaded site icon exists', () => {
49
- useSelect.mockImplementation( ( cb ) => {
50
- return cb( () => ( {
51
- getCurrentTemplateNavigationPanelSubMenu: () => 'root',
52
- getEntityRecord: () => ( {
53
- site_icon_url: '',
54
- } ),
55
- isResolving: () => false,
56
- isNavigationOpened: () => false,
57
- } ) );
58
- } );
59
-
60
- const { container } = render( <NavigationToggle /> );
61
-
62
- expect(
63
- screen.queryByAltText( 'Site Icon' )
64
- ).not.toBeInTheDocument();
65
-
66
- expect( container ).toMatchSnapshot();
67
- } );
68
- } );
69
- } );