@wordpress/edit-site 4.19.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 (319) hide show
  1. package/CHANGELOG.md +6 -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 +61 -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 +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 +2 -6
  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 +5 -2
  31. package/build/components/global-styles/hooks.js.map +1 -1
  32. package/build/components/global-styles/palette.js +1 -1
  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/ui.js +50 -4
  51. package/build/components/global-styles/ui.js.map +1 -1
  52. package/build/components/global-styles/use-global-styles-output.js +5 -1
  53. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  54. package/build/components/global-styles/utils.js +3 -3
  55. package/build/components/global-styles/utils.js.map +1 -1
  56. package/build/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -8
  57. package/build/components/global-styles-renderer/index.js.map +1 -0
  58. package/build/components/header-edit-mode/document-actions/index.js +12 -5
  59. package/build/components/header-edit-mode/document-actions/index.js.map +1 -1
  60. package/build/components/header-edit-mode/index.js +19 -12
  61. package/build/components/header-edit-mode/index.js.map +1 -1
  62. package/build/components/keyboard-shortcuts/index.js +11 -1
  63. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  64. package/build/components/layout/index.js +231 -0
  65. package/build/components/layout/index.js.map +1 -0
  66. package/build/components/list/header.js +5 -1
  67. package/build/components/list/header.js.map +1 -1
  68. package/build/components/list/index.js +4 -22
  69. package/build/components/list/index.js.map +1 -1
  70. package/build/components/navigate-to-link/index.js +1 -3
  71. package/build/components/navigate-to-link/index.js.map +1 -1
  72. package/build/components/routes/index.js +1 -1
  73. package/build/components/routes/index.js.map +1 -1
  74. package/build/components/sidebar/index.js +42 -0
  75. package/build/components/sidebar/index.js.map +1 -0
  76. package/build/components/sidebar-edit-mode/global-styles-sidebar.js +24 -4
  77. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  78. package/build/components/sidebar-edit-mode/index.js +1 -1
  79. package/build/components/sidebar-edit-mode/index.js.map +1 -1
  80. package/build/components/sidebar-navigation-item/index.js +53 -0
  81. package/build/components/sidebar-navigation-item/index.js.map +1 -0
  82. package/build/components/sidebar-navigation-screen/index.js +49 -0
  83. package/build/components/sidebar-navigation-screen/index.js.map +1 -0
  84. package/build/components/sidebar-navigation-screen-main/index.js +76 -0
  85. package/build/components/sidebar-navigation-screen-main/index.js.map +1 -0
  86. package/build/components/sidebar-navigation-screen-templates/index.js +188 -0
  87. package/build/components/sidebar-navigation-screen-templates/index.js.map +1 -0
  88. package/build/components/site-icon/index.js +70 -0
  89. package/build/components/site-icon/index.js.map +1 -0
  90. package/build/components/site-title/index.js +55 -0
  91. package/build/components/site-title/index.js.map +1 -0
  92. package/build/components/style-book/index.js +173 -0
  93. package/build/components/style-book/index.js.map +1 -0
  94. package/build/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +5 -4
  95. package/build/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
  96. package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +53 -0
  97. package/build/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
  98. package/build/index.js +2 -45
  99. package/build/index.js.map +1 -1
  100. package/build/store/actions.js +93 -43
  101. package/build/store/actions.js.map +1 -1
  102. package/build/store/reducer.js +35 -107
  103. package/build/store/reducer.js.map +1 -1
  104. package/build/store/selectors.js +69 -78
  105. package/build/store/selectors.js.map +1 -1
  106. package/build-module/components/add-new-template/add-custom-template-modal.js +1 -0
  107. package/build-module/components/add-new-template/add-custom-template-modal.js.map +1 -1
  108. package/build-module/components/add-new-template/index.js +7 -5
  109. package/build-module/components/add-new-template/index.js.map +1 -1
  110. package/build-module/components/add-new-template/new-template-part.js +18 -6
  111. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  112. package/build-module/components/add-new-template/new-template.js +13 -9
  113. package/build-module/components/add-new-template/new-template.js.map +1 -1
  114. package/build-module/components/app/index.js +15 -28
  115. package/build-module/components/app/index.js.map +1 -1
  116. package/build-module/components/block-editor/editor-canvas.js +51 -0
  117. package/build-module/components/block-editor/editor-canvas.js.map +1 -0
  118. package/build-module/components/block-editor/index.js +61 -60
  119. package/build-module/components/block-editor/index.js.map +1 -1
  120. package/build-module/components/block-editor/resizable-editor.js +11 -40
  121. package/build-module/components/block-editor/resizable-editor.js.map +1 -1
  122. package/build-module/components/editor/index.js +81 -124
  123. package/build-module/components/editor/index.js.map +1 -1
  124. package/build-module/components/global-styles/block-preview-panel.js +32 -0
  125. package/build-module/components/global-styles/block-preview-panel.js.map +1 -0
  126. package/build-module/components/global-styles/context-menu.js +7 -3
  127. package/build-module/components/global-styles/context-menu.js.map +1 -1
  128. package/build-module/components/global-styles/custom-css.js +51 -0
  129. package/build-module/components/global-styles/custom-css.js.map +1 -0
  130. package/build-module/components/global-styles/dimensions-panel.js +3 -7
  131. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  132. package/build-module/components/global-styles/global-styles-provider.js +15 -2
  133. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  134. package/build-module/components/global-styles/hooks.js +5 -3
  135. package/build-module/components/global-styles/hooks.js.map +1 -1
  136. package/build-module/components/global-styles/palette.js +1 -1
  137. package/build-module/components/global-styles/palette.js.map +1 -1
  138. package/build-module/components/global-styles/screen-block-list.js +2 -1
  139. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  140. package/build-module/components/global-styles/screen-block.js +8 -2
  141. package/build-module/components/global-styles/screen-block.js.map +1 -1
  142. package/build-module/components/global-styles/screen-border.js +27 -0
  143. package/build-module/components/global-styles/screen-border.js.map +1 -0
  144. package/build-module/components/global-styles/screen-colors.js +1 -1
  145. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  146. package/build-module/components/global-styles/screen-css.js +28 -0
  147. package/build-module/components/global-styles/screen-css.js.map +1 -0
  148. package/build-module/components/global-styles/screen-layout.js +0 -4
  149. package/build-module/components/global-styles/screen-layout.js.map +1 -1
  150. package/build-module/components/global-styles/screen-root.js +14 -1
  151. package/build-module/components/global-styles/screen-root.js.map +1 -1
  152. package/build-module/components/global-styles/screen-style-variations.js +2 -2
  153. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  154. package/build-module/components/global-styles/ui.js +48 -5
  155. package/build-module/components/global-styles/ui.js.map +1 -1
  156. package/build-module/components/global-styles/use-global-styles-output.js +5 -1
  157. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  158. package/build-module/components/global-styles/utils.js +4 -4
  159. package/build-module/components/global-styles/utils.js.map +1 -1
  160. package/build-module/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +4 -7
  161. package/build-module/components/global-styles-renderer/index.js.map +1 -0
  162. package/build-module/components/header-edit-mode/document-actions/index.js +13 -6
  163. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -1
  164. package/build-module/components/header-edit-mode/index.js +16 -11
  165. package/build-module/components/header-edit-mode/index.js.map +1 -1
  166. package/build-module/components/keyboard-shortcuts/index.js +10 -1
  167. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  168. package/build-module/components/layout/index.js +203 -0
  169. package/build-module/components/layout/index.js.map +1 -0
  170. package/build-module/components/list/header.js +5 -1
  171. package/build-module/components/list/header.js.map +1 -1
  172. package/build-module/components/list/index.js +4 -19
  173. package/build-module/components/list/index.js.map +1 -1
  174. package/build-module/components/navigate-to-link/index.js +1 -3
  175. package/build-module/components/navigate-to-link/index.js.map +1 -1
  176. package/build-module/components/routes/index.js +1 -1
  177. package/build-module/components/routes/index.js.map +1 -1
  178. package/build-module/components/sidebar/index.js +30 -0
  179. package/build-module/components/sidebar/index.js.map +1 -0
  180. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js +27 -7
  181. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -1
  182. package/build-module/components/sidebar-edit-mode/index.js +3 -3
  183. package/build-module/components/sidebar-edit-mode/index.js.map +1 -1
  184. package/build-module/components/sidebar-navigation-item/index.js +40 -0
  185. package/build-module/components/sidebar-navigation-item/index.js.map +1 -0
  186. package/build-module/components/sidebar-navigation-screen/index.js +39 -0
  187. package/build-module/components/sidebar-navigation-screen/index.js.map +1 -0
  188. package/build-module/components/sidebar-navigation-screen-main/index.js +57 -0
  189. package/build-module/components/sidebar-navigation-screen-main/index.js.map +1 -0
  190. package/build-module/components/sidebar-navigation-screen-templates/index.js +165 -0
  191. package/build-module/components/sidebar-navigation-screen-templates/index.js.map +1 -0
  192. package/build-module/components/site-icon/index.js +55 -0
  193. package/build-module/components/site-icon/index.js.map +1 -0
  194. package/build-module/components/site-title/index.js +43 -0
  195. package/build-module/components/site-title/index.js.map +1 -0
  196. package/build-module/components/style-book/index.js +156 -0
  197. package/build-module/components/style-book/index.js.map +1 -0
  198. package/build-module/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +4 -3
  199. package/build-module/components/sync-state-with-url/use-init-edited-entity-from-url.js.map +1 -0
  200. package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +43 -0
  201. package/build-module/components/sync-state-with-url/use-sync-sidebar-path-with-url.js.map +1 -0
  202. package/build-module/index.js +5 -36
  203. package/build-module/index.js.map +1 -1
  204. package/build-module/store/actions.js +87 -42
  205. package/build-module/store/actions.js.map +1 -1
  206. package/build-module/store/reducer.js +35 -102
  207. package/build-module/store/reducer.js.map +1 -1
  208. package/build-module/store/selectors.js +60 -72
  209. package/build-module/store/selectors.js.map +1 -1
  210. package/build-style/style-rtl.css +550 -346
  211. package/build-style/style.css +550 -346
  212. package/package.json +32 -31
  213. package/src/components/add-new-template/add-custom-template-modal.js +1 -0
  214. package/src/components/add-new-template/index.js +6 -3
  215. package/src/components/add-new-template/new-template-part.js +15 -3
  216. package/src/components/add-new-template/new-template.js +14 -7
  217. package/src/components/add-new-template/style.scss +0 -4
  218. package/src/components/app/index.js +14 -43
  219. package/src/components/block-editor/editor-canvas.js +69 -0
  220. package/src/components/block-editor/index.js +102 -87
  221. package/src/components/block-editor/resizable-editor.js +9 -64
  222. package/src/components/block-editor/style.scss +25 -1
  223. package/src/components/code-editor/style.scss +1 -1
  224. package/src/components/editor/index.js +170 -236
  225. package/src/components/editor/style.scss +0 -22
  226. package/src/components/global-styles/block-preview-panel.js +29 -0
  227. package/src/components/global-styles/context-menu.js +11 -2
  228. package/src/components/global-styles/custom-css.js +73 -0
  229. package/src/components/global-styles/dimensions-panel.js +2 -5
  230. package/src/components/global-styles/global-styles-provider.js +39 -17
  231. package/src/components/global-styles/hooks.js +8 -3
  232. package/src/components/global-styles/palette.js +1 -1
  233. package/src/components/global-styles/screen-block-list.js +2 -1
  234. package/src/components/global-styles/screen-block.js +9 -1
  235. package/src/components/global-styles/screen-border.js +23 -0
  236. package/src/components/global-styles/screen-colors.js +2 -1
  237. package/src/components/global-styles/screen-css.js +33 -0
  238. package/src/components/global-styles/screen-layout.js +0 -3
  239. package/src/components/global-styles/screen-root.js +30 -1
  240. package/src/components/global-styles/screen-style-variations.js +5 -2
  241. package/src/components/global-styles/style.scss +31 -2
  242. package/src/components/global-styles/ui.js +47 -4
  243. package/src/components/global-styles/use-global-styles-output.js +5 -0
  244. package/src/components/global-styles/utils.js +8 -5
  245. package/src/components/{editor/global-styles-renderer.js → global-styles-renderer/index.js} +3 -9
  246. package/src/components/header-edit-mode/document-actions/index.js +14 -9
  247. package/src/components/header-edit-mode/document-actions/style.scss +8 -1
  248. package/src/components/header-edit-mode/index.js +96 -78
  249. package/src/components/header-edit-mode/style.scss +5 -33
  250. package/src/components/keyboard-shortcuts/index.js +13 -0
  251. package/src/components/layout/index.js +278 -0
  252. package/src/components/layout/style.scss +176 -0
  253. package/src/components/list/header.js +5 -1
  254. package/src/components/list/index.js +12 -31
  255. package/src/components/list/style.scss +10 -4
  256. package/src/components/navigate-to-link/index.js +2 -8
  257. package/src/components/routes/index.js +1 -1
  258. package/src/components/sidebar/index.js +34 -0
  259. package/src/components/sidebar/style.scss +8 -0
  260. package/src/components/sidebar-edit-mode/global-styles-sidebar.js +42 -7
  261. package/src/components/sidebar-edit-mode/index.js +3 -3
  262. package/src/components/sidebar-edit-mode/navigation-menu-sidebar/style.scss +21 -3
  263. package/src/components/sidebar-edit-mode/settings-header/style.scss +47 -34
  264. package/src/components/sidebar-edit-mode/style.scss +0 -13
  265. package/src/components/sidebar-navigation-item/index.js +51 -0
  266. package/src/components/sidebar-navigation-item/style.scss +17 -0
  267. package/src/components/sidebar-navigation-screen/index.js +55 -0
  268. package/src/components/sidebar-navigation-screen/style.scss +41 -0
  269. package/src/components/sidebar-navigation-screen-main/index.js +72 -0
  270. package/src/components/sidebar-navigation-screen-templates/index.js +181 -0
  271. package/src/components/sidebar-navigation-screen-templates/style.scss +9 -0
  272. package/src/components/site-icon/index.js +56 -0
  273. package/src/components/site-icon/style.scss +10 -0
  274. package/src/components/site-title/index.js +39 -0
  275. package/src/components/style-book/index.js +193 -0
  276. package/src/components/style-book/style.scss +78 -0
  277. package/src/components/{url-query-controller/index.js → sync-state-with-url/use-init-edited-entity-from-url.js} +3 -3
  278. package/src/components/sync-state-with-url/use-sync-sidebar-path-with-url.js +36 -0
  279. package/src/components/template-details/style.scss +4 -0
  280. package/src/index.js +3 -53
  281. package/src/store/actions.js +93 -48
  282. package/src/store/reducer.js +29 -91
  283. package/src/store/selectors.js +61 -101
  284. package/src/store/test/actions.js +3 -15
  285. package/src/store/test/reducer.js +8 -192
  286. package/src/store/test/selectors.js +3 -42
  287. package/src/style.scss +19 -3
  288. package/build/components/editor/global-styles-renderer.js.map +0 -1
  289. package/build/components/navigation-sidebar/index.js +0 -62
  290. package/build/components/navigation-sidebar/index.js.map +0 -1
  291. package/build/components/navigation-sidebar/navigation-panel/constants.js +0 -77
  292. package/build/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
  293. package/build/components/navigation-sidebar/navigation-panel/index.js +0 -152
  294. package/build/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
  295. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
  296. package/build/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
  297. package/build/components/navigation-sidebar/navigation-toggle/index.js +0 -124
  298. package/build/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
  299. package/build/components/url-query-controller/index.js.map +0 -1
  300. package/build-module/components/editor/global-styles-renderer.js.map +0 -1
  301. package/build-module/components/navigation-sidebar/index.js +0 -45
  302. package/build-module/components/navigation-sidebar/index.js.map +0 -1
  303. package/build-module/components/navigation-sidebar/navigation-panel/constants.js +0 -49
  304. package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +0 -1
  305. package/build-module/components/navigation-sidebar/navigation-panel/index.js +0 -131
  306. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +0 -1
  307. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -66
  308. package/build-module/components/navigation-sidebar/navigation-panel/template-hierarchy.js.map +0 -1
  309. package/build-module/components/navigation-sidebar/navigation-toggle/index.js +0 -108
  310. package/build-module/components/navigation-sidebar/navigation-toggle/index.js.map +0 -1
  311. package/build-module/components/url-query-controller/index.js.map +0 -1
  312. package/src/components/navigation-sidebar/index.js +0 -46
  313. package/src/components/navigation-sidebar/navigation-panel/constants.js +0 -94
  314. package/src/components/navigation-sidebar/navigation-panel/index.js +0 -142
  315. package/src/components/navigation-sidebar/navigation-panel/style.scss +0 -152
  316. package/src/components/navigation-sidebar/navigation-panel/template-hierarchy.js +0 -81
  317. package/src/components/navigation-sidebar/navigation-toggle/index.js +0 -114
  318. package/src/components/navigation-sidebar/navigation-toggle/style.scss +0 -71
  319. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +0 -65
