@wordpress/edit-site 4.16.0 → 4.18.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 (285) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/app/index.js +8 -3
  3. package/build/components/app/index.js.map +1 -1
  4. package/build/components/block-editor/block-inspector-button.js +1 -1
  5. package/build/components/block-editor/block-inspector-button.js.map +1 -1
  6. package/build/components/block-editor/index.js +17 -11
  7. package/build/components/block-editor/index.js.map +1 -1
  8. package/build/components/editor/index.js +14 -20
  9. package/build/components/editor/index.js.map +1 -1
  10. package/build/components/global-styles/border-panel.js +2 -1
  11. package/build/components/global-styles/border-panel.js.map +1 -1
  12. package/build/components/global-styles/global-styles-provider.js +6 -5
  13. package/build/components/global-styles/global-styles-provider.js.map +1 -1
  14. package/build/components/global-styles/preview.js +84 -49
  15. package/build/components/global-styles/preview.js.map +1 -1
  16. package/build/components/global-styles/screen-style-variations.js +35 -4
  17. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  18. package/build/components/global-styles/typography-panel.js +16 -2
  19. package/build/components/global-styles/typography-panel.js.map +1 -1
  20. package/build/components/global-styles/typography-utils.js +39 -176
  21. package/build/components/global-styles/typography-utils.js.map +1 -1
  22. package/build/components/global-styles/use-global-styles-output.js +27 -9
  23. package/build/components/global-styles/use-global-styles-output.js.map +1 -1
  24. package/build/components/{header → header-edit-mode}/document-actions/index.js +58 -24
  25. package/build/components/header-edit-mode/document-actions/index.js.map +1 -0
  26. package/build/components/{header → header-edit-mode}/index.js +14 -55
  27. package/build/components/header-edit-mode/index.js.map +1 -0
  28. package/build/components/{header → header-edit-mode}/mode-switcher/index.js +0 -0
  29. package/build/components/header-edit-mode/mode-switcher/index.js.map +1 -0
  30. package/build/components/{header → header-edit-mode}/more-menu/copy-content-menu-item.js +0 -0
  31. package/build/components/header-edit-mode/more-menu/copy-content-menu-item.js.map +1 -0
  32. package/build/components/{header → header-edit-mode}/more-menu/index.js +0 -0
  33. package/build/components/header-edit-mode/more-menu/index.js.map +1 -0
  34. package/build/components/{header → header-edit-mode}/more-menu/site-export.js +0 -0
  35. package/build/components/header-edit-mode/more-menu/site-export.js.map +1 -0
  36. package/build/components/{header → header-edit-mode}/more-menu/welcome-guide-menu-item.js +0 -0
  37. package/build/components/header-edit-mode/more-menu/welcome-guide-menu-item.js.map +1 -0
  38. package/build/components/{header → header-edit-mode}/plugin-more-menu-item/index.js +0 -0
  39. package/build/components/header-edit-mode/plugin-more-menu-item/index.js.map +1 -0
  40. package/build/components/{header → header-edit-mode}/plugin-sidebar-more-menu-item/index.js +0 -0
  41. package/build/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -0
  42. package/build/components/{header → header-edit-mode}/tools-more-menu-group/index.js +0 -0
  43. package/build/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -0
  44. package/build/components/{header → header-edit-mode}/undo-redo/redo.js +0 -0
  45. package/build/components/header-edit-mode/undo-redo/redo.js.map +1 -0
  46. package/build/components/{header → header-edit-mode}/undo-redo/undo.js +0 -0
  47. package/build/components/header-edit-mode/undo-redo/undo.js.map +1 -0
  48. package/build/components/keyboard-shortcut-help-modal/shortcut.js +1 -7
  49. package/build/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  50. package/build/components/keyboard-shortcuts/index.js +6 -6
  51. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  52. package/build/components/navigation-sidebar/navigation-panel/index.js +9 -8
  53. package/build/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  54. package/build/components/save-button/index.js +17 -13
  55. package/build/components/save-button/index.js.map +1 -1
  56. package/build/components/{sidebar → sidebar-edit-mode}/constants.js +0 -0
  57. package/build/components/sidebar-edit-mode/constants.js.map +1 -0
  58. package/build/components/{sidebar → sidebar-edit-mode}/default-sidebar.js +0 -0
  59. package/build/components/sidebar-edit-mode/default-sidebar.js.map +1 -0
  60. package/build/components/{sidebar → sidebar-edit-mode}/global-styles-sidebar.js +0 -0
  61. package/build/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -0
  62. package/build/components/{sidebar → sidebar-edit-mode}/index.js +1 -1
  63. package/build/components/sidebar-edit-mode/index.js.map +1 -0
  64. package/build/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/index.js +0 -0
  65. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/index.js.map +1 -0
  66. package/build/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/navigation-inspector.js +0 -0
  67. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js.map +1 -0
  68. package/build/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/navigation-menu.js +0 -0
  69. package/build/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js.map +1 -0
  70. package/build/components/{sidebar → sidebar-edit-mode}/plugin-sidebar/index.js +1 -1
  71. package/build/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -0
  72. package/build/components/{sidebar → sidebar-edit-mode}/settings-header/index.js +2 -2
  73. package/build/components/sidebar-edit-mode/settings-header/index.js.map +1 -0
  74. package/build/components/{sidebar → sidebar-edit-mode}/template-card/index.js +0 -0
  75. package/build/components/sidebar-edit-mode/template-card/index.js.map +1 -0
  76. package/build/components/{sidebar → sidebar-edit-mode}/template-card/template-actions.js +0 -0
  77. package/build/components/sidebar-edit-mode/template-card/template-actions.js.map +1 -0
  78. package/build/components/{sidebar → sidebar-edit-mode}/template-card/template-areas.js +0 -0
  79. package/build/components/sidebar-edit-mode/template-card/template-areas.js.map +1 -0
  80. package/build/index.js +8 -13
  81. package/build/index.js.map +1 -1
  82. package/build/store/actions.js +15 -0
  83. package/build/store/actions.js.map +1 -1
  84. package/build/store/reducer.js +28 -1
  85. package/build/store/reducer.js.map +1 -1
  86. package/build/store/selectors.js +13 -0
  87. package/build/store/selectors.js.map +1 -1
  88. package/build-module/components/app/index.js +8 -3
  89. package/build-module/components/app/index.js.map +1 -1
  90. package/build-module/components/block-editor/block-inspector-button.js +1 -1
  91. package/build-module/components/block-editor/block-inspector-button.js.map +1 -1
  92. package/build-module/components/block-editor/index.js +16 -10
  93. package/build-module/components/block-editor/index.js.map +1 -1
  94. package/build-module/components/editor/index.js +14 -20
  95. package/build-module/components/editor/index.js.map +1 -1
  96. package/build-module/components/global-styles/border-panel.js +2 -1
  97. package/build-module/components/global-styles/border-panel.js.map +1 -1
  98. package/build-module/components/global-styles/global-styles-provider.js +7 -6
  99. package/build-module/components/global-styles/global-styles-provider.js.map +1 -1
  100. package/build-module/components/global-styles/preview.js +84 -49
  101. package/build-module/components/global-styles/preview.js.map +1 -1
  102. package/build-module/components/global-styles/screen-style-variations.js +36 -6
  103. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  104. package/build-module/components/global-styles/typography-panel.js +15 -2
  105. package/build-module/components/global-styles/typography-panel.js.map +1 -1
  106. package/build-module/components/global-styles/typography-utils.js +37 -169
  107. package/build-module/components/global-styles/typography-utils.js.map +1 -1
  108. package/build-module/components/global-styles/use-global-styles-output.js +26 -9
  109. package/build-module/components/global-styles/use-global-styles-output.js.map +1 -1
  110. package/build-module/components/{header → header-edit-mode}/document-actions/index.js +53 -24
  111. package/build-module/components/header-edit-mode/document-actions/index.js.map +1 -0
  112. package/build-module/components/{header → header-edit-mode}/index.js +14 -52
  113. package/build-module/components/header-edit-mode/index.js.map +1 -0
  114. package/build-module/components/{header → header-edit-mode}/mode-switcher/index.js +0 -0
  115. package/build-module/components/header-edit-mode/mode-switcher/index.js.map +1 -0
  116. package/build-module/components/{header → header-edit-mode}/more-menu/copy-content-menu-item.js +0 -0
  117. package/build-module/components/header-edit-mode/more-menu/copy-content-menu-item.js.map +1 -0
  118. package/build-module/components/{header → header-edit-mode}/more-menu/index.js +0 -0
  119. package/build-module/components/header-edit-mode/more-menu/index.js.map +1 -0
  120. package/build-module/components/{header → header-edit-mode}/more-menu/site-export.js +0 -0
  121. package/build-module/components/header-edit-mode/more-menu/site-export.js.map +1 -0
  122. package/build-module/components/{header → header-edit-mode}/more-menu/welcome-guide-menu-item.js +0 -0
  123. package/build-module/components/header-edit-mode/more-menu/welcome-guide-menu-item.js.map +1 -0
  124. package/build-module/components/{header → header-edit-mode}/plugin-more-menu-item/index.js +0 -0
  125. package/build-module/components/header-edit-mode/plugin-more-menu-item/index.js.map +1 -0
  126. package/build-module/components/{header → header-edit-mode}/plugin-sidebar-more-menu-item/index.js +0 -0
  127. package/build-module/components/header-edit-mode/plugin-sidebar-more-menu-item/index.js.map +1 -0
  128. package/build-module/components/{header → header-edit-mode}/tools-more-menu-group/index.js +0 -0
  129. package/build-module/components/header-edit-mode/tools-more-menu-group/index.js.map +1 -0
  130. package/build-module/components/{header → header-edit-mode}/undo-redo/redo.js +0 -0
  131. package/build-module/components/header-edit-mode/undo-redo/redo.js.map +1 -0
  132. package/build-module/components/{header → header-edit-mode}/undo-redo/undo.js +0 -0
  133. package/build-module/components/header-edit-mode/undo-redo/undo.js.map +1 -0
  134. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js +1 -6
  135. package/build-module/components/keyboard-shortcut-help-modal/shortcut.js.map +1 -1
  136. package/build-module/components/keyboard-shortcuts/index.js +6 -6
  137. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  138. package/build-module/components/navigation-sidebar/navigation-panel/index.js +9 -7
  139. package/build-module/components/navigation-sidebar/navigation-panel/index.js.map +1 -1
  140. package/build-module/components/save-button/index.js +19 -15
  141. package/build-module/components/save-button/index.js.map +1 -1
  142. package/build-module/components/{sidebar → sidebar-edit-mode}/constants.js +0 -0
  143. package/build-module/components/sidebar-edit-mode/constants.js.map +1 -0
  144. package/build-module/components/{sidebar → sidebar-edit-mode}/default-sidebar.js +0 -0
  145. package/build-module/components/sidebar-edit-mode/default-sidebar.js.map +1 -0
  146. package/build-module/components/{sidebar → sidebar-edit-mode}/global-styles-sidebar.js +0 -0
  147. package/build-module/components/sidebar-edit-mode/global-styles-sidebar.js.map +1 -0
  148. package/build-module/components/{sidebar → sidebar-edit-mode}/index.js +1 -1
  149. package/build-module/components/sidebar-edit-mode/index.js.map +1 -0
  150. package/build-module/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/index.js +0 -0
  151. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/index.js.map +1 -0
  152. package/build-module/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/navigation-inspector.js +0 -0
  153. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-inspector.js.map +1 -0
  154. package/build-module/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/navigation-menu.js +0 -0
  155. package/build-module/components/sidebar-edit-mode/navigation-menu-sidebar/navigation-menu.js.map +1 -0
  156. package/build-module/components/{sidebar → sidebar-edit-mode}/plugin-sidebar/index.js +1 -1
  157. package/build-module/components/sidebar-edit-mode/plugin-sidebar/index.js.map +1 -0
  158. package/build-module/components/{sidebar → sidebar-edit-mode}/settings-header/index.js +2 -2
  159. package/build-module/components/sidebar-edit-mode/settings-header/index.js.map +1 -0
  160. package/build-module/components/{sidebar → sidebar-edit-mode}/template-card/index.js +0 -0
  161. package/build-module/components/sidebar-edit-mode/template-card/index.js.map +1 -0
  162. package/build-module/components/{sidebar → sidebar-edit-mode}/template-card/template-actions.js +0 -0
  163. package/build-module/components/sidebar-edit-mode/template-card/template-actions.js.map +1 -0
  164. package/build-module/components/{sidebar → sidebar-edit-mode}/template-card/template-areas.js +0 -0
  165. package/build-module/components/sidebar-edit-mode/template-card/template-areas.js.map +1 -0
  166. package/build-module/index.js +8 -6
  167. package/build-module/index.js.map +1 -1
  168. package/build-module/store/actions.js +13 -0
  169. package/build-module/store/actions.js.map +1 -1
  170. package/build-module/store/reducer.js +26 -1
  171. package/build-module/store/reducer.js.map +1 -1
  172. package/build-module/store/selectors.js +11 -0
  173. package/build-module/store/selectors.js.map +1 -1
  174. package/build-style/style-rtl.css +63 -86
  175. package/build-style/style.css +63 -86
  176. package/package.json +29 -29
  177. package/src/components/app/index.js +11 -2
  178. package/src/components/block-editor/block-inspector-button.js +1 -1
  179. package/src/components/block-editor/index.js +29 -11
  180. package/src/components/block-editor/style.scss +1 -0
  181. package/src/components/editor/index.js +18 -29
  182. package/src/components/global-styles/border-panel.js +1 -0
  183. package/src/components/global-styles/global-styles-provider.js +5 -6
  184. package/src/components/global-styles/preview.js +80 -59
  185. package/src/components/global-styles/screen-style-variations.js +39 -4
  186. package/src/components/global-styles/style.scss +1 -0
  187. package/src/components/global-styles/test/typography-utils.js +333 -103
  188. package/src/components/global-styles/test/use-global-styles-output.js +57 -3
  189. package/src/components/global-styles/typography-panel.js +15 -1
  190. package/src/components/global-styles/typography-utils.js +34 -195
  191. package/src/components/global-styles/use-global-styles-output.js +16 -0
  192. package/src/components/{header → header-edit-mode}/document-actions/index.js +67 -46
  193. package/src/components/{header → header-edit-mode}/document-actions/style.scss +0 -0
  194. package/src/components/{header → header-edit-mode}/index.js +14 -53
  195. package/src/components/{header → header-edit-mode}/mode-switcher/index.js +0 -0
  196. package/src/components/{header → header-edit-mode}/more-menu/copy-content-menu-item.js +0 -0
  197. package/src/components/{header → header-edit-mode}/more-menu/index.js +0 -0
  198. package/src/components/{header → header-edit-mode}/more-menu/site-export.js +0 -0
  199. package/src/components/{header → header-edit-mode}/more-menu/welcome-guide-menu-item.js +0 -0
  200. package/src/components/{header → header-edit-mode}/plugin-more-menu-item/index.js +0 -0
  201. package/src/components/{header → header-edit-mode}/plugin-sidebar-more-menu-item/index.js +0 -0
  202. package/src/components/{header → header-edit-mode}/style.scss +20 -50
  203. package/src/components/{header → header-edit-mode}/tools-more-menu-group/index.js +0 -0
  204. package/src/components/{header → header-edit-mode}/undo-redo/redo.js +0 -0
  205. package/src/components/{header → header-edit-mode}/undo-redo/undo.js +0 -0
  206. package/src/components/keyboard-shortcut-help-modal/shortcut.js +15 -18
  207. package/src/components/keyboard-shortcuts/index.js +4 -3
  208. package/src/components/navigation-sidebar/navigation-panel/index.js +30 -24
  209. package/src/components/navigation-sidebar/navigation-toggle/test/__snapshots__/index.js.snap +41 -0
  210. package/src/components/navigation-sidebar/navigation-toggle/test/index.js +10 -12
  211. package/src/components/save-button/index.js +14 -14
  212. package/src/components/{sidebar → sidebar-edit-mode}/constants.js +0 -0
  213. package/src/components/{sidebar → sidebar-edit-mode}/default-sidebar.js +0 -0
  214. package/src/components/{sidebar → sidebar-edit-mode}/global-styles-sidebar.js +0 -0
  215. package/src/components/{sidebar → sidebar-edit-mode}/index.js +1 -1
  216. package/src/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/index.js +0 -0
  217. package/src/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/navigation-inspector.js +0 -0
  218. package/src/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/navigation-menu.js +0 -0
  219. package/src/components/{sidebar → sidebar-edit-mode}/navigation-menu-sidebar/style.scss +0 -0
  220. package/src/components/{sidebar → sidebar-edit-mode}/plugin-sidebar/index.js +1 -1
  221. package/src/components/{sidebar → sidebar-edit-mode}/settings-header/index.js +2 -2
  222. package/src/components/{sidebar → sidebar-edit-mode}/settings-header/style.scss +2 -2
  223. package/src/components/{sidebar → sidebar-edit-mode}/style.scss +1 -1
  224. package/src/components/{sidebar → sidebar-edit-mode}/template-card/index.js +0 -0
  225. package/src/components/{sidebar → sidebar-edit-mode}/template-card/style.scss +0 -0
  226. package/src/components/{sidebar → sidebar-edit-mode}/template-card/template-actions.js +0 -0
  227. package/src/components/{sidebar → sidebar-edit-mode}/template-card/template-areas.js +0 -0
  228. package/src/index.js +13 -6
  229. package/src/store/actions.js +13 -0
  230. package/src/store/reducer.js +19 -0
  231. package/src/store/selectors.js +11 -0
  232. package/src/style.scss +6 -6
  233. package/build/components/header/document-actions/index.js.map +0 -1
  234. package/build/components/header/index.js.map +0 -1
  235. package/build/components/header/mode-switcher/index.js.map +0 -1
  236. package/build/components/header/more-menu/copy-content-menu-item.js.map +0 -1
  237. package/build/components/header/more-menu/index.js.map +0 -1
  238. package/build/components/header/more-menu/site-export.js.map +0 -1
  239. package/build/components/header/more-menu/welcome-guide-menu-item.js.map +0 -1
  240. package/build/components/header/plugin-more-menu-item/index.js.map +0 -1
  241. package/build/components/header/plugin-sidebar-more-menu-item/index.js.map +0 -1
  242. package/build/components/header/tools-more-menu-group/index.js.map +0 -1
  243. package/build/components/header/undo-redo/redo.js.map +0 -1
  244. package/build/components/header/undo-redo/undo.js.map +0 -1
  245. package/build/components/main-dashboard-button/index.js +0 -41
  246. package/build/components/main-dashboard-button/index.js.map +0 -1
  247. package/build/components/sidebar/constants.js.map +0 -1
  248. package/build/components/sidebar/default-sidebar.js.map +0 -1
  249. package/build/components/sidebar/global-styles-sidebar.js.map +0 -1
  250. package/build/components/sidebar/index.js.map +0 -1
  251. package/build/components/sidebar/navigation-menu-sidebar/index.js.map +0 -1
  252. package/build/components/sidebar/navigation-menu-sidebar/navigation-inspector.js.map +0 -1
  253. package/build/components/sidebar/navigation-menu-sidebar/navigation-menu.js.map +0 -1
  254. package/build/components/sidebar/plugin-sidebar/index.js.map +0 -1
  255. package/build/components/sidebar/settings-header/index.js.map +0 -1
  256. package/build/components/sidebar/template-card/index.js.map +0 -1
  257. package/build/components/sidebar/template-card/template-actions.js.map +0 -1
  258. package/build/components/sidebar/template-card/template-areas.js.map +0 -1
  259. package/build-module/components/header/document-actions/index.js.map +0 -1
  260. package/build-module/components/header/index.js.map +0 -1
  261. package/build-module/components/header/mode-switcher/index.js.map +0 -1
  262. package/build-module/components/header/more-menu/copy-content-menu-item.js.map +0 -1
  263. package/build-module/components/header/more-menu/index.js.map +0 -1
  264. package/build-module/components/header/more-menu/site-export.js.map +0 -1
  265. package/build-module/components/header/more-menu/welcome-guide-menu-item.js.map +0 -1
  266. package/build-module/components/header/plugin-more-menu-item/index.js.map +0 -1
  267. package/build-module/components/header/plugin-sidebar-more-menu-item/index.js.map +0 -1
  268. package/build-module/components/header/tools-more-menu-group/index.js.map +0 -1
  269. package/build-module/components/header/undo-redo/redo.js.map +0 -1
  270. package/build-module/components/header/undo-redo/undo.js.map +0 -1
  271. package/build-module/components/main-dashboard-button/index.js +0 -32
  272. package/build-module/components/main-dashboard-button/index.js.map +0 -1
  273. package/build-module/components/sidebar/constants.js.map +0 -1
  274. package/build-module/components/sidebar/default-sidebar.js.map +0 -1
  275. package/build-module/components/sidebar/global-styles-sidebar.js.map +0 -1
  276. package/build-module/components/sidebar/index.js.map +0 -1
  277. package/build-module/components/sidebar/navigation-menu-sidebar/index.js.map +0 -1
  278. package/build-module/components/sidebar/navigation-menu-sidebar/navigation-inspector.js.map +0 -1
  279. package/build-module/components/sidebar/navigation-menu-sidebar/navigation-menu.js.map +0 -1
  280. package/build-module/components/sidebar/plugin-sidebar/index.js.map +0 -1
  281. package/build-module/components/sidebar/settings-header/index.js.map +0 -1
  282. package/build-module/components/sidebar/template-card/index.js.map +0 -1
  283. package/build-module/components/sidebar/template-card/template-actions.js.map +0 -1
  284. package/build-module/components/sidebar/template-card/template-areas.js.map +0 -1
  285. package/src/components/main-dashboard-button/index.js +0 -28
