@wordpress/block-library 9.36.1-next.8b30e05b0.0 → 9.37.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.
- package/CHANGELOG.md +2 -0
- package/build/audio/index.js +1 -1
- package/build/audio/index.js.map +2 -2
- package/build/avatar/edit.js +13 -38
- package/build/avatar/edit.js.map +2 -2
- package/build/breadcrumbs/block.json +3 -2
- package/build/breadcrumbs/edit.js +18 -18
- package/build/breadcrumbs/edit.js.map +2 -2
- package/build/button/block.json +2 -3
- package/build/button/deprecated.js +203 -0
- package/build/button/deprecated.js.map +3 -3
- package/build/button/edit.js +13 -24
- package/build/button/edit.js.map +3 -3
- package/build/button/index.js +1 -1
- package/build/button/index.js.map +2 -2
- package/build/button/save.js +0 -2
- package/build/button/save.js.map +2 -2
- package/build/code/index.js +1 -1
- package/build/code/index.js.map +2 -2
- package/build/comments-pagination-numbers/block.json +7 -0
- package/build/cover/index.js +2 -2
- package/build/cover/index.js.map +2 -2
- package/build/details/index.js +1 -1
- package/build/details/index.js.map +2 -2
- package/build/file/index.js +1 -1
- package/build/file/index.js.map +2 -2
- package/build/freeform/block.json +0 -1
- package/build/gallery/edit.js +1 -1
- package/build/gallery/edit.js.map +2 -2
- package/build/gallery/transforms.js +7 -3
- package/build/gallery/transforms.js.map +2 -2
- package/build/heading/index.js +1 -1
- package/build/heading/index.js.map +2 -2
- package/build/html/modal.js +18 -7
- package/build/html/modal.js.map +2 -2
- package/build/image/index.js +1 -1
- package/build/image/index.js.map +2 -2
- package/build/index.js +9 -3
- package/build/index.js.map +2 -2
- package/build/list-item/index.js +1 -1
- package/build/list-item/index.js.map +2 -2
- package/build/math/edit.js +14 -2
- package/build/math/edit.js.map +2 -2
- package/build/media-text/index.js +1 -1
- package/build/media-text/index.js.map +2 -2
- package/build/more/index.js +1 -1
- package/build/more/index.js.map +2 -2
- package/build/navigation/block.json +3 -0
- package/build/navigation/edit/index.js +57 -83
- package/build/navigation/edit/index.js.map +3 -3
- package/build/navigation/edit/overlay-menu-preview-button.js +96 -0
- package/build/navigation/edit/overlay-menu-preview-button.js.map +7 -0
- package/build/navigation/edit/overlay-menu-preview-controls.js +90 -0
- package/build/navigation/edit/overlay-menu-preview-controls.js.map +7 -0
- package/build/navigation/edit/overlay-panel.js +86 -0
- package/build/navigation/edit/overlay-panel.js.map +7 -0
- package/build/navigation/edit/overlay-template-part-selector.js +163 -0
- package/build/navigation/edit/overlay-template-part-selector.js.map +7 -0
- package/build/navigation/edit/overlay-visibility-control.js +54 -0
- package/build/navigation/edit/overlay-visibility-control.js.map +7 -0
- package/build/navigation/edit/responsive-wrapper.js +14 -2
- package/build/navigation/edit/responsive-wrapper.js.map +2 -2
- package/build/navigation-link/edit.js +7 -21
- package/build/navigation-link/edit.js.map +2 -2
- package/build/navigation-link/index.js +1 -1
- package/build/navigation-link/index.js.map +2 -2
- package/build/navigation-link/shared/index.js +5 -2
- package/build/navigation-link/shared/index.js.map +2 -2
- package/build/navigation-link/shared/use-handle-link-change.js +84 -0
- package/build/navigation-link/shared/use-handle-link-change.js.map +7 -0
- package/build/navigation-submenu/index.js +1 -1
- package/build/navigation-submenu/index.js.map +2 -2
- package/build/page-list-item/edit.js +4 -3
- package/build/page-list-item/edit.js.map +2 -2
- package/build/paragraph/index.js +1 -1
- package/build/paragraph/index.js.map +2 -2
- package/build/post-title/edit.js +6 -4
- package/build/post-title/edit.js.map +2 -2
- package/build/preformatted/index.js +1 -1
- package/build/preformatted/index.js.map +2 -2
- package/build/pullquote/index.js +1 -1
- package/build/pullquote/index.js.map +2 -2
- package/build/query/edit/inspector-controls/author-control.js +0 -1
- package/build/query/edit/inspector-controls/author-control.js.map +2 -2
- package/build/query/edit/inspector-controls/format-controls.js +0 -1
- package/build/query/edit/inspector-controls/format-controls.js.map +2 -2
- package/build/query/edit/inspector-controls/parent-control.js +1 -2
- package/build/query/edit/inspector-controls/parent-control.js.map +2 -2
- package/build/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build/query/edit/inspector-controls/taxonomy-controls.js.map +2 -2
- package/build/search/index.js +1 -1
- package/build/search/index.js.map +2 -2
- package/build/social-link/index.js +1 -1
- package/build/social-link/index.js.map +2 -2
- package/build/template-part/edit/index.js +3 -31
- package/build/template-part/edit/index.js.map +2 -2
- package/build/template-part/edit/utils/get-template-part-icon.js +9 -4
- package/build/template-part/edit/utils/get-template-part-icon.js.map +3 -3
- package/build/template-part/edit/utils/hooks.js +3 -2
- package/build/template-part/edit/utils/hooks.js.map +2 -2
- package/build/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/build/terms-query/edit/inspector-controls/include-control.js.map +2 -2
- package/build/utils/deprecated-text-align-attributes.js +70 -0
- package/build/utils/deprecated-text-align-attributes.js.map +7 -0
- package/build/utils/migrate-text-align.js +42 -0
- package/build/utils/migrate-text-align.js.map +7 -0
- package/build/verse/index.js +1 -1
- package/build/verse/index.js.map +2 -2
- package/build/video/index.js +1 -1
- package/build/video/index.js.map +2 -2
- package/build-module/audio/index.js +1 -1
- package/build-module/audio/index.js.map +2 -2
- package/build-module/avatar/edit.js +13 -38
- package/build-module/avatar/edit.js.map +2 -2
- package/build-module/breadcrumbs/block.json +3 -2
- package/build-module/breadcrumbs/edit.js +18 -18
- package/build-module/breadcrumbs/edit.js.map +2 -2
- package/build-module/button/block.json +2 -3
- package/build-module/button/deprecated.js +205 -1
- package/build-module/button/deprecated.js.map +2 -2
- package/build-module/button/edit.js +13 -25
- package/build-module/button/edit.js.map +2 -2
- package/build-module/button/index.js +1 -1
- package/build-module/button/index.js.map +2 -2
- package/build-module/button/save.js +0 -2
- package/build-module/button/save.js.map +2 -2
- package/build-module/code/index.js +1 -1
- package/build-module/code/index.js.map +2 -2
- package/build-module/comments-pagination-numbers/block.json +7 -0
- package/build-module/cover/index.js +2 -2
- package/build-module/cover/index.js.map +2 -2
- package/build-module/details/index.js +1 -1
- package/build-module/details/index.js.map +2 -2
- package/build-module/file/index.js +1 -1
- package/build-module/file/index.js.map +2 -2
- package/build-module/freeform/block.json +0 -1
- package/build-module/gallery/edit.js +1 -1
- package/build-module/gallery/edit.js.map +2 -2
- package/build-module/gallery/transforms.js +7 -3
- package/build-module/gallery/transforms.js.map +2 -2
- package/build-module/heading/index.js +1 -1
- package/build-module/heading/index.js.map +2 -2
- package/build-module/html/modal.js +19 -7
- package/build-module/html/modal.js.map +2 -2
- package/build-module/image/index.js +1 -1
- package/build-module/image/index.js.map +2 -2
- package/build-module/index.js +9 -3
- package/build-module/index.js.map +2 -2
- package/build-module/list-item/index.js +1 -1
- package/build-module/list-item/index.js.map +2 -2
- package/build-module/math/edit.js +15 -3
- package/build-module/math/edit.js.map +2 -2
- package/build-module/media-text/index.js +1 -1
- package/build-module/media-text/index.js.map +2 -2
- package/build-module/more/index.js +1 -1
- package/build-module/more/index.js.map +2 -2
- package/build-module/navigation/block.json +3 -0
- package/build-module/navigation/edit/index.js +58 -88
- package/build-module/navigation/edit/index.js.map +2 -2
- package/build-module/navigation/edit/overlay-menu-preview-button.js +65 -0
- package/build-module/navigation/edit/overlay-menu-preview-button.js.map +7 -0
- package/build-module/navigation/edit/overlay-menu-preview-controls.js +64 -0
- package/build-module/navigation/edit/overlay-menu-preview-controls.js.map +7 -0
- package/build-module/navigation/edit/overlay-panel.js +58 -0
- package/build-module/navigation/edit/overlay-panel.js.map +7 -0
- package/build-module/navigation/edit/overlay-template-part-selector.js +142 -0
- package/build-module/navigation/edit/overlay-template-part-selector.js.map +7 -0
- package/build-module/navigation/edit/overlay-visibility-control.js +36 -0
- package/build-module/navigation/edit/overlay-visibility-control.js.map +7 -0
- package/build-module/navigation/edit/responsive-wrapper.js +14 -2
- package/build-module/navigation/edit/responsive-wrapper.js.map +2 -2
- package/build-module/navigation-link/edit.js +9 -23
- package/build-module/navigation-link/edit.js.map +2 -2
- package/build-module/navigation-link/index.js +1 -1
- package/build-module/navigation-link/index.js.map +2 -2
- package/build-module/navigation-link/shared/index.js +3 -1
- package/build-module/navigation-link/shared/index.js.map +2 -2
- package/build-module/navigation-link/shared/use-handle-link-change.js +59 -0
- package/build-module/navigation-link/shared/use-handle-link-change.js.map +7 -0
- package/build-module/navigation-submenu/index.js +1 -1
- package/build-module/navigation-submenu/index.js.map +2 -2
- package/build-module/page-list-item/edit.js +4 -3
- package/build-module/page-list-item/edit.js.map +2 -2
- package/build-module/paragraph/index.js +1 -1
- package/build-module/paragraph/index.js.map +2 -2
- package/build-module/post-title/edit.js +6 -4
- package/build-module/post-title/edit.js.map +2 -2
- package/build-module/preformatted/index.js +1 -1
- package/build-module/preformatted/index.js.map +2 -2
- package/build-module/pullquote/index.js +1 -1
- package/build-module/pullquote/index.js.map +2 -2
- package/build-module/query/edit/inspector-controls/author-control.js +0 -1
- package/build-module/query/edit/inspector-controls/author-control.js.map +2 -2
- package/build-module/query/edit/inspector-controls/format-controls.js +0 -1
- package/build-module/query/edit/inspector-controls/format-controls.js.map +2 -2
- package/build-module/query/edit/inspector-controls/parent-control.js +1 -2
- package/build-module/query/edit/inspector-controls/parent-control.js.map +2 -2
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/build-module/query/edit/inspector-controls/taxonomy-controls.js.map +2 -2
- package/build-module/search/index.js +1 -1
- package/build-module/search/index.js.map +2 -2
- package/build-module/social-link/index.js +1 -1
- package/build-module/social-link/index.js.map +2 -2
- package/build-module/template-part/edit/index.js +3 -31
- package/build-module/template-part/edit/index.js.map +2 -2
- package/build-module/template-part/edit/utils/get-template-part-icon.js +10 -4
- package/build-module/template-part/edit/utils/get-template-part-icon.js.map +2 -2
- package/build-module/template-part/edit/utils/hooks.js +3 -2
- package/build-module/template-part/edit/utils/hooks.js.map +2 -2
- package/build-module/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/build-module/terms-query/edit/inspector-controls/include-control.js.map +2 -2
- package/build-module/utils/deprecated-text-align-attributes.js +39 -0
- package/build-module/utils/deprecated-text-align-attributes.js.map +7 -0
- package/build-module/utils/migrate-text-align.js +21 -0
- package/build-module/utils/migrate-text-align.js.map +7 -0
- package/build-module/verse/index.js +1 -1
- package/build-module/verse/index.js.map +2 -2
- package/build-module/video/index.js +1 -1
- package/build-module/video/index.js.map +2 -2
- package/build-style/accordion-heading/style-rtl.css +2 -18
- package/build-style/accordion-heading/style.css +2 -18
- package/build-style/classic-rtl.css +24 -0
- package/build-style/classic.css +24 -0
- package/build-style/common-rtl.css +4 -4
- package/build-style/common.css +4 -0
- package/build-style/editor-rtl.css +5 -0
- package/build-style/editor.css +5 -0
- package/build-style/navigation/editor-rtl.css +5 -0
- package/build-style/navigation/editor.css +5 -0
- package/build-style/style-rtl.css +8 -22
- package/build-style/style.css +8 -18
- package/build-style/verse/style-rtl.css +2 -0
- package/build-style/verse/style.css +2 -0
- package/package.json +40 -38
- package/src/accordion-heading/style.scss +2 -30
- package/src/audio/index.js +1 -1
- package/src/avatar/edit.js +68 -83
- package/src/breadcrumbs/block.json +3 -2
- package/src/breadcrumbs/edit.js +18 -18
- package/src/breadcrumbs/index.php +38 -17
- package/src/button/block.json +2 -3
- package/src/button/deprecated.js +214 -0
- package/src/button/edit.js +2 -11
- package/src/button/index.js +1 -1
- package/src/button/save.js +0 -2
- package/src/classic.scss +38 -0
- package/src/code/index.js +1 -1
- package/src/comments-pagination-numbers/block.json +7 -0
- package/src/common.scss +4 -0
- package/src/cover/index.js +2 -2
- package/src/details/index.js +1 -1
- package/src/file/index.js +1 -1
- package/src/freeform/block.json +0 -1
- package/src/gallery/edit.js +4 -1
- package/src/gallery/transforms.js +6 -2
- package/src/heading/index.js +1 -1
- package/src/html/modal.js +39 -20
- package/src/image/index.js +1 -1
- package/src/index.js +9 -3
- package/src/list-item/index.js +1 -1
- package/src/math/edit.js +15 -3
- package/src/media-text/index.js +1 -1
- package/src/more/index.js +1 -1
- package/src/navigation/block.json +3 -0
- package/src/navigation/edit/index.js +77 -82
- package/src/navigation/edit/overlay-menu-preview-button.js +82 -0
- package/src/navigation/edit/overlay-menu-preview-controls.js +65 -0
- package/src/navigation/edit/overlay-panel.js +78 -0
- package/src/navigation/edit/overlay-template-part-selector.js +198 -0
- package/src/navigation/edit/overlay-visibility-control.js +40 -0
- package/src/navigation/edit/responsive-wrapper.js +16 -1
- package/src/navigation/edit/test/overlay-template-part-selector.js +461 -0
- package/src/navigation/editor.scss +5 -0
- package/src/navigation-link/edit.js +9 -26
- package/src/navigation-link/index.js +1 -1
- package/src/navigation-link/shared/index.js +1 -0
- package/src/navigation-link/shared/test/use-handle-link-change.test.js +804 -0
- package/src/navigation-link/shared/use-handle-link-change.js +91 -0
- package/src/navigation-submenu/index.js +1 -1
- package/src/page-list/index.php +3 -4
- package/src/page-list-item/edit.js +4 -3
- package/src/paragraph/index.js +1 -1
- package/src/post-title/edit.js +8 -4
- package/src/post-title/index.php +1 -1
- package/src/preformatted/index.js +1 -1
- package/src/pullquote/index.js +1 -1
- package/src/query/edit/inspector-controls/author-control.js +0 -1
- package/src/query/edit/inspector-controls/format-controls.js +0 -1
- package/src/query/edit/inspector-controls/parent-control.js +0 -1
- package/src/query/edit/inspector-controls/taxonomy-controls.js +0 -1
- package/src/search/index.js +1 -1
- package/src/social-link/index.js +1 -1
- package/src/template-part/edit/index.js +5 -41
- package/src/template-part/edit/utils/get-template-part-icon.js +23 -4
- package/src/template-part/edit/utils/hooks.js +10 -2
- package/src/terms-query/edit/inspector-controls/include-control.js +0 -1
- package/src/utils/deprecated-text-align-attributes.js +45 -0
- package/src/utils/migrate-text-align.js +22 -0
- package/src/verse/index.js +1 -1
- package/src/verse/style.scss +4 -0
- package/src/video/index.js +1 -1
- package/tsconfig.tsbuildinfo +1 -1
package/src/button/deprecated.js
CHANGED
|
@@ -16,6 +16,7 @@ import {
|
|
|
16
16
|
__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,
|
|
17
17
|
__experimentalGetShadowClassesAndStyles as getShadowClassesAndStyles,
|
|
18
18
|
__experimentalGetElementClassName,
|
|
19
|
+
getTypographyClassesAndStyles,
|
|
19
20
|
} from '@wordpress/block-editor';
|
|
20
21
|
import { compose } from '@wordpress/compose';
|
|
21
22
|
|
|
@@ -23,6 +24,7 @@ import { compose } from '@wordpress/compose';
|
|
|
23
24
|
* Internal dependencies
|
|
24
25
|
*/
|
|
25
26
|
import migrateFontFamily from '../utils/migrate-font-family';
|
|
27
|
+
import migrateTextAlign from '../utils/migrate-text-align';
|
|
26
28
|
|
|
27
29
|
const migrateBorderRadius = ( attributes ) => {
|
|
28
30
|
const { borderRadius, ...newAttributes } = attributes;
|
|
@@ -134,6 +136,217 @@ const blockAttributes = {
|
|
|
134
136
|
},
|
|
135
137
|
};
|
|
136
138
|
|
|
139
|
+
const v13 = {
|
|
140
|
+
attributes: {
|
|
141
|
+
tagName: {
|
|
142
|
+
type: 'string',
|
|
143
|
+
enum: [ 'a', 'button' ],
|
|
144
|
+
default: 'a',
|
|
145
|
+
},
|
|
146
|
+
type: {
|
|
147
|
+
type: 'string',
|
|
148
|
+
default: 'button',
|
|
149
|
+
},
|
|
150
|
+
textAlign: {
|
|
151
|
+
type: 'string',
|
|
152
|
+
},
|
|
153
|
+
url: {
|
|
154
|
+
type: 'string',
|
|
155
|
+
source: 'attribute',
|
|
156
|
+
selector: 'a',
|
|
157
|
+
attribute: 'href',
|
|
158
|
+
role: 'content',
|
|
159
|
+
},
|
|
160
|
+
title: {
|
|
161
|
+
type: 'string',
|
|
162
|
+
source: 'attribute',
|
|
163
|
+
selector: 'a,button',
|
|
164
|
+
attribute: 'title',
|
|
165
|
+
role: 'content',
|
|
166
|
+
},
|
|
167
|
+
text: {
|
|
168
|
+
type: 'rich-text',
|
|
169
|
+
source: 'rich-text',
|
|
170
|
+
selector: 'a,button',
|
|
171
|
+
role: 'content',
|
|
172
|
+
},
|
|
173
|
+
linkTarget: {
|
|
174
|
+
type: 'string',
|
|
175
|
+
source: 'attribute',
|
|
176
|
+
selector: 'a',
|
|
177
|
+
attribute: 'target',
|
|
178
|
+
role: 'content',
|
|
179
|
+
},
|
|
180
|
+
rel: {
|
|
181
|
+
type: 'string',
|
|
182
|
+
source: 'attribute',
|
|
183
|
+
selector: 'a',
|
|
184
|
+
attribute: 'rel',
|
|
185
|
+
role: 'content',
|
|
186
|
+
},
|
|
187
|
+
placeholder: {
|
|
188
|
+
type: 'string',
|
|
189
|
+
},
|
|
190
|
+
backgroundColor: {
|
|
191
|
+
type: 'string',
|
|
192
|
+
},
|
|
193
|
+
textColor: {
|
|
194
|
+
type: 'string',
|
|
195
|
+
},
|
|
196
|
+
gradient: {
|
|
197
|
+
type: 'string',
|
|
198
|
+
},
|
|
199
|
+
width: {
|
|
200
|
+
type: 'number',
|
|
201
|
+
},
|
|
202
|
+
},
|
|
203
|
+
supports: {
|
|
204
|
+
anchor: true,
|
|
205
|
+
align: true,
|
|
206
|
+
alignWide: false,
|
|
207
|
+
color: {
|
|
208
|
+
__experimentalSkipSerialization: true,
|
|
209
|
+
gradients: true,
|
|
210
|
+
__experimentalDefaultControls: {
|
|
211
|
+
background: true,
|
|
212
|
+
text: true,
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
typography: {
|
|
216
|
+
__experimentalSkipSerialization: [
|
|
217
|
+
'fontSize',
|
|
218
|
+
'lineHeight',
|
|
219
|
+
'fontFamily',
|
|
220
|
+
'fontWeight',
|
|
221
|
+
'fontStyle',
|
|
222
|
+
'textTransform',
|
|
223
|
+
'textDecoration',
|
|
224
|
+
'letterSpacing',
|
|
225
|
+
],
|
|
226
|
+
fontSize: true,
|
|
227
|
+
lineHeight: true,
|
|
228
|
+
__experimentalFontFamily: true,
|
|
229
|
+
__experimentalFontWeight: true,
|
|
230
|
+
__experimentalFontStyle: true,
|
|
231
|
+
__experimentalTextTransform: true,
|
|
232
|
+
__experimentalTextDecoration: true,
|
|
233
|
+
__experimentalLetterSpacing: true,
|
|
234
|
+
__experimentalWritingMode: true,
|
|
235
|
+
__experimentalDefaultControls: {
|
|
236
|
+
fontSize: true,
|
|
237
|
+
},
|
|
238
|
+
},
|
|
239
|
+
reusable: false,
|
|
240
|
+
shadow: {
|
|
241
|
+
__experimentalSkipSerialization: true,
|
|
242
|
+
},
|
|
243
|
+
spacing: {
|
|
244
|
+
__experimentalSkipSerialization: true,
|
|
245
|
+
padding: [ 'horizontal', 'vertical' ],
|
|
246
|
+
__experimentalDefaultControls: {
|
|
247
|
+
padding: true,
|
|
248
|
+
},
|
|
249
|
+
},
|
|
250
|
+
__experimentalBorder: {
|
|
251
|
+
color: true,
|
|
252
|
+
radius: true,
|
|
253
|
+
style: true,
|
|
254
|
+
width: true,
|
|
255
|
+
__experimentalSkipSerialization: true,
|
|
256
|
+
__experimentalDefaultControls: {
|
|
257
|
+
color: true,
|
|
258
|
+
radius: true,
|
|
259
|
+
style: true,
|
|
260
|
+
width: true,
|
|
261
|
+
},
|
|
262
|
+
},
|
|
263
|
+
interactivity: {
|
|
264
|
+
clientNavigation: true,
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
selectors: {
|
|
268
|
+
root: '.wp-block-button .wp-block-button__link',
|
|
269
|
+
typography: {
|
|
270
|
+
writingMode: '.wp-block-button',
|
|
271
|
+
},
|
|
272
|
+
},
|
|
273
|
+
save( { attributes, className } ) {
|
|
274
|
+
const {
|
|
275
|
+
tagName,
|
|
276
|
+
type,
|
|
277
|
+
textAlign,
|
|
278
|
+
fontSize,
|
|
279
|
+
linkTarget,
|
|
280
|
+
rel,
|
|
281
|
+
style,
|
|
282
|
+
text,
|
|
283
|
+
title,
|
|
284
|
+
url,
|
|
285
|
+
width,
|
|
286
|
+
} = attributes;
|
|
287
|
+
|
|
288
|
+
const TagName = tagName || 'a';
|
|
289
|
+
const isButtonTag = 'button' === TagName;
|
|
290
|
+
const buttonType = type || 'button';
|
|
291
|
+
const borderProps = getBorderClassesAndStyles( attributes );
|
|
292
|
+
const colorProps = getColorClassesAndStyles( attributes );
|
|
293
|
+
const spacingProps = getSpacingClassesAndStyles( attributes );
|
|
294
|
+
const shadowProps = getShadowClassesAndStyles( attributes );
|
|
295
|
+
const typographyProps = getTypographyClassesAndStyles( attributes );
|
|
296
|
+
const buttonClasses = clsx(
|
|
297
|
+
'wp-block-button__link',
|
|
298
|
+
colorProps.className,
|
|
299
|
+
borderProps.className,
|
|
300
|
+
typographyProps.className,
|
|
301
|
+
{
|
|
302
|
+
[ `has-text-align-${ textAlign }` ]: textAlign,
|
|
303
|
+
// For backwards compatibility add style that isn't provided via
|
|
304
|
+
// block support.
|
|
305
|
+
'no-border-radius': style?.border?.radius === 0,
|
|
306
|
+
[ `has-custom-font-size` ]:
|
|
307
|
+
fontSize || style?.typography?.fontSize,
|
|
308
|
+
},
|
|
309
|
+
__experimentalGetElementClassName( 'button' )
|
|
310
|
+
);
|
|
311
|
+
const buttonStyle = {
|
|
312
|
+
...borderProps.style,
|
|
313
|
+
...colorProps.style,
|
|
314
|
+
...spacingProps.style,
|
|
315
|
+
...shadowProps.style,
|
|
316
|
+
...typographyProps.style,
|
|
317
|
+
writingMode: undefined,
|
|
318
|
+
};
|
|
319
|
+
|
|
320
|
+
// The use of a `title` attribute here is soft-deprecated, but still applied
|
|
321
|
+
// if it had already been assigned, for the sake of backward-compatibility.
|
|
322
|
+
// A title will no longer be assigned for new or updated button block links.
|
|
323
|
+
|
|
324
|
+
const wrapperClasses = clsx( className, {
|
|
325
|
+
[ `has-custom-width wp-block-button__width-${ width }` ]: width,
|
|
326
|
+
} );
|
|
327
|
+
|
|
328
|
+
return (
|
|
329
|
+
<div { ...useBlockProps.save( { className: wrapperClasses } ) }>
|
|
330
|
+
<RichText.Content
|
|
331
|
+
tagName={ TagName }
|
|
332
|
+
type={ isButtonTag ? buttonType : null }
|
|
333
|
+
className={ buttonClasses }
|
|
334
|
+
href={ isButtonTag ? null : url }
|
|
335
|
+
title={ title }
|
|
336
|
+
style={ buttonStyle }
|
|
337
|
+
value={ text }
|
|
338
|
+
target={ isButtonTag ? null : linkTarget }
|
|
339
|
+
rel={ isButtonTag ? null : rel }
|
|
340
|
+
/>
|
|
341
|
+
</div>
|
|
342
|
+
);
|
|
343
|
+
},
|
|
344
|
+
isEligible( attributes ) {
|
|
345
|
+
return !! attributes.textAlign;
|
|
346
|
+
},
|
|
347
|
+
migrate: migrateTextAlign,
|
|
348
|
+
};
|
|
349
|
+
|
|
137
350
|
const v12 = {
|
|
138
351
|
attributes: {
|
|
139
352
|
tagName: {
|
|
@@ -587,6 +800,7 @@ const v10 = {
|
|
|
587
800
|
};
|
|
588
801
|
|
|
589
802
|
const deprecated = [
|
|
803
|
+
v13,
|
|
590
804
|
v12,
|
|
591
805
|
v11,
|
|
592
806
|
v10,
|
package/src/button/edit.js
CHANGED
|
@@ -11,6 +11,7 @@ import { getUpdatedLinkAttributes } from './get-updated-link-attributes';
|
|
|
11
11
|
import removeAnchorTag from '../utils/remove-anchor-tag';
|
|
12
12
|
import { useToolsPanelDropdownMenuProps } from '../utils/hooks';
|
|
13
13
|
import { unlock } from '../lock-unlock';
|
|
14
|
+
import useDeprecatedTextAlign from '../utils/deprecated-text-align-attributes';
|
|
14
15
|
|
|
15
16
|
/**
|
|
16
17
|
* WordPress dependencies
|
|
@@ -34,7 +35,6 @@ import {
|
|
|
34
35
|
__experimentalToggleGroupControlOption as ToggleGroupControlOption,
|
|
35
36
|
} from '@wordpress/components';
|
|
36
37
|
import {
|
|
37
|
-
AlignmentControl,
|
|
38
38
|
BlockControls,
|
|
39
39
|
InspectorControls,
|
|
40
40
|
RichText,
|
|
@@ -186,7 +186,6 @@ function ButtonEdit( props ) {
|
|
|
186
186
|
} = props;
|
|
187
187
|
const {
|
|
188
188
|
tagName,
|
|
189
|
-
textAlign,
|
|
190
189
|
linkTarget,
|
|
191
190
|
placeholder,
|
|
192
191
|
rel,
|
|
@@ -196,6 +195,7 @@ function ButtonEdit( props ) {
|
|
|
196
195
|
width,
|
|
197
196
|
metadata,
|
|
198
197
|
} = attributes;
|
|
198
|
+
useDeprecatedTextAlign( props );
|
|
199
199
|
|
|
200
200
|
const TagName = tagName || 'a';
|
|
201
201
|
|
|
@@ -361,7 +361,6 @@ function ButtonEdit( props ) {
|
|
|
361
361
|
borderProps.className,
|
|
362
362
|
typographyProps.className,
|
|
363
363
|
{
|
|
364
|
-
[ `has-text-align-${ textAlign }` ]: textAlign,
|
|
365
364
|
// For backwards compatibility add style that isn't
|
|
366
365
|
// provided via block support.
|
|
367
366
|
'no-border-radius': style?.border?.radius === 0,
|
|
@@ -385,14 +384,6 @@ function ButtonEdit( props ) {
|
|
|
385
384
|
</div>
|
|
386
385
|
{ hasBlockControls && (
|
|
387
386
|
<BlockControls group="block">
|
|
388
|
-
{ hasNonContentControls && (
|
|
389
|
-
<AlignmentControl
|
|
390
|
-
value={ textAlign }
|
|
391
|
-
onChange={ ( nextAlign ) => {
|
|
392
|
-
setAttributes( { textAlign: nextAlign } );
|
|
393
|
-
} }
|
|
394
|
-
/>
|
|
395
|
-
) }
|
|
396
387
|
{ isLinkTag && ! lockUrlControls && (
|
|
397
388
|
<ToolbarButton
|
|
398
389
|
name="link"
|
package/src/button/index.js
CHANGED
package/src/button/save.js
CHANGED
|
@@ -21,7 +21,6 @@ export default function save( { attributes, className } ) {
|
|
|
21
21
|
const {
|
|
22
22
|
tagName,
|
|
23
23
|
type,
|
|
24
|
-
textAlign,
|
|
25
24
|
fontSize,
|
|
26
25
|
linkTarget,
|
|
27
26
|
rel,
|
|
@@ -46,7 +45,6 @@ export default function save( { attributes, className } ) {
|
|
|
46
45
|
borderProps.className,
|
|
47
46
|
typographyProps.className,
|
|
48
47
|
{
|
|
49
|
-
[ `has-text-align-${ textAlign }` ]: textAlign,
|
|
50
48
|
// For backwards compatibility add style that isn't provided via
|
|
51
49
|
// block support.
|
|
52
50
|
'no-border-radius': style?.border?.radius === 0,
|
package/src/classic.scss
CHANGED
|
@@ -20,3 +20,41 @@
|
|
|
20
20
|
background: #32373c;
|
|
21
21
|
color: $white;
|
|
22
22
|
}
|
|
23
|
+
|
|
24
|
+
// These rules are needed to enforce the default styling of
|
|
25
|
+
// the Accordion Heading block in the classic theme.
|
|
26
|
+
.wp-block-accordion-heading {
|
|
27
|
+
// Heading elements may have default margins applied, so those
|
|
28
|
+
// styles need to be reset.
|
|
29
|
+
margin: 0;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.wp-block-accordion-heading__toggle {
|
|
33
|
+
// Button elements can have colors applied with high CSS specificity,
|
|
34
|
+
// and since this specificity is impossible to predict, we use
|
|
35
|
+
// `!important` to reset the color.
|
|
36
|
+
background-color: inherit !important;
|
|
37
|
+
color: inherit !important;
|
|
38
|
+
|
|
39
|
+
&:not(:focus-visible) {
|
|
40
|
+
outline: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&:hover,
|
|
44
|
+
&:focus {
|
|
45
|
+
// Sometimes styles are applied when the button element is
|
|
46
|
+
// hovered over or focused. This isn't expected for accordion
|
|
47
|
+
// toggle buttons, so reset those styles here.
|
|
48
|
+
text-decoration: none;
|
|
49
|
+
background-color: inherit !important;
|
|
50
|
+
box-shadow: none;
|
|
51
|
+
color: inherit;
|
|
52
|
+
border: none;
|
|
53
|
+
padding: var(--wp--preset--spacing--20, 1em) 0;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
&:focus-visible {
|
|
57
|
+
outline-offset: 0;
|
|
58
|
+
outline: auto;
|
|
59
|
+
}
|
|
60
|
+
}
|
package/src/code/index.js
CHANGED
package/src/common.scss
CHANGED
|
@@ -128,12 +128,14 @@ html :where([style*="border-top-color"]) {
|
|
|
128
128
|
border-top-style: solid;
|
|
129
129
|
}
|
|
130
130
|
html :where([style*="border-right-color"]) {
|
|
131
|
+
/*rtl:ignore*/
|
|
131
132
|
border-right-style: solid;
|
|
132
133
|
}
|
|
133
134
|
html :where([style*="border-bottom-color"]) {
|
|
134
135
|
border-bottom-style: solid;
|
|
135
136
|
}
|
|
136
137
|
html :where([style*="border-left-color"]) {
|
|
138
|
+
/*rtl:ignore*/
|
|
137
139
|
border-left-style: solid;
|
|
138
140
|
}
|
|
139
141
|
|
|
@@ -144,12 +146,14 @@ html :where([style*="border-top-width"]) {
|
|
|
144
146
|
border-top-style: solid;
|
|
145
147
|
}
|
|
146
148
|
html :where([style*="border-right-width"]) {
|
|
149
|
+
/*rtl:ignore*/
|
|
147
150
|
border-right-style: solid;
|
|
148
151
|
}
|
|
149
152
|
html :where([style*="border-bottom-width"]) {
|
|
150
153
|
border-bottom-style: solid;
|
|
151
154
|
}
|
|
152
155
|
html :where([style*="border-left-width"]) {
|
|
156
|
+
/*rtl:ignore*/
|
|
153
157
|
border-left-style: solid;
|
|
154
158
|
}
|
|
155
159
|
|
package/src/cover/index.js
CHANGED
|
@@ -56,7 +56,7 @@ export const settings = {
|
|
|
56
56
|
variations,
|
|
57
57
|
};
|
|
58
58
|
|
|
59
|
-
if ( window.
|
|
59
|
+
if ( window.__experimentalContentOnlyInspectorFields ) {
|
|
60
60
|
settings[ fieldsKey ] = [
|
|
61
61
|
{
|
|
62
62
|
id: 'background',
|
|
@@ -78,7 +78,7 @@ if ( window.__experimentalContentOnlyPatternInsertion ) {
|
|
|
78
78
|
},
|
|
79
79
|
];
|
|
80
80
|
settings[ formKey ] = {
|
|
81
|
-
fields: [ '
|
|
81
|
+
fields: [ 'background' ],
|
|
82
82
|
};
|
|
83
83
|
}
|
|
84
84
|
|
package/src/details/index.js
CHANGED
package/src/file/index.js
CHANGED
package/src/freeform/block.json
CHANGED
package/src/gallery/edit.js
CHANGED
|
@@ -290,7 +290,10 @@ export default function GalleryEdit( props ) {
|
|
|
290
290
|
...newLinkTarget,
|
|
291
291
|
className: newClassName,
|
|
292
292
|
sizeSlug,
|
|
293
|
-
caption:
|
|
293
|
+
caption:
|
|
294
|
+
imageAttributes.caption.length > 0
|
|
295
|
+
? imageAttributes.caption
|
|
296
|
+
: image.caption?.raw,
|
|
294
297
|
alt: imageAttributes.alt || image.alt_text,
|
|
295
298
|
aspectRatio: aspectRatio === 'auto' ? undefined : aspectRatio,
|
|
296
299
|
};
|
|
@@ -155,7 +155,7 @@ const transforms = {
|
|
|
155
155
|
{
|
|
156
156
|
type: 'shortcode',
|
|
157
157
|
tag: 'gallery',
|
|
158
|
-
transform( { named: { ids, columns = 3, link, orderby } } ) {
|
|
158
|
+
transform( { named: { ids, columns = 3, link, orderby, size } } ) {
|
|
159
159
|
const imageIds = parseShortcodeIds( ids ).map( ( id ) =>
|
|
160
160
|
parseInt( id, 10 )
|
|
161
161
|
);
|
|
@@ -173,9 +173,13 @@ const transforms = {
|
|
|
173
173
|
columns: parseInt( columns, 10 ),
|
|
174
174
|
linkTo,
|
|
175
175
|
randomOrder: orderby === 'rand',
|
|
176
|
+
...( size && { sizeSlug: size } ),
|
|
176
177
|
},
|
|
177
178
|
imageIds.map( ( imageId ) =>
|
|
178
|
-
createBlock( 'core/image', {
|
|
179
|
+
createBlock( 'core/image', {
|
|
180
|
+
id: imageId,
|
|
181
|
+
...( size && { sizeSlug: size } ),
|
|
182
|
+
} )
|
|
179
183
|
)
|
|
180
184
|
);
|
|
181
185
|
|
package/src/heading/index.js
CHANGED
package/src/html/modal.js
CHANGED
|
@@ -8,6 +8,7 @@ import {
|
|
|
8
8
|
Modal,
|
|
9
9
|
Button,
|
|
10
10
|
Flex,
|
|
11
|
+
Notice,
|
|
11
12
|
privateApis as componentsPrivateApis,
|
|
12
13
|
__experimentalHStack as HStack,
|
|
13
14
|
__experimentalGrid as Grid,
|
|
@@ -48,8 +49,9 @@ export default function HTMLEditModal( {
|
|
|
48
49
|
};
|
|
49
50
|
}, [] );
|
|
50
51
|
|
|
51
|
-
//
|
|
52
|
-
const
|
|
52
|
+
// Determine if we should show a warning about CSS/JS content being stripped
|
|
53
|
+
const hasRestrictedContent =
|
|
54
|
+
! canUserUseUnfilteredHTML && ( css.trim() || js.trim() );
|
|
53
55
|
|
|
54
56
|
if ( ! isOpen ) {
|
|
55
57
|
return null;
|
|
@@ -68,11 +70,13 @@ export default function HTMLEditModal( {
|
|
|
68
70
|
setIsDirty( true );
|
|
69
71
|
};
|
|
70
72
|
const handleUpdate = () => {
|
|
73
|
+
// For users without unfiltered_html capability, strip CSS and JS content
|
|
74
|
+
// to prevent kses from leaving broken content
|
|
71
75
|
setAttributes( {
|
|
72
76
|
content: serializeContent( {
|
|
73
77
|
html: editedHtml,
|
|
74
|
-
css: editedCss,
|
|
75
|
-
js: editedJs,
|
|
78
|
+
css: canUserUseUnfilteredHTML ? editedCss : '',
|
|
79
|
+
js: canUserUseUnfilteredHTML ? editedJs : '',
|
|
76
80
|
} ),
|
|
77
81
|
} );
|
|
78
82
|
setIsDirty( false );
|
|
@@ -130,8 +134,10 @@ export default function HTMLEditModal( {
|
|
|
130
134
|
<div>
|
|
131
135
|
<Tabs.TabList>
|
|
132
136
|
<Tabs.Tab tabId="html">HTML</Tabs.Tab>
|
|
133
|
-
|
|
134
|
-
|
|
137
|
+
{ canUserUseUnfilteredHTML && (
|
|
138
|
+
<Tabs.Tab tabId="css">CSS</Tabs.Tab>
|
|
139
|
+
) }
|
|
140
|
+
{ canUserUseUnfilteredHTML && (
|
|
135
141
|
<Tabs.Tab tabId="js">
|
|
136
142
|
{ __( 'JavaScript' ) }
|
|
137
143
|
</Tabs.Tab>
|
|
@@ -148,6 +154,17 @@ export default function HTMLEditModal( {
|
|
|
148
154
|
/>
|
|
149
155
|
</div>
|
|
150
156
|
</HStack>
|
|
157
|
+
{ hasRestrictedContent && (
|
|
158
|
+
<Notice
|
|
159
|
+
status="warning"
|
|
160
|
+
isDismissible={ false }
|
|
161
|
+
className="block-library-html__modal-notice"
|
|
162
|
+
>
|
|
163
|
+
{ __(
|
|
164
|
+
'This block contains CSS or JavaScript that will be removed when you save because you do not have permission to use unfiltered HTML.'
|
|
165
|
+
) }
|
|
166
|
+
</Notice>
|
|
167
|
+
) }
|
|
151
168
|
<HStack
|
|
152
169
|
alignment="stretch"
|
|
153
170
|
justify="flex-start"
|
|
@@ -168,20 +185,22 @@ export default function HTMLEditModal( {
|
|
|
168
185
|
className="block-library-html__modal-editor"
|
|
169
186
|
/>
|
|
170
187
|
</Tabs.TabPanel>
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
188
|
+
{ canUserUseUnfilteredHTML && (
|
|
189
|
+
<Tabs.TabPanel
|
|
190
|
+
tabId="css"
|
|
191
|
+
focusable={ false }
|
|
192
|
+
className="block-library-html__modal-tab"
|
|
193
|
+
>
|
|
194
|
+
<PlainText
|
|
195
|
+
value={ editedCss }
|
|
196
|
+
onChange={ handleCssChange }
|
|
197
|
+
placeholder={ __( 'Write CSS…' ) }
|
|
198
|
+
aria-label={ __( 'CSS' ) }
|
|
199
|
+
className="block-library-html__modal-editor"
|
|
200
|
+
/>
|
|
201
|
+
</Tabs.TabPanel>
|
|
202
|
+
) }
|
|
203
|
+
{ canUserUseUnfilteredHTML && (
|
|
185
204
|
<Tabs.TabPanel
|
|
186
205
|
tabId="js"
|
|
187
206
|
focusable={ false }
|
package/src/image/index.js
CHANGED
package/src/index.js
CHANGED
|
@@ -334,11 +334,17 @@ export const registerCoreBlocks = (
|
|
|
334
334
|
const bootstrappedBlockType = unlock(
|
|
335
335
|
select( blocksStore )
|
|
336
336
|
).getBootstrappedBlockType( blockName );
|
|
337
|
-
const bootstrappedApiVersion = bootstrappedBlockType.apiVersion;
|
|
338
337
|
|
|
339
338
|
registerBlockType( blockName, {
|
|
340
|
-
|
|
341
|
-
|
|
339
|
+
// Use all metadata from PHP registration,
|
|
340
|
+
// but fall back title to block name if not provided,
|
|
341
|
+
// ensure minimum apiVersion 3 for block wrapper support,
|
|
342
|
+
// and override with a ServerSideRender-based edit function.
|
|
343
|
+
...bootstrappedBlockType,
|
|
344
|
+
title: bootstrappedBlockType?.title || blockName,
|
|
345
|
+
...( ( bootstrappedBlockType?.apiVersion ?? 0 ) < 3 && {
|
|
346
|
+
apiVersion: 3,
|
|
347
|
+
} ),
|
|
342
348
|
edit: function Edit( { attributes } ) {
|
|
343
349
|
const blockProps = useBlockProps();
|
|
344
350
|
const { content, status, error } = useServerSideRender( {
|
package/src/list-item/index.js
CHANGED
|
@@ -36,7 +36,7 @@ export const settings = {
|
|
|
36
36
|
[ unlock( privateApis ).requiresWrapperOnCopy ]: true,
|
|
37
37
|
};
|
|
38
38
|
|
|
39
|
-
if ( window.
|
|
39
|
+
if ( window.__experimentalContentOnlyInspectorFields ) {
|
|
40
40
|
settings[ fieldsKey ] = [
|
|
41
41
|
{
|
|
42
42
|
id: 'content',
|