@wordpress/block-library 8.23.0 → 8.24.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/block/edit.js +8 -11
- package/build/block/edit.js.map +1 -1
- package/build/block/edit.native.js +3 -4
- package/build/block/edit.native.js.map +1 -1
- package/build/button/edit.js +4 -7
- package/build/button/edit.js.map +1 -1
- package/build/column/edit.js +1 -1
- package/build/column/edit.js.map +1 -1
- package/build/column/edit.native.js +1 -1
- package/build/column/edit.native.js.map +1 -1
- package/build/cover/edit/index.js +2 -1
- package/build/cover/edit/index.js.map +1 -1
- package/build/file/edit.js +8 -9
- package/build/file/edit.js.map +1 -1
- package/build/file/view.js +4 -6
- package/build/file/view.js.map +1 -1
- package/build/group/edit.js +3 -7
- package/build/group/edit.js.map +1 -1
- package/build/image/edit.js +17 -18
- package/build/image/edit.js.map +1 -1
- package/build/image/edit.native.js +22 -15
- package/build/image/edit.native.js.map +1 -1
- package/build/image/image.js +35 -27
- package/build/image/image.js.map +1 -1
- package/build/image/index.js +2 -3
- package/build/image/index.js.map +1 -1
- package/build/image/view.js +233 -268
- package/build/image/view.js.map +1 -1
- package/build/navigation/view.js +153 -176
- package/build/navigation/view.js.map +1 -1
- package/build/navigation-link/index.js +2 -1
- package/build/navigation-link/index.js.map +1 -1
- package/build/pattern/edit.js +1 -3
- package/build/pattern/edit.js.map +1 -1
- package/build/post-template/edit.js +1 -1
- package/build/post-template/edit.js.map +1 -1
- package/build/query/view.js +52 -60
- package/build/query/view.js.map +1 -1
- package/build/search/view.js +66 -74
- package/build/search/view.js.map +1 -1
- package/build/utils/remove-anchor-tag.js +17 -0
- package/build/utils/remove-anchor-tag.js.map +1 -0
- package/build-module/block/edit.js +8 -11
- package/build-module/block/edit.js.map +1 -1
- package/build-module/block/edit.native.js +3 -4
- package/build-module/block/edit.native.js.map +1 -1
- package/build-module/button/edit.js +4 -7
- package/build-module/button/edit.js.map +1 -1
- package/build-module/column/edit.js +1 -1
- package/build-module/column/edit.js.map +1 -1
- package/build-module/column/edit.native.js +1 -1
- package/build-module/column/edit.native.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/file/edit.js +8 -9
- package/build-module/file/edit.js.map +1 -1
- package/build-module/file/view.js +5 -7
- package/build-module/file/view.js.map +1 -1
- package/build-module/group/edit.js +3 -7
- package/build-module/group/edit.js.map +1 -1
- package/build-module/image/edit.js +18 -19
- package/build-module/image/edit.js.map +1 -1
- package/build-module/image/edit.native.js +23 -16
- package/build-module/image/edit.native.js.map +1 -1
- package/build-module/image/image.js +36 -28
- package/build-module/image/image.js.map +1 -1
- package/build-module/image/index.js +2 -3
- package/build-module/image/index.js.map +1 -1
- package/build-module/image/view.js +234 -269
- package/build-module/image/view.js.map +1 -1
- package/build-module/navigation/view.js +154 -177
- package/build-module/navigation/view.js.map +1 -1
- package/build-module/navigation-link/index.js +2 -1
- package/build-module/navigation-link/index.js.map +1 -1
- package/build-module/pattern/edit.js +1 -3
- package/build-module/pattern/edit.js.map +1 -1
- package/build-module/post-template/edit.js +1 -1
- package/build-module/post-template/edit.js.map +1 -1
- package/build-module/query/view.js +53 -61
- package/build-module/query/view.js.map +1 -1
- package/build-module/search/view.js +67 -75
- package/build-module/search/view.js.map +1 -1
- package/build-module/utils/remove-anchor-tag.js +11 -0
- package/build-module/utils/remove-anchor-tag.js.map +1 -0
- package/build-style/cover/style-rtl.css +14 -14
- package/build-style/cover/style.css +14 -14
- package/build-style/editor-rtl.css +6 -9
- package/build-style/editor.css +6 -9
- package/build-style/gallery/style-rtl.css +28 -0
- package/build-style/gallery/style.css +28 -0
- package/build-style/image/editor-rtl.css +0 -3
- package/build-style/image/editor.css +0 -3
- package/build-style/style-rtl.css +42 -14
- package/build-style/style.css +42 -14
- package/package.json +32 -32
- package/src/block/edit.js +18 -19
- package/src/block/edit.native.js +5 -13
- package/src/button/edit.js +6 -6
- package/src/buttons/test/__snapshots__/edit.native.js.snap +0 -6
- package/src/buttons/test/edit.native.js +0 -27
- package/src/column/edit.js +1 -1
- package/src/column/edit.native.js +1 -1
- package/src/cover/edit/index.js +1 -0
- package/src/cover/style.scss +1 -1
- package/src/cover/test/edit.js +1 -1
- package/src/editor.scss +6 -6
- package/src/file/edit.js +11 -10
- package/src/file/index.php +30 -11
- package/src/file/view.js +5 -7
- package/src/gallery/style.scss +1 -0
- package/src/group/edit.js +3 -11
- package/src/heading/test/__snapshots__/index.native.js.snap +6 -0
- package/src/heading/test/index.native.js +40 -0
- package/src/image/block.json +2 -3
- package/src/image/edit.js +16 -21
- package/src/image/edit.native.js +17 -18
- package/src/image/editor.scss +0 -7
- package/src/image/image.js +48 -51
- package/src/image/index.php +54 -45
- package/src/image/view.js +278 -334
- package/src/navigation/index.php +19 -10
- package/src/navigation/view.js +159 -192
- package/src/navigation-link/block.json +2 -1
- package/src/paragraph/test/edit.native.js +37 -1
- package/src/pattern/edit.js +5 -3
- package/src/post-template/edit.js +1 -1
- package/src/query/index.php +36 -22
- package/src/query/view.js +58 -65
- package/src/query-pagination-next/index.php +3 -3
- package/src/query-pagination-numbers/index.php +1 -1
- package/src/query-pagination-previous/index.php +3 -3
- package/src/search/index.php +40 -40
- package/src/search/view.js +58 -63
- package/src/utils/remove-anchor-tag.js +10 -0
- package/tsconfig.json +1 -0
package/src/image/index.php
CHANGED
|
@@ -37,6 +37,7 @@ function render_block_core_image( $attributes, $content, $block ) {
|
|
|
37
37
|
$link_destination = isset( $attributes['linkDestination'] ) ? $attributes['linkDestination'] : 'none';
|
|
38
38
|
$lightbox_settings = block_core_image_get_lightbox_settings( $block->parsed_block );
|
|
39
39
|
|
|
40
|
+
$is_gutenberg_plugin = defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN;
|
|
40
41
|
$view_js_file_handle = 'wp-block-image-view';
|
|
41
42
|
$script_handles = $block->block_type->view_script_handles;
|
|
42
43
|
|
|
@@ -50,9 +51,11 @@ function render_block_core_image( $attributes, $content, $block ) {
|
|
|
50
51
|
isset( $lightbox_settings['enabled'] ) &&
|
|
51
52
|
true === $lightbox_settings['enabled']
|
|
52
53
|
) {
|
|
53
|
-
$
|
|
54
|
-
|
|
55
|
-
|
|
54
|
+
if ( $is_gutenberg_plugin ) {
|
|
55
|
+
gutenberg_enqueue_module( '@wordpress/block-library/image' );
|
|
56
|
+
// Remove the view script because we are using the module.
|
|
57
|
+
$block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file_handle ) );
|
|
58
|
+
} elseif ( ! in_array( $view_js_file_handle, $script_handles, true ) ) {
|
|
56
59
|
$block->block_type->view_script_handles = array_merge( $script_handles, array( $view_js_file_handle ) );
|
|
57
60
|
}
|
|
58
61
|
|
|
@@ -71,6 +74,7 @@ function render_block_core_image( $attributes, $content, $block ) {
|
|
|
71
74
|
* other Image blocks.
|
|
72
75
|
*/
|
|
73
76
|
remove_filter( 'render_block_core/image', 'block_core_image_render_lightbox', 15 );
|
|
77
|
+
|
|
74
78
|
// If the script is not needed, and it is still in the `view_script_handles`, remove it.
|
|
75
79
|
if ( in_array( $view_js_file_handle, $script_handles, true ) ) {
|
|
76
80
|
$block->block_type->view_script_handles = array_diff( $script_handles, array( $view_js_file_handle ) );
|
|
@@ -187,27 +191,23 @@ function block_core_image_render_lightbox( $block_content, $block ) {
|
|
|
187
191
|
$w = new WP_HTML_Tag_Processor( $block_content );
|
|
188
192
|
$w->next_tag( 'figure' );
|
|
189
193
|
$w->add_class( 'wp-lightbox-container' );
|
|
190
|
-
$w->set_attribute( 'data-wp-interactive',
|
|
194
|
+
$w->set_attribute( 'data-wp-interactive', '{"namespace":"core/image"}' );
|
|
191
195
|
|
|
192
196
|
$w->set_attribute(
|
|
193
197
|
'data-wp-context',
|
|
194
198
|
sprintf(
|
|
195
|
-
'{
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
"scaleAttr": "%s",
|
|
208
|
-
"dialogLabel": "%s"
|
|
209
|
-
}
|
|
210
|
-
}
|
|
199
|
+
'{ "imageLoaded": false,
|
|
200
|
+
"initialized": false,
|
|
201
|
+
"lightboxEnabled": false,
|
|
202
|
+
"hideAnimationEnabled": false,
|
|
203
|
+
"preloadInitialized": false,
|
|
204
|
+
"lightboxAnimation": "%s",
|
|
205
|
+
"imageUploadedSrc": "%s",
|
|
206
|
+
"imageCurrentSrc": "",
|
|
207
|
+
"targetWidth": "%s",
|
|
208
|
+
"targetHeight": "%s",
|
|
209
|
+
"scaleAttr": "%s",
|
|
210
|
+
"dialogLabel": "%s"
|
|
211
211
|
}',
|
|
212
212
|
$lightbox_animation,
|
|
213
213
|
$img_uploaded_src,
|
|
@@ -218,14 +218,14 @@ function block_core_image_render_lightbox( $block_content, $block ) {
|
|
|
218
218
|
)
|
|
219
219
|
);
|
|
220
220
|
$w->next_tag( 'img' );
|
|
221
|
-
$w->set_attribute( 'data-wp-init', '
|
|
222
|
-
$w->set_attribute( 'data-wp-on--load', 'actions.
|
|
223
|
-
$w->set_attribute( 'data-wp-
|
|
221
|
+
$w->set_attribute( 'data-wp-init', 'callbacks.initOriginImage' );
|
|
222
|
+
$w->set_attribute( 'data-wp-on--load', 'actions.handleLoad' );
|
|
223
|
+
$w->set_attribute( 'data-wp-watch', 'callbacks.setButtonStyles' );
|
|
224
224
|
// We need to set an event callback on the `img` specifically
|
|
225
225
|
// because the `figure` element can also contain a caption, and
|
|
226
226
|
// we don't want to trigger the lightbox when the caption is clicked.
|
|
227
|
-
$w->set_attribute( 'data-wp-on--click', 'actions.
|
|
228
|
-
$w->set_attribute( 'data-wp-
|
|
227
|
+
$w->set_attribute( 'data-wp-on--click', 'actions.showLightbox' );
|
|
228
|
+
$w->set_attribute( 'data-wp-watch--setStylesOnResize', 'callbacks.setStylesOnResize' );
|
|
229
229
|
$body_content = $w->get_updated_html();
|
|
230
230
|
|
|
231
231
|
// Add a button alongside image in the body content.
|
|
@@ -239,9 +239,9 @@ function block_core_image_render_lightbox( $block_content, $block ) {
|
|
|
239
239
|
type="button"
|
|
240
240
|
aria-haspopup="dialog"
|
|
241
241
|
aria-label="' . esc_attr( $aria_label ) . '"
|
|
242
|
-
data-wp-on--click="actions.
|
|
243
|
-
data-wp-style--right="context.
|
|
244
|
-
data-wp-style--top="context.
|
|
242
|
+
data-wp-on--click="actions.showLightbox"
|
|
243
|
+
data-wp-style--right="context.imageButtonRight"
|
|
244
|
+
data-wp-style--top="context.imageButtonTop"
|
|
245
245
|
>
|
|
246
246
|
<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
|
|
247
247
|
<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
|
|
@@ -267,8 +267,8 @@ function block_core_image_render_lightbox( $block_content, $block ) {
|
|
|
267
267
|
// use the exact same image as in the content when the lightbox is first opened while
|
|
268
268
|
// we wait for the larger image to load.
|
|
269
269
|
$m->set_attribute( 'src', '' );
|
|
270
|
-
$m->set_attribute( 'data-wp-bind--src', 'context.
|
|
271
|
-
$m->set_attribute( 'data-wp-style--object-fit', '
|
|
270
|
+
$m->set_attribute( 'data-wp-bind--src', 'context.imageCurrentSrc' );
|
|
271
|
+
$m->set_attribute( 'data-wp-style--object-fit', 'state.lightboxObjectFit' );
|
|
272
272
|
$initial_image_content = $m->get_updated_html();
|
|
273
273
|
|
|
274
274
|
$q = new WP_HTML_Tag_Processor( $block_content );
|
|
@@ -283,8 +283,8 @@ function block_core_image_render_lightbox( $block_content, $block ) {
|
|
|
283
283
|
// and Chrome (see https://github.com/WordPress/gutenberg/pull/52765#issuecomment-1674008151). Until that
|
|
284
284
|
// is resolved, manually setting the 'src' seems to be the best solution to load the large image on demand.
|
|
285
285
|
$q->set_attribute( 'src', '' );
|
|
286
|
-
$q->set_attribute( 'data-wp-bind--src', '
|
|
287
|
-
$q->set_attribute( 'data-wp-style--object-fit', '
|
|
286
|
+
$q->set_attribute( 'data-wp-bind--src', 'state.enlargedImgSrc' );
|
|
287
|
+
$q->set_attribute( 'data-wp-style--object-fit', 'state.lightboxObjectFit' );
|
|
288
288
|
$enlarged_image_content = $q->get_updated_html();
|
|
289
289
|
|
|
290
290
|
// If the current theme does NOT have a `theme.json`, or the colors are not defined,
|
|
@@ -307,21 +307,21 @@ function block_core_image_render_lightbox( $block_content, $block ) {
|
|
|
307
307
|
|
|
308
308
|
$lightbox_html = <<<HTML
|
|
309
309
|
<div data-wp-body="" class="wp-lightbox-overlay $lightbox_animation"
|
|
310
|
-
data-wp-bind--role="
|
|
311
|
-
data-wp-bind--aria-label="
|
|
312
|
-
data-wp-class--initialized="context.
|
|
313
|
-
data-wp-class--active="context.
|
|
314
|
-
data-wp-class--hideAnimationEnabled="context.
|
|
315
|
-
data-wp-bind--aria-modal="
|
|
316
|
-
data-wp-
|
|
317
|
-
data-wp-on--keydown="actions.
|
|
318
|
-
data-wp-on--touchstart="actions.
|
|
319
|
-
data-wp-on--touchmove="actions.
|
|
320
|
-
data-wp-on--touchend="actions.
|
|
321
|
-
data-wp-on--click="actions.
|
|
310
|
+
data-wp-bind--role="state.roleAttribute"
|
|
311
|
+
data-wp-bind--aria-label="state.dialogLabel"
|
|
312
|
+
data-wp-class--initialized="context.initialized"
|
|
313
|
+
data-wp-class--active="context.lightboxEnabled"
|
|
314
|
+
data-wp-class--hideAnimationEnabled="context.hideAnimationEnabled"
|
|
315
|
+
data-wp-bind--aria-modal="state.ariaModal"
|
|
316
|
+
data-wp-watch="callbacks.initLightbox"
|
|
317
|
+
data-wp-on--keydown="actions.handleKeydown"
|
|
318
|
+
data-wp-on--touchstart="actions.handleTouchStart"
|
|
319
|
+
data-wp-on--touchmove="actions.handleTouchMove"
|
|
320
|
+
data-wp-on--touchend="actions.handleTouchEnd"
|
|
321
|
+
data-wp-on--click="actions.hideLightbox"
|
|
322
322
|
tabindex="-1"
|
|
323
323
|
>
|
|
324
|
-
<button type="button" aria-label="$close_button_label" style="fill: $close_button_color" class="close-button" data-wp-on--click="actions.
|
|
324
|
+
<button type="button" aria-label="$close_button_label" style="fill: $close_button_color" class="close-button" data-wp-on--click="actions.hideLightbox">
|
|
325
325
|
$close_button_icon
|
|
326
326
|
</button>
|
|
327
327
|
<div class="lightbox-image-container">$initial_image_content</div>
|
|
@@ -362,5 +362,14 @@ function register_block_core_image() {
|
|
|
362
362
|
'render_callback' => 'render_block_core_image',
|
|
363
363
|
)
|
|
364
364
|
);
|
|
365
|
+
|
|
366
|
+
if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
|
|
367
|
+
gutenberg_register_module(
|
|
368
|
+
'@wordpress/block-library/image',
|
|
369
|
+
gutenberg_url( '/build/interactivity/image.min.js' ),
|
|
370
|
+
array( '@wordpress/interactivity' ),
|
|
371
|
+
defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
|
|
372
|
+
);
|
|
373
|
+
}
|
|
365
374
|
}
|
|
366
375
|
add_action( 'init', 'register_block_core_image' );
|