@wordpress/editor 14.19.0 → 14.19.2
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.
- package/build/components/document-bar/index.js +3 -2
- package/build/components/document-bar/index.js.map +1 -1
- package/build/components/document-outline/index.js +21 -1
- package/build/components/document-outline/index.js.map +1 -1
- package/build/components/document-outline/item.js +32 -20
- package/build/components/document-outline/item.js.map +1 -1
- package/build/components/entities-saved-states/entity-record-item.js +2 -2
- package/build/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build/components/post-card-panel/index.js +3 -3
- package/build/components/post-card-panel/index.js.map +1 -1
- package/build/components/provider/index.js +7 -4
- package/build/components/provider/index.js.map +1 -1
- package/build/store/private-selectors.js +1 -1
- package/build/store/private-selectors.js.map +1 -1
- package/build/store/selectors.js +8 -7
- package/build/store/selectors.js.map +1 -1
- package/build-module/components/document-bar/index.js +3 -2
- package/build-module/components/document-bar/index.js.map +1 -1
- package/build-module/components/document-outline/index.js +21 -1
- package/build-module/components/document-outline/index.js.map +1 -1
- package/build-module/components/document-outline/item.js +32 -20
- package/build-module/components/document-outline/item.js.map +1 -1
- package/build-module/components/entities-saved-states/entity-record-item.js +2 -2
- package/build-module/components/entities-saved-states/entity-record-item.js.map +1 -1
- package/build-module/components/post-card-panel/index.js +3 -3
- package/build-module/components/post-card-panel/index.js.map +1 -1
- package/build-module/components/provider/index.js +7 -4
- package/build-module/components/provider/index.js.map +1 -1
- package/build-module/store/private-selectors.js +1 -1
- package/build-module/store/private-selectors.js.map +1 -1
- package/build-module/store/selectors.js +8 -7
- package/build-module/store/selectors.js.map +1 -1
- package/build-style/style-rtl.css +2 -1
- package/build-style/style.css +2 -1
- package/build-types/components/document-outline/index.d.ts.map +1 -1
- package/build-types/components/document-outline/item.d.ts +2 -1
- package/build-types/components/document-outline/item.d.ts.map +1 -1
- package/build-types/components/entities-saved-states/entity-record-item.d.ts.map +1 -1
- package/build-types/components/provider/index.d.ts.map +1 -1
- package/build-types/store/private-selectors.d.ts.map +1 -1
- package/build-types/store/selectors.d.ts.map +1 -1
- package/package.json +37 -37
- package/src/components/document-bar/index.js +2 -2
- package/src/components/document-outline/index.js +27 -1
- package/src/components/document-outline/item.js +38 -23
- package/src/components/document-outline/style.scss +2 -0
- package/src/components/entities-saved-states/entity-record-item.js +1 -4
- package/src/components/post-card-panel/index.js +2 -2
- package/src/components/provider/index.js +9 -4
- package/src/store/private-selectors.js +2 -4
- package/src/store/selectors.js +9 -14
- package/tsconfig.tsbuildinfo +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/editor",
|
|
3
|
-
"version": "14.19.
|
|
3
|
+
"version": "14.19.2",
|
|
4
4
|
"description": "Enhanced block editor for WordPress posts.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -34,41 +34,41 @@
|
|
|
34
34
|
],
|
|
35
35
|
"dependencies": {
|
|
36
36
|
"@babel/runtime": "7.25.7",
|
|
37
|
-
"@wordpress/a11y": "^4.19.
|
|
38
|
-
"@wordpress/api-fetch": "^7.19.
|
|
39
|
-
"@wordpress/blob": "^4.19.
|
|
40
|
-
"@wordpress/block-editor": "^14.14.
|
|
41
|
-
"@wordpress/blocks": "^14.8.
|
|
42
|
-
"@wordpress/commands": "^1.19.
|
|
43
|
-
"@wordpress/components": "^29.5.
|
|
44
|
-
"@wordpress/compose": "^7.19.
|
|
45
|
-
"@wordpress/core-data": "^7.19.
|
|
46
|
-
"@wordpress/data": "^10.19.
|
|
47
|
-
"@wordpress/dataviews": "^4.15.
|
|
48
|
-
"@wordpress/date": "^5.19.
|
|
49
|
-
"@wordpress/deprecated": "^4.19.
|
|
50
|
-
"@wordpress/dom": "^4.19.
|
|
51
|
-
"@wordpress/element": "^6.19.
|
|
52
|
-
"@wordpress/fields": "^0.11.
|
|
53
|
-
"@wordpress/hooks": "^4.19.
|
|
54
|
-
"@wordpress/html-entities": "^4.19.
|
|
55
|
-
"@wordpress/i18n": "^5.19.
|
|
56
|
-
"@wordpress/icons": "^10.19.
|
|
57
|
-
"@wordpress/interface": "^9.4.
|
|
58
|
-
"@wordpress/keyboard-shortcuts": "^5.19.
|
|
59
|
-
"@wordpress/keycodes": "^4.19.
|
|
60
|
-
"@wordpress/media-utils": "^5.19.
|
|
61
|
-
"@wordpress/notices": "^5.19.
|
|
62
|
-
"@wordpress/patterns": "^2.19.
|
|
63
|
-
"@wordpress/plugins": "^7.19.
|
|
64
|
-
"@wordpress/preferences": "^4.19.
|
|
65
|
-
"@wordpress/private-apis": "^1.19.
|
|
66
|
-
"@wordpress/reusable-blocks": "^5.19.
|
|
67
|
-
"@wordpress/rich-text": "^7.19.
|
|
68
|
-
"@wordpress/server-side-render": "^5.19.
|
|
69
|
-
"@wordpress/url": "^4.19.
|
|
70
|
-
"@wordpress/warning": "^3.19.
|
|
71
|
-
"@wordpress/wordcount": "^4.19.
|
|
37
|
+
"@wordpress/a11y": "^4.19.1",
|
|
38
|
+
"@wordpress/api-fetch": "^7.19.1",
|
|
39
|
+
"@wordpress/blob": "^4.19.1",
|
|
40
|
+
"@wordpress/block-editor": "^14.14.1",
|
|
41
|
+
"@wordpress/blocks": "^14.8.1",
|
|
42
|
+
"@wordpress/commands": "^1.19.1",
|
|
43
|
+
"@wordpress/components": "^29.5.1",
|
|
44
|
+
"@wordpress/compose": "^7.19.1",
|
|
45
|
+
"@wordpress/core-data": "^7.19.1",
|
|
46
|
+
"@wordpress/data": "^10.19.1",
|
|
47
|
+
"@wordpress/dataviews": "^4.15.1",
|
|
48
|
+
"@wordpress/date": "^5.19.1",
|
|
49
|
+
"@wordpress/deprecated": "^4.19.1",
|
|
50
|
+
"@wordpress/dom": "^4.19.1",
|
|
51
|
+
"@wordpress/element": "^6.19.1",
|
|
52
|
+
"@wordpress/fields": "^0.11.1",
|
|
53
|
+
"@wordpress/hooks": "^4.19.1",
|
|
54
|
+
"@wordpress/html-entities": "^4.19.1",
|
|
55
|
+
"@wordpress/i18n": "^5.19.1",
|
|
56
|
+
"@wordpress/icons": "^10.19.1",
|
|
57
|
+
"@wordpress/interface": "^9.4.1",
|
|
58
|
+
"@wordpress/keyboard-shortcuts": "^5.19.1",
|
|
59
|
+
"@wordpress/keycodes": "^4.19.1",
|
|
60
|
+
"@wordpress/media-utils": "^5.19.1",
|
|
61
|
+
"@wordpress/notices": "^5.19.1",
|
|
62
|
+
"@wordpress/patterns": "^2.19.1",
|
|
63
|
+
"@wordpress/plugins": "^7.19.1",
|
|
64
|
+
"@wordpress/preferences": "^4.19.1",
|
|
65
|
+
"@wordpress/private-apis": "^1.19.1",
|
|
66
|
+
"@wordpress/reusable-blocks": "^5.19.1",
|
|
67
|
+
"@wordpress/rich-text": "^7.19.1",
|
|
68
|
+
"@wordpress/server-side-render": "^5.19.1",
|
|
69
|
+
"@wordpress/url": "^4.19.1",
|
|
70
|
+
"@wordpress/warning": "^3.19.1",
|
|
71
|
+
"@wordpress/wordcount": "^4.19.1",
|
|
72
72
|
"change-case": "^4.1.2",
|
|
73
73
|
"client-zip": "^2.4.5",
|
|
74
74
|
"clsx": "^2.1.1",
|
|
@@ -88,5 +88,5 @@
|
|
|
88
88
|
"publishConfig": {
|
|
89
89
|
"access": "public"
|
|
90
90
|
},
|
|
91
|
-
"gitHead": "
|
|
91
|
+
"gitHead": "3fbb8643c9b90c73434804e2f7b49c94325f459f"
|
|
92
92
|
}
|
|
@@ -74,6 +74,7 @@ export default function DocumentBar( props ) {
|
|
|
74
74
|
const {
|
|
75
75
|
getEditedEntityRecord,
|
|
76
76
|
getPostType,
|
|
77
|
+
getCurrentTheme,
|
|
77
78
|
isResolving: isResolvingSelector,
|
|
78
79
|
} = select( coreStore );
|
|
79
80
|
const _postType = getCurrentPostType();
|
|
@@ -85,8 +86,7 @@ export default function DocumentBar( props ) {
|
|
|
85
86
|
);
|
|
86
87
|
|
|
87
88
|
const { default_template_types: templateTypes = [] } =
|
|
88
|
-
|
|
89
|
-
{};
|
|
89
|
+
getCurrentTheme() ?? {};
|
|
90
90
|
|
|
91
91
|
const _templateInfo = getTemplateInfo( {
|
|
92
92
|
templateTypes,
|
|
@@ -127,6 +127,23 @@ export default function DocumentOutline( {
|
|
|
127
127
|
// all compulations should happen in `computeOutlineHeadings`.
|
|
128
128
|
return clientIds.map( ( id ) => getBlock( id ) );
|
|
129
129
|
} );
|
|
130
|
+
const contentBlocks = useSelect( ( select ) => {
|
|
131
|
+
// When rendering in `post-only` mode all blocks are considered content blocks.
|
|
132
|
+
if ( select( editorStore ).getRenderingMode() === 'post-only' ) {
|
|
133
|
+
return undefined;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
const { getBlocksByName, getClientIdsOfDescendants } =
|
|
137
|
+
select( blockEditorStore );
|
|
138
|
+
const [ postContentClientId ] = getBlocksByName( 'core/post-content' );
|
|
139
|
+
|
|
140
|
+
// Do nothing if there's no post content block.
|
|
141
|
+
if ( ! postContentClientId ) {
|
|
142
|
+
return undefined;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
return getClientIdsOfDescendants( postContentClientId );
|
|
146
|
+
}, [] );
|
|
130
147
|
|
|
131
148
|
const prevHeadingLevelRef = useRef( 1 );
|
|
132
149
|
|
|
@@ -160,6 +177,12 @@ export default function DocumentOutline( {
|
|
|
160
177
|
);
|
|
161
178
|
const hasMultipleH1 = countByLevel[ 1 ] > 1;
|
|
162
179
|
|
|
180
|
+
function isContentBlock( clientId ) {
|
|
181
|
+
return Array.isArray( contentBlocks )
|
|
182
|
+
? contentBlocks.includes( clientId )
|
|
183
|
+
: true;
|
|
184
|
+
}
|
|
185
|
+
|
|
163
186
|
return (
|
|
164
187
|
<div className="document-outline">
|
|
165
188
|
<ul>
|
|
@@ -193,7 +216,10 @@ export default function DocumentOutline( {
|
|
|
193
216
|
key={ item.clientId }
|
|
194
217
|
level={ `H${ item.level }` }
|
|
195
218
|
isValid={ isValid }
|
|
196
|
-
isDisabled={
|
|
219
|
+
isDisabled={
|
|
220
|
+
hasOutlineItemsDisabled ||
|
|
221
|
+
! isContentBlock( item.clientId )
|
|
222
|
+
}
|
|
197
223
|
href={ `#block-${ item.clientId }` }
|
|
198
224
|
onSelect={ () => {
|
|
199
225
|
selectBlock( item.clientId );
|
|
@@ -6,32 +6,47 @@ import clsx from 'clsx';
|
|
|
6
6
|
const TableOfContentsItem = ( {
|
|
7
7
|
children,
|
|
8
8
|
isValid,
|
|
9
|
+
isDisabled,
|
|
9
10
|
level,
|
|
10
11
|
href,
|
|
11
12
|
onSelect,
|
|
12
|
-
} ) =>
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
<
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
13
|
+
} ) => {
|
|
14
|
+
function handleClick( event ) {
|
|
15
|
+
if ( isDisabled ) {
|
|
16
|
+
event.preventDefault();
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
onSelect();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
return (
|
|
23
|
+
<li
|
|
24
|
+
className={ clsx(
|
|
25
|
+
'document-outline__item',
|
|
26
|
+
`is-${ level.toLowerCase() }`,
|
|
27
|
+
{
|
|
28
|
+
'is-invalid': ! isValid,
|
|
29
|
+
'is-disabled': isDisabled,
|
|
30
|
+
}
|
|
31
|
+
) }
|
|
26
32
|
>
|
|
27
|
-
<
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
33
|
+
<a
|
|
34
|
+
href={ href }
|
|
35
|
+
className="document-outline__button"
|
|
36
|
+
aria-disabled={ isDisabled }
|
|
37
|
+
onClick={ handleClick }
|
|
38
|
+
>
|
|
39
|
+
<span
|
|
40
|
+
className="document-outline__emdash"
|
|
41
|
+
aria-hidden="true"
|
|
42
|
+
></span>
|
|
43
|
+
<strong className="document-outline__level">{ level }</strong>
|
|
44
|
+
<span className="document-outline__item-content">
|
|
45
|
+
{ children }
|
|
46
|
+
</span>
|
|
47
|
+
</a>
|
|
48
|
+
</li>
|
|
49
|
+
);
|
|
50
|
+
};
|
|
36
51
|
|
|
37
52
|
export default TableOfContentsItem;
|
|
@@ -36,10 +36,7 @@ export default function EntityRecordItem( { record, checked, onChange } ) {
|
|
|
36
36
|
);
|
|
37
37
|
|
|
38
38
|
const { default_template_types: templateTypes = [] } =
|
|
39
|
-
select( coreStore ).
|
|
40
|
-
'root',
|
|
41
|
-
'__unstableBase'
|
|
42
|
-
) ?? {};
|
|
39
|
+
select( coreStore ).getCurrentTheme() ?? {};
|
|
43
40
|
|
|
44
41
|
return {
|
|
45
42
|
entityRecordTitle: getTemplateInfo( {
|
|
@@ -48,7 +48,7 @@ export default function PostCardPanel( {
|
|
|
48
48
|
);
|
|
49
49
|
const { postTitle, icon, labels } = useSelect(
|
|
50
50
|
( select ) => {
|
|
51
|
-
const { getEditedEntityRecord,
|
|
51
|
+
const { getEditedEntityRecord, getCurrentTheme, getPostType } =
|
|
52
52
|
select( coreStore );
|
|
53
53
|
const { getPostIcon } = unlock( select( editorStore ) );
|
|
54
54
|
let _title = '';
|
|
@@ -59,7 +59,7 @@ export default function PostCardPanel( {
|
|
|
59
59
|
);
|
|
60
60
|
if ( postIds.length === 1 ) {
|
|
61
61
|
const { default_template_types: templateTypes = [] } =
|
|
62
|
-
|
|
62
|
+
getCurrentTheme() ?? {};
|
|
63
63
|
|
|
64
64
|
const _templateInfo = [
|
|
65
65
|
TEMPLATE_POST_TYPE,
|
|
@@ -182,6 +182,7 @@ export const ExperimentalEditorProvider = withRegistryProvider(
|
|
|
182
182
|
} = unlock( select( editorStore ) );
|
|
183
183
|
const { getEntitiesConfig } = select( coreStore );
|
|
184
184
|
|
|
185
|
+
const _mode = getRenderingMode();
|
|
185
186
|
const _defaultMode = getDefaultRenderingMode( post.type );
|
|
186
187
|
/**
|
|
187
188
|
* To avoid content "flash", wait until rendering mode has been resolved.
|
|
@@ -190,16 +191,20 @@ export const ExperimentalEditorProvider = withRegistryProvider(
|
|
|
190
191
|
* - Wait for template to be resolved if the default mode is 'template-locked'.
|
|
191
192
|
* - Wait for default mode to be resolved otherwise.
|
|
192
193
|
*/
|
|
193
|
-
const
|
|
194
|
+
const hasResolvedDefaultMode =
|
|
194
195
|
_defaultMode === 'template-locked'
|
|
195
196
|
? hasTemplate
|
|
196
197
|
: _defaultMode !== undefined;
|
|
198
|
+
// Wait until the default mode is retrieved and start rendering canvas.
|
|
199
|
+
const isRenderingModeReady = _defaultMode !== undefined;
|
|
197
200
|
|
|
198
201
|
return {
|
|
199
202
|
editorSettings: getEditorSettings(),
|
|
200
|
-
isReady: __unstableIsEditorReady()
|
|
201
|
-
mode:
|
|
202
|
-
defaultMode:
|
|
203
|
+
isReady: __unstableIsEditorReady(),
|
|
204
|
+
mode: isRenderingModeReady ? _mode : undefined,
|
|
205
|
+
defaultMode: hasResolvedDefaultMode
|
|
206
|
+
? _defaultMode
|
|
207
|
+
: undefined,
|
|
203
208
|
selection: getEditorSelection(),
|
|
204
209
|
postTypeEntities:
|
|
205
210
|
post.type === 'wp_template'
|
|
@@ -105,10 +105,8 @@ export const getPostIcon = createRegistrySelector(
|
|
|
105
105
|
postType === 'wp_template'
|
|
106
106
|
) {
|
|
107
107
|
const templateAreas =
|
|
108
|
-
select( coreStore ).
|
|
109
|
-
|
|
110
|
-
'__unstableBase'
|
|
111
|
-
)?.default_template_part_areas || [];
|
|
108
|
+
select( coreStore ).getCurrentTheme()
|
|
109
|
+
?.default_template_part_areas || [];
|
|
112
110
|
|
|
113
111
|
const areaData = templateAreas.find(
|
|
114
112
|
( item ) => options.area === item.area
|
package/src/store/selectors.js
CHANGED
|
@@ -1709,11 +1709,10 @@ export const __experimentalGetDefaultTemplateTypes = createRegistrySelector(
|
|
|
1709
1709
|
{
|
|
1710
1710
|
since: '6.8',
|
|
1711
1711
|
alternative:
|
|
1712
|
-
"select('core/core-data').
|
|
1712
|
+
"select('core/core-data').getCurrentTheme()?.default_template_types",
|
|
1713
1713
|
}
|
|
1714
1714
|
);
|
|
1715
|
-
return select( coreStore ).
|
|
1716
|
-
?.default_template_types;
|
|
1715
|
+
return select( coreStore ).getCurrentTheme()?.default_template_types;
|
|
1717
1716
|
}
|
|
1718
1717
|
);
|
|
1719
1718
|
|
|
@@ -1732,12 +1731,12 @@ export const __experimentalGetDefaultTemplatePartAreas = createRegistrySelector(
|
|
|
1732
1731
|
{
|
|
1733
1732
|
since: '6.8',
|
|
1734
1733
|
alternative:
|
|
1735
|
-
"select('core/core-data').
|
|
1734
|
+
"select('core/core-data').getCurrentTheme()?.default_template_part_areas",
|
|
1736
1735
|
}
|
|
1737
1736
|
);
|
|
1738
1737
|
|
|
1739
1738
|
const areas =
|
|
1740
|
-
select( coreStore ).
|
|
1739
|
+
select( coreStore ).getCurrentTheme()
|
|
1741
1740
|
?.default_template_part_areas || [];
|
|
1742
1741
|
|
|
1743
1742
|
return areas.map( ( item ) => {
|
|
@@ -1763,10 +1762,8 @@ export const __experimentalGetDefaultTemplateType = createRegistrySelector(
|
|
|
1763
1762
|
since: '6.8',
|
|
1764
1763
|
}
|
|
1765
1764
|
);
|
|
1766
|
-
const templateTypes =
|
|
1767
|
-
|
|
1768
|
-
'__unstableBase'
|
|
1769
|
-
)?.default_template_types;
|
|
1765
|
+
const templateTypes =
|
|
1766
|
+
select( coreStore ).getCurrentTheme()?.default_template_types;
|
|
1770
1767
|
|
|
1771
1768
|
if ( ! templateTypes ) {
|
|
1772
1769
|
return EMPTY_OBJECT;
|
|
@@ -1799,13 +1796,11 @@ export const __experimentalGetTemplateInfo = createRegistrySelector(
|
|
|
1799
1796
|
return EMPTY_OBJECT;
|
|
1800
1797
|
}
|
|
1801
1798
|
|
|
1802
|
-
const
|
|
1803
|
-
select( coreStore ).getEntityRecord( 'root', '__unstableBase' )
|
|
1804
|
-
?.default_template_types || [];
|
|
1799
|
+
const currentTheme = select( coreStore ).getCurrentTheme();
|
|
1805
1800
|
|
|
1801
|
+
const templateTypes = currentTheme?.default_template_types || [];
|
|
1806
1802
|
const templateAreas =
|
|
1807
|
-
|
|
1808
|
-
?.default_template_part_areas || [];
|
|
1803
|
+
currentTheme?.default_template_part_areas || [];
|
|
1809
1804
|
|
|
1810
1805
|
return getTemplateInfo( {
|
|
1811
1806
|
template,
|