@wordpress/edit-site 4.1.0 → 4.3.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 (170) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/build/components/add-new-template/new-template-part.js +2 -9
  3. package/build/components/add-new-template/new-template-part.js.map +1 -1
  4. package/build/components/add-new-template/new-template.js +28 -12
  5. package/build/components/add-new-template/new-template.js.map +1 -1
  6. package/build/components/block-editor/index.js +53 -4
  7. package/build/components/block-editor/index.js.map +1 -1
  8. package/build/components/editor/index.js +9 -3
  9. package/build/components/editor/index.js.map +1 -1
  10. package/build/components/global-styles/border-panel.js +25 -24
  11. package/build/components/global-styles/border-panel.js.map +1 -1
  12. package/build/components/global-styles/color-indicator-wrapper.js +37 -0
  13. package/build/components/global-styles/color-indicator-wrapper.js.map +1 -0
  14. package/build/components/global-styles/dimensions-panel.js +6 -2
  15. package/build/components/global-styles/dimensions-panel.js.map +1 -1
  16. package/build/components/global-styles/header.js +1 -4
  17. package/build/components/global-styles/header.js.map +1 -1
  18. package/build/components/global-styles/icon-with-current-color.js +34 -0
  19. package/build/components/global-styles/icon-with-current-color.js.map +1 -0
  20. package/build/components/global-styles/navigation-button.js +7 -3
  21. package/build/components/global-styles/navigation-button.js.map +1 -1
  22. package/build/components/global-styles/palette.js +8 -5
  23. package/build/components/global-styles/palette.js.map +1 -1
  24. package/build/components/global-styles/preview.js +142 -26
  25. package/build/components/global-styles/preview.js.map +1 -1
  26. package/build/components/global-styles/screen-block-list.js +2 -2
  27. package/build/components/global-styles/screen-block-list.js.map +1 -1
  28. package/build/components/global-styles/screen-colors.js +11 -3
  29. package/build/components/global-styles/screen-colors.js.map +1 -1
  30. package/build/components/global-styles/screen-root.js +7 -5
  31. package/build/components/global-styles/screen-root.js.map +1 -1
  32. package/build/components/global-styles/screen-style-variations.js +12 -5
  33. package/build/components/global-styles/screen-style-variations.js.map +1 -1
  34. package/build/components/header/document-actions/index.js +13 -11
  35. package/build/components/header/document-actions/index.js.map +1 -1
  36. package/build/components/header/index.js +5 -3
  37. package/build/components/header/index.js.map +1 -1
  38. package/build/components/header/more-menu/index.js +9 -1
  39. package/build/components/header/more-menu/index.js.map +1 -1
  40. package/build/components/header/more-menu/site-export.js +5 -2
  41. package/build/components/header/more-menu/site-export.js.map +1 -1
  42. package/build/components/header/plugin-more-menu-item/index.js +5 -0
  43. package/build/components/header/plugin-more-menu-item/index.js.map +1 -1
  44. package/build/components/list/actions/rename-menu-item.js +3 -10
  45. package/build/components/list/actions/rename-menu-item.js.map +1 -1
  46. package/build/components/preferences-modal/enable-feature.js +40 -0
  47. package/build/components/preferences-modal/enable-feature.js.map +1 -0
  48. package/build/components/preferences-modal/index.js +68 -0
  49. package/build/components/preferences-modal/index.js.map +1 -0
  50. package/build/components/sidebar/index.js +12 -1
  51. package/build/components/sidebar/index.js.map +1 -1
  52. package/build/components/sidebar/navigation-menu-sidebar/index.js +40 -0
  53. package/build/components/sidebar/navigation-menu-sidebar/index.js.map +1 -0
  54. package/build/components/sidebar/navigation-menu-sidebar/navigation-inspector.js +185 -0
  55. package/build/components/sidebar/navigation-menu-sidebar/navigation-inspector.js.map +1 -0
  56. package/build/components/sidebar/navigation-menu-sidebar/navigation-menu.js +54 -0
  57. package/build/components/sidebar/navigation-menu-sidebar/navigation-menu.js.map +1 -0
  58. package/build/components/template-part-converter/convert-to-regular.js +6 -0
  59. package/build/components/template-part-converter/convert-to-regular.js.map +1 -1
  60. package/build/index.js +1 -0
  61. package/build/index.js.map +1 -1
  62. package/build/store/actions.js +3 -3
  63. package/build/store/actions.js.map +1 -1
  64. package/build/store/selectors.js +3 -1
  65. package/build/store/selectors.js.map +1 -1
  66. package/build-module/components/add-new-template/new-template-part.js +3 -10
  67. package/build-module/components/add-new-template/new-template-part.js.map +1 -1
  68. package/build-module/components/add-new-template/new-template.js +27 -12
  69. package/build-module/components/add-new-template/new-template.js.map +1 -1
  70. package/build-module/components/block-editor/index.js +51 -6
  71. package/build-module/components/block-editor/index.js.map +1 -1
  72. package/build-module/components/editor/index.js +8 -3
  73. package/build-module/components/editor/index.js.map +1 -1
  74. package/build-module/components/global-styles/border-panel.js +27 -26
  75. package/build-module/components/global-styles/border-panel.js.map +1 -1
  76. package/build-module/components/global-styles/color-indicator-wrapper.js +25 -0
  77. package/build-module/components/global-styles/color-indicator-wrapper.js.map +1 -0
  78. package/build-module/components/global-styles/dimensions-panel.js +6 -2
  79. package/build-module/components/global-styles/dimensions-panel.js.map +1 -1
  80. package/build-module/components/global-styles/header.js +2 -5
  81. package/build-module/components/global-styles/header.js.map +1 -1
  82. package/build-module/components/global-styles/icon-with-current-color.js +22 -0
  83. package/build-module/components/global-styles/icon-with-current-color.js.map +1 -0
  84. package/build-module/components/global-styles/navigation-button.js +7 -3
  85. package/build-module/components/global-styles/navigation-button.js.map +1 -1
  86. package/build-module/components/global-styles/palette.js +8 -6
  87. package/build-module/components/global-styles/palette.js.map +1 -1
  88. package/build-module/components/global-styles/preview.js +141 -27
  89. package/build-module/components/global-styles/preview.js.map +1 -1
  90. package/build-module/components/global-styles/screen-block-list.js +2 -2
  91. package/build-module/components/global-styles/screen-block-list.js.map +1 -1
  92. package/build-module/components/global-styles/screen-colors.js +10 -3
  93. package/build-module/components/global-styles/screen-colors.js.map +1 -1
  94. package/build-module/components/global-styles/screen-root.js +8 -7
  95. package/build-module/components/global-styles/screen-root.js.map +1 -1
  96. package/build-module/components/global-styles/screen-style-variations.js +13 -6
  97. package/build-module/components/global-styles/screen-style-variations.js.map +1 -1
  98. package/build-module/components/header/document-actions/index.js +13 -11
  99. package/build-module/components/header/document-actions/index.js.map +1 -1
  100. package/build-module/components/header/index.js +5 -3
  101. package/build-module/components/header/index.js.map +1 -1
  102. package/build-module/components/header/more-menu/index.js +8 -1
  103. package/build-module/components/header/more-menu/index.js.map +1 -1
  104. package/build-module/components/header/more-menu/site-export.js +5 -2
  105. package/build-module/components/header/more-menu/site-export.js.map +1 -1
  106. package/build-module/components/header/plugin-more-menu-item/index.js +4 -0
  107. package/build-module/components/header/plugin-more-menu-item/index.js.map +1 -1
  108. package/build-module/components/list/actions/rename-menu-item.js +4 -11
  109. package/build-module/components/list/actions/rename-menu-item.js.map +1 -1
  110. package/build-module/components/preferences-modal/enable-feature.js +27 -0
  111. package/build-module/components/preferences-modal/enable-feature.js.map +1 -0
  112. package/build-module/components/preferences-modal/index.js +57 -0
  113. package/build-module/components/preferences-modal/index.js.map +1 -0
  114. package/build-module/components/sidebar/index.js +11 -1
  115. package/build-module/components/sidebar/index.js.map +1 -1
  116. package/build-module/components/sidebar/navigation-menu-sidebar/index.js +26 -0
  117. package/build-module/components/sidebar/navigation-menu-sidebar/index.js.map +1 -0
  118. package/build-module/components/sidebar/navigation-menu-sidebar/navigation-inspector.js +168 -0
  119. package/build-module/components/sidebar/navigation-menu-sidebar/navigation-inspector.js.map +1 -0
  120. package/build-module/components/sidebar/navigation-menu-sidebar/navigation-menu.js +45 -0
  121. package/build-module/components/sidebar/navigation-menu-sidebar/navigation-menu.js.map +1 -0
  122. package/build-module/components/template-part-converter/convert-to-regular.js +6 -0
  123. package/build-module/components/template-part-converter/convert-to-regular.js.map +1 -1
  124. package/build-module/index.js +1 -0
  125. package/build-module/index.js.map +1 -1
  126. package/build-module/store/actions.js +3 -3
  127. package/build-module/store/actions.js.map +1 -1
  128. package/build-module/store/selectors.js +3 -1
  129. package/build-module/store/selectors.js.map +1 -1
  130. package/build-style/style-rtl.css +86 -5
  131. package/build-style/style.css +86 -5
  132. package/package.json +29 -29
  133. package/src/components/add-new-template/new-template-part.js +3 -12
  134. package/src/components/add-new-template/new-template.js +49 -12
  135. package/src/components/block-editor/index.js +79 -9
  136. package/src/components/editor/index.js +13 -0
  137. package/src/components/global-styles/border-panel.js +32 -26
  138. package/src/components/global-styles/color-indicator-wrapper.js +23 -0
  139. package/src/components/global-styles/dimensions-panel.js +7 -2
  140. package/src/components/global-styles/header.js +2 -7
  141. package/src/components/global-styles/icon-with-current-color.js +21 -0
  142. package/src/components/global-styles/navigation-button.js +6 -4
  143. package/src/components/global-styles/palette.js +8 -11
  144. package/src/components/global-styles/preview.js +186 -29
  145. package/src/components/global-styles/screen-block-list.js +1 -3
  146. package/src/components/global-styles/screen-colors.js +7 -6
  147. package/src/components/global-styles/screen-root.js +15 -17
  148. package/src/components/global-styles/screen-style-variations.js +13 -4
  149. package/src/components/global-styles/style.scss +18 -6
  150. package/src/components/header/document-actions/index.js +14 -10
  151. package/src/components/header/index.js +6 -1
  152. package/src/components/header/more-menu/index.js +15 -0
  153. package/src/components/header/more-menu/site-export.js +13 -2
  154. package/src/components/header/plugin-more-menu-item/index.js +2 -0
  155. package/src/components/header/style.scss +45 -0
  156. package/src/components/list/actions/rename-menu-item.js +3 -13
  157. package/src/components/preferences-modal/enable-feature.js +24 -0
  158. package/src/components/preferences-modal/index.js +76 -0
  159. package/src/components/sidebar/index.js +12 -0
  160. package/src/components/sidebar/navigation-menu-sidebar/index.js +34 -0
  161. package/src/components/sidebar/navigation-menu-sidebar/navigation-inspector.js +224 -0
  162. package/src/components/sidebar/navigation-menu-sidebar/navigation-menu.js +62 -0
  163. package/src/components/sidebar/navigation-menu-sidebar/style.scss +42 -0
  164. package/src/components/sidebar/style.scss +1 -1
  165. package/src/components/template-part-converter/convert-to-regular.js +9 -0
  166. package/src/index.js +1 -0
  167. package/src/store/actions.js +4 -4
  168. package/src/store/selectors.js +10 -0
  169. package/src/store/test/selectors.js +4 -0
  170. package/src/style.scss +1 -0