@@ -1,6 +1,6 @@
1
1
  $header-toolbar-min-width: 335px;
2
2
 
3
- .edit-site-header {
3
+ .edit-site-header-edit-mode {
4
4
  align-items: center;
5
5
  background-color: $white;
6
6
  display: flex;
@@ -16,17 +16,17 @@ $header-toolbar-min-width: 335px;
16
16
  @include reduce-motion("transition");
17
17
  }
18
18
 
19
- .edit-site-header_start {
19
+ .edit-site-header-edit-mode__start {
20
20
  display: flex;
21
21
  border: none;
22
22
  }
23
23
 
24
- .edit-site-header_end {
24
+ .edit-site-header-edit-mode__end {
25
25
  display: flex;
26
26
  justify-content: flex-end;
27
27
  }
28
28
 
29
- .edit-site-header_center {
29
+ .edit-site-header-edit-mode__center {
30
30
  display: flex;
31
31
  align-items: center;
32
32
  height: 100%;
@@ -42,7 +42,7 @@ $header-toolbar-min-width: 335px;
42
42
 
43
43
  // Keeps the document title centered when the sidebar is open
44
44
  body.is-navigation-sidebar-open {
45
- .edit-site-header {
45
+ .edit-site-header-edit-mode {
46
46
  padding-left: 0;
47
47
  transition: padding-left 20ms linear;
48
48
  transition-delay: 0ms;
@@ -52,9 +52,9 @@ body.is-navigation-sidebar-open {
52
52
 
53
53
  // Centred document title on small screens with sidebar open
54
54
  @media ( max-width: #{ ($break-large - 1) } ) {
55
- body.is-navigation-sidebar-open .edit-site-header {
56
- .edit-site-header-toolbar__inserter-toggle ~ .components-button,
57
- .edit-site-header_end .components-button:not(.is-primary) {
55
+ body.is-navigation-sidebar-open .edit-site-header-edit-mode {
56
+ .edit-site-header-edit-mode__inserter-toggle ~ .components-button,
57
+ .edit-site-header-edit-mode__end .components-button:not(.is-primary) {
58
58
  display: none;
59
59
  }
60
60
  .edit-site-save-button__button {
@@ -63,7 +63,7 @@ body.is-navigation-sidebar-open {
63
63
  }
64
64
  }
65
65
 
66
- .edit-site-header__toolbar {
66
+ .edit-site-header-edit-mode__toolbar {
67
67
  display: flex;
68
68
  align-items: center;
69
69
  padding-left: $grid-unit-10;
@@ -76,7 +76,7 @@ body.is-navigation-sidebar-open {
76
76
  padding-right: $grid-unit-10;
77
77
  }
78
78
 
79
- .edit-site-header-toolbar__inserter-toggle {
79
+ .edit-site-header-edit-mode__inserter-toggle {
80
80
  margin-right: $grid-unit-10;
81
81
  min-width: $grid-unit-40;
82
82
  width: $grid-unit-40;
@@ -96,21 +96,11 @@ body.is-navigation-sidebar-open {
96
96
  }
97
97
  }
98
98
 
99
- .edit-site-header__toolbar-switchers {
100
- align-items: center;
101
- display: flex;
102
- }
103
-
104
- .edit-site-header__toolbar-switchers-separator {
105
- margin: 0 -6px 0;
106
- }
107
-
108
-
109
99
  /**
110
100
  * Buttons on the right side
111
101
  */
112
102
 
113
- .edit-site-header__actions {
103
+ .edit-site-header-edit-mode__actions {
114
104
  display: inline-flex;
115
105
  align-items: center;
116
106
  padding-right: $grid-unit-05;
@@ -135,7 +125,7 @@ body.is-navigation-sidebar-open {
135
125
  }
136
126
  }
137
127
 
138
- .edit-site-header__actions__preview-options {
128
+ .edit-site-header-edit-mode__preview-options {
139
129
  opacity: 1;
140
130
  transition: opacity 0.3s;
141
131
 
@@ -144,32 +134,14 @@ body.is-navigation-sidebar-open {
144
134
  }
145
135
  }
146
136
 
147
- .edit-site-header__actions-more-menu {
148
- margin-left: -4px;
149
-
150
- // The padding and margin of the more menu is intentionally non-standard.
151
- .components-icon-button {
152
- padding: 8px 2px;
153
- width: auto;
154
- }
155
-
156
- @include break-small() {
157
- margin-left: 4px;
158
-
159
- .components-icon-button {
160
- padding: 8px 4px;
161
- }
162
- }
163
- }
164
-
165
- .edit-site-header_start {
137
+ .edit-site-header-edit-mode__start {
166
138
  display: flex;
167
139
  border: none;
168
140
 
169
141
  // The Toolbar component adds different styles to buttons, so we reset them
170
142
  // here to the original button styles
171
- .edit-site-header__toolbar > .components-button.has-icon,
172
- .edit-site-header__toolbar > .components-dropdown > .components-button.has-icon {
143
+ .edit-site-header-edit-mode__toolbar > .components-button.has-icon,
144
+ .edit-site-header-edit-mode__toolbar > .components-dropdown > .components-button.has-icon {
173
145
  height: $button-size;
174
146
  min-width: $button-size;
175
147
  padding: 6px;
@@ -188,7 +160,7 @@ body.is-navigation-sidebar-open {
188
160
  }
189
161
  }
190
162
 
191
- .edit-site-header__toolbar > .edit-site-header-toolbar__inserter-toggle.has-icon {
163
+ .edit-site-header-edit-mode__toolbar > .edit-site-header-edit-mode__inserter-toggle.has-icon {
192
164
  margin-right: $grid-unit-10;
193
165
  // Special dimensions for this button.
194
166
  min-width: 32px;
@@ -197,17 +169,15 @@ body.is-navigation-sidebar-open {
197
169
  padding: 0;
198
170
  }
199
171
 
200
- .edit-site-header__toolbar > .edit-site-header-toolbar__inserter-toggle.has-text.has-icon {
172
+ .edit-site-header-edit-mode__toolbar > .edit-site-header-edit-mode__inserter-toggle.has-text.has-icon {
201
173
  width: auto;
202
174
  padding: 0 $grid-unit-10;
203
175
  }
204
-
205
-
206
176
  }
207
177
 
208
178
  // Button text label styles
209
179
 
210
- .show-icon-labels .edit-site-header {
180
+ .show-icon-labels .edit-site-header-edit-mode {
211
181
  .components-button.has-icon {
212
182
  width: auto;
213
183
 
@@ -242,13 +212,13 @@ body.is-navigation-sidebar-open {
242
212
  }
243
213
  }
244
214
 
245
- .edit-site-header-toolbar__inserter-toggle.edit-site-header-toolbar__inserter-toggle,
215
+ .edit-site-header-edit-mode__inserter-toggle.edit-site-header-edit-mode__inserter-toggle,
246
216
  .edit-site-document-actions__get-info.edit-site-document-actions__get-info.edit-site-document-actions__get-info {
247
217
  height: 36px;
248
218
  padding: 0 $grid-unit-10;
249
219
  }
250
220
 
251
- .edit-site-header_start .edit-site-header__toolbar > * + * {
221
+ .edit-site-header__start .edit-site-header__toolbar > * + * {
252
222
  margin-left: $grid-unit-10;
253
223
  }
254
224
  }
@@ -1,8 +1,3 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { castArray } from 'lodash';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
@@ -26,20 +21,22 @@ function KeyCombination( { keyCombination, forceAriaLabel } ) {
26
21
  className="edit-site-keyboard-shortcut-help-modal__shortcut-key-combination"
27
22
  aria-label={ forceAriaLabel || ariaLabel }
28
23
  >
29
- { castArray( shortcut ).map( ( character, index ) => {
30
- if ( character === '+' ) {
31
- return <Fragment key={ index }>{ character }</Fragment>;
32
- }
24
+ { ( Array.isArray( shortcut ) ? shortcut : [ shortcut ] ).map(
25
+ ( character, index ) => {
26
+ if ( character === '+' ) {
27
+ return <Fragment key={ index }>{ character }</Fragment>;
28
+ }
33
29
 
34
- return (
35
- <kbd
36
- key={ index }
37
- className="edit-site-keyboard-shortcut-help-modal__shortcut-key"
38
- >
39
- { character }
40
- </kbd>
41
- );
42
- } ) }
30
+ return (
31
+ <kbd
32
+ key={ index }
33
+ className="edit-site-keyboard-shortcut-help-modal__shortcut-key"
34
+ >
35
+ { character }
36
+ </kbd>
37
+ );
38
+ }
39
+ ) }
43
40
  </kbd>
44
41
  );
45
42
  }
@@ -15,10 +15,10 @@ import { store as interfaceStore } from '@wordpress/interface';
15
15
  * Internal dependencies
16
16
  */
17
17
  import { store as editSiteStore } from '../../store';
18
- import { SIDEBAR_BLOCK } from '../sidebar/constants';
18
+ import { SIDEBAR_BLOCK } from '../sidebar-edit-mode/constants';
19
19
  import { STORE_NAME } from '../../store/constants';
20
20
 
21
- function KeyboardShortcuts( { openEntitiesSavedStates } ) {
21
+ function KeyboardShortcuts() {
22
22
  const { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =
23
23
  useSelect( coreStore );
24
24
  const { getEditorMode } = useSelect( editSiteStore );
@@ -38,6 +38,7 @@ function KeyboardShortcuts( { openEntitiesSavedStates } ) {
38
38
  useDispatch( editSiteStore );
39
39
  const { enableComplementaryArea, disableComplementaryArea } =
40
40
  useDispatch( interfaceStore );
41
+ const { setIsSaveViewOpened } = useDispatch( editSiteStore );
41
42
 
42
43
  useShortcut( 'core/edit-site/save', ( event ) => {
43
44
  event.preventDefault();
@@ -49,7 +50,7 @@ function KeyboardShortcuts( { openEntitiesSavedStates } ) {
49
50
  );
50
51
 
51
52
  if ( ! isSaving && isDirty ) {
52
- openEntitiesSavedStates();
53
+ setIsSaveViewOpened( true );
53
54
  }
54
55
  } );
55
56
 
@@ -28,7 +28,6 @@ import {
28
28
  * Internal dependencies
29
29
  */
30
30
  import { useLink } from '../../routes/link';
31
- import MainDashboardButton from '../../main-dashboard-button';
32
31
  import { store as editSiteStore } from '../../../store';
33
32
 
34
33
  const SITE_EDITOR_KEY = 'site-editor';
@@ -39,24 +38,33 @@ function NavLink( { params, replace, ...props } ) {
39
38
  return <NavigationItem { ...linkProps } { ...props } />;
40
39
  }
41
40
 
42
- const NavigationPanel = ( { activeItem = SITE_EDITOR_KEY } ) => {
43
- const { homeTemplate, isNavigationOpen, isTemplatePartsMode, siteTitle } =
44
- useSelect( ( select ) => {
45
- const { getEntityRecord } = select( coreDataStore );
46
- const { getSettings, isNavigationOpened } = select( editSiteStore );
41
+ const NavigationPanel = ( { activeItem } ) => {
42
+ const {
43
+ homeTemplate,
44
+ isNavigationOpen,
45
+ isTemplatePartsMode,
46
+ siteTitle,
47
+ dashboardLink,
48
+ } = useSelect( ( select ) => {
49
+ const { getEntityRecord } = select( coreDataStore );
50
+ const { getSettings, isNavigationOpened } = select( editSiteStore );
47
51
 
48
- const siteData =
49
- getEntityRecord( 'root', '__unstableBase', undefined ) || {};
50
- const { supportsTemplatePartsMode, __unstableHomeTemplate } =
51
- getSettings();
52
+ const siteData =
53
+ getEntityRecord( 'root', '__unstableBase', undefined ) || {};
54
+ const {
55
+ supportsTemplatePartsMode,
56
+ __unstableHomeTemplate,
57
+ __experimentalDashboardLink,
58
+ } = getSettings();
52
59
 
53
- return {
54
- siteTitle: siteData.name,
55
- homeTemplate: __unstableHomeTemplate,
56
- isNavigationOpen: isNavigationOpened(),
57
- isTemplatePartsMode: !! supportsTemplatePartsMode,
58
- };
59
- }, [] );
60
+ return {
61
+ siteTitle: siteData.name,
62
+ homeTemplate: __unstableHomeTemplate,
63
+ dashboardLink: __experimentalDashboardLink,
64
+ isNavigationOpen: isNavigationOpened(),
65
+ isTemplatePartsMode: !! supportsTemplatePartsMode,
66
+ };
67
+ }, [] );
60
68
  const { setIsNavigationPanelOpened } = useDispatch( editSiteStore );
61
69
 
62
70
  const closeOnEscape = ( event ) => {
@@ -82,13 +90,11 @@ const NavigationPanel = ( { activeItem = SITE_EDITOR_KEY } ) => {
82
90
  </div>
83
91
  <div className="edit-site-navigation-panel__scroll-container">
84
92
  <Navigation activeItem={ activeItem }>
85
- <MainDashboardButton.Slot>
86
- <NavigationBackButton
87
- backButtonLabel={ __( 'Dashboard' ) }
88
- className="edit-site-navigation-panel__back-to-dashboard"
89
- href="index.php"
90
- />
91
- </MainDashboardButton.Slot>
93
+ <NavigationBackButton
94
+ backButtonLabel={ __( 'Dashboard' ) }
95
+ className="edit-site-navigation-panel__back-to-dashboard"
96
+ href={ dashboardLink ?? 'index.php' }
97
+ />
92
98
 
93
99
  <NavigationMenu>
94
100
  <NavigationGroup title={ __( 'Editor' ) }>
@@ -0,0 +1,41 @@
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,7 +1,7 @@
1
1
  /**
2
2
  * External dependencies
3
3
  */
4
- import { render } from '@testing-library/react';
4
+ import { render, screen } from '@testing-library/react';
5
5
 
6
6
  /**
7
7
  * WordPress dependencies
@@ -38,12 +38,11 @@ describe( 'NavigationToggle', () => {
38
38
  } ) );
39
39
  } );
40
40
 
41
- const { container } = render( <NavigationToggle /> );
42
- const siteIcon = container.querySelector(
43
- '.edit-site-navigation-toggle__site-icon'
44
- );
41
+ render( <NavigationToggle /> );
42
+
43
+ const siteIcon = screen.getByAltText( 'Site Icon' );
45
44
 
46
- expect( siteIcon ).toBeTruthy();
45
+ expect( siteIcon ).toBeVisible();
47
46
  } );
48
47
 
49
48
  it( 'should display a default site icon if no user uploaded site icon exists', () => {
@@ -59,13 +58,12 @@ describe( 'NavigationToggle', () => {
59
58
  } );
60
59
 
61
60
  const { container } = render( <NavigationToggle /> );
62
- const siteIcon = container.querySelector(
63
- '.edit-site-navigation-toggle__site-icon'
64
- );
65
- const defaultIcon = container.querySelector( 'svg' );
66
61
 
67
- expect( siteIcon ).toBeFalsy();
68
- expect( defaultIcon ).toBeTruthy();
62
+ expect(
63
+ screen.queryByAltText( 'Site Icon' )
64
+ ).not.toBeInTheDocument();
65
+
66
+ expect( container ).toMatchSnapshot();
69
67
  } );
70
68
  } );
71
69
  } );
@@ -1,31 +1,31 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { some } from 'lodash';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
9
- import { useSelect } from '@wordpress/data';
4
+ import { useSelect, useDispatch } from '@wordpress/data';
10
5
  import { Button } from '@wordpress/components';
11
6
  import { __ } from '@wordpress/i18n';
12
7
  import { store as coreStore } from '@wordpress/core-data';
13
8
 
14
- export default function SaveButton( {
15
- openEntitiesSavedStates,
16
- isEntitiesSavedStatesOpen,
17
- } ) {
18
- const { isDirty, isSaving } = useSelect( ( select ) => {
9
+ /**
10
+ * Internal dependencies
11
+ */
12
+ import { store as editSiteStore } from '../../store';
13
+
14
+ export default function SaveButton() {
15
+ const { isDirty, isSaving, isSaveViewOpen } = useSelect( ( select ) => {
19
16
  const { __experimentalGetDirtyEntityRecords, isSavingEntityRecord } =
20
17
  select( coreStore );
21
18
  const dirtyEntityRecords = __experimentalGetDirtyEntityRecords();
19
+ const { isSaveViewOpened } = select( editSiteStore );
22
20
  return {
23
21
  isDirty: dirtyEntityRecords.length > 0,
24
- isSaving: some( dirtyEntityRecords, ( record ) =>
22
+ isSaving: dirtyEntityRecords.some( ( record ) =>
25
23
  isSavingEntityRecord( record.kind, record.name, record.key )
26
24
  ),
25
+ isSaveViewOpen: isSaveViewOpened(),
27
26
  };
28
27
  }, [] );
28
+ const { setIsSaveViewOpened } = useDispatch( editSiteStore );
29
29
 
30
30
  const disabled = ! isDirty || isSaving;
31
31
 
@@ -34,9 +34,9 @@ export default function SaveButton( {
34
34
  variant="primary"
35
35
  className="edit-site-save-button__button"
36
36
  aria-disabled={ disabled }
37
- aria-expanded={ isEntitiesSavedStatesOpen }
37
+ aria-expanded={ isSaveViewOpen }
38
38
  isBusy={ isSaving }
39
- onClick={ disabled ? undefined : openEntitiesSavedStates }
39
+ onClick={ disabled ? undefined : () => setIsSaveViewOpened( true ) }
40
40
  >
41
41
  { __( 'Save' ) }
42
42
  </Button>
@@ -81,7 +81,7 @@ export function SidebarComplementaryAreaFills() {
81
81
  icon={ cog }
82
82
  closeLabel={ __( 'Close settings sidebar' ) }
83
83
  header={ <SettingsHeader sidebarName={ sidebarName } /> }
84
- headerClassName="edit-site-sidebar__panel-tabs"
84
+ headerClassName="edit-site-sidebar-edit-mode__panel-tabs"
85
85
  >
86
86
  { sidebarName === SIDEBAR_TEMPLATE && (
87
87
  <PanelBody>
@@ -83,7 +83,7 @@ export default function PluginSidebarEditSite( { className, ...props } ) {
83
83
  return (
84
84
  <ComplementaryArea
85
85
  panelClassName={ className }
86
- className="edit-site-sidebar"
86
+ className="edit-site-sidebar-edit-mode"
87
87
  scope="core/edit-site"
88
88
  showIconLabels={ showIconLabels }
89
89
  { ...props }
@@ -39,7 +39,7 @@ const SettingsHeader = ( { sidebarName } ) => {
39
39
  <li>
40
40
  <Button
41
41
  onClick={ openTemplateSettings }
42
- className={ `edit-site-sidebar__panel-tab ${ templateActiveClass }` }
42
+ className={ `edit-site-sidebar-edit-mode__panel-tab ${ templateActiveClass }` }
43
43
  aria-label={ templateAriaLabel }
44
44
  // translators: Data label for the Template Settings Sidebar tab.
45
45
  data-label={ __( 'Template' ) }
@@ -53,7 +53,7 @@ const SettingsHeader = ( { sidebarName } ) => {
53
53
  <li>
54
54
  <Button
55
55
  onClick={ openBlockSettings }
56
- className={ `edit-site-sidebar__panel-tab ${ blockActiveClass }` }
56
+ className={ `edit-site-sidebar-edit-mode__panel-tab ${ blockActiveClass }` }
57
57
  aria-label={ blockAriaLabel }
58
58
  // translators: Data label for the Block Settings Sidebar tab.
59
59
  data-label={ __( 'Block' ) }
@@ -1,4 +1,4 @@
1
- .components-panel__header.edit-site-sidebar__panel-tabs {
1
+ .components-panel__header.edit-site-sidebar-edit-mode__panel-tabs {
2
2
  justify-content: flex-start;
3
3
  padding-left: 0;
4
4
  padding-right: $grid-unit-20;
@@ -25,7 +25,7 @@
25
25
  }
26
26
  }
27
27
 
28
- .components-button.edit-site-sidebar__panel-tab {
28
+ .components-button.edit-site-sidebar-edit-mode__panel-tab {
29
29
  border-radius: 0;
30
30
  height: $grid-unit-60;
31
31
  background: transparent;
@@ -1,4 +1,4 @@
1
- .edit-site-sidebar {
1
+ .edit-site-sidebar-edit-mode {
2
2
  width: $sidebar-width;
3
3
 
4
4
  > .components-panel {
package/src/index.js CHANGED
@@ -45,7 +45,9 @@ export function reinitializeEditor( target, settings ) {
45
45
  message={ __(
46
46
  'The editor is unable to find a block template for the homepage.'
47
47
  ) }
48
- dashboardLink="index.php"
48
+ dashboardLink={
49
+ settings.__experimentalDashboardLink ?? 'index.php'
50
+ }
49
51
  />,
50
52
  target
51
53
  );
@@ -132,7 +134,13 @@ export function reinitializeEditor( target, settings ) {
132
134
  window.addEventListener( 'dragover', ( e ) => e.preventDefault(), false );
133
135
  window.addEventListener( 'drop', ( e ) => e.preventDefault(), false );
134
136
 
135
- render( <EditSiteApp reboot={ reboot } />, target );
137
+ render(
138
+ <EditSiteApp
139
+ reboot={ reboot }
140
+ homeTemplate={ settings.__unstableHomeTemplate }
141
+ />,
142
+ target
143
+ );
136
144
  }
137
145
 
138
146
  /**
@@ -159,8 +167,7 @@ export function initializeEditor( id, settings ) {
159
167
  reinitializeEditor( target, settings );
160
168
  }
161
169
 
162
- export { default as __experimentalMainDashboardButton } from './components/main-dashboard-button';
163
170
  export { default as __experimentalNavigationToggle } from './components/navigation-sidebar/navigation-toggle';
164
- export { default as PluginSidebar } from './components/sidebar/plugin-sidebar';
165
- export { default as PluginSidebarMoreMenuItem } from './components/header/plugin-sidebar-more-menu-item';
166
- export { default as PluginMoreMenuItem } from './components/header/plugin-more-menu-item';
171
+ export { default as PluginSidebar } from './components/sidebar-edit-mode/plugin-sidebar';
172
+ export { default as PluginSidebarMoreMenuItem } from './components/header-edit-mode/plugin-sidebar-more-menu-item';
173
+ export { default as PluginMoreMenuItem } from './components/header-edit-mode/plugin-more-menu-item';
@@ -320,6 +320,19 @@ export function setIsListViewOpened( isOpen ) {
320
320
  };
321
321
  }
322
322
 
323
+ /**
324
+ * Sets whether the save view panel should be open.
325
+ *
326
+ * @param {boolean} isOpen If true, opens the save view. If false, closes it.
327
+ * It does not toggle the state, but sets it directly.
328
+ */
329
+ export function setIsSaveViewOpened( isOpen ) {
330
+ return {
331
+ type: 'SET_IS_SAVE_VIEW_OPENED',
332
+ isOpen,
333
+ };
334
+ }
335
+
323
336
  /**
324
337
  * Reverts a template to its original theme-provided file.
325
338
  *
@@ -183,6 +183,24 @@ export function listViewPanel( state = false, action ) {
183
183
  return state;
184
184
  }
185
185
 
186
+ /**
187
+ * Reducer to set the save view panel open or closed.
188
+ *
189
+ * @param {Object} state Current state.
190
+ * @param {Object} action Dispatched action.
191
+ */
192
+ export function saveViewPanel( state = false, action ) {
193
+ switch ( action.type ) {
194
+ case 'OPEN_NAVIGATION_PANEL_TO_MENU':
195
+ return false;
196
+ case 'SET_IS_NAVIGATION_PANEL_OPENED':
197
+ return action.isOpen ? false : state;
198
+ case 'SET_IS_SAVE_VIEW_OPENED':
199
+ return action.isOpen;
200
+ }
201
+ return state;
202
+ }
203
+
186
204
  export default combineReducers( {
187
205
  deviceType,
188
206
  settings,
@@ -191,4 +209,5 @@ export default combineReducers( {
191
209
  navigationPanel,
192
210
  blockInserterPanel,
193
211
  listViewPanel,
212
+ saveViewPanel,
194
213
  } );