@wordpress/edit-site 3.0.1-next.253d9b6e21.0 → 3.0.3

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 (276) hide show
  1. package/README.md +1 -1
  2. package/build/components/block-editor/back-button.js +60 -0
  3. package/build/components/block-editor/back-button.js.map +1 -0
  4. package/build/components/block-editor/index.js +20 -5
  5. package/build/components/block-editor/index.js.map +1 -1
  6. package/build/components/edit-template-part-menu-button/index.js +63 -0
  7. package/build/components/edit-template-part-menu-button/index.js.map +1 -0
  8. package/build/components/editor/global-styles-provider.js +15 -2
  9. package/build/components/editor/global-styles-provider.js.map +1 -1
  10. package/build/components/editor/global-styles-renderer.js +8 -8
  11. package/build/components/editor/global-styles-renderer.js.map +1 -1
  12. package/build/components/editor/index.js +7 -7
  13. package/build/components/editor/index.js.map +1 -1
  14. package/build/components/editor/utils.js +4 -9
  15. package/build/components/editor/utils.js.map +1 -1
  16. package/build/components/{sidebar → global-styles}/border-panel.js +2 -2
  17. package/build/components/global-styles/border-panel.js.map +1 -0
  18. package/build/components/{sidebar → global-styles}/color-palette-panel.js +4 -2
  19. package/build/components/global-styles/color-palette-panel.js.map +1 -0
  20. package/build/components/{sidebar → global-styles}/color-panel.js +24 -21
  21. package/build/components/global-styles/color-panel.js.map +1 -0
  22. package/build/components/global-styles/context-menu.js +58 -0
  23. package/build/components/global-styles/context-menu.js.map +1 -0
  24. package/build/components/{sidebar → global-styles}/dimensions-panel.js +58 -8
  25. package/build/components/global-styles/dimensions-panel.js.map +1 -0
  26. package/build/components/global-styles/header.js +54 -0
  27. package/build/components/global-styles/header.js.map +1 -0
  28. package/build/components/global-styles/index.js +89 -0
  29. package/build/components/global-styles/index.js.map +1 -0
  30. package/build/components/global-styles/navigation-button.js +43 -0
  31. package/build/components/global-styles/navigation-button.js.map +1 -0
  32. package/build/components/global-styles/palette.js +57 -0
  33. package/build/components/global-styles/palette.js.map +1 -0
  34. package/build/components/global-styles/preview.js +59 -0
  35. package/build/components/global-styles/preview.js.map +1 -0
  36. package/build/components/global-styles/screen-block-list.js +76 -0
  37. package/build/components/global-styles/screen-block-list.js.map +1 -0
  38. package/build/components/global-styles/screen-block.js +45 -0
  39. package/build/components/global-styles/screen-block.js.map +1 -0
  40. package/build/components/global-styles/screen-color-palette.js +48 -0
  41. package/build/components/global-styles/screen-color-palette.js.map +1 -0
  42. package/build/components/global-styles/screen-colors.js +51 -0
  43. package/build/components/global-styles/screen-colors.js.map +1 -0
  44. package/build/components/global-styles/screen-layout.js +60 -0
  45. package/build/components/global-styles/screen-layout.js.map +1 -0
  46. package/build/components/global-styles/screen-root.js +44 -0
  47. package/build/components/global-styles/screen-root.js.map +1 -0
  48. package/build/components/global-styles/screen-typography.js +50 -0
  49. package/build/components/global-styles/screen-typography.js.map +1 -0
  50. package/build/components/global-styles/subtitle.js +25 -0
  51. package/build/components/global-styles/subtitle.js.map +1 -0
  52. package/build/components/{sidebar → global-styles}/typography-panel.js +1 -3
  53. package/build/components/global-styles/typography-panel.js.map +1 -0
  54. package/build/components/header/document-actions/index.js +1 -1
  55. package/build/components/header/document-actions/index.js.map +1 -1
  56. package/build/components/header/plugin-more-menu-item/index.js +82 -0
  57. package/build/components/header/plugin-more-menu-item/index.js.map +1 -0
  58. package/build/components/header/plugin-sidebar-more-menu-item/index.js +75 -0
  59. package/build/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -0
  60. package/build/components/header/undo-redo/redo.js +1 -1
  61. package/build/components/header/undo-redo/redo.js.map +1 -1
  62. package/build/components/header/undo-redo/undo.js +1 -1
  63. package/build/components/header/undo-redo/undo.js.map +1 -1
  64. package/build/components/keyboard-shortcuts/index.js +2 -10
  65. package/build/components/keyboard-shortcuts/index.js.map +1 -1
  66. package/build/components/navigation-sidebar/index.js +1 -1
  67. package/build/components/navigation-sidebar/index.js.map +1 -1
  68. package/build/components/navigation-sidebar/navigation-panel/constants.js +10 -10
  69. package/build/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
  70. package/build/components/navigation-sidebar/navigation-panel/content-navigation-item.js +1 -3
  71. package/build/components/navigation-sidebar/navigation-panel/content-navigation-item.js.map +1 -1
  72. package/build/components/save-button/index.js +1 -1
  73. package/build/components/save-button/index.js.map +1 -1
  74. package/build/components/secondary-sidebar/inserter-sidebar.js +2 -1
  75. package/build/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  76. package/build/components/sidebar/global-styles-sidebar.js +11 -161
  77. package/build/components/sidebar/global-styles-sidebar.js.map +1 -1
  78. package/build/components/sidebar/index.js +1 -6
  79. package/build/components/sidebar/index.js.map +1 -1
  80. package/build/components/sidebar/plugin-sidebar/index.js +95 -0
  81. package/build/components/sidebar/plugin-sidebar/index.js.map +1 -0
  82. package/build/components/template-details/index.js +12 -6
  83. package/build/components/template-details/index.js.map +1 -1
  84. package/build/components/template-details/template-areas.js +73 -0
  85. package/build/components/template-details/template-areas.js.map +1 -0
  86. package/build/components/template-part-converter/convert-to-regular.js +3 -3
  87. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  88. package/build/components/template-part-converter/index.js +1 -1
  89. package/build/components/template-part-converter/index.js.map +1 -1
  90. package/build/components/url-query-controller/index.js +1 -1
  91. package/build/components/url-query-controller/index.js.map +1 -1
  92. package/build/index.js +24 -0
  93. package/build/index.js.map +1 -1
  94. package/build/store/actions.js +60 -7
  95. package/build/store/actions.js.map +1 -1
  96. package/build/store/constants.js +19 -1
  97. package/build/store/constants.js.map +1 -1
  98. package/build/store/reducer.js +16 -7
  99. package/build/store/reducer.js.map +1 -1
  100. package/build/store/selectors.js +91 -9
  101. package/build/store/selectors.js.map +1 -1
  102. package/build-module/components/block-editor/back-button.js +48 -0
  103. package/build-module/components/block-editor/back-button.js.map +1 -0
  104. package/build-module/components/block-editor/index.js +17 -5
  105. package/build-module/components/block-editor/index.js.map +1 -1
  106. package/build-module/components/edit-template-part-menu-button/index.js +49 -0
  107. package/build-module/components/edit-template-part-menu-button/index.js.map +1 -0
  108. package/build-module/components/editor/global-styles-provider.js +16 -3
  109. package/build-module/components/editor/global-styles-provider.js.map +1 -1
  110. package/build-module/components/editor/global-styles-renderer.js +8 -8
  111. package/build-module/components/editor/global-styles-renderer.js.map +1 -1
  112. package/build-module/components/editor/index.js +4 -5
  113. package/build-module/components/editor/index.js.map +1 -1
  114. package/build-module/components/editor/utils.js +2 -7
  115. package/build-module/components/editor/utils.js.map +1 -1
  116. package/build-module/components/{sidebar → global-styles}/border-panel.js +2 -2
  117. package/build-module/components/global-styles/border-panel.js.map +1 -0
  118. package/build-module/components/{sidebar → global-styles}/color-palette-panel.js +4 -2
  119. package/build-module/components/global-styles/color-palette-panel.js.map +1 -0
  120. package/build-module/components/{sidebar → global-styles}/color-panel.js +25 -22
  121. package/build-module/components/global-styles/color-panel.js.map +1 -0
  122. package/build-module/components/global-styles/context-menu.js +41 -0
  123. package/build-module/components/global-styles/context-menu.js.map +1 -0
  124. package/build-module/components/{sidebar → global-styles}/dimensions-panel.js +58 -9
  125. package/build-module/components/global-styles/dimensions-panel.js.map +1 -0
  126. package/build-module/components/global-styles/header.js +41 -0
  127. package/build-module/components/global-styles/header.js.map +1 -0
  128. package/build-module/components/global-styles/index.js +70 -0
  129. package/build-module/components/global-styles/index.js.map +1 -0
  130. package/build-module/components/global-styles/navigation-button.js +31 -0
  131. package/build-module/components/global-styles/navigation-button.js.map +1 -0
  132. package/build-module/components/global-styles/palette.js +43 -0
  133. package/build-module/components/global-styles/palette.js.map +1 -0
  134. package/build-module/components/global-styles/preview.js +50 -0
  135. package/build-module/components/global-styles/preview.js.map +1 -0
  136. package/build-module/components/global-styles/screen-block-list.js +58 -0
  137. package/build-module/components/global-styles/screen-block-list.js.map +1 -0
  138. package/build-module/components/global-styles/screen-block.js +32 -0
  139. package/build-module/components/global-styles/screen-block.js.map +1 -0
  140. package/build-module/components/global-styles/screen-color-palette.js +35 -0
  141. package/build-module/components/global-styles/screen-color-palette.js.map +1 -0
  142. package/build-module/components/global-styles/screen-colors.js +38 -0
  143. package/build-module/components/global-styles/screen-colors.js.map +1 -0
  144. package/build-module/components/global-styles/screen-layout.js +44 -0
  145. package/build-module/components/global-styles/screen-layout.js.map +1 -0
  146. package/build-module/components/global-styles/screen-root.js +29 -0
  147. package/build-module/components/global-styles/screen-root.js.map +1 -0
  148. package/build-module/components/global-styles/screen-typography.js +37 -0
  149. package/build-module/components/global-styles/screen-typography.js.map +1 -0
  150. package/build-module/components/global-styles/subtitle.js +17 -0
  151. package/build-module/components/global-styles/subtitle.js.map +1 -0
  152. package/build-module/components/{sidebar → global-styles}/typography-panel.js +1 -2
  153. package/build-module/components/global-styles/typography-panel.js.map +1 -0
  154. package/build-module/components/header/document-actions/index.js +1 -1
  155. package/build-module/components/header/document-actions/index.js.map +1 -1
  156. package/build-module/components/header/plugin-more-menu-item/index.js +70 -0
  157. package/build-module/components/header/plugin-more-menu-item/index.js.map +1 -0
  158. package/build-module/components/header/plugin-sidebar-more-menu-item/index.js +64 -0
  159. package/build-module/components/header/plugin-sidebar-more-menu-item/index.js.map +1 -0
  160. package/build-module/components/header/undo-redo/redo.js +1 -1
  161. package/build-module/components/header/undo-redo/redo.js.map +1 -1
  162. package/build-module/components/header/undo-redo/undo.js +1 -1
  163. package/build-module/components/header/undo-redo/undo.js.map +1 -1
  164. package/build-module/components/keyboard-shortcuts/index.js +3 -11
  165. package/build-module/components/keyboard-shortcuts/index.js.map +1 -1
  166. package/build-module/components/navigation-sidebar/index.js +1 -1
  167. package/build-module/components/navigation-sidebar/index.js.map +1 -1
  168. package/build-module/components/navigation-sidebar/navigation-panel/constants.js +5 -3
  169. package/build-module/components/navigation-sidebar/navigation-panel/constants.js.map +1 -1
  170. package/build-module/components/navigation-sidebar/navigation-panel/content-navigation-item.js +1 -3
  171. package/build-module/components/navigation-sidebar/navigation-panel/content-navigation-item.js.map +1 -1
  172. package/build-module/components/save-button/index.js +1 -1
  173. package/build-module/components/save-button/index.js.map +1 -1
  174. package/build-module/components/secondary-sidebar/inserter-sidebar.js +2 -1
  175. package/build-module/components/secondary-sidebar/inserter-sidebar.js.map +1 -1
  176. package/build-module/components/sidebar/global-styles-sidebar.js +13 -159
  177. package/build-module/components/sidebar/global-styles-sidebar.js.map +1 -1
  178. package/build-module/components/sidebar/index.js +2 -7
  179. package/build-module/components/sidebar/index.js.map +1 -1
  180. package/build-module/components/sidebar/plugin-sidebar/index.js +84 -0
  181. package/build-module/components/sidebar/plugin-sidebar/index.js.map +1 -0
  182. package/build-module/components/template-details/index.js +13 -8
  183. package/build-module/components/template-details/index.js.map +1 -1
  184. package/build-module/components/template-details/template-areas.js +60 -0
  185. package/build-module/components/template-details/template-areas.js.map +1 -0
  186. package/build-module/components/template-part-converter/convert-to-regular.js +3 -3
  187. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  188. package/build-module/components/template-part-converter/index.js +1 -1
  189. package/build-module/components/template-part-converter/index.js.map +1 -1
  190. package/build-module/components/url-query-controller/index.js +1 -1
  191. package/build-module/components/url-query-controller/index.js.map +1 -1
  192. package/build-module/index.js +3 -0
  193. package/build-module/index.js.map +1 -1
  194. package/build-module/store/actions.js +51 -7
  195. package/build-module/store/actions.js.map +1 -1
  196. package/build-module/store/constants.js +13 -0
  197. package/build-module/store/constants.js.map +1 -1
  198. package/build-module/store/reducer.js +16 -7
  199. package/build-module/store/reducer.js.map +1 -1
  200. package/build-module/store/selectors.js +85 -9
  201. package/build-module/store/selectors.js.map +1 -1
  202. package/build-style/style-rtl.css +158 -19
  203. package/build-style/style.css +158 -19
  204. package/package.json +26 -26
  205. package/src/components/block-editor/back-button.js +44 -0
  206. package/src/components/block-editor/index.js +18 -2
  207. package/src/components/block-editor/style.scss +26 -0
  208. package/src/components/edit-template-part-menu-button/index.js +57 -0
  209. package/src/components/editor/global-styles-provider.js +19 -3
  210. package/src/components/editor/global-styles-renderer.js +8 -5
  211. package/src/components/editor/index.js +5 -8
  212. package/src/components/editor/test/global-styles-provider.js +131 -0
  213. package/src/components/editor/test/global-styles-renderer.js +1 -1
  214. package/src/components/editor/test/utils.js +146 -0
  215. package/src/components/editor/utils.js +2 -7
  216. package/src/components/{sidebar → global-styles}/border-panel.js +2 -2
  217. package/src/components/{sidebar → global-styles}/color-palette-panel.js +13 -11
  218. package/src/components/{sidebar → global-styles}/color-panel.js +43 -28
  219. package/src/components/global-styles/context-menu.js +54 -0
  220. package/src/components/{sidebar → global-styles}/dimensions-panel.js +60 -9
  221. package/src/components/global-styles/header.js +50 -0
  222. package/src/components/global-styles/index.js +81 -0
  223. package/src/components/global-styles/navigation-button.js +35 -0
  224. package/src/components/global-styles/palette.js +67 -0
  225. package/src/components/global-styles/preview.js +41 -0
  226. package/src/components/global-styles/screen-block-list.js +59 -0
  227. package/src/components/global-styles/screen-block.js +28 -0
  228. package/src/components/global-styles/screen-color-palette.js +33 -0
  229. package/src/components/global-styles/screen-colors.js +36 -0
  230. package/src/components/global-styles/screen-layout.js +45 -0
  231. package/src/components/global-styles/screen-root.js +43 -0
  232. package/src/components/global-styles/screen-typography.js +33 -0
  233. package/src/components/global-styles/style.scss +35 -0
  234. package/src/components/global-styles/subtitle.js +10 -0
  235. package/src/components/{sidebar → global-styles}/typography-panel.js +1 -2
  236. package/src/components/header/document-actions/index.js +1 -1
  237. package/src/components/header/plugin-more-menu-item/index.js +71 -0
  238. package/src/components/header/plugin-sidebar-more-menu-item/index.js +64 -0
  239. package/src/components/header/undo-redo/redo.js +4 -1
  240. package/src/components/header/undo-redo/undo.js +4 -1
  241. package/src/components/keyboard-shortcuts/index.js +25 -40
  242. package/src/components/navigation-sidebar/index.js +1 -1
  243. package/src/components/navigation-sidebar/navigation-panel/constants.js +9 -4
  244. package/src/components/navigation-sidebar/navigation-panel/content-navigation-item.js +1 -1
  245. package/src/components/navigation-sidebar/navigation-panel/style.scss +1 -0
  246. package/src/components/navigation-sidebar/navigation-toggle/style.scss +3 -2
  247. package/src/components/save-button/index.js +1 -1
  248. package/src/components/secondary-sidebar/inserter-sidebar.js +1 -0
  249. package/src/components/sidebar/global-styles-sidebar.js +14 -187
  250. package/src/components/sidebar/index.js +2 -7
  251. package/src/components/sidebar/plugin-sidebar/index.js +80 -0
  252. package/src/components/sidebar/style.scss +40 -0
  253. package/src/components/template-details/index.js +17 -7
  254. package/src/components/template-details/style.scss +36 -27
  255. package/src/components/template-details/template-areas.js +66 -0
  256. package/src/components/template-part-converter/convert-to-regular.js +2 -8
  257. package/src/components/template-part-converter/index.js +1 -1
  258. package/src/components/url-query-controller/index.js +1 -1
  259. package/src/index.js +3 -0
  260. package/src/store/actions.js +59 -7
  261. package/src/store/constants.js +15 -0
  262. package/src/store/reducer.js +26 -12
  263. package/src/store/selectors.js +96 -9
  264. package/src/store/test/reducer.js +40 -23
  265. package/src/store/test/selectors.js +34 -3
  266. package/src/style.scss +1 -0
  267. package/build/components/sidebar/border-panel.js.map +0 -1
  268. package/build/components/sidebar/color-palette-panel.js.map +0 -1
  269. package/build/components/sidebar/color-panel.js.map +0 -1
  270. package/build/components/sidebar/dimensions-panel.js.map +0 -1
  271. package/build/components/sidebar/typography-panel.js.map +0 -1
  272. package/build-module/components/sidebar/border-panel.js.map +0 -1
  273. package/build-module/components/sidebar/color-palette-panel.js.map +0 -1
  274. package/build-module/components/sidebar/color-panel.js.map +0 -1
  275. package/build-module/components/sidebar/dimensions-panel.js.map +0 -1
  276. package/build-module/components/sidebar/typography-panel.js.map +0 -1
