@wordpress/block-library 7.17.0 → 7.19.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 +4 -0
- package/build/audio/edit.js +44 -4
- package/build/audio/edit.js.map +1 -1
- package/build/button/deprecated.js +16 -2
- package/build/button/deprecated.js.map +1 -1
- package/build/button/edit.js +14 -8
- package/build/button/edit.js.map +1 -1
- package/build/button/index.js +4 -1
- package/build/button/index.js.map +1 -1
- package/build/button/save.js +2 -0
- package/build/button/save.js.map +1 -1
- package/build/buttons/edit.native.js +1 -1
- package/build/buttons/edit.native.js.map +1 -1
- package/build/columns/transforms.js +5 -0
- package/build/columns/transforms.js.map +1 -1
- package/build/comment-template/index.js +6 -2
- package/build/comment-template/index.js.map +1 -1
- package/build/cover/edit/index.js +3 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/cover/edit/inspector-controls.js +3 -7
- package/build/cover/edit/inspector-controls.js.map +1 -1
- package/build/embed/deprecated.js +43 -4
- package/build/embed/deprecated.js.map +1 -1
- package/build/file/deprecated.js +108 -4
- package/build/file/deprecated.js.map +1 -1
- package/build/file/transforms.js +3 -9
- package/build/file/transforms.js.map +1 -1
- package/build/gallery/deprecated.js +148 -23
- package/build/gallery/deprecated.js.map +1 -1
- package/build/gallery/gallery.js +3 -2
- package/build/gallery/gallery.js.map +1 -1
- package/build/gallery/use-image-sizes.js +2 -1
- package/build/gallery/use-image-sizes.js.map +1 -1
- package/build/gallery/v1/edit.js +6 -3
- package/build/gallery/v1/edit.js.map +1 -1
- package/build/group/edit.js +105 -48
- package/build/group/edit.js.map +1 -1
- package/build/group/index.js +3 -0
- package/build/group/index.js.map +1 -1
- package/build/group/placeholder.js +168 -0
- package/build/group/placeholder.js.map +1 -0
- package/build/group/variations.js +3 -3
- package/build/group/variations.js.map +1 -1
- package/build/image/edit.native.js +1 -1
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +6 -9
- package/build/image/image.js.map +1 -1
- package/build/latest-comments/edit.js +2 -1
- package/build/latest-comments/edit.js.map +1 -1
- package/build/latest-comments/index.js +5 -1
- package/build/latest-comments/index.js.map +1 -1
- package/build/latest-posts/deprecated.js +13 -0
- package/build/latest-posts/deprecated.js.map +1 -1
- package/build/latest-posts/edit.js +1 -1
- package/build/latest-posts/edit.js.map +1 -1
- package/build/latest-posts/index.js +13 -0
- package/build/latest-posts/index.js.map +1 -1
- package/build/list/utils.js +4 -8
- package/build/list/utils.js.map +1 -1
- package/build/list-item/edit.js +2 -1
- package/build/list-item/edit.js.map +1 -1
- package/build/list-item/hooks/use-outdent-list-item.js +5 -7
- package/build/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build/navigation/edit/index.js +94 -103
- package/build/navigation/edit/index.js.map +1 -1
- package/build/navigation/edit/manage-menus-button.js +36 -0
- package/build/navigation/edit/manage-menus-button.js.map +1 -0
- package/build/navigation/edit/navigation-menu-selector.js +12 -5
- package/build/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build/navigation/edit/responsive-wrapper.js +2 -6
- package/build/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build/navigation/edit/unsaved-inner-blocks.js +5 -17
- package/build/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build/navigation-link/edit.js +14 -3
- package/build/navigation-link/edit.js.map +1 -1
- package/build/navigation-submenu/edit.js +4 -4
- package/build/navigation-submenu/edit.js.map +1 -1
- package/build/page-list/edit.js +29 -10
- package/build/page-list/edit.js.map +1 -1
- package/build/post-author/edit.js +35 -20
- package/build/post-author/edit.js.map +1 -1
- package/build/post-comments-count/index.js +4 -0
- package/build/post-comments-count/index.js.map +1 -1
- package/build/post-comments-form/index.js +4 -0
- package/build/post-comments-form/index.js.map +1 -1
- package/build/post-comments-link/index.js +4 -0
- package/build/post-comments-link/index.js.map +1 -1
- package/build/post-content/edit.js +14 -6
- package/build/post-content/edit.js.map +1 -1
- package/build/post-content/index.js +3 -0
- package/build/post-content/index.js.map +1 -1
- package/build/pullquote/deprecated.js +6 -6
- package/build/pullquote/deprecated.js.map +1 -1
- package/build/search/edit.js +1 -3
- package/build/search/edit.js.map +1 -1
- package/build/site-logo/edit.js +2 -2
- package/build/site-logo/edit.js.map +1 -1
- package/build/site-tagline/edit.js +21 -9
- package/build/site-tagline/edit.js.map +1 -1
- package/build/site-title/edit/index.js +20 -8
- package/build/site-title/edit/index.js.map +1 -1
- package/build/social-link/edit.js +11 -2
- package/build/social-link/edit.js.map +1 -1
- package/build/social-link/index.js +3 -0
- package/build/social-link/index.js.map +1 -1
- package/build/spacer/controls.js +3 -7
- package/build/spacer/controls.js.map +1 -1
- package/build/table/deprecated.js +282 -27
- package/build/table/deprecated.js.map +1 -1
- package/build/table/state.js +1 -1
- package/build/table/state.js.map +1 -1
- package/build/template-part/variations.js +5 -0
- package/build/template-part/variations.js.map +1 -1
- package/build/utils/clean-empty-object.js +5 -4
- package/build/utils/clean-empty-object.js.map +1 -1
- package/build/video/deprecated.js +159 -0
- package/build/video/deprecated.js.map +1 -0
- package/build/video/edit.js +41 -5
- package/build/video/edit.js.map +1 -1
- package/build/video/index.js +3 -0
- package/build/video/index.js.map +1 -1
- package/build/video/tracks-editor.js +3 -28
- package/build/video/tracks-editor.js.map +1 -1
- package/build-module/audio/edit.js +46 -7
- package/build-module/audio/edit.js.map +1 -1
- package/build-module/button/deprecated.js +16 -2
- package/build-module/button/deprecated.js.map +1 -1
- package/build-module/button/edit.js +16 -10
- package/build-module/button/edit.js.map +1 -1
- package/build-module/button/index.js +4 -1
- package/build-module/button/index.js.map +1 -1
- package/build-module/button/save.js +2 -0
- package/build-module/button/save.js.map +1 -1
- package/build-module/buttons/edit.native.js +1 -1
- package/build-module/buttons/edit.native.js.map +1 -1
- package/build-module/columns/transforms.js +5 -0
- package/build-module/columns/transforms.js.map +1 -1
- package/build-module/comment-template/index.js +6 -2
- package/build-module/comment-template/index.js.map +1 -1
- package/build-module/cover/edit/index.js +3 -1
- package/build-module/cover/edit/index.js.map +1 -1
- package/build-module/cover/edit/inspector-controls.js +4 -8
- package/build-module/cover/edit/inspector-controls.js.map +1 -1
- package/build-module/embed/deprecated.js +44 -5
- package/build-module/embed/deprecated.js.map +1 -1
- package/build-module/file/deprecated.js +108 -4
- package/build-module/file/deprecated.js.map +1 -1
- package/build-module/file/transforms.js +3 -8
- package/build-module/file/transforms.js.map +1 -1
- package/build-module/gallery/deprecated.js +147 -25
- package/build-module/gallery/deprecated.js.map +1 -1
- package/build-module/gallery/gallery.js +3 -2
- package/build-module/gallery/gallery.js.map +1 -1
- package/build-module/gallery/use-image-sizes.js +3 -2
- package/build-module/gallery/use-image-sizes.js.map +1 -1
- package/build-module/gallery/v1/edit.js +7 -4
- package/build-module/gallery/v1/edit.js.map +1 -1
- package/build-module/group/edit.js +101 -48
- package/build-module/group/edit.js.map +1 -1
- package/build-module/group/index.js +3 -0
- package/build-module/group/index.js.map +1 -1
- package/build-module/group/placeholder.js +154 -0
- package/build-module/group/placeholder.js.map +1 -0
- package/build-module/group/variations.js +3 -3
- package/build-module/group/variations.js.map +1 -1
- package/build-module/image/edit.native.js +1 -1
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +8 -11
- package/build-module/image/image.js.map +1 -1
- package/build-module/latest-comments/edit.js +2 -1
- package/build-module/latest-comments/edit.js.map +1 -1
- package/build-module/latest-comments/index.js +5 -1
- package/build-module/latest-comments/index.js.map +1 -1
- package/build-module/latest-posts/deprecated.js +13 -0
- package/build-module/latest-posts/deprecated.js.map +1 -1
- package/build-module/latest-posts/edit.js +2 -2
- package/build-module/latest-posts/edit.js.map +1 -1
- package/build-module/latest-posts/index.js +13 -0
- package/build-module/latest-posts/index.js.map +1 -1
- package/build-module/list/utils.js +5 -9
- package/build-module/list/utils.js.map +1 -1
- package/build-module/list-item/edit.js +2 -1
- package/build-module/list-item/edit.js.map +1 -1
- package/build-module/list-item/hooks/use-outdent-list-item.js +5 -6
- package/build-module/list-item/hooks/use-outdent-list-item.js.map +1 -1
- package/build-module/navigation/edit/index.js +96 -105
- package/build-module/navigation/edit/index.js.map +1 -1
- package/build-module/navigation/edit/manage-menus-button.js +26 -0
- package/build-module/navigation/edit/manage-menus-button.js.map +1 -0
- package/build-module/navigation/edit/navigation-menu-selector.js +13 -6
- package/build-module/navigation/edit/navigation-menu-selector.js.map +1 -1
- package/build-module/navigation/edit/responsive-wrapper.js +2 -6
- package/build-module/navigation/edit/responsive-wrapper.js.map +1 -1
- package/build-module/navigation/edit/unsaved-inner-blocks.js +7 -18
- package/build-module/navigation/edit/unsaved-inner-blocks.js.map +1 -1
- package/build-module/navigation-link/edit.js +14 -4
- package/build-module/navigation-link/edit.js.map +1 -1
- package/build-module/navigation-submenu/edit.js +4 -4
- package/build-module/navigation-submenu/edit.js.map +1 -1
- package/build-module/page-list/edit.js +29 -10
- package/build-module/page-list/edit.js.map +1 -1
- package/build-module/post-author/edit.js +35 -21
- package/build-module/post-author/edit.js.map +1 -1
- package/build-module/post-comments-count/index.js +4 -0
- package/build-module/post-comments-count/index.js.map +1 -1
- package/build-module/post-comments-form/index.js +4 -0
- package/build-module/post-comments-form/index.js.map +1 -1
- package/build-module/post-comments-link/index.js +4 -0
- package/build-module/post-comments-link/index.js.map +1 -1
- package/build-module/post-content/edit.js +14 -6
- package/build-module/post-content/edit.js.map +1 -1
- package/build-module/post-content/index.js +3 -0
- package/build-module/post-content/index.js.map +1 -1
- package/build-module/pullquote/deprecated.js +7 -7
- package/build-module/pullquote/deprecated.js.map +1 -1
- package/build-module/search/edit.js +1 -3
- package/build-module/search/edit.js.map +1 -1
- package/build-module/site-logo/edit.js +3 -3
- package/build-module/site-logo/edit.js.map +1 -1
- package/build-module/site-tagline/edit.js +23 -11
- package/build-module/site-tagline/edit.js.map +1 -1
- package/build-module/site-title/edit/index.js +22 -10
- package/build-module/site-title/edit/index.js.map +1 -1
- package/build-module/social-link/edit.js +11 -2
- package/build-module/social-link/edit.js.map +1 -1
- package/build-module/social-link/index.js +3 -0
- package/build-module/social-link/index.js.map +1 -1
- package/build-module/spacer/controls.js +4 -8
- package/build-module/spacer/controls.js.map +1 -1
- package/build-module/table/deprecated.js +282 -27
- package/build-module/table/deprecated.js.map +1 -1
- package/build-module/table/state.js +1 -1
- package/build-module/table/state.js.map +1 -1
- package/build-module/template-part/variations.js +5 -0
- package/build-module/template-part/variations.js.map +1 -1
- package/build-module/utils/clean-empty-object.js +5 -5
- package/build-module/utils/clean-empty-object.js.map +1 -1
- package/build-module/video/deprecated.js +147 -0
- package/build-module/video/deprecated.js.map +1 -0
- package/build-module/video/edit.js +45 -9
- package/build-module/video/edit.js.map +1 -1
- package/build-module/video/index.js +2 -0
- package/build-module/video/index.js.map +1 -1
- package/build-module/video/tracks-editor.js +4 -29
- package/build-module/video/tracks-editor.js.map +1 -1
- package/build-style/button/style-rtl.css +1 -0
- package/build-style/button/style.css +1 -0
- package/build-style/comment-template/style-rtl.css +1 -0
- package/build-style/comment-template/style.css +1 -0
- package/build-style/editor-rtl.css +80 -5
- package/build-style/editor.css +80 -5
- package/build-style/group/editor-rtl.css +44 -0
- package/build-style/group/editor.css +44 -0
- package/build-style/latest-comments/style-rtl.css +1 -0
- package/build-style/latest-comments/style.css +1 -0
- package/build-style/latest-posts/style-rtl.css +3 -0
- package/build-style/latest-posts/style.css +3 -0
- package/build-style/navigation/editor-rtl.css +27 -4
- package/build-style/navigation/editor.css +27 -4
- package/build-style/navigation/style-rtl.css +13 -1
- package/build-style/navigation/style.css +13 -1
- package/build-style/navigation-link/editor-rtl.css +8 -1
- package/build-style/navigation-link/editor.css +8 -1
- package/build-style/post-comments-form/style-rtl.css +3 -0
- package/build-style/post-comments-form/style.css +3 -0
- package/build-style/query/editor-rtl.css +1 -1
- package/build-style/query/editor.css +1 -1
- package/build-style/query-pagination/style-rtl.css +1 -1
- package/build-style/query-pagination/style.css +1 -1
- package/build-style/style-rtl.css +28 -2
- package/build-style/style.css +28 -2
- package/build-style/table/editor-rtl.css +1 -0
- package/build-style/table/editor.css +1 -0
- package/build-style/table/style-rtl.css +5 -0
- package/build-style/table/style.css +5 -0
- package/build-style/table/theme-rtl.css +1 -3
- package/build-style/table/theme.css +1 -3
- package/build-style/theme-rtl.css +1 -3
- package/build-style/theme.css +1 -3
- package/package.json +29 -28
- package/src/audio/edit.js +79 -24
- package/src/avatar/index.php +1 -1
- package/src/block/test/edit.native.js +8 -8
- package/src/button/block.json +4 -1
- package/src/button/deprecated.js +18 -2
- package/src/button/edit.js +12 -10
- package/src/button/save.js +12 -2
- package/src/button/style.scss +2 -0
- package/src/buttons/edit.native.js +1 -1
- package/src/buttons/test/edit.native.js +19 -19
- package/src/columns/test/edit.native.js +32 -32
- package/src/columns/transforms.js +8 -0
- package/src/comment-template/block.json +6 -2
- package/src/comment-template/style.scss +2 -0
- package/src/cover/edit/index.js +3 -1
- package/src/cover/edit/inspector-controls.js +11 -13
- package/src/cover/test/edit.native.js +26 -26
- package/src/embed/deprecated.js +53 -26
- package/src/embed/test/index.native.js +43 -43
- package/src/file/deprecated.js +130 -2
- package/src/file/transforms.js +3 -8
- package/src/gallery/deprecated.js +129 -4
- package/src/gallery/gallery.js +2 -0
- package/src/gallery/index.php +19 -10
- package/src/gallery/test/index.native.js +11 -11
- package/src/gallery/use-image-sizes.js +3 -2
- package/src/gallery/v1/edit.js +21 -25
- package/src/group/block.json +3 -0
- package/src/group/edit.js +105 -46
- package/src/group/editor.scss +48 -0
- package/src/group/placeholder.js +187 -0
- package/src/group/test/edit.native.js +3 -3
- package/src/group/test/placeholder.js +78 -0
- package/src/group/variations.js +3 -3
- package/src/image/edit.native.js +1 -1
- package/src/image/image.js +22 -10
- package/src/image/test/edit.native.js +17 -17
- package/src/latest-comments/block.json +5 -1
- package/src/latest-comments/edit.js +1 -0
- package/src/latest-comments/style.scss +3 -0
- package/src/latest-posts/block.json +13 -0
- package/src/latest-posts/edit.js +2 -2
- package/src/latest-posts/style.scss +3 -0
- package/src/list/test/edit.native.js +36 -36
- package/src/list/utils.js +3 -11
- package/src/list-item/edit.js +1 -0
- package/src/list-item/hooks/use-outdent-list-item.js +3 -6
- package/src/missing/test/edit-integration.native.js +5 -5
- package/src/navigation/edit/index.js +186 -161
- package/src/navigation/edit/manage-menus-button.js +21 -0
- package/src/navigation/edit/navigation-menu-selector.js +20 -5
- package/src/navigation/edit/responsive-wrapper.js +2 -10
- package/src/navigation/edit/unsaved-inner-blocks.js +5 -22
- package/src/navigation/editor.scss +29 -4
- package/src/navigation/style.scss +19 -1
- package/src/navigation-link/edit.js +13 -4
- package/src/navigation-link/editor.scss +8 -0
- package/src/navigation-submenu/edit.js +7 -5
- package/src/page-list/edit.js +36 -22
- package/src/post-author/edit.js +44 -20
- package/src/post-comments-count/block.json +4 -0
- package/src/post-comments-form/block.json +4 -0
- package/src/post-comments-form/style.scss +3 -0
- package/src/post-comments-link/block.json +4 -0
- package/src/post-content/block.json +3 -0
- package/src/post-content/edit.js +8 -4
- package/src/pullquote/deprecated.js +7 -7
- package/src/query/editor.scss +1 -1
- package/src/query-pagination/style.scss +1 -1
- package/src/read-more/index.php +9 -2
- package/src/search/edit.js +1 -1
- package/src/shortcode/test/edit.native.js +5 -5
- package/src/site-logo/edit.js +3 -3
- package/src/site-tagline/edit.js +25 -18
- package/src/site-title/edit/index.js +26 -12
- package/src/social-link/block.json +3 -0
- package/src/social-link/edit.js +8 -1
- package/src/social-link/index.php +11 -7
- package/src/social-link/test/index.native.js +10 -10
- package/src/social-links/test/edit.native.js +4 -4
- package/src/spacer/controls.js +10 -12
- package/src/spacer/test/index.native.js +17 -17
- package/src/table/deprecated.js +587 -348
- package/src/table/editor.scss +1 -0
- package/src/table/state.js +1 -1
- package/src/table/style.scss +7 -0
- package/src/table/theme.scss +1 -3
- package/src/template-part/index.php +5 -0
- package/src/template-part/variations.js +4 -0
- package/src/utils/clean-empty-object.js +5 -6
- package/src/video/deprecated.js +57 -0
- package/src/video/edit.js +71 -23
- package/src/video/index.js +2 -0
- package/src/video/tracks-editor.js +12 -28
|
@@ -147,17 +147,17 @@ const insertEmbedBlock = async ( blockTitle = 'Embed' ) => {
|
|
|
147
147
|
const editor = await initializeEditor( {
|
|
148
148
|
initialHtml: '',
|
|
149
149
|
} );
|
|
150
|
-
const {
|
|
150
|
+
const { getByLabelText, getByText } = editor;
|
|
151
151
|
|
|
152
152
|
// Open inserter menu.
|
|
153
|
-
fireEvent.press( await waitFor( () =>
|
|
153
|
+
fireEvent.press( await waitFor( () => getByLabelText( 'Add block' ) ) );
|
|
154
154
|
|
|
155
155
|
// Insert embed block.
|
|
156
156
|
fireEvent.press( await waitFor( () => getByText( blockTitle ) ) );
|
|
157
157
|
|
|
158
158
|
// Return the embed block.
|
|
159
159
|
const block = await waitFor( () =>
|
|
160
|
-
|
|
160
|
+
getByLabelText( /Embed Block\. Row 1/ )
|
|
161
161
|
);
|
|
162
162
|
|
|
163
163
|
return { ...editor, block };
|
|
@@ -165,10 +165,10 @@ const insertEmbedBlock = async ( blockTitle = 'Embed' ) => {
|
|
|
165
165
|
|
|
166
166
|
const initializeWithEmbedBlock = async ( initialHtml, selectBlock = true ) => {
|
|
167
167
|
const editor = await initializeEditor( { initialHtml } );
|
|
168
|
-
const {
|
|
168
|
+
const { getByLabelText } = editor;
|
|
169
169
|
|
|
170
170
|
const block = await waitFor( () =>
|
|
171
|
-
|
|
171
|
+
getByLabelText( /Embed Block\. Row 1/ )
|
|
172
172
|
);
|
|
173
173
|
|
|
174
174
|
if ( selectBlock ) {
|
|
@@ -270,7 +270,7 @@ describe( 'Embed block', () => {
|
|
|
270
270
|
// Get Twitter link field.
|
|
271
271
|
const twitterLinkField = within(
|
|
272
272
|
blockSettingsModal
|
|
273
|
-
).
|
|
273
|
+
).getByLabelText( `Twitter link, ${ expectedURL }` );
|
|
274
274
|
|
|
275
275
|
expect( twitterLinkField ).toBeDefined();
|
|
276
276
|
expect( getEditorHtml() ).toMatchSnapshot();
|
|
@@ -303,7 +303,7 @@ describe( 'Embed block', () => {
|
|
|
303
303
|
// Get Twitter link field.
|
|
304
304
|
const twitterLinkField = within(
|
|
305
305
|
blockSettingsModal
|
|
306
|
-
).
|
|
306
|
+
).getByLabelText( `Twitter link, ${ clipboardURL }` );
|
|
307
307
|
|
|
308
308
|
expect( autopastedLinkField ).toBeDefined();
|
|
309
309
|
expect( twitterLinkField ).toBeDefined();
|
|
@@ -361,7 +361,7 @@ describe( 'Embed block', () => {
|
|
|
361
361
|
// Get Twitter link field.
|
|
362
362
|
const twitterLinkField = within(
|
|
363
363
|
blockSettingsModal
|
|
364
|
-
).
|
|
364
|
+
).getByLabelText( `Twitter link, ${ expectedURL }` );
|
|
365
365
|
|
|
366
366
|
expect( twitterLinkField ).toBeDefined();
|
|
367
367
|
expect( getEditorHtml() ).toMatchSnapshot();
|
|
@@ -397,7 +397,7 @@ describe( 'Embed block', () => {
|
|
|
397
397
|
// Get Twitter link field.
|
|
398
398
|
const twitterLinkField = within(
|
|
399
399
|
blockSettingsModal
|
|
400
|
-
).
|
|
400
|
+
).getByLabelText( `Twitter link, ${ clipboardURL }` );
|
|
401
401
|
|
|
402
402
|
expect( embedLink ).toBeDefined();
|
|
403
403
|
expect( twitterLinkField ).toBeDefined();
|
|
@@ -409,12 +409,12 @@ describe( 'Embed block', () => {
|
|
|
409
409
|
|
|
410
410
|
describe( 'edit URL', () => {
|
|
411
411
|
it( 'keeps the previous URL if no URL is set', async () => {
|
|
412
|
-
const {
|
|
412
|
+
const { getByLabelText, getByTestId } =
|
|
413
413
|
await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
|
|
414
414
|
|
|
415
415
|
// Open Block Settings.
|
|
416
416
|
fireEvent.press(
|
|
417
|
-
await waitFor( () =>
|
|
417
|
+
await waitFor( () => getByLabelText( 'Open Settings' ) )
|
|
418
418
|
);
|
|
419
419
|
|
|
420
420
|
// Wait for Block Settings to be visible.
|
|
@@ -432,12 +432,12 @@ describe( 'Embed block', () => {
|
|
|
432
432
|
const initialURL = 'https://twitter.com/notnownikki';
|
|
433
433
|
const expectedURL = 'https://www.youtube.com/watch?v=lXMskKTw3Bc';
|
|
434
434
|
|
|
435
|
-
const {
|
|
435
|
+
const { getByLabelText, getByDisplayValue, getByTestId } =
|
|
436
436
|
await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
|
|
437
437
|
|
|
438
438
|
// Open Block Settings.
|
|
439
439
|
fireEvent.press(
|
|
440
|
-
await waitFor( () =>
|
|
440
|
+
await waitFor( () => getByLabelText( 'Open Settings' ) )
|
|
441
441
|
);
|
|
442
442
|
|
|
443
443
|
// Wait for Block Settings to be visible.
|
|
@@ -446,7 +446,7 @@ describe( 'Embed block', () => {
|
|
|
446
446
|
|
|
447
447
|
// Start editing link.
|
|
448
448
|
fireEvent.press(
|
|
449
|
-
within( blockSettingsModal ).
|
|
449
|
+
within( blockSettingsModal ).getByLabelText(
|
|
450
450
|
`Twitter link, ${ initialURL }`
|
|
451
451
|
)
|
|
452
452
|
);
|
|
@@ -462,7 +462,7 @@ describe( 'Embed block', () => {
|
|
|
462
462
|
|
|
463
463
|
// Get YouTube link field.
|
|
464
464
|
const youtubeLinkField = await waitFor( () =>
|
|
465
|
-
within( blockSettingsModal ).
|
|
465
|
+
within( blockSettingsModal ).getByLabelText(
|
|
466
466
|
`YouTube link, ${ expectedURL }`
|
|
467
467
|
)
|
|
468
468
|
);
|
|
@@ -476,7 +476,7 @@ describe( 'Embed block', () => {
|
|
|
476
476
|
const invalidURL = 'http://';
|
|
477
477
|
|
|
478
478
|
const {
|
|
479
|
-
|
|
479
|
+
getByLabelText,
|
|
480
480
|
getByDisplayValue,
|
|
481
481
|
getByTestId,
|
|
482
482
|
getByText,
|
|
@@ -484,7 +484,7 @@ describe( 'Embed block', () => {
|
|
|
484
484
|
|
|
485
485
|
// Open Block Settings.
|
|
486
486
|
fireEvent.press(
|
|
487
|
-
await waitFor( () =>
|
|
487
|
+
await waitFor( () => getByLabelText( 'Open Settings' ) )
|
|
488
488
|
);
|
|
489
489
|
|
|
490
490
|
// Wait for Block Settings to be visible.
|
|
@@ -493,7 +493,7 @@ describe( 'Embed block', () => {
|
|
|
493
493
|
|
|
494
494
|
// Start editing link.
|
|
495
495
|
fireEvent.press(
|
|
496
|
-
within( blockSettingsModal ).
|
|
496
|
+
within( blockSettingsModal ).getByLabelText(
|
|
497
497
|
`Twitter link, ${ previousURL }`
|
|
498
498
|
)
|
|
499
499
|
);
|
|
@@ -519,7 +519,7 @@ describe( 'Embed block', () => {
|
|
|
519
519
|
const previousURL = 'https://twitter.com/notnownikki';
|
|
520
520
|
|
|
521
521
|
const {
|
|
522
|
-
|
|
522
|
+
getByLabelText,
|
|
523
523
|
getByDisplayValue,
|
|
524
524
|
getByTestId,
|
|
525
525
|
getByPlaceholderText,
|
|
@@ -527,7 +527,7 @@ describe( 'Embed block', () => {
|
|
|
527
527
|
|
|
528
528
|
// Open Block Settings.
|
|
529
529
|
fireEvent.press(
|
|
530
|
-
await waitFor( () =>
|
|
530
|
+
await waitFor( () => getByLabelText( 'Open Settings' ) )
|
|
531
531
|
);
|
|
532
532
|
|
|
533
533
|
// Get Block Settings modal.
|
|
@@ -535,7 +535,7 @@ describe( 'Embed block', () => {
|
|
|
535
535
|
|
|
536
536
|
// Start editing link.
|
|
537
537
|
fireEvent.press(
|
|
538
|
-
within( blockSettingsModal ).
|
|
538
|
+
within( blockSettingsModal ).getByLabelText(
|
|
539
539
|
`Twitter link, ${ previousURL }`
|
|
540
540
|
)
|
|
541
541
|
);
|
|
@@ -600,7 +600,7 @@ describe( 'Embed block', () => {
|
|
|
600
600
|
const expectedURL = 'https://twitter.com/notnownikki';
|
|
601
601
|
|
|
602
602
|
const {
|
|
603
|
-
|
|
603
|
+
getByLabelText,
|
|
604
604
|
getByDisplayValue,
|
|
605
605
|
getByPlaceholderText,
|
|
606
606
|
getByTestId,
|
|
@@ -621,7 +621,7 @@ describe( 'Embed block', () => {
|
|
|
621
621
|
|
|
622
622
|
// Open Block Settings.
|
|
623
623
|
fireEvent.press(
|
|
624
|
-
await waitFor( () =>
|
|
624
|
+
await waitFor( () => getByLabelText( 'Open Settings' ) )
|
|
625
625
|
);
|
|
626
626
|
|
|
627
627
|
// Wait for Block Settings to be visible.
|
|
@@ -630,7 +630,7 @@ describe( 'Embed block', () => {
|
|
|
630
630
|
|
|
631
631
|
// Start editing link.
|
|
632
632
|
fireEvent.press(
|
|
633
|
-
within( blockSettingsModal ).
|
|
633
|
+
within( blockSettingsModal ).getByLabelText(
|
|
634
634
|
`Embed link, ${ badURL }`
|
|
635
635
|
)
|
|
636
636
|
);
|
|
@@ -646,7 +646,7 @@ describe( 'Embed block', () => {
|
|
|
646
646
|
|
|
647
647
|
// Get Twitter link field.
|
|
648
648
|
const twitterLinkField = await waitFor( () =>
|
|
649
|
-
within( blockSettingsModal ).
|
|
649
|
+
within( blockSettingsModal ).getByLabelText(
|
|
650
650
|
`Twitter link, ${ expectedURL }`
|
|
651
651
|
)
|
|
652
652
|
);
|
|
@@ -665,12 +665,12 @@ describe( 'Embed block', () => {
|
|
|
665
665
|
'Full width',
|
|
666
666
|
].forEach( ( alignmentOption ) =>
|
|
667
667
|
it( `sets ${ alignmentOption } option`, async () => {
|
|
668
|
-
const {
|
|
668
|
+
const { getByLabelText, getByText } =
|
|
669
669
|
await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
|
|
670
670
|
|
|
671
671
|
// Open alignment options.
|
|
672
672
|
fireEvent.press(
|
|
673
|
-
await waitFor( () =>
|
|
673
|
+
await waitFor( () => getByLabelText( 'Align' ) )
|
|
674
674
|
);
|
|
675
675
|
|
|
676
676
|
// Select alignment option.
|
|
@@ -721,7 +721,7 @@ describe( 'Embed block', () => {
|
|
|
721
721
|
// Get Twitter link field.
|
|
722
722
|
const twitterLinkField = within(
|
|
723
723
|
blockSettingsModal
|
|
724
|
-
).
|
|
724
|
+
).getByLabelText( `Twitter link, ${ expectedURL }` );
|
|
725
725
|
|
|
726
726
|
expect( twitterLinkField ).toBeDefined();
|
|
727
727
|
expect( getEditorHtml() ).toMatchSnapshot();
|
|
@@ -739,7 +739,7 @@ describe( 'Embed block', () => {
|
|
|
739
739
|
);
|
|
740
740
|
} );
|
|
741
741
|
|
|
742
|
-
const {
|
|
742
|
+
const { getByLabelText, getByText } =
|
|
743
743
|
await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
|
|
744
744
|
|
|
745
745
|
// Convert embed to link.
|
|
@@ -748,7 +748,7 @@ describe( 'Embed block', () => {
|
|
|
748
748
|
|
|
749
749
|
// Get paragraph block where the link is created.
|
|
750
750
|
const paragraphBlock = await waitFor( () =>
|
|
751
|
-
|
|
751
|
+
getByLabelText( /Paragraph Block\. Row 1/ )
|
|
752
752
|
);
|
|
753
753
|
|
|
754
754
|
expect( paragraphBlock ).toBeDefined();
|
|
@@ -780,7 +780,7 @@ describe( 'Embed block', () => {
|
|
|
780
780
|
} );
|
|
781
781
|
|
|
782
782
|
const {
|
|
783
|
-
|
|
783
|
+
getByLabelText,
|
|
784
784
|
getByText,
|
|
785
785
|
getByTestId,
|
|
786
786
|
getByDisplayValue,
|
|
@@ -790,7 +790,7 @@ describe( 'Embed block', () => {
|
|
|
790
790
|
fireEvent.press( getByText( 'Edit link' ) );
|
|
791
791
|
|
|
792
792
|
// Start editing link.
|
|
793
|
-
fireEvent.press(
|
|
793
|
+
fireEvent.press( getByLabelText( `WordPress link, ${ failURL }` ) );
|
|
794
794
|
|
|
795
795
|
// Set an URL.
|
|
796
796
|
const linkTextInput = getByDisplayValue( failURL );
|
|
@@ -808,7 +808,7 @@ describe( 'Embed block', () => {
|
|
|
808
808
|
// Get Twitter link field.
|
|
809
809
|
const twitterLinkField = within(
|
|
810
810
|
blockSettingsModal
|
|
811
|
-
).
|
|
811
|
+
).getByLabelText( `Twitter link, ${ successURL }` );
|
|
812
812
|
|
|
813
813
|
expect( twitterLinkField ).toBeDefined();
|
|
814
814
|
expect( getEditorHtml() ).toMatchSnapshot();
|
|
@@ -865,7 +865,7 @@ describe( 'Embed block', () => {
|
|
|
865
865
|
const expectedURL = 'https://www.youtube.com/watch?v=lXMskKTw3Bc';
|
|
866
866
|
|
|
867
867
|
const {
|
|
868
|
-
|
|
868
|
+
getByLabelText,
|
|
869
869
|
getByPlaceholderText,
|
|
870
870
|
getByTestId,
|
|
871
871
|
getByText,
|
|
@@ -897,7 +897,7 @@ describe( 'Embed block', () => {
|
|
|
897
897
|
|
|
898
898
|
// Get the created embed block.
|
|
899
899
|
const embedBlock = await waitFor( () =>
|
|
900
|
-
|
|
900
|
+
getByLabelText( /Embed Block\. Row 1/ )
|
|
901
901
|
);
|
|
902
902
|
|
|
903
903
|
expect( embedBlock ).toBeDefined();
|
|
@@ -953,7 +953,7 @@ describe( 'Embed block', () => {
|
|
|
953
953
|
describe( 'insert via slash inserter', () => {
|
|
954
954
|
it( 'insert generic embed block', async () => {
|
|
955
955
|
const embedBlockSlashInserter = '/Embed';
|
|
956
|
-
const { getByPlaceholderText,
|
|
956
|
+
const { getByPlaceholderText, getByLabelText, getByText } =
|
|
957
957
|
await initializeEditor( { initialHtml: EMPTY_PARAGRAPH_HTML } );
|
|
958
958
|
|
|
959
959
|
const paragraphText = getByPlaceholderText( 'Start writing…' );
|
|
@@ -980,7 +980,7 @@ describe( 'Embed block', () => {
|
|
|
980
980
|
fireEvent.press( await waitFor( () => getByText( 'Embed' ) ) );
|
|
981
981
|
|
|
982
982
|
const block = await waitFor( () =>
|
|
983
|
-
|
|
983
|
+
getByLabelText( /Embed Block\. Row 1/ )
|
|
984
984
|
);
|
|
985
985
|
|
|
986
986
|
const blockName = within( block ).getByText( 'Embed' );
|
|
@@ -992,7 +992,7 @@ describe( 'Embed block', () => {
|
|
|
992
992
|
MOST_USED_PROVIDERS.forEach( ( { title } ) =>
|
|
993
993
|
it( `inserts ${ title } embed block`, async () => {
|
|
994
994
|
const embedBlockSlashInserter = `/${ title }`;
|
|
995
|
-
const { getByPlaceholderText,
|
|
995
|
+
const { getByPlaceholderText, getByLabelText, getByText } =
|
|
996
996
|
await initializeEditor( {
|
|
997
997
|
initialHtml: EMPTY_PARAGRAPH_HTML,
|
|
998
998
|
} );
|
|
@@ -1021,7 +1021,7 @@ describe( 'Embed block', () => {
|
|
|
1021
1021
|
fireEvent.press( await waitFor( () => getByText( title ) ) );
|
|
1022
1022
|
|
|
1023
1023
|
const block = await waitFor( () =>
|
|
1024
|
-
|
|
1024
|
+
getByLabelText( /Embed Block\. Row 1/ )
|
|
1025
1025
|
);
|
|
1026
1026
|
|
|
1027
1027
|
const blockName = within( block ).getByText( title );
|
|
@@ -1080,12 +1080,12 @@ describe( 'Embed block', () => {
|
|
|
1080
1080
|
|
|
1081
1081
|
describe( 'block settings', () => {
|
|
1082
1082
|
it( 'toggles resize for smaller devices media settings', async () => {
|
|
1083
|
-
const {
|
|
1083
|
+
const { getByLabelText, getByText } =
|
|
1084
1084
|
await initializeWithEmbedBlock( RICH_TEXT_EMBED_HTML );
|
|
1085
1085
|
|
|
1086
1086
|
// Open Block Settings.
|
|
1087
1087
|
fireEvent.press(
|
|
1088
|
-
await waitFor( () =>
|
|
1088
|
+
await waitFor( () => getByLabelText( 'Open Settings' ) )
|
|
1089
1089
|
);
|
|
1090
1090
|
|
|
1091
1091
|
// Untoggle resize for smaller devices.
|
|
@@ -1097,12 +1097,12 @@ describe( 'Embed block', () => {
|
|
|
1097
1097
|
} );
|
|
1098
1098
|
|
|
1099
1099
|
it( 'does not show media settings panel if responsive is not supported', async () => {
|
|
1100
|
-
const {
|
|
1100
|
+
const { getByLabelText, getByText } =
|
|
1101
1101
|
await initializeWithEmbedBlock( WP_EMBED_HTML );
|
|
1102
1102
|
|
|
1103
1103
|
// Open Block Settings.
|
|
1104
1104
|
fireEvent.press(
|
|
1105
|
-
await waitFor( () =>
|
|
1105
|
+
await waitFor( () => getByLabelText( 'Open Settings' ) )
|
|
1106
1106
|
);
|
|
1107
1107
|
|
|
1108
1108
|
// Wait for media settings panel.
|
package/src/file/deprecated.js
CHANGED
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import { __, sprintf } from '@wordpress/i18n';
|
|
15
15
|
|
|
16
16
|
// Version of the file block without PR#43050 removing the translated aria-label.
|
|
17
|
-
const
|
|
17
|
+
const v3 = {
|
|
18
18
|
attributes: {
|
|
19
19
|
id: {
|
|
20
20
|
type: 'number',
|
|
@@ -143,6 +143,134 @@ const v2 = {
|
|
|
143
143
|
},
|
|
144
144
|
};
|
|
145
145
|
|
|
146
|
+
// In #41239 the button was made an element button which added a `wp-element-button` classname
|
|
147
|
+
// to the download link element.
|
|
148
|
+
const v2 = {
|
|
149
|
+
attributes: {
|
|
150
|
+
id: {
|
|
151
|
+
type: 'number',
|
|
152
|
+
},
|
|
153
|
+
href: {
|
|
154
|
+
type: 'string',
|
|
155
|
+
},
|
|
156
|
+
fileId: {
|
|
157
|
+
type: 'string',
|
|
158
|
+
source: 'attribute',
|
|
159
|
+
selector: 'a:not([download])',
|
|
160
|
+
attribute: 'id',
|
|
161
|
+
},
|
|
162
|
+
fileName: {
|
|
163
|
+
type: 'string',
|
|
164
|
+
source: 'html',
|
|
165
|
+
selector: 'a:not([download])',
|
|
166
|
+
},
|
|
167
|
+
textLinkHref: {
|
|
168
|
+
type: 'string',
|
|
169
|
+
source: 'attribute',
|
|
170
|
+
selector: 'a:not([download])',
|
|
171
|
+
attribute: 'href',
|
|
172
|
+
},
|
|
173
|
+
textLinkTarget: {
|
|
174
|
+
type: 'string',
|
|
175
|
+
source: 'attribute',
|
|
176
|
+
selector: 'a:not([download])',
|
|
177
|
+
attribute: 'target',
|
|
178
|
+
},
|
|
179
|
+
showDownloadButton: {
|
|
180
|
+
type: 'boolean',
|
|
181
|
+
default: true,
|
|
182
|
+
},
|
|
183
|
+
downloadButtonText: {
|
|
184
|
+
type: 'string',
|
|
185
|
+
source: 'html',
|
|
186
|
+
selector: 'a[download]',
|
|
187
|
+
},
|
|
188
|
+
displayPreview: {
|
|
189
|
+
type: 'boolean',
|
|
190
|
+
},
|
|
191
|
+
previewHeight: {
|
|
192
|
+
type: 'number',
|
|
193
|
+
default: 600,
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
supports: {
|
|
197
|
+
anchor: true,
|
|
198
|
+
align: true,
|
|
199
|
+
},
|
|
200
|
+
save( { attributes } ) {
|
|
201
|
+
const {
|
|
202
|
+
href,
|
|
203
|
+
fileId,
|
|
204
|
+
fileName,
|
|
205
|
+
textLinkHref,
|
|
206
|
+
textLinkTarget,
|
|
207
|
+
showDownloadButton,
|
|
208
|
+
downloadButtonText,
|
|
209
|
+
displayPreview,
|
|
210
|
+
previewHeight,
|
|
211
|
+
} = attributes;
|
|
212
|
+
|
|
213
|
+
const pdfEmbedLabel = RichText.isEmpty( fileName )
|
|
214
|
+
? __( 'PDF embed' )
|
|
215
|
+
: sprintf(
|
|
216
|
+
/* translators: %s: filename. */
|
|
217
|
+
__( 'Embed of %s.' ),
|
|
218
|
+
fileName
|
|
219
|
+
);
|
|
220
|
+
|
|
221
|
+
const hasFilename = ! RichText.isEmpty( fileName );
|
|
222
|
+
|
|
223
|
+
// Only output an `aria-describedby` when the element it's referring to is
|
|
224
|
+
// actually rendered.
|
|
225
|
+
const describedById = hasFilename ? fileId : undefined;
|
|
226
|
+
|
|
227
|
+
return (
|
|
228
|
+
href && (
|
|
229
|
+
<div { ...useBlockProps.save() }>
|
|
230
|
+
{ displayPreview && (
|
|
231
|
+
<>
|
|
232
|
+
<object
|
|
233
|
+
className="wp-block-file__embed"
|
|
234
|
+
data={ href }
|
|
235
|
+
type="application/pdf"
|
|
236
|
+
style={ {
|
|
237
|
+
width: '100%',
|
|
238
|
+
height: `${ previewHeight }px`,
|
|
239
|
+
} }
|
|
240
|
+
aria-label={ pdfEmbedLabel }
|
|
241
|
+
/>
|
|
242
|
+
</>
|
|
243
|
+
) }
|
|
244
|
+
{ hasFilename && (
|
|
245
|
+
<a
|
|
246
|
+
id={ describedById }
|
|
247
|
+
href={ textLinkHref }
|
|
248
|
+
target={ textLinkTarget }
|
|
249
|
+
rel={
|
|
250
|
+
textLinkTarget
|
|
251
|
+
? 'noreferrer noopener'
|
|
252
|
+
: undefined
|
|
253
|
+
}
|
|
254
|
+
>
|
|
255
|
+
<RichText.Content value={ fileName } />
|
|
256
|
+
</a>
|
|
257
|
+
) }
|
|
258
|
+
{ showDownloadButton && (
|
|
259
|
+
<a
|
|
260
|
+
href={ href }
|
|
261
|
+
className="wp-block-file__button"
|
|
262
|
+
download={ true }
|
|
263
|
+
aria-describedby={ describedById }
|
|
264
|
+
>
|
|
265
|
+
<RichText.Content value={ downloadButtonText } />
|
|
266
|
+
</a>
|
|
267
|
+
) }
|
|
268
|
+
</div>
|
|
269
|
+
)
|
|
270
|
+
);
|
|
271
|
+
},
|
|
272
|
+
};
|
|
273
|
+
|
|
146
274
|
// Version of the file block without PR#28062 accessibility fix.
|
|
147
275
|
const v1 = {
|
|
148
276
|
attributes: {
|
|
@@ -255,6 +383,6 @@ const v1 = {
|
|
|
255
383
|
},
|
|
256
384
|
};
|
|
257
385
|
|
|
258
|
-
const deprecated = [ v2, v1 ];
|
|
386
|
+
const deprecated = [ v3, v2, v1 ];
|
|
259
387
|
|
|
260
388
|
export default deprecated;
|
package/src/file/transforms.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* External dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { includes } from 'lodash';
|
|
5
|
-
|
|
6
1
|
/**
|
|
7
2
|
* WordPress dependencies
|
|
8
3
|
*/
|
|
@@ -92,7 +87,7 @@ const transforms = {
|
|
|
92
87
|
}
|
|
93
88
|
const { getMedia } = select( coreStore );
|
|
94
89
|
const media = getMedia( id );
|
|
95
|
-
return !! media &&
|
|
90
|
+
return !! media && media.mime_type.includes( 'audio' );
|
|
96
91
|
},
|
|
97
92
|
transform: ( attributes ) => {
|
|
98
93
|
return createBlock( 'core/audio', {
|
|
@@ -112,7 +107,7 @@ const transforms = {
|
|
|
112
107
|
}
|
|
113
108
|
const { getMedia } = select( coreStore );
|
|
114
109
|
const media = getMedia( id );
|
|
115
|
-
return !! media &&
|
|
110
|
+
return !! media && media.mime_type.includes( 'video' );
|
|
116
111
|
},
|
|
117
112
|
transform: ( attributes ) => {
|
|
118
113
|
return createBlock( 'core/video', {
|
|
@@ -132,7 +127,7 @@ const transforms = {
|
|
|
132
127
|
}
|
|
133
128
|
const { getMedia } = select( coreStore );
|
|
134
129
|
const media = getMedia( id );
|
|
135
|
-
return !! media &&
|
|
130
|
+
return !! media && media.mime_type.includes( 'image' );
|
|
136
131
|
},
|
|
137
132
|
transform: ( attributes ) => {
|
|
138
133
|
return createBlock( 'core/image', {
|
|
@@ -2,12 +2,16 @@
|
|
|
2
2
|
* External dependencies
|
|
3
3
|
*/
|
|
4
4
|
import classnames from 'classnames';
|
|
5
|
-
import { map
|
|
5
|
+
import { map } from 'lodash';
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* WordPress dependencies
|
|
9
9
|
*/
|
|
10
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
RichText,
|
|
12
|
+
useBlockProps,
|
|
13
|
+
useInnerBlocksProps,
|
|
14
|
+
} from '@wordpress/block-editor';
|
|
11
15
|
|
|
12
16
|
import { createBlock } from '@wordpress/blocks';
|
|
13
17
|
|
|
@@ -127,6 +131,127 @@ export function getImageBlock( image, sizeSlug, linkTo ) {
|
|
|
127
131
|
} );
|
|
128
132
|
}
|
|
129
133
|
|
|
134
|
+
// In #41140 support was added to global styles for caption elements which added a `wp-element-caption` classname
|
|
135
|
+
// to the gallery figcaption element.
|
|
136
|
+
const v7 = {
|
|
137
|
+
attributes: {
|
|
138
|
+
images: {
|
|
139
|
+
type: 'array',
|
|
140
|
+
default: [],
|
|
141
|
+
source: 'query',
|
|
142
|
+
selector: '.blocks-gallery-item',
|
|
143
|
+
query: {
|
|
144
|
+
url: {
|
|
145
|
+
type: 'string',
|
|
146
|
+
source: 'attribute',
|
|
147
|
+
selector: 'img',
|
|
148
|
+
attribute: 'src',
|
|
149
|
+
},
|
|
150
|
+
fullUrl: {
|
|
151
|
+
type: 'string',
|
|
152
|
+
source: 'attribute',
|
|
153
|
+
selector: 'img',
|
|
154
|
+
attribute: 'data-full-url',
|
|
155
|
+
},
|
|
156
|
+
link: {
|
|
157
|
+
type: 'string',
|
|
158
|
+
source: 'attribute',
|
|
159
|
+
selector: 'img',
|
|
160
|
+
attribute: 'data-link',
|
|
161
|
+
},
|
|
162
|
+
alt: {
|
|
163
|
+
type: 'string',
|
|
164
|
+
source: 'attribute',
|
|
165
|
+
selector: 'img',
|
|
166
|
+
attribute: 'alt',
|
|
167
|
+
default: '',
|
|
168
|
+
},
|
|
169
|
+
id: {
|
|
170
|
+
type: 'string',
|
|
171
|
+
source: 'attribute',
|
|
172
|
+
selector: 'img',
|
|
173
|
+
attribute: 'data-id',
|
|
174
|
+
},
|
|
175
|
+
caption: {
|
|
176
|
+
type: 'string',
|
|
177
|
+
source: 'html',
|
|
178
|
+
selector: '.blocks-gallery-item__caption',
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
ids: {
|
|
183
|
+
type: 'array',
|
|
184
|
+
items: {
|
|
185
|
+
type: 'number',
|
|
186
|
+
},
|
|
187
|
+
default: [],
|
|
188
|
+
},
|
|
189
|
+
shortCodeTransforms: {
|
|
190
|
+
type: 'array',
|
|
191
|
+
default: [],
|
|
192
|
+
items: {
|
|
193
|
+
type: 'object',
|
|
194
|
+
},
|
|
195
|
+
},
|
|
196
|
+
columns: {
|
|
197
|
+
type: 'number',
|
|
198
|
+
minimum: 1,
|
|
199
|
+
maximum: 8,
|
|
200
|
+
},
|
|
201
|
+
caption: {
|
|
202
|
+
type: 'string',
|
|
203
|
+
source: 'html',
|
|
204
|
+
selector: '.blocks-gallery-caption',
|
|
205
|
+
},
|
|
206
|
+
imageCrop: {
|
|
207
|
+
type: 'boolean',
|
|
208
|
+
default: true,
|
|
209
|
+
},
|
|
210
|
+
fixedHeight: {
|
|
211
|
+
type: 'boolean',
|
|
212
|
+
default: true,
|
|
213
|
+
},
|
|
214
|
+
linkTarget: {
|
|
215
|
+
type: 'string',
|
|
216
|
+
},
|
|
217
|
+
linkTo: {
|
|
218
|
+
type: 'string',
|
|
219
|
+
},
|
|
220
|
+
sizeSlug: {
|
|
221
|
+
type: 'string',
|
|
222
|
+
default: 'large',
|
|
223
|
+
},
|
|
224
|
+
allowResize: {
|
|
225
|
+
type: 'boolean',
|
|
226
|
+
default: false,
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
save( { attributes } ) {
|
|
230
|
+
const { caption, columns, imageCrop } = attributes;
|
|
231
|
+
|
|
232
|
+
const className = classnames( 'has-nested-images', {
|
|
233
|
+
[ `columns-${ columns }` ]: columns !== undefined,
|
|
234
|
+
[ `columns-default` ]: columns === undefined,
|
|
235
|
+
'is-cropped': imageCrop,
|
|
236
|
+
} );
|
|
237
|
+
const blockProps = useBlockProps.save( { className } );
|
|
238
|
+
const innerBlocksProps = useInnerBlocksProps.save( blockProps );
|
|
239
|
+
|
|
240
|
+
return (
|
|
241
|
+
<figure { ...innerBlocksProps }>
|
|
242
|
+
{ innerBlocksProps.children }
|
|
243
|
+
{ ! RichText.isEmpty( caption ) && (
|
|
244
|
+
<RichText.Content
|
|
245
|
+
tagName="figcaption"
|
|
246
|
+
className="blocks-gallery-caption"
|
|
247
|
+
value={ caption }
|
|
248
|
+
/>
|
|
249
|
+
) }
|
|
250
|
+
</figure>
|
|
251
|
+
);
|
|
252
|
+
},
|
|
253
|
+
};
|
|
254
|
+
|
|
130
255
|
const v6 = {
|
|
131
256
|
attributes: {
|
|
132
257
|
images: {
|
|
@@ -803,7 +928,7 @@ const v2 = {
|
|
|
803
928
|
images.length > 0 &&
|
|
804
929
|
( ( ! ids && images ) ||
|
|
805
930
|
( ids && images && ids.length !== images.length ) ||
|
|
806
|
-
some(
|
|
931
|
+
images.some( ( id, index ) => {
|
|
807
932
|
if ( ! id && ids[ index ] !== null ) {
|
|
808
933
|
return true;
|
|
809
934
|
}
|
|
@@ -984,4 +1109,4 @@ const v1 = {
|
|
|
984
1109
|
},
|
|
985
1110
|
};
|
|
986
1111
|
|
|
987
|
-
export default [ v6, v5, v4, v3, v2, v1 ];
|
|
1112
|
+
export default [ v7, v6, v5, v4, v3, v2, v1 ];
|