@@ -1,152 +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
-
12
- .edit-site-navigation-panel__inner {
13
- position: relative;
14
- width: $nav-sidebar-width;
15
- height: 100%;
16
- overflow: hidden;
17
- // Inner container is hidden to remove menu from the accessibility tree when not visible.
18
- // Setting visibility here (rather than on the parent container) preserves the slide transition.
19
- visibility: hidden;
20
- // Transition settings should match parent container.
21
- transition: visibility 100ms linear;
22
- @include reduce-motion("transition");
23
- }
24
-
25
- .edit-site-navigation-panel.is-open {
26
- width: $nav-sidebar-width;
27
-
28
- .edit-site-navigation-panel__inner {
29
- visibility: visible;
30
- }
31
- }
32
-
33
- .edit-site-navigation-panel__site-title-container {
34
- height: $header-height;
35
- padding-left: $header-height;
36
- margin: 0 $grid-unit-20 0 $grid-unit-10;
37
- display: flex;
38
- align-items: center;
39
- }
40
-
41
- .edit-site-navigation-panel__site-title {
42
- font-style: normal;
43
- font-weight: 600;
44
- font-size: 14px; /* Matches menu items */
45
- line-height: 20px;
46
- color: $gray-300;
47
-
48
- display: -webkit-box;
49
- -webkit-line-clamp: 2;
50
- -webkit-box-orient: vertical;
51
- overflow: hidden;
52
- }
53
-
54
- .edit-site-navigation-panel__scroll-container {
55
- overflow-x: hidden;
56
- overflow-y: auto;
57
- height: calc(100% - #{$header-height});
58
- }
59
-
60
- .edit-site-navigation-panel__back-to-dashboard.components-button.is-tertiary {
61
- height: $button-size;
62
- margin-top: $grid-unit-30;
63
- padding: $grid-unit $grid-unit-20 $grid-unit $grid-unit;
64
-
65
- &:focus:not(:disabled) {
66
- border-bottom-color: transparent;
67
- }
68
- }
69
-
70
- .edit-site-navigation-panel__preview {
71
- display: none;
72
- border: $border-width solid $gray-400;
73
- width: $nav-sidebar-width;
74
- padding: $grid-unit-20;
75
- background: $white;
76
- box-shadow: $shadow-popover;
77
- border-radius: $radius-block-ui;
78
- position: absolute;
79
- top: $header-height + $grid-unit-15 + 1px; // +1px for the header border
80
- left: $nav-sidebar-width + $grid-unit-15;
81
- color: $gray-900;
82
- z-index: z-index(".edit-site-navigation-panel__preview");
83
-
84
- @include break-medium {
85
- display: block;
86
- }
87
- }
88
-
89
- .edit-site-navigation-panel__template-item {
90
- display: block;
91
-
92
- .components-button {
93
- display: flex;
94
- flex-direction: column;
95
- align-items: flex-start;
96
- justify-content: center;
97
- height: auto;
98
- min-height: $button-size;
99
- text-align: left;
100
- padding-left: $grid-unit-20;
101
- padding-right: $grid-unit-20;
102
- color: inherit;
103
- }
104
- }
105
-
106
- .edit-site-navigation-panel__template-item-title {
107
- font-size: 14px;
108
- line-height: 20px;
109
-
110
- em {
111
- margin-right: 1ch;
112
- }
113
- }
114
-
115
- .edit-site-navigation-panel__template-parts .components-navigation__menu-title-heading {
116
- text-transform: capitalize;
117
- }
118
-
119
- .edit-site-navigation-panel__template-part-item .components-navigation__item-title {
120
- text-transform: capitalize;
121
- }
122
-
123
- .components-navigation__item + .edit-site-navigation-panel__template-item {
124
- margin-top: $grid-unit-20;
125
- }
126
-
127
- .edit-site-navigation-panel__template-item + .edit-site-navigation-panel__template-item {
128
- margin-top: $grid-unit-10;
129
- }
130
-
131
- .edit-site-navigation-panel__info-wrapper {
132
- padding: $grid-unit-05 0;
133
- }
134
-
135
- .edit-site-navigation-panel__template-item-description {
136
- padding-top: $grid-unit-10;
137
- font-size: 12px;
138
- line-height: 16px;
139
- }
140
-
141
- .edit-site-navigation-panel__new-template-dropdown {
142
- margin: 0 0 0 $grid-unit-15;
143
-
144
- button {
145
- margin: 0;
146
- }
147
- }
148
- .edit-site-navigation-panel__new-template-popover {
149
- @include break-small() {
150
- min-width: 300px;
151
- }
152
- }
@@ -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,65 +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
- return jest.fn();
19
- } );
20
-
21
- describe( 'NavigationToggle', () => {
22
- describe( 'when in full screen mode', () => {
23
- it( 'should display a user uploaded site icon if it exists', () => {
24
- useSelect.mockImplementation( ( cb ) =>
25
- cb( () => ( {
26
- getEntityRecord: () => ( {
27
- site_icon_url: 'https://fakeUrl.com',
28
- } ),
29
- isResolving: () => false,
30
- isNavigationOpened: () => false,
31
- } ) )
32
- );
33
-
34
- const { unmount } = render( <NavigationToggle /> );
35
-
36
- const siteIcon = screen.getByAltText( 'Site Icon' );
37
- expect( siteIcon ).toBeVisible();
38
-
39
- // Unmount the UI synchronously so that any async effects, like the on-mount focus
40
- // that shows and positions a tooltip, are cancelled right away and never run.
41
- unmount();
42
- } );
43
-
44
- it( 'should display a default site icon if no user uploaded site icon exists', () => {
45
- useSelect.mockImplementation( ( cb ) =>
46
- cb( () => ( {
47
- getEntityRecord: () => ( {
48
- site_icon_url: '',
49
- } ),
50
- isResolving: () => false,
51
- isNavigationOpened: () => false,
52
- } ) )
53
- );
54
-
55
- const { unmount } = render( <NavigationToggle /> );
56
-
57
- const siteIcon = screen.queryByAltText( 'Site Icon' );
58
- expect( siteIcon ).not.toBeInTheDocument();
59
-
60
- // Unmount the UI synchronously so that any async effects, like the on-mount focus
61
- // that shows and positions a tooltip, are cancelled right away and never run.
62
- unmount();
63
- } );
64
- } );
65
- } );