@@ -0,0 +1,62 @@
1
+ /**
2
+ * WordPress dependencies
3
+ */
4
+ import {
5
+ __experimentalListView as ListView,
6
+ store as blockEditorStore,
7
+ } from '@wordpress/block-editor';
8
+ import { useEffect } from '@wordpress/element';
9
+ import { useDispatch } from '@wordpress/data';
10
+
11
+ const ALLOWED_BLOCKS = {
12
+ 'core/navigation': [
13
+ 'core/navigation-link',
14
+ 'core/search',
15
+ 'core/social-links',
16
+ 'core/page-list',
17
+ 'core/spacer',
18
+ 'core/home-link',
19
+ 'core/site-title',
20
+ 'core/site-logo',
21
+ 'core/navigation-submenu',
22
+ ],
23
+ 'core/social-links': [ 'core/social-link' ],
24
+ 'core/navigation-submenu': [
25
+ 'core/navigation-link',
26
+ 'core/navigation-submenu',
27
+ ],
28
+ 'core/navigation-link': [
29
+ 'core/navigation-link',
30
+ 'core/navigation-submenu',
31
+ ],
32
+ };
33
+
34
+ export default function NavigationMenu( { innerBlocks, id } ) {
35
+ const { updateBlockListSettings } = useDispatch( blockEditorStore );
36
+
37
+ //TODO: Block settings are normally updated as a side effect of rendering InnerBlocks in BlockList
38
+ //Think through a better way of doing this, possible with adding allowed blocks to block library metadata
39
+ useEffect( () => {
40
+ updateBlockListSettings( '', {
41
+ allowedBlocks: ALLOWED_BLOCKS[ 'core/navigation' ],
42
+ } );
43
+ innerBlocks.forEach( ( block ) => {
44
+ if ( ALLOWED_BLOCKS[ block.name ] ) {
45
+ updateBlockListSettings( block.clientId, {
46
+ allowedBlocks: ALLOWED_BLOCKS[ block.name ],
47
+ } );
48
+ }
49
+ } );
50
+ }, [ updateBlockListSettings, innerBlocks ] );
51
+ return (
52
+ <>
53
+ <ListView
54
+ id={ id }
55
+ showNestedBlocks
56
+ expandNested={ false }
57
+ __experimentalFeatures
58
+ __experimentalPersistentListViewFeatures
59
+ />
60
+ </>
61
+ );
62
+ }
@@ -0,0 +1,42 @@
1
+ @keyframes loadingpulse {
2
+ 0% {
3
+ opacity: 1;
4
+ }
5
+ 50% {
6
+ opacity: 0.5;
7
+ }
8
+ 100% {
9
+ opacity: 1;
10
+ }
11
+ }
12
+
13
+ .edit-site-navigation-inspector {
14
+ padding: $grid-unit-20;
15
+
16
+ .block-editor-list-view-leaf .block-editor-list-view-block-contents {
17
+ align-items: flex-start;
18
+ white-space: normal;
19
+ }
20
+
21
+ .block-editor-list-view-block__title {
22
+ margin-top: 3px;
23
+ }
24
+
25
+ .block-editor-list-view-block__menu-cell {
26
+ padding-right: 0;
27
+ }
28
+ }
29
+
30
+
31
+ .edit-site-navigation-inspector__placeholder {
32
+ padding: $grid-unit-10;
33
+ margin: $grid-unit-10;
34
+ background-color: $gray-100;
35
+ animation: loadingpulse 1s linear infinite;
36
+ animation-delay: 0.5s; // avoid animating for fast network responses
37
+
38
+ &.is-child {
39
+ margin-left: $grid-unit-30;
40
+ width: 50%;
41
+ }
42
+ }
@@ -80,7 +80,7 @@
80
80
  padding: 0 $grid-unit-10;
