@wordpress/block-library 8.26.0 → 8.27.1
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/CHANGELOG.md +2 -0
- package/build/avatar/edit.js +2 -2
- package/build/avatar/edit.js.map +1 -1
- package/build/block/edit.js +76 -13
- package/build/block/edit.js.map +1 -1
- package/build/block/{v1/edit.native.js → edit.native.js} +4 -4
- package/build/block/edit.native.js.map +1 -0
- package/build/block/index.js +5 -3
- package/build/block/index.js.map +1 -1
- package/build/button/edit.js +24 -6
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +1 -0
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +3 -1
- package/build/button/save.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +13 -1
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/cover/edit.native.js +1 -0
- package/build/cover/edit.native.js.map +1 -1
- package/build/cover/index.js +3 -0
- package/build/cover/index.js.map +1 -1
- package/build/embed/edit.js +3 -2
- package/build/embed/edit.js.map +1 -1
- package/build/file/index.js +0 -1
- package/build/file/index.js.map +1 -1
- package/build/footnotes/edit.js +2 -1
- package/build/footnotes/edit.js.map +1 -1
- package/build/footnotes/format.js +17 -19
- package/build/footnotes/format.js.map +1 -1
- package/build/group/index.js +1 -0
- package/build/group/index.js.map +1 -1
- package/build/heading/edit.js +2 -1
- package/build/heading/edit.js.map +1 -1
- package/build/heading/edit.native.js +141 -0
- package/build/heading/edit.native.js.map +1 -0
- package/build/heading/index.js +1 -0
- package/build/heading/index.js.map +1 -1
- package/build/image/edit.js +8 -4
- package/build/image/edit.js.map +1 -1
- package/build/image/image.js +33 -7
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +6 -3
- package/build/image/index.js.map +1 -1
- package/build/more/index.js +4 -0
- package/build/more/index.js.map +1 -1
- package/build/navigation/edit/index.js +2 -2
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/index.js +0 -1
- package/build/navigation/index.js.map +1 -1
- package/build/paragraph/edit.js +2 -1
- package/build/paragraph/edit.js.map +1 -1
- package/build/paragraph/index.js +1 -2
- package/build/paragraph/index.js.map +1 -1
- package/build/paragraph/transforms.js +1 -2
- package/build/paragraph/transforms.js.map +1 -1
- package/build/post-content/edit.js +2 -2
- package/build/post-content/edit.js.map +1 -1
- package/build/post-date/edit.js +1 -1
- package/build/post-date/edit.js.map +1 -1
- package/build/post-navigation-link/edit.js +43 -2
- package/build/post-navigation-link/edit.js.map +1 -1
- package/build/post-navigation-link/index.js +8 -0
- package/build/post-navigation-link/index.js.map +1 -1
- package/build/pullquote/index.js +4 -0
- package/build/pullquote/index.js.map +1 -1
- package/build/query/edit/inspector-controls/index.js +3 -3
- package/build/query/edit/inspector-controls/index.js.map +1 -1
- package/build/query/edit/query-content.js +2 -2
- package/build/query/edit/query-content.js.map +1 -1
- package/build/query/edit/query-placeholder.js +6 -7
- package/build/query/edit/query-placeholder.js.map +1 -1
- package/build/query/index.js +1 -2
- package/build/query/index.js.map +1 -1
- package/build/query/variations.js +8 -1
- package/build/query/variations.js.map +1 -1
- package/build/query/view.js +31 -12
- package/build/query/view.js.map +1 -1
- package/build/search/index.js +0 -1
- package/build/search/index.js.map +1 -1
- package/build/table-of-contents/hooks.js +2 -2
- package/build/table-of-contents/hooks.js.map +1 -1
- package/build/template-part/edit/advanced-controls.js +1 -4
- package/build/template-part/edit/advanced-controls.js.map +1 -1
- package/build/template-part/edit/index.js +39 -17
- package/build/template-part/edit/index.js.map +1 -1
- package/build/video/edit.native.js +7 -2
- package/build/video/edit.native.js.map +1 -1
- package/build/video/transforms.js +17 -0
- package/build/video/transforms.js.map +1 -1
- package/build-module/avatar/edit.js +2 -2
- package/build-module/avatar/edit.js.map +1 -1
- package/build-module/block/edit.js +76 -13
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/{v1/edit.native.js → edit.native.js} +3 -3
- package/build-module/block/edit.native.js.map +1 -0
- package/build-module/block/index.js +5 -3
- package/build-module/block/index.js.map +1 -1
- package/build-module/button/edit.js +25 -7
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +1 -0
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +4 -2
- package/build-module/button/save.js.map +1 -1
- package/build-module/cover/edit/index.js +2 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +14 -2
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/cover/edit.native.js +1 -0
- package/build-module/cover/edit.native.js.map +1 -1
- package/build-module/cover/index.js +3 -0
- package/build-module/cover/index.js.map +1 -1
- package/build-module/embed/edit.js +3 -2
- package/build-module/embed/edit.js.map +1 -1
- package/build-module/file/index.js +0 -1
- package/build-module/file/index.js.map +1 -1
- package/build-module/footnotes/edit.js +2 -1
- package/build-module/footnotes/edit.js.map +1 -1
- package/build-module/footnotes/format.js +17 -19
- package/build-module/footnotes/format.js.map +1 -1
- package/build-module/group/index.js +1 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/heading/edit.js +3 -2
- package/build-module/heading/edit.js.map +1 -1
- package/build-module/heading/edit.native.js +132 -0
- package/build-module/heading/edit.native.js.map +1 -0
- package/build-module/heading/index.js +1 -0
- package/build-module/heading/index.js.map +1 -1
- package/build-module/image/edit.js +9 -5
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/image.js +33 -7
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +6 -3
- package/build-module/image/index.js.map +1 -1
- package/build-module/more/index.js +4 -0
- package/build-module/more/index.js.map +1 -1
- package/build-module/navigation/edit/index.js +1 -1
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/index.js +0 -1
- package/build-module/navigation/index.js.map +1 -1
- package/build-module/paragraph/edit.js +3 -2
- package/build-module/paragraph/edit.js.map +1 -1
- package/build-module/paragraph/index.js +1 -2
- package/build-module/paragraph/index.js.map +1 -1
- package/build-module/paragraph/transforms.js +1 -2
- package/build-module/paragraph/transforms.js.map +1 -1
- package/build-module/post-content/edit.js +1 -1
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-date/edit.js +1 -1
- package/build-module/post-date/edit.js.map +1 -1
- package/build-module/post-navigation-link/edit.js +44 -3
- package/build-module/post-navigation-link/edit.js.map +1 -1
- package/build-module/post-navigation-link/index.js +8 -0
- package/build-module/post-navigation-link/index.js.map +1 -1
- package/build-module/pullquote/index.js +4 -0
- package/build-module/pullquote/index.js.map +1 -1
- package/build-module/query/edit/inspector-controls/index.js +4 -4
- package/build-module/query/edit/inspector-controls/index.js.map +1 -1
- package/build-module/query/edit/query-content.js +2 -2
- package/build-module/query/edit/query-content.js.map +1 -1
- package/build-module/query/edit/query-placeholder.js +7 -8
- package/build-module/query/edit/query-placeholder.js.map +1 -1
- package/build-module/query/index.js +1 -2
- package/build-module/query/index.js.map +1 -1
- package/build-module/query/variations.js +8 -1
- package/build-module/query/variations.js.map +1 -1
- package/build-module/query/view.js +30 -9
- package/build-module/query/view.js.map +1 -1
- package/build-module/search/index.js +0 -1
- package/build-module/search/index.js.map +1 -1
- package/build-module/table-of-contents/hooks.js +2 -2
- package/build-module/table-of-contents/hooks.js.map +1 -1
- package/build-module/template-part/edit/advanced-controls.js +1 -4
- package/build-module/template-part/edit/advanced-controls.js.map +1 -1
- package/build-module/template-part/edit/index.js +38 -16
- package/build-module/template-part/edit/index.js.map +1 -1
- package/build-module/video/edit.native.js +7 -2
- package/build-module/video/edit.native.js.map +1 -1
- package/build-module/video/transforms.js +17 -0
- package/build-module/video/transforms.js.map +1 -1
- package/build-style/common-rtl.css +4 -2
- package/build-style/common.css +4 -2
- package/build-style/cover/style-rtl.css +2 -4
- package/build-style/cover/style.css +2 -4
- package/build-style/editor-rtl.css +6 -4
- package/build-style/editor.css +6 -4
- package/build-style/gallery/style-rtl.css +2 -4
- package/build-style/gallery/style.css +2 -4
- package/build-style/image/editor-rtl.css +6 -0
- package/build-style/image/editor.css +6 -0
- package/build-style/page-list/editor-rtl.css +0 -4
- package/build-style/page-list/editor.css +0 -4
- package/build-style/pullquote/style-rtl.css +10 -1
- package/build-style/pullquote/style.css +10 -1
- package/build-style/search/style-rtl.css +2 -1
- package/build-style/search/style.css +2 -1
- package/build-style/style-rtl.css +20 -13
- package/build-style/style.css +20 -13
- package/build-style/video/style-rtl.css +1 -2
- package/build-style/video/style.css +1 -2
- package/package.json +34 -32
- package/src/avatar/edit.js +16 -18
- package/src/block/block.json +3 -0
- package/src/block/edit.js +102 -20
- package/src/block/{v1/edit.native.js → edit.native.js} +4 -4
- package/src/block/index.js +2 -3
- package/src/block/index.php +3 -31
- package/src/button/block.json +1 -0
- package/src/button/edit.js +76 -43
- package/src/button/save.js +3 -0
- package/src/buttons/test/__snapshots__/edit.native.js.snap +6 -0
- package/src/buttons/test/edit.native.js +49 -0
- package/src/cover/block.json +3 -0
- package/src/cover/edit/index.js +2 -1
- package/src/cover/edit/inspector-controls.js +14 -1
- package/src/cover/edit.native.js +1 -0
- package/src/cover/style.scss +2 -3
- package/src/embed/edit.js +3 -2
- package/src/file/block.json +0 -1
- package/src/file/index.php +11 -57
- package/src/footnotes/edit.js +2 -1
- package/src/footnotes/format.js +34 -31
- package/src/footnotes/index.php +20 -11
- package/src/gallery/index.php +0 -3
- package/src/group/block.json +1 -0
- package/src/heading/block.json +1 -0
- package/src/heading/edit.js +18 -14
- package/src/heading/edit.native.js +144 -0
- package/src/image/block.json +7 -3
- package/src/image/edit.js +19 -6
- package/src/image/editor.scss +6 -1
- package/src/image/image.js +101 -42
- package/src/image/index.js +6 -0
- package/src/image/index.php +14 -51
- package/src/more/index.js +6 -0
- package/src/navigation/block.json +0 -1
- package/src/navigation/edit/index.js +2 -2
- package/src/navigation/index.php +777 -28
- package/src/navigation-link/index.php +78 -16
- package/src/page-list/editor.scss +0 -4
- package/src/paragraph/block.json +1 -2
- package/src/paragraph/edit.js +23 -19
- package/src/post-content/edit.js +2 -2
- package/src/post-date/edit.js +38 -33
- package/src/post-navigation-link/block.json +8 -0
- package/src/post-navigation-link/edit.js +63 -1
- package/src/post-navigation-link/index.php +17 -3
- package/src/post-terms/index.php +13 -4
- package/src/pullquote/block.json +4 -0
- package/src/pullquote/style.scss +13 -1
- package/src/query/block.json +1 -2
- package/src/query/edit/inspector-controls/index.js +137 -146
- package/src/query/edit/query-content.js +9 -7
- package/src/query/edit/query-placeholder.js +11 -11
- package/src/query/index.php +33 -71
- package/src/query/variations.js +4 -0
- package/src/query/view.js +24 -19
- package/src/search/block.json +0 -1
- package/src/search/index.php +18 -36
- package/src/table-of-contents/hooks.js +2 -2
- package/src/template-part/edit/advanced-controls.js +2 -3
- package/src/template-part/edit/index.js +77 -50
- package/src/template-part/index.php +2 -2
- package/src/video/edit.native.js +5 -2
- package/src/video/test/edit.native.js +38 -0
- package/src/video/transforms.js +32 -0
- package/tsconfig.json +1 -0
- package/build/block/v1/edit.js +0 -116
- package/build/block/v1/edit.js.map +0 -1
- package/build/block/v1/edit.native.js.map +0 -1
- package/build-module/block/v1/edit.js +0 -108
- package/build-module/block/v1/edit.js.map +0 -1
- package/build-module/block/v1/edit.native.js.map +0 -1
- package/src/block/v1/edit.js +0 -163
package/build-style/style.css
CHANGED
|
@@ -618,8 +618,7 @@
|
|
|
618
618
|
justify-content: center;
|
|
619
619
|
align-items: center;
|
|
620
620
|
padding: 1em;
|
|
621
|
-
overflow:
|
|
622
|
-
overflow: clip;
|
|
621
|
+
overflow-x: clip;
|
|
623
622
|
box-sizing: border-box;
|
|
624
623
|
/*rtl:raw: direction: ltr; */
|
|
625
624
|
/**
|
|
@@ -930,8 +929,7 @@
|
|
|
930
929
|
height: 100%;
|
|
931
930
|
max-width: none;
|
|
932
931
|
max-height: none;
|
|
933
|
-
|
|
934
|
-
object-fit: cover;
|
|
932
|
+
object-fit: cover;
|
|
935
933
|
outline: none;
|
|
936
934
|
border: none;
|
|
937
935
|
box-shadow: none;
|
|
@@ -1288,8 +1286,7 @@ textarea.wp-block-form-input__input {
|
|
|
1288
1286
|
width: 100%;
|
|
1289
1287
|
height: 100%;
|
|
1290
1288
|
flex: 1;
|
|
1291
|
-
|
|
1292
|
-
object-fit: cover;
|
|
1289
|
+
object-fit: cover;
|
|
1293
1290
|
}
|
|
1294
1291
|
.wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-image, .wp-block-gallery:not(.has-nested-images).columns-1 .blocks-gallery-item,
|
|
1295
1292
|
.blocks-gallery-grid:not(.has-nested-images).columns-1 .blocks-gallery-image,
|
|
@@ -1511,8 +1508,7 @@ figure.wp-block-gallery.has-nested-images {
|
|
|
1511
1508
|
width: 100%;
|
|
1512
1509
|
flex: 1 0 0%;
|
|
1513
1510
|
height: 100%;
|
|
1514
|
-
|
|
1515
|
-
object-fit: cover;
|
|
1511
|
+
object-fit: cover;
|
|
1516
1512
|
}
|
|
1517
1513
|
.wp-block-gallery.has-nested-images.columns-1 figure.wp-block-image:not(#individual-image) {
|
|
1518
1514
|
width: 100%;
|
|
@@ -3002,7 +2998,7 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"] {
|
|
|
3002
2998
|
}
|
|
3003
2999
|
|
|
3004
3000
|
.wp-block-pullquote {
|
|
3005
|
-
padding:
|
|
3001
|
+
padding: 4em 0;
|
|
3006
3002
|
text-align: center;
|
|
3007
3003
|
overflow-wrap: break-word;
|
|
3008
3004
|
box-sizing: border-box;
|
|
@@ -3012,6 +3008,15 @@ p.has-text-align-left[style*="writing-mode:vertical-lr"] {
|
|
|
3012
3008
|
.wp-block-pullquote cite {
|
|
3013
3009
|
color: inherit;
|
|
3014
3010
|
}
|
|
3011
|
+
.wp-block-pullquote blockquote {
|
|
3012
|
+
margin: 0;
|
|
3013
|
+
}
|
|
3014
|
+
.wp-block-pullquote p {
|
|
3015
|
+
margin-top: 0;
|
|
3016
|
+
}
|
|
3017
|
+
.wp-block-pullquote p:last-child {
|
|
3018
|
+
margin-bottom: 0;
|
|
3019
|
+
}
|
|
3015
3020
|
.wp-block-pullquote.alignleft, .wp-block-pullquote.alignright {
|
|
3016
3021
|
max-width: 420px;
|
|
3017
3022
|
}
|
|
@@ -3283,7 +3288,8 @@ ul.wp-block-rss.is-grid li {
|
|
|
3283
3288
|
min-width: 3rem;
|
|
3284
3289
|
border: 1px solid #949494;
|
|
3285
3290
|
text-decoration: unset !important;
|
|
3286
|
-
appearance: initial;
|
|
3291
|
+
-webkit-appearance: initial;
|
|
3292
|
+
appearance: initial;
|
|
3287
3293
|
}
|
|
3288
3294
|
|
|
3289
3295
|
.wp-block-search.wp-block-search__button-only .wp-block-search__button {
|
|
@@ -4033,8 +4039,7 @@ pre.wp-block-verse {
|
|
|
4033
4039
|
}
|
|
4034
4040
|
@supports (position: sticky) {
|
|
4035
4041
|
.wp-block-video [poster] {
|
|
4036
|
-
|
|
4037
|
-
object-fit: cover;
|
|
4042
|
+
object-fit: cover;
|
|
4038
4043
|
}
|
|
4039
4044
|
}
|
|
4040
4045
|
.wp-block-video.aligncenter {
|
|
@@ -4173,6 +4178,7 @@ a[data-fn].fn::after {
|
|
|
4173
4178
|
.screen-reader-text {
|
|
4174
4179
|
border: 0;
|
|
4175
4180
|
clip: rect(1px, 1px, 1px, 1px);
|
|
4181
|
+
-webkit-clip-path: inset(50%);
|
|
4176
4182
|
clip-path: inset(50%);
|
|
4177
4183
|
height: 1px;
|
|
4178
4184
|
margin: -1px;
|
|
@@ -4186,7 +4192,8 @@ a[data-fn].fn::after {
|
|
|
4186
4192
|
.screen-reader-text:focus {
|
|
4187
4193
|
background-color: #ddd;
|
|
4188
4194
|
clip: auto !important;
|
|
4189
|
-
clip-path: none;
|
|
4195
|
+
-webkit-clip-path: none;
|
|
4196
|
+
clip-path: none;
|
|
4190
4197
|
color: #444;
|
|
4191
4198
|
display: block;
|
|
4192
4199
|
font-size: 1em;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wordpress/block-library",
|
|
3
|
-
"version": "8.
|
|
3
|
+
"version": "8.27.1",
|
|
4
4
|
"description": "Block library for the WordPress editor.",
|
|
5
5
|
"author": "The WordPress Contributors",
|
|
6
6
|
"license": "GPL-2.0-or-later",
|
|
@@ -31,36 +31,38 @@
|
|
|
31
31
|
],
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@babel/runtime": "^7.16.0",
|
|
34
|
-
"@wordpress/a11y": "^3.
|
|
35
|
-
"@wordpress/api-fetch": "^6.
|
|
36
|
-
"@wordpress/autop": "^3.
|
|
37
|
-
"@wordpress/blob": "^3.
|
|
38
|
-
"@wordpress/block-editor": "^12.
|
|
39
|
-
"@wordpress/blocks": "^12.
|
|
40
|
-
"@wordpress/components": "^25.
|
|
41
|
-
"@wordpress/compose": "^6.
|
|
42
|
-
"@wordpress/core-data": "^6.
|
|
43
|
-
"@wordpress/data": "^9.
|
|
44
|
-
"@wordpress/date": "^4.
|
|
45
|
-
"@wordpress/deprecated": "^3.
|
|
46
|
-
"@wordpress/dom": "^3.
|
|
47
|
-
"@wordpress/element": "^5.
|
|
48
|
-
"@wordpress/escape-html": "^2.
|
|
49
|
-
"@wordpress/hooks": "^3.
|
|
50
|
-
"@wordpress/html-entities": "^3.
|
|
51
|
-
"@wordpress/i18n": "^4.
|
|
52
|
-
"@wordpress/icons": "^9.
|
|
53
|
-
"@wordpress/interactivity": "^
|
|
54
|
-
"@wordpress/
|
|
55
|
-
"@wordpress/
|
|
56
|
-
"@wordpress/
|
|
57
|
-
"@wordpress/
|
|
58
|
-
"@wordpress/
|
|
59
|
-
"@wordpress/
|
|
60
|
-
"@wordpress/
|
|
61
|
-
"@wordpress/
|
|
62
|
-
"@wordpress/
|
|
63
|
-
"@wordpress/
|
|
34
|
+
"@wordpress/a11y": "^3.50.0",
|
|
35
|
+
"@wordpress/api-fetch": "^6.47.0",
|
|
36
|
+
"@wordpress/autop": "^3.50.0",
|
|
37
|
+
"@wordpress/blob": "^3.50.0",
|
|
38
|
+
"@wordpress/block-editor": "^12.18.1",
|
|
39
|
+
"@wordpress/blocks": "^12.27.1",
|
|
40
|
+
"@wordpress/components": "^25.16.0",
|
|
41
|
+
"@wordpress/compose": "^6.27.0",
|
|
42
|
+
"@wordpress/core-data": "^6.27.1",
|
|
43
|
+
"@wordpress/data": "^9.20.0",
|
|
44
|
+
"@wordpress/date": "^4.50.0",
|
|
45
|
+
"@wordpress/deprecated": "^3.50.0",
|
|
46
|
+
"@wordpress/dom": "^3.50.0",
|
|
47
|
+
"@wordpress/element": "^5.27.0",
|
|
48
|
+
"@wordpress/escape-html": "^2.50.0",
|
|
49
|
+
"@wordpress/hooks": "^3.50.0",
|
|
50
|
+
"@wordpress/html-entities": "^3.50.0",
|
|
51
|
+
"@wordpress/i18n": "^4.50.0",
|
|
52
|
+
"@wordpress/icons": "^9.41.0",
|
|
53
|
+
"@wordpress/interactivity": "^4.0.0",
|
|
54
|
+
"@wordpress/interactivity-router": "^1.0.0",
|
|
55
|
+
"@wordpress/keycodes": "^3.50.0",
|
|
56
|
+
"@wordpress/notices": "^4.18.0",
|
|
57
|
+
"@wordpress/patterns": "^1.11.1",
|
|
58
|
+
"@wordpress/primitives": "^3.48.0",
|
|
59
|
+
"@wordpress/private-apis": "^0.32.0",
|
|
60
|
+
"@wordpress/reusable-blocks": "^4.27.1",
|
|
61
|
+
"@wordpress/rich-text": "^6.27.0",
|
|
62
|
+
"@wordpress/server-side-render": "^4.27.1",
|
|
63
|
+
"@wordpress/url": "^3.51.0",
|
|
64
|
+
"@wordpress/viewport": "^5.27.0",
|
|
65
|
+
"@wordpress/wordcount": "^3.50.0",
|
|
64
66
|
"change-case": "^4.1.2",
|
|
65
67
|
"classnames": "^2.3.1",
|
|
66
68
|
"colord": "^2.7.0",
|
|
@@ -78,5 +80,5 @@
|
|
|
78
80
|
"publishConfig": {
|
|
79
81
|
"access": "public"
|
|
80
82
|
},
|
|
81
|
-
"gitHead": "
|
|
83
|
+
"gitHead": "c2f6d07ffab7d68b9ac3c423ce7e11af91f6e45e"
|
|
82
84
|
}
|
package/src/avatar/edit.js
CHANGED
|
@@ -192,22 +192,12 @@ const UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {
|
|
|
192
192
|
avatar={ avatar }
|
|
193
193
|
setAttributes={ setAttributes }
|
|
194
194
|
/>
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
>
|
|
202
|
-
<ResizableAvatar
|
|
203
|
-
attributes={ attributes }
|
|
204
|
-
avatar={ avatar }
|
|
205
|
-
blockProps={ blockProps }
|
|
206
|
-
isSelected={ isSelected }
|
|
207
|
-
setAttributes={ setAttributes }
|
|
208
|
-
/>
|
|
209
|
-
</a>
|
|
210
|
-
) : (
|
|
195
|
+
{ attributes.isLink ? (
|
|
196
|
+
<a
|
|
197
|
+
href="#avatar-pseudo-link"
|
|
198
|
+
className="wp-block-avatar__link"
|
|
199
|
+
onClick={ ( event ) => event.preventDefault() }
|
|
200
|
+
>
|
|
211
201
|
<ResizableAvatar
|
|
212
202
|
attributes={ attributes }
|
|
213
203
|
avatar={ avatar }
|
|
@@ -215,8 +205,16 @@ const UserEdit = ( { attributes, context, setAttributes, isSelected } ) => {
|
|
|
215
205
|
isSelected={ isSelected }
|
|
216
206
|
setAttributes={ setAttributes }
|
|
217
207
|
/>
|
|
218
|
-
|
|
219
|
-
|
|
208
|
+
</a>
|
|
209
|
+
) : (
|
|
210
|
+
<ResizableAvatar
|
|
211
|
+
attributes={ attributes }
|
|
212
|
+
avatar={ avatar }
|
|
213
|
+
blockProps={ blockProps }
|
|
214
|
+
isSelected={ isSelected }
|
|
215
|
+
setAttributes={ setAttributes }
|
|
216
|
+
/>
|
|
217
|
+
) }
|
|
220
218
|
</>
|
|
221
219
|
);
|
|
222
220
|
};
|
package/src/block/block.json
CHANGED
package/src/block/edit.js
CHANGED
|
@@ -18,8 +18,8 @@ import {
|
|
|
18
18
|
import { __ } from '@wordpress/i18n';
|
|
19
19
|
import {
|
|
20
20
|
useInnerBlocksProps,
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
RecursionProvider,
|
|
22
|
+
useHasRecursion,
|
|
23
23
|
InnerBlocks,
|
|
24
24
|
useBlockProps,
|
|
25
25
|
Warning,
|
|
@@ -27,7 +27,8 @@ import {
|
|
|
27
27
|
store as blockEditorStore,
|
|
28
28
|
BlockControls,
|
|
29
29
|
} from '@wordpress/block-editor';
|
|
30
|
-
import {
|
|
30
|
+
import { privateApis as patternsPrivateApis } from '@wordpress/patterns';
|
|
31
|
+
import { parse, cloneBlock } from '@wordpress/blocks';
|
|
31
32
|
|
|
32
33
|
/**
|
|
33
34
|
* Internal dependencies
|
|
@@ -35,20 +36,23 @@ import { getBlockSupport, parse, cloneBlock } from '@wordpress/blocks';
|
|
|
35
36
|
import { unlock } from '../lock-unlock';
|
|
36
37
|
|
|
37
38
|
const { useLayoutClasses } = unlock( blockEditorPrivateApis );
|
|
39
|
+
const { PARTIAL_SYNCING_SUPPORTED_BLOCKS } = unlock( patternsPrivateApis );
|
|
38
40
|
|
|
39
41
|
function isPartiallySynced( block ) {
|
|
40
42
|
return (
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
43
|
+
Object.keys( PARTIAL_SYNCING_SUPPORTED_BLOCKS ).includes(
|
|
44
|
+
block.name
|
|
45
|
+
) &&
|
|
46
|
+
!! block.attributes.metadata?.bindings &&
|
|
47
|
+
Object.values( block.attributes.metadata.bindings ).some(
|
|
48
|
+
( binding ) => binding.source.name === 'pattern_attributes'
|
|
45
49
|
)
|
|
46
50
|
);
|
|
47
51
|
}
|
|
48
52
|
function getPartiallySyncedAttributes( block ) {
|
|
49
|
-
return Object.entries( block.attributes.
|
|
53
|
+
return Object.entries( block.attributes.metadata.bindings )
|
|
50
54
|
.filter(
|
|
51
|
-
( [ ,
|
|
55
|
+
( [ , binding ] ) => binding.source.name === 'pattern_attributes'
|
|
52
56
|
)
|
|
53
57
|
.map( ( [ attributeKey ] ) => attributeKey );
|
|
54
58
|
}
|
|
@@ -84,6 +88,26 @@ const useInferredLayout = ( blocks, parentLayout ) => {
|
|
|
84
88
|
}, [ blocks, parentLayout ] );
|
|
85
89
|
};
|
|
86
90
|
|
|
91
|
+
/**
|
|
92
|
+
* Enum for patch operations.
|
|
93
|
+
* We use integers here to minimize the size of the serialized data.
|
|
94
|
+
* This has to be deserialized accordingly on the server side.
|
|
95
|
+
* See block-bindings/sources/pattern.php
|
|
96
|
+
*/
|
|
97
|
+
const PATCH_OPERATIONS = {
|
|
98
|
+
/** @type {0} */
|
|
99
|
+
Remove: 0,
|
|
100
|
+
/** @type {1} */
|
|
101
|
+
Replace: 1,
|
|
102
|
+
// Other operations are reserved for future use. (e.g. Add)
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* @typedef {[typeof PATCH_OPERATIONS.Remove]} RemovePatch
|
|
107
|
+
* @typedef {[typeof PATCH_OPERATIONS.Replace, unknown]} ReplacePatch
|
|
108
|
+
* @typedef {RemovePatch | ReplacePatch} OverridePatch
|
|
109
|
+
*/
|
|
110
|
+
|
|
87
111
|
function applyInitialOverrides( blocks, overrides = {}, defaultValues ) {
|
|
88
112
|
return blocks.map( ( block ) => {
|
|
89
113
|
const innerBlocks = applyInitialOverrides(
|
|
@@ -100,9 +124,15 @@ function applyInitialOverrides( blocks, overrides = {}, defaultValues ) {
|
|
|
100
124
|
defaultValues[ blockId ] ??= {};
|
|
101
125
|
defaultValues[ blockId ][ attributeKey ] =
|
|
102
126
|
block.attributes[ attributeKey ];
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
127
|
+
/** @type {OverridePatch} */
|
|
128
|
+
const overrideAttribute = overrides[ blockId ]?.[ attributeKey ];
|
|
129
|
+
if ( ! overrideAttribute ) {
|
|
130
|
+
continue;
|
|
131
|
+
}
|
|
132
|
+
if ( overrideAttribute[ 0 ] === PATCH_OPERATIONS.Remove ) {
|
|
133
|
+
delete newAttributes[ attributeKey ];
|
|
134
|
+
} else if ( overrideAttribute[ 0 ] === PATCH_OPERATIONS.Replace ) {
|
|
135
|
+
newAttributes[ attributeKey ] = overrideAttribute[ 1 ];
|
|
106
136
|
}
|
|
107
137
|
}
|
|
108
138
|
return {
|
|
@@ -114,13 +144,14 @@ function applyInitialOverrides( blocks, overrides = {}, defaultValues ) {
|
|
|
114
144
|
}
|
|
115
145
|
|
|
116
146
|
function getOverridesFromBlocks( blocks, defaultValues ) {
|
|
117
|
-
/** @type {Record<string, Record<string,
|
|
147
|
+
/** @type {Record<string, Record<string, OverridePatch>>} */
|
|
118
148
|
const overrides = {};
|
|
119
149
|
for ( const block of blocks ) {
|
|
120
150
|
Object.assign(
|
|
121
151
|
overrides,
|
|
122
152
|
getOverridesFromBlocks( block.innerBlocks, defaultValues )
|
|
123
153
|
);
|
|
154
|
+
/** @type {string} */
|
|
124
155
|
const blockId = block.attributes.metadata?.id;
|
|
125
156
|
if ( ! isPartiallySynced( block ) || ! blockId ) continue;
|
|
126
157
|
const attributes = getPartiallySyncedAttributes( block );
|
|
@@ -130,8 +161,23 @@ function getOverridesFromBlocks( blocks, defaultValues ) {
|
|
|
130
161
|
defaultValues[ blockId ][ attributeKey ]
|
|
131
162
|
) {
|
|
132
163
|
overrides[ blockId ] ??= {};
|
|
133
|
-
|
|
134
|
-
|
|
164
|
+
/**
|
|
165
|
+
* Create a patch operation for the binding attribute.
|
|
166
|
+
* We use a tuple here to minimize the size of the serialized data.
|
|
167
|
+
* The first item is the operation type, the second item is the value if any.
|
|
168
|
+
*/
|
|
169
|
+
if ( block.attributes[ attributeKey ] === undefined ) {
|
|
170
|
+
/** @type {RemovePatch} */
|
|
171
|
+
overrides[ blockId ][ attributeKey ] = [
|
|
172
|
+
PATCH_OPERATIONS.Remove,
|
|
173
|
+
];
|
|
174
|
+
} else {
|
|
175
|
+
/** @type {ReplacePatch} */
|
|
176
|
+
overrides[ blockId ][ attributeKey ] = [
|
|
177
|
+
PATCH_OPERATIONS.Replace,
|
|
178
|
+
block.attributes[ attributeKey ],
|
|
179
|
+
];
|
|
180
|
+
}
|
|
135
181
|
}
|
|
136
182
|
}
|
|
137
183
|
}
|
|
@@ -147,6 +193,13 @@ function setBlockEditMode( setEditMode, blocks, mode ) {
|
|
|
147
193
|
} );
|
|
148
194
|
}
|
|
149
195
|
|
|
196
|
+
function getHasOverridableBlocks( blocks ) {
|
|
197
|
+
return blocks.some( ( block ) => {
|
|
198
|
+
if ( isPartiallySynced( block ) ) return true;
|
|
199
|
+
return getHasOverridableBlocks( block.innerBlocks );
|
|
200
|
+
} );
|
|
201
|
+
}
|
|
202
|
+
|
|
150
203
|
export default function ReusableBlockEdit( {
|
|
151
204
|
name,
|
|
152
205
|
attributes: { ref, overrides },
|
|
@@ -208,15 +261,23 @@ export default function ReusableBlockEdit( {
|
|
|
208
261
|
[ innerBlocks, setBlockEditingMode ]
|
|
209
262
|
);
|
|
210
263
|
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
264
|
+
const hasOverridableBlocks = useMemo(
|
|
265
|
+
() => getHasOverridableBlocks( innerBlocks ),
|
|
266
|
+
[ innerBlocks ]
|
|
267
|
+
);
|
|
268
|
+
|
|
269
|
+
const initialBlocks = useMemo(
|
|
270
|
+
() =>
|
|
214
271
|
// Clone the blocks to generate new client IDs.
|
|
215
272
|
editedRecord.blocks?.map( ( block ) => cloneBlock( block ) ) ??
|
|
216
273
|
( editedRecord.content && typeof editedRecord.content !== 'function'
|
|
217
274
|
? parse( editedRecord.content )
|
|
218
|
-
: [] )
|
|
275
|
+
: [] ),
|
|
276
|
+
[ editedRecord.blocks, editedRecord.content ]
|
|
277
|
+
);
|
|
219
278
|
|
|
279
|
+
// Apply the initial overrides from the pattern block to the inner blocks.
|
|
280
|
+
useEffect( () => {
|
|
220
281
|
defaultValuesRef.current = {};
|
|
221
282
|
const editingMode = getBlockEditingMode( patternClientId );
|
|
222
283
|
// Replace the contents of the blocks with the overrides.
|
|
@@ -237,7 +298,7 @@ export default function ReusableBlockEdit( {
|
|
|
237
298
|
}, [
|
|
238
299
|
__unstableMarkNextChangeAsNotPersistent,
|
|
239
300
|
patternClientId,
|
|
240
|
-
|
|
301
|
+
initialBlocks,
|
|
241
302
|
replaceInnerBlocks,
|
|
242
303
|
registry,
|
|
243
304
|
getBlockEditingMode,
|
|
@@ -293,6 +354,12 @@ export default function ReusableBlockEdit( {
|
|
|
293
354
|
editOriginalProps.onClick( event );
|
|
294
355
|
};
|
|
295
356
|
|
|
357
|
+
const resetOverrides = () => {
|
|
358
|
+
if ( overrides ) {
|
|
359
|
+
replaceInnerBlocks( patternClientId, initialBlocks );
|
|
360
|
+
}
|
|
361
|
+
};
|
|
362
|
+
|
|
296
363
|
let children = null;
|
|
297
364
|
|
|
298
365
|
if ( hasAlreadyRendered ) {
|
|
@@ -333,6 +400,21 @@ export default function ReusableBlockEdit( {
|
|
|
333
400
|
</ToolbarGroup>
|
|
334
401
|
</BlockControls>
|
|
335
402
|
) }
|
|
403
|
+
|
|
404
|
+
{ hasOverridableBlocks && (
|
|
405
|
+
<BlockControls>
|
|
406
|
+
<ToolbarGroup>
|
|
407
|
+
<ToolbarButton
|
|
408
|
+
onClick={ resetOverrides }
|
|
409
|
+
disabled={ ! overrides }
|
|
410
|
+
__experimentalIsFocusable
|
|
411
|
+
>
|
|
412
|
+
{ __( 'Reset to original' ) }
|
|
413
|
+
</ToolbarButton>
|
|
414
|
+
</ToolbarGroup>
|
|
415
|
+
</BlockControls>
|
|
416
|
+
) }
|
|
417
|
+
|
|
336
418
|
{ children === null ? (
|
|
337
419
|
<div { ...innerBlocksProps } />
|
|
338
420
|
) : (
|
|
@@ -27,8 +27,8 @@ import {
|
|
|
27
27
|
import { useSelect, useDispatch } from '@wordpress/data';
|
|
28
28
|
import { __, sprintf } from '@wordpress/i18n';
|
|
29
29
|
import {
|
|
30
|
-
|
|
31
|
-
|
|
30
|
+
RecursionProvider,
|
|
31
|
+
useHasRecursion,
|
|
32
32
|
InnerBlocks,
|
|
33
33
|
Warning,
|
|
34
34
|
store as blockEditorStore,
|
|
@@ -42,8 +42,8 @@ import { store as noticesStore } from '@wordpress/notices';
|
|
|
42
42
|
/**
|
|
43
43
|
* Internal dependencies
|
|
44
44
|
*/
|
|
45
|
-
import styles from '
|
|
46
|
-
import EditTitle from '
|
|
45
|
+
import styles from './editor.scss';
|
|
46
|
+
import EditTitle from './edit-title';
|
|
47
47
|
|
|
48
48
|
export default function ReusableBlockEdit( {
|
|
49
49
|
attributes: { ref },
|
package/src/block/index.js
CHANGED
|
@@ -8,15 +8,14 @@ import { symbol as icon } from '@wordpress/icons';
|
|
|
8
8
|
*/
|
|
9
9
|
import initBlock from '../utils/init-block';
|
|
10
10
|
import metadata from './block.json';
|
|
11
|
-
import
|
|
12
|
-
import editV2 from './edit';
|
|
11
|
+
import edit from './edit';
|
|
13
12
|
|
|
14
13
|
const { name } = metadata;
|
|
15
14
|
|
|
16
15
|
export { metadata, name };
|
|
17
16
|
|
|
18
17
|
export const settings = {
|
|
19
|
-
edit
|
|
18
|
+
edit,
|
|
20
19
|
icon,
|
|
21
20
|
};
|
|
22
21
|
|
package/src/block/index.php
CHANGED
|
@@ -46,17 +46,14 @@ function render_block_core_block( $attributes ) {
|
|
|
46
46
|
$content = $wp_embed->run_shortcode( $reusable_block->post_content );
|
|
47
47
|
$content = $wp_embed->autoembed( $content );
|
|
48
48
|
|
|
49
|
-
$
|
|
50
|
-
$has_partial_synced_overrides = $gutenberg_experiments
|
|
51
|
-
&& array_key_exists( 'gutenberg-pattern-partial-syncing', $gutenberg_experiments )
|
|
52
|
-
&& isset( $attributes['overrides'] );
|
|
49
|
+
$has_pattern_overrides = isset( $attributes['overrides'] );
|
|
53
50
|
|
|
54
51
|
/**
|
|
55
52
|
* We set the `pattern/overrides` context through the `render_block_context`
|
|
56
53
|
* filter so that it is available when a pattern's inner blocks are
|
|
57
54
|
* rendering via do_blocks given it only receives the inner content.
|
|
58
55
|
*/
|
|
59
|
-
if ( $
|
|
56
|
+
if ( $has_pattern_overrides ) {
|
|
60
57
|
$filter_block_context = static function ( $context ) use ( $attributes ) {
|
|
61
58
|
$context['pattern/overrides'] = $attributes['overrides'];
|
|
62
59
|
return $context;
|
|
@@ -67,7 +64,7 @@ function render_block_core_block( $attributes ) {
|
|
|
67
64
|
$content = do_blocks( $content );
|
|
68
65
|
unset( $seen_refs[ $attributes['ref'] ] );
|
|
69
66
|
|
|
70
|
-
if ( $
|
|
67
|
+
if ( $has_pattern_overrides ) {
|
|
71
68
|
remove_filter( 'render_block_context', $filter_block_context, 1 );
|
|
72
69
|
}
|
|
73
70
|
|
|
@@ -86,28 +83,3 @@ function register_block_core_block() {
|
|
|
86
83
|
);
|
|
87
84
|
}
|
|
88
85
|
add_action( 'init', 'register_block_core_block' );
|
|
89
|
-
|
|
90
|
-
$gutenberg_experiments = get_option( 'gutenberg-experiments' );
|
|
91
|
-
if ( $gutenberg_experiments && array_key_exists( 'gutenberg-pattern-partial-syncing', $gutenberg_experiments ) ) {
|
|
92
|
-
/**
|
|
93
|
-
* Registers the overrides attribute for core/block.
|
|
94
|
-
*
|
|
95
|
-
* @param array $args Array of arguments for registering a block type.
|
|
96
|
-
* @param string $block_name Block name including namespace.
|
|
97
|
-
* @return array $args
|
|
98
|
-
*/
|
|
99
|
-
function register_block_core_block_args( $args, $block_name ) {
|
|
100
|
-
if ( 'core/block' === $block_name ) {
|
|
101
|
-
$args['attributes'] = array_merge(
|
|
102
|
-
$args['attributes'],
|
|
103
|
-
array(
|
|
104
|
-
'overrides' => array(
|
|
105
|
-
'type' => 'object',
|
|
106
|
-
),
|
|
107
|
-
)
|
|
108
|
-
);
|
|
109
|
-
}
|
|
110
|
-
return $args;
|
|
111
|
-
}
|
|
112
|
-
add_filter( 'register_block_type_args', 'register_block_core_block_args', 10, 2 );
|
|
113
|
-
}
|
package/src/button/block.json
CHANGED