@@ -0,0 +1,33 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __ } from '@wordpress/i18n';
5
+
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import { useGlobalStylesContext } from '../editor/global-styles-provider';
10
+ import TypographyPanel from './typography-panel';
11
+ import ScreenHeader from './header';
12
+
13
+ function ScreenTypography( { name } ) {
14
+ const { root, blocks, getStyle, setStyle } = useGlobalStylesContext();
15
+ const context = name === undefined ? root : blocks[ name ];
16
+ const parentMenu = name === undefined ? '' : '/blocks/' + name;
17
+
18
+ return (
19
+ <>
20
+ <ScreenHeader
21
+ back={ parentMenu ? parentMenu : '/' }
22
+ title={ __( 'Typography' ) }
23
+ />
24
+ <TypographyPanel
25
+ context={ context }
26
+ getStyle={ getStyle }
27
+ setStyle={ setStyle }
28
+ />
29
+ </>
30
+ );
31
+ }
32
+
33
+ export default ScreenTypography;
@@ -0,0 +1,35 @@
1
+ .edit-site-global-styles-preview {
2
+ display: flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ min-height: 152px;
6
+ margin: $grid-unit-20;
7
+ line-height: 1;
8
+
9
+ .component-color-indicator {
10
+ border-radius: 50%;
11
+ border: 0;
12
+ height: 36px;
13
+ width: 36px;
14
+ margin-left: 0;
15
+ padding: 0;
16
+ }
17
+ }
18
+
19
+ .edit-site-global-style-palette {
20
+ margin: $grid-unit-20;
21
+
22
+ .component-color-indicator {
23
+ display: block;
24
+ border-radius: 50%;
25
+ border: 0;
26
+ height: 24px;
27
+ width: 24px;
28
+ margin-left: 0;
29
+ padding: 0;
30
+ }
31
+ }
32
+
33
+ .edit-site-global-styles-header__description {
34
+ padding: 0 $grid-unit-20;
35
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { __experimentalHeading as Heading } from '@wordpress/components';
5
+
6
+ function Subtitle( { children } ) {
7
+ return <Heading level={ 2 }>{ children }</Heading>;
8
+ }
9
+
10
+ export default Subtitle;
@@ -8,7 +8,6 @@ import {
8
8
  __experimentalLetterSpacingControl as LetterSpacingControl,
9
9
  } from '@wordpress/block-editor';
10
10
  import { PanelBody, FontSizePicker } from '@wordpress/components';
11
- import { __ } from '@wordpress/i18n';
12
11
 
13
12
  /**
14
13
  * Internal dependencies
@@ -76,7 +75,7 @@ export default function TypographyPanel( {
76
75
  } );
77
76
 
78
77
  return (
79
- <PanelBody title={ __( 'Typography' ) } initialOpen={ true }>
78
+ <PanelBody className="edit-site-typography-panel" initialOpen={ true }>
80
79
  { supports.includes( 'fontFamily' ) && (
81
80
  <FontFamilyControl
82
81
  fontFamilies={ fontFamilies }
@@ -29,7 +29,7 @@ function getBlockDisplayText( block ) {
29
29
  }
30
30
 
31
31
  function useSecondaryText() {
32
- const { getBlock } = useSelect( 'core/block-editor' );
32
+ const { getBlock } = useSelect( blockEditorStore );
33
33
  const activeEntityBlockId = useSelect(
34
34
  ( select ) =>
35
35
  select(
@@ -0,0 +1,71 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { ActionItem } from '@wordpress/interface';
5
+ import { compose } from '@wordpress/compose';
6
+ import { withPluginContext } from '@wordpress/plugins';
7
+
8
+ /**
9
+ * Renders a menu item in `Plugins` group in `More Menu` drop down, and can be used to as a button or link depending on the props provided.
10
+ * The text within the component appears as the menu item label.
11
+ *
12
+ * @param {Object} props Component properties.
13
+ * @param {string} [props.href] When `href` is provided then the menu item is represented as an anchor rather than button. It corresponds to the `href` attribute of the anchor.
14
+ * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered to the left of the menu item label.
15
+ * @param {Function} [props.onClick=noop] The callback function to be executed when the user clicks the menu item.
16
+ * @param {...*} [props.other] Any additional props are passed through to the underlying [Button](/packages/components/src/button/README.md) component.
17
+ *
18
+ * @example
19
+ * ```js
20
+ * // Using ES5 syntax
21
+ * var __ = wp.i18n.__;
22
+ * var PluginMoreMenuItem = wp.editSite.PluginMoreMenuItem;
23
+ * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.
24
+ *
25
+ * function onButtonClick() {
26
+ * alert( 'Button clicked.' );
27
+ * }
28
+ *
29
+ * function MyButtonMoreMenuItem() {
30
+ * return wp.element.createElement(
31
+ * PluginMoreMenuItem,
32
+ * {
33
+ * icon: moreIcon,
34
+ * onClick: onButtonClick,
35
+ * },
36
+ * __( 'My button title' )
37
+ * );
38
+ * }
39
+ * ```
40
+ *
41
+ * @example
42
+ * ```jsx
43
+ * // Using ESNext syntax
44
+ * import { __ } from '@wordpress/i18n';
45
+ * import { PluginMoreMenuItem } from '@wordpress/edit-site';
46
+ * import { more } from '@wordpress/icons';
47
+ *
48
+ * function onButtonClick() {
49
+ * alert( 'Button clicked.' );
50
+ * }
51
+ *
52
+ * const MyButtonMoreMenuItem = () => (
53
+ * <PluginMoreMenuItem
54
+ * icon={ more }
55
+ * onClick={ onButtonClick }
56
+ * >
57
+ * { __( 'My button title' ) }
58
+ * </PluginMoreMenuItem>
59
+ * );
60
+ * ```
61
+ *
62
+ * @return {WPComponent} The component to be rendered.
63
+ */
64
+ export default compose(
65
+ withPluginContext( ( context, ownProps ) => {
66
+ return {
67
+ icon: ownProps.icon || context.icon,
68
+ name: 'core/edit-site/plugin-more-menu',
69
+ };
70
+ } )
71
+ )( ActionItem );
@@ -0,0 +1,64 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import { ComplementaryAreaMoreMenuItem } from '@wordpress/interface';
5
+
6
+ /**
7
+ * Renders a menu item in `Plugins` group in `More Menu` drop down,
8
+ * and can be used to activate the corresponding `PluginSidebar` component.
9
+ * The text within the component appears as the menu item label.
10
+ *
11
+ * @param {Object} props Component props.
12
+ * @param {string} props.target A string identifying the target sidebar you wish to be activated by this menu item. Must be the same as the `name` prop you have given to that sidebar.
13
+ * @param {WPBlockTypeIconRender} [props.icon=inherits from the plugin] The [Dashicon](https://developer.wordpress.org/resource/dashicons/) icon slug string, or an SVG WP element, to be rendered to the left of the menu item label.
14
+ *
15
+ * @example
16
+ * ```js
17
+ * // Using ES5 syntax
18
+ * var __ = wp.i18n.__;
19
+ * var PluginSidebarMoreMenuItem = wp.editSite.PluginSidebarMoreMenuItem;
20
+ * var moreIcon = wp.element.createElement( 'svg' ); //... svg element.
21
+ *
22
+ * function MySidebarMoreMenuItem() {
23
+ * return wp.element.createElement(
24
+ * PluginSidebarMoreMenuItem,
25
+ * {
26
+ * target: 'my-sidebar',
27
+ * icon: moreIcon,
28
+ * },
29
+ * __( 'My sidebar title' )
30
+ * )
31
+ * }
32
+ * ```
33
+ *
34
+ * @example
35
+ * ```jsx
36
+ * // Using ESNext syntax
37
+ * import { __ } from '@wordpress/i18n';
38
+ * import { PluginSidebarMoreMenuItem } from '@wordpress/edit-site';
39
+ * import { more } from '@wordpress/icons';
40
+ *
41
+ * const MySidebarMoreMenuItem = () => (
42
+ * <PluginSidebarMoreMenuItem
43
+ * target="my-sidebar"
44
+ * icon={ more }
45
+ * >
46
+ * { __( 'My sidebar title' ) }
47
+ * </PluginSidebarMoreMenuItem>
48
+ * );
49
+ * ```
50
+ *
51
+ * @return {WPComponent} The component to be rendered.
52
+ */
53
+
54
+ export default function PluginSidebarMoreMenuItem( props ) {
55
+ return (
56
+ <ComplementaryAreaMoreMenuItem
57
+ // Menu item is marked with unstable prop for backward compatibility.
58
+ // @see https://github.com/WordPress/gutenberg/issues/14457
59
+ __unstableExplicitMenuItem
60
+ scope="core/edit-site"
61
+ { ...props }
62
+ />
63
+ );
64
+ }
@@ -9,7 +9,10 @@ import { displayShortcut } from '@wordpress/keycodes';
9
9
  import { store as coreStore } from '@wordpress/core-data';
10
10
 
11
11
  export default function RedoButton() {
12
- const hasRedo = useSelect( ( select ) => select( coreStore ).hasRedo() );
12
+ const hasRedo = useSelect(
13
+ ( select ) => select( coreStore ).hasRedo(),
14
+ []
15
+ );
13
16
  const { redo } = useDispatch( coreStore );
14
17
  return (
15
18
  <Button
@@ -9,7 +9,10 @@ import { displayShortcut } from '@wordpress/keycodes';
9
9
  import { store as coreStore } from '@wordpress/core-data';
10
10
 
11
11
  export default function UndoButton() {
12
- const hasUndo = useSelect( ( select ) => select( coreStore ).hasUndo() );
12
+ const hasUndo = useSelect(
13
+ ( select ) => select( coreStore ).hasUndo(),
14
+ []
15
+ );
13
16
  const { undo } = useDispatch( coreStore );
14
17
  return (
15
18
  <Button
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * WordPress dependencies
3
3
  */
4
- import { useCallback, useEffect } from '@wordpress/element';
4
+ import { useEffect } from '@wordpress/element';
5
5
  import {
6
6
  useShortcut,
7
7
  store as keyboardShortcutsStore,
@@ -19,8 +19,9 @@ import { SIDEBAR_BLOCK } from '../sidebar/constants';
19
19
  import { STORE_NAME } from '../../store/constants';
20
20
 
21
21
  function KeyboardShortcuts() {
22
- const isListViewOpen = useSelect( ( select ) =>
23
- select( editSiteStore ).isListViewOpened()
22
+ const isListViewOpen = useSelect(
23
+ ( select ) => select( editSiteStore ).isListViewOpened(),
24
+ []
24
25
  );
25
26
  const isBlockInspectorOpen = useSelect(
26
27
  ( select ) =>
@@ -35,47 +36,31 @@ function KeyboardShortcuts() {
35
36
  interfaceStore
36
37
  );
37
38
 
38
- useShortcut(
39
- 'core/edit-site/undo',
40
- ( event ) => {
41
- undo();
42
- event.preventDefault();
43
- },
44
- { bindGlobal: true }
45
- );
39
+ useShortcut( 'core/edit-site/undo', ( event ) => {
40
+ undo();
41
+ event.preventDefault();
42
+ } );
46
43
 
47
- useShortcut(
48
- 'core/edit-site/redo',
49
- ( event ) => {
50
- redo();
51
- event.preventDefault();
52
- },
53
- { bindGlobal: true }
54
- );
44
+ useShortcut( 'core/edit-site/redo', ( event ) => {
45
+ redo();
46
+ event.preventDefault();
47
+ } );
55
48
 
56
- useShortcut(
57
- 'core/edit-site/toggle-list-view',
58
- useCallback( () => {
59
- setIsListViewOpened( ! isListViewOpen );
60
- }, [ isListViewOpen, setIsListViewOpened ] ),
61
- { bindGlobal: true }
62
- );
49
+ useShortcut( 'core/edit-site/toggle-list-view', () => {
50
+ setIsListViewOpened( ! isListViewOpen );
51
+ } );
63
52
 
64
- useShortcut(
65
- 'core/edit-site/toggle-block-settings-sidebar',
66
- ( event ) => {
67
- // This shortcut has no known clashes, but use preventDefault to prevent any
68
- // obscure shortcuts from triggering.
69
- event.preventDefault();
53
+ useShortcut( 'core/edit-site/toggle-block-settings-sidebar', ( event ) => {
54
+ // This shortcut has no known clashes, but use preventDefault to prevent any
55
+ // obscure shortcuts from triggering.
56
+ event.preventDefault();
70
57
 
71
- if ( isBlockInspectorOpen ) {
72
- disableComplementaryArea( STORE_NAME );
73
- } else {
74
- enableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );
75
- }
76
- },
77
- { bindGlobal: true }
78
- );
58
+ if ( isBlockInspectorOpen ) {
59
+ disableComplementaryArea( STORE_NAME );
60
+ } else {
61
+ enableComplementaryArea( STORE_NAME, SIDEBAR_BLOCK );
62
+ }
63
+ } );
79
64
 
80
65
  return null;
81
66
  }
@@ -19,7 +19,7 @@ export const {
19
19
  export default function NavigationSidebar() {
20
20
  const isNavigationOpen = useSelect( ( select ) => {
21
21
  return select( editSiteStore ).isNavigationOpened();
22
- } );
22
+ }, [] );
23
23
 
24
24
  return (
25
25
  <>
@@ -3,6 +3,15 @@
3
3
  */
4
4
  import { __ } from '@wordpress/i18n';
5
5
 
6
+ /**
7
+ * Internal dependencies
8
+ */
9
+ import {
10
+ TEMPLATE_PART_AREA_HEADER,
11
+ TEMPLATE_PART_AREA_FOOTER,
12
+ TEMPLATE_PART_AREA_SIDEBAR,
13
+ } from '../../../store/constants';
14
+
6
15
  export const TEMPLATES_PRIMARY = [
7
16
  'index',
8
17
  'singular',
@@ -75,10 +84,6 @@ export const MENU_TEMPLATE_PARTS_FOOTERS = 'template-parts-footers';
75
84
  export const MENU_TEMPLATE_PARTS_SIDEBARS = 'template-parts-sidebars';
76
85
  export const MENU_TEMPLATE_PARTS_GENERAL = 'template-parts-general';
77
86
 
78
- export const TEMPLATE_PART_AREA_HEADER = 'header';
79
- export const TEMPLATE_PART_AREA_FOOTER = 'footer';
80
- export const TEMPLATE_PART_AREA_SIDEBAR = 'sidebar';
81
-
82
87
  export const TEMPLATE_PARTS_SUB_MENUS = [
83
88
  {
84
89
  area: TEMPLATE_PART_AREA_HEADER,
@@ -36,7 +36,7 @@ export default function ContentNavigationItem( { item } ) {
36
36
  const template = select(
37
37
  coreStore
38
38
  ).__experimentalGetTemplateForLink( item.link );
39
- return template?.content?.raw;
39
+ return template?.content;
40
40
  },
41
41
  [ isPreviewVisible ]
42
42
  );
@@ -4,6 +4,7 @@
4
4
  width: 0;
5
5
  overflow: hidden;
6
6
  background: $gray-900;
7
+ color: $white;
7
8
  transition: width 100ms linear;
8
9
  @include reduce-motion("transition");
9
10
 
@@ -17,9 +17,10 @@
17
17
  background: $gray-900;
18
18
  border-radius: 0;
19
19
  color: $white;
20
- height: $header-height;
20
+ height: $header-height + $border-width;
21
21
  width: $header-height;
22
22
  z-index: 1;
23
+ margin-bottom: - $border-width;
23
24
 
24
25
  &.has-icon {
25
26
  min-width: $header-height;
@@ -44,7 +45,7 @@
44
45
  bottom: 9px;
45
46
  left: 9px;
46
47
  border-radius: $radius-block-ui + $border-width + $border-width;
47
- box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) #23282e;
48
+ box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) $gray-900;
48
49
  }
49
50
 
50
51
  // Hover color.
@@ -27,7 +27,7 @@ export default function SaveButton( {
27
27
  isSavingEntityRecord( record.kind, record.name, record.key )
28
28
  ),
29
29
  };
30
- } );
30
+ }, [] );
31
31
 
32
32
  const disabled = ! isDirty || isSaving;
33
33
 
@@ -47,6 +47,7 @@ export default function InserterSidebar() {
47
47
  __experimentalInsertionIndex={
48
48
  insertionPoint.insertionIndex
49
49
  }
50
+ __experimentalFilterValue={ insertionPoint.filterValue }
50
51
  />
51
52
  </div>
52
53
  </div>
@@ -1,176 +1,33 @@
1
- /**
2
- * External dependencies
3
- */
4
- import { map, sortBy } from 'lodash';
5
-
6
1
  /**
7
2
  * WordPress dependencies
8
3
  */
9
- import { Button, PanelBody, TabPanel } from '@wordpress/components';
4
+ import { Button } from '@wordpress/components';
10
5
  import { __ } from '@wordpress/i18n';
11
- import { getBlockType } from '@wordpress/blocks';
12
- import { useMemo } from '@wordpress/element';
6
+ import { styles } from '@wordpress/icons';
13
7
 
14
8
  /**
15
9
  * Internal dependencies
16
10
  */
17
- import {
18
- useGlobalStylesContext,
19
- useGlobalStylesReset,
20
- } from '../editor/global-styles-provider';
11
+ import { useGlobalStylesReset } from '../editor/global-styles-provider';
21
12
  import DefaultSidebar from './default-sidebar';
22
- import {
23
- default as TypographyPanel,
24
- useHasTypographyPanel,
25
- } from './typography-panel';
26
- import { default as BorderPanel, useHasBorderPanel } from './border-panel';
27
- import { default as ColorPanel, useHasColorPanel } from './color-panel';
28
- import {
29
- default as DimensionsPanel,
30
- useHasDimensionsPanel,
31
- } from './dimensions-panel';
32
-
33
- function GlobalStylesPanel( {
34
- wrapperPanelTitle,
35
- context,
36
- getStyle,
37
- setStyle,
38
- getSetting,
39
- setSetting,
40
- } ) {
41
- const hasBorderPanel = useHasBorderPanel( context );
42
- const hasColorPanel = useHasColorPanel( context );
43
- const hasTypographyPanel = useHasTypographyPanel( context );
44
- const hasDimensionsPanel = useHasDimensionsPanel( context );
45
-
46
- if ( ! hasColorPanel && ! hasTypographyPanel && ! hasDimensionsPanel ) {
47
- return null;
48
- }
49
-
50
- const content = (
51
- <>
52
- { hasTypographyPanel && (
53
- <TypographyPanel
54
- context={ context }
55
- getStyle={ getStyle }
56
- setStyle={ setStyle }
57
- />
58
- ) }
59
- { hasColorPanel && (
60
- <ColorPanel
61
- context={ context }
62
- getStyle={ getStyle }
63
- setStyle={ setStyle }
64
- getSetting={ getSetting }
65
- setSetting={ setSetting }
66
- />
67
- ) }
68
- { hasDimensionsPanel && (
69
- <DimensionsPanel
70
- context={ context }
71
- getStyle={ getStyle }
72
- setStyle={ setStyle }
73
- />
74
- ) }
75
- { hasBorderPanel && (
76
- <BorderPanel
77
- context={ context }
78
- getStyle={ getStyle }
79
- setStyle={ setStyle }
80
- />
81
- ) }
82
- </>
83
- );
84
- if ( ! wrapperPanelTitle ) {
85
- return content;
86
- }
87
- return (
88
- <PanelBody title={ wrapperPanelTitle } initialOpen={ false }>
89
- { content }
90
- </PanelBody>
91
- );
92
- }
13
+ import GlobalStyles from '../global-styles';
93
14
 
94
- function getPanelTitle( blockName ) {
95
- const blockType = getBlockType( blockName );
96
-
97
- // Protect against blocks that aren't registered
98
- // eg: widget-area
99
- if ( blockType === undefined ) {
100
- return blockName;
101
- }
102
-
103
- return blockType.title;
104
- }
105
-
106
- function GlobalStylesBlockPanels( {
107
- blocks,
108
- getStyle,
109
- setStyle,
110
- getSetting,
111
- setSetting,
112
- } ) {
113
- const panels = useMemo(
114
- () =>
115
- sortBy(
116
- map( blocks, ( block, name ) => {
117
- return {
118
- block,
119
- name,
120
- wrapperPanelTitle: getPanelTitle( name ),
121
- };
122
- } ),
123
- ( { wrapperPanelTitle } ) => wrapperPanelTitle
124
- ),
125
- [ blocks ]
126
- );
127
-
128
- return map( panels, ( { block, name, wrapperPanelTitle } ) => {
129
- return (
130
- <GlobalStylesPanel
131
- key={ 'panel-' + name }
132
- wrapperPanelTitle={ wrapperPanelTitle }
133
- context={ block }
134
- getStyle={ getStyle }
135
- setStyle={ setStyle }
136
- getSetting={ getSetting }
137
- setSetting={ setSetting }
138
- />
139
- );
140
- } );
141
- }
142
-
143
- export default function GlobalStylesSidebar( {
144
- identifier,
145
- title,
146
- icon,
147
- closeLabel,
148
- } ) {
149
- const {
150
- root,
151
- blocks,
152
- getStyle,
153
- setStyle,
154
- getSetting,
155
- setSetting,
156
- } = useGlobalStylesContext();
15
+ export default function GlobalStylesSidebar() {
157
16
  const [ canRestart, onReset ] = useGlobalStylesReset();
158
17
 
159
- if ( typeof blocks !== 'object' || ! root ) {
160
- // No sidebar is shown.
161
- return null;
162
- }
163
-
164
18
  return (
165
19
  <DefaultSidebar
166
20
  className="edit-site-global-styles-sidebar"
167
- identifier={ identifier }
168
- title={ title }
169
- icon={ icon }
170
- closeLabel={ closeLabel }
21
+ identifier="edit-site/global-styles"
22
+ title={ __( 'Styles' ) }
23
+ icon={ styles }
24
+ closeLabel={ __( 'Close global styles sidebar' ) }
171
25
  header={
172
26
  <>
173
- <strong>{ title }</strong>
27
+ <strong>{ __( 'Styles' ) }</strong>
28
+ <span className="edit-site-global-styles-sidebar__beta">
29
+ { __( 'Beta' ) }
30
+ </span>
174
31
  <Button
175
32
  className="edit-site-global-styles-sidebar__reset-button"
176
33
  isSmall
@@ -183,37 +40,7 @@ export default function GlobalStylesSidebar( {
183
40
  </>
184
41
  }
185
42
  >
186
- <TabPanel
187
- tabs={ [
188
- { name: 'root', title: __( 'Root' ) },
189
- { name: 'block', title: __( 'By Block Type' ) },
190
- ] }
191
- >
192
- { ( tab ) => {
193
- /* Per Block Context */
194
- if ( 'block' === tab.name ) {
195
- return (
196
- <GlobalStylesBlockPanels
197
- blocks={ blocks }
198
- getStyle={ getStyle }
199
- setStyle={ setStyle }
200
- getSetting={ getSetting }
201
- setSetting={ setSetting }
202
- />
203
- );
204
- }
205
- return (
206
- <GlobalStylesPanel
207
- hasWrapper={ false }
208
- context={ root }
209
- getStyle={ getStyle }
210
- setStyle={ setStyle }
211
- getSetting={ getSetting }
212
- setSetting={ setSetting }
213
- />
214
- );
215
- } }
216
- </TabPanel>
43
+ <GlobalStyles />
217
44
  </DefaultSidebar>
218
45
  );
219
46
  }