81
81
  height: $grid-unit-30;
82
82
  border-radius: $radius-block-ui;
83
- background-color: $black;
83
+ background-color: $gray-900;
84
84
  color: $white;
85
85
  align-items: center;
86
86
  font-size: $helptext-font-size;
@@ -13,6 +13,15 @@ export default function ConvertToRegularBlocks( { clientId } ) {
13
13
  const { getBlocks } = useSelect( blockEditorStore );
14
14
  const { replaceBlocks } = useDispatch( blockEditorStore );
15
15
 
16
+ const canRemove = useSelect(
17
+ ( select ) => select( blockEditorStore ).canRemoveBlock( clientId ),
18
+ [ clientId ]
19
+ );
20
+
21
+ if ( ! canRemove ) {
22
+ return null;
23
+ }
24
+
16
25
  return (
17
26
  <BlockSettingsMenuControls>
18
27
  { ( { onClose } ) => (
package/src/index.js CHANGED
@@ -61,6 +61,7 @@ export function reinitializeEditor( target, settings ) {
61
61
  editorMode: 'visual',
62
62
  fixedToolbar: false,
63
63
  focusMode: false,
64
+ keepCaretInsideBlock: false,
64
65
  welcomeGuide: true,
65
66
  welcomeGuideStyles: true,
66
67
  } );
@@ -333,11 +333,11 @@ export const revertTemplate = (
333
333
  }
334
334
 
335
335
  try {
336
- const templateEntity = registry
336
+ const templateEntityConfig = registry
337
337
  .select( coreStore )
338
- .getEntity( 'postType', template.type );
338
+ .getEntityConfig( 'postType', template.type );
339
339
 
340
- if ( ! templateEntity ) {
340
+ if ( ! templateEntityConfig ) {
341
341
  registry
342
342
  .dispatch( noticesStore )
343
343
  .createErrorNotice(
@@ -350,7 +350,7 @@ export const revertTemplate = (
350
350
  }
351
351
 
352
352
  const fileTemplatePath = addQueryArgs(
353
- `${ templateEntity.baseURL }/${ template.id }`,
353
+ `${ templateEntityConfig.baseURL }/${ template.id }`,
354
354
  { context: 'edit', source: 'theme' }
355
355
  );
356
356
 
@@ -120,6 +120,14 @@ export const getSettings = createSelector(
120
120
  state,
121
121
  'fixedToolbar'
122
122
  ),
123
+ keepCaretInsideBlock: !! __unstableGetPreference(
124
+ state,
125
+ 'keepCaretInsideBlock'
126
+ ),
127
+ showIconLabels: !! __unstableGetPreference(
128
+ state,
129
+ 'showIconLabels'
130
+ ),
123
131
  __experimentalSetIsInserterOpened: setIsInserterOpen,
124
132
  __experimentalReusableBlocks: getReusableBlocks( state ),
125
133
  __experimentalPreferPatternsOnRoot:
@@ -145,6 +153,8 @@ export const getSettings = createSelector(
145
153
  state.settings,
146
154
  __unstableGetPreference( state, 'focusMode' ),
147
155
  __unstableGetPreference( state, 'fixedToolbar' ),
156
+ __unstableGetPreference( state, 'keepCaretInsideBlock' ),
157
+ __unstableGetPreference( state, 'showIconLabels' ),
148
158
  getReusableBlocks( state ),
149
159
  getEditedPostType( state ),
150
160
  ]
@@ -79,6 +79,8 @@ describe( 'selectors', () => {
79
79
  outlineMode: true,
80
80
  focusMode: false,
81
81
  hasFixedToolbar: false,
82
+ keepCaretInsideBlock: false,
83
+ showIconLabels: false,
82
84
  __experimentalSetIsInserterOpened: setInserterOpened,
83
85
  __experimentalReusableBlocks: [],
84
86
  __experimentalPreferPatternsOnRoot: true,
@@ -102,6 +104,8 @@ describe( 'selectors', () => {
102
104
  key: 'value',
103
105
  focusMode: true,
104
106
  hasFixedToolbar: true,
107
+ keepCaretInsideBlock: false,
108
+ showIconLabels: false,
105
109
  __experimentalSetIsInserterOpened: setInserterOpened,
106
110
  __experimentalReusableBlocks: [],
107
111
  mediaUpload: expect.any( Function ),
package/src/style.scss CHANGED
@@ -11,6 +11,7 @@
11
11
  @import "./components/add-new-template/style.scss";
12
12
  @import "./components/sidebar/style.scss";
13
13
  @import "./components/sidebar/settings-header/style.scss";
14
+ @import "./components/sidebar/navigation-menu-sidebar/style.scss";
14
15
  @import "./components/sidebar/template-card/style.scss";
15
16
  @import "./components/editor/style.scss";
16
17
  @import "./components/template-details/style.scss";