Update @wordpress packages

Update packages to include these bug fixes from Gutenberg:

- Site Logo: Add option to set site icon from Site Logo block
- Navigation: Enable even more compact setup state.
- Remove template parts from post content inserter an __unstable filter
- Template Editor Mode: Hide editor mode switcher
- Avoid using CSS variables for block gap styles
- Try to fix auto resizing in template part focus mode
- Lower the specificity of font size CSS Custom Properties in the editor
- Site icon: Fix site icon styling to display non-square site icons within a square button
- [Site Editor]: Register block editor shortcuts
- Update regex to handle 404 template slug
- Site Editor: Remove dead code
- [Block Editor]: Restrict delete multi selected blocks shortcut
- Fix: Gradients are not being applied by class
- Update: Make the global styles subtitles font smaller
- Post Content/Title: Reflect changes when previewing post
- ServerSideRender: Fix loading state
- [Block Library]: Fix editable post blocks in Query Loop with zero queryId
- Post Excerpt: Fix previews
- WP59: Contextualize "Export" string to differentiate it from other occurrences in WP Core
- Tools Panel: Fix race conditions caused by conditionally displayed ToolsPanelItems
- ToolsPanel: Allow items to register when panelId is null
- Font Size Picker: Allow non-integers as simple CSS values and in hints
- [Components - FontSizePicker]: Use incremental sequence of numbers as labels for the available font-sizes at the segmented control (conditionally)

See #54487.

Built from https://develop.svn.wordpress.org/trunk@52434


git-svn-id: http://core.svn.wordpress.org/trunk@52026 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
noisysocks 2022-01-04 05:39:28 +00:00
parent 15b614acc3
commit 28a12c8bce
43 changed files with 733 additions and 285 deletions

File diff suppressed because one or more lines are too long

View File

@ -39,9 +39,10 @@ function wp_register_layout_support( $block_type ) {
* @param array $layout Layout object. The one that is passed has already checked * @param array $layout Layout object. The one that is passed has already checked
* the existence of default block layout. * the existence of default block layout.
* @param bool $has_block_gap_support Whether the theme has support for the block gap. * @param bool $has_block_gap_support Whether the theme has support for the block gap.
* @param string $gap_value The block gap value to apply.
* @return string CSS style. * @return string CSS style.
*/ */
function wp_get_layout_style( $selector, $layout, $has_block_gap_support = false ) { function wp_get_layout_style( $selector, $layout, $has_block_gap_support = false, $gap_value = null ) {
$layout_type = isset( $layout['type'] ) ? $layout['type'] : 'default'; $layout_type = isset( $layout['type'] ) ? $layout['type'] : 'default';
$style = ''; $style = '';
@ -72,8 +73,9 @@ function wp_get_layout_style( $selector, $layout, $has_block_gap_support = false
$style .= "$selector .alignleft { float: left; margin-right: 2em; }"; $style .= "$selector .alignleft { float: left; margin-right: 2em; }";
$style .= "$selector .alignright { float: right; margin-left: 2em; }"; $style .= "$selector .alignright { float: right; margin-left: 2em; }";
if ( $has_block_gap_support ) { if ( $has_block_gap_support ) {
$gap_style = $gap_value ? $gap_value : 'var( --wp--style--block-gap )';
$style .= "$selector > * { margin-top: 0; margin-bottom: 0; }"; $style .= "$selector > * { margin-top: 0; margin-bottom: 0; }";
$style .= "$selector > * + * { margin-top: var( --wp--style--block-gap ); margin-bottom: 0; }"; $style .= "$selector > * + * { margin-top: $gap_style; margin-bottom: 0; }";
} }
} elseif ( 'flex' === $layout_type ) { } elseif ( 'flex' === $layout_type ) {
$layout_orientation = isset( $layout['orientation'] ) ? $layout['orientation'] : 'horizontal'; $layout_orientation = isset( $layout['orientation'] ) ? $layout['orientation'] : 'horizontal';
@ -96,7 +98,8 @@ function wp_get_layout_style( $selector, $layout, $has_block_gap_support = false
$style = "$selector {"; $style = "$selector {";
$style .= 'display: flex;'; $style .= 'display: flex;';
if ( $has_block_gap_support ) { if ( $has_block_gap_support ) {
$style .= 'gap: var( --wp--style--block-gap, 0.5em );'; $gap_style = $gap_value ? $gap_value : 'var( --wp--style--block-gap, 0.5em )';
$style .= "gap: $gap_style;";
} else { } else {
$style .= 'gap: 0.5em;'; $style .= 'gap: 0.5em;';
} }
@ -157,7 +160,12 @@ function wp_render_layout_support_flag( $block_content, $block ) {
} }
$id = uniqid(); $id = uniqid();
$style = wp_get_layout_style( ".wp-container-$id", $used_layout, $has_block_gap_support ); $gap_value = _wp_array_get( $block, array( 'attrs', 'style', 'spacing', 'blockGap' ) );
// Skip if gap value contains unsupported characters.
// Regex for CSS value borrowed from `safecss_filter_attr`, and used here
// because we only want to match against the value, not the CSS attribute.
$gap_value = preg_match( '%[\\\(&=}]|/\*%', $gap_value ) ? null : $gap_value;
$style = wp_get_layout_style( ".wp-container-$id", $used_layout, $has_block_gap_support, $gap_value );
// This assumes the hook only applies to blocks with a single wrapper. // This assumes the hook only applies to blocks with a single wrapper.
// I think this is a reasonable limitation for that particular hook. // I think this is a reasonable limitation for that particular hook.
$content = preg_replace( $content = preg_replace(

View File

@ -95,59 +95,6 @@ function wp_skip_spacing_serialization( $block_type ) {
$spacing_support['__experimentalSkipSerialization']; $spacing_support['__experimentalSkipSerialization'];
} }
/**
* Renders the spacing gap support to the block wrapper, to ensure
* that the CSS variable is rendered in all environments.
*
* @since 5.9.0
* @access private
*
* @param string $block_content Rendered block content.
* @param array $block Block object.
* @return string Filtered block content.
*/
function wp_render_spacing_gap_support( $block_content, $block ) {
$block_type = WP_Block_Type_Registry::get_instance()->get_registered( $block['blockName'] );
$has_gap_support = block_has_support( $block_type, array( 'spacing', 'blockGap' ), false );
if ( ! $has_gap_support || ! isset( $block['attrs']['style']['spacing']['blockGap'] ) ) {
return $block_content;
}
$gap_value = $block['attrs']['style']['spacing']['blockGap'];
// Skip if gap value contains unsupported characters.
// Regex for CSS value borrowed from `safecss_filter_attr`, and used here
// because we only want to match against the value, not the CSS attribute.
if ( preg_match( '%[\\\(&=}]|/\*%', $gap_value ) ) {
return $block_content;
}
$style = sprintf(
'--wp--style--block-gap: %s',
esc_attr( $gap_value )
);
// Attempt to update an existing style attribute on the wrapper element.
$injected_style = preg_replace(
'/^([^>.]+?)(' . preg_quote( 'style="', '/' ) . ')(?=.+?>)/',
'$1$2' . $style . '; ',
$block_content,
1
);
// If there is no existing style attribute, add one to the wrapper element.
if ( $injected_style === $block_content ) {
$injected_style = preg_replace(
'/<([a-zA-Z0-9]+)([ >])/',
'<$1 style="' . $style . '"$2',
$block_content,
1
);
};
return $injected_style;
}
// Register the block support. // Register the block support.
WP_Block_Supports::get_instance()->register( WP_Block_Supports::get_instance()->register(
'spacing', 'spacing',
@ -156,5 +103,3 @@ WP_Block_Supports::get_instance()->register(
'apply' => 'wp_apply_spacing_support', 'apply' => 'wp_apply_spacing_support',
) )
); );
add_filter( 'render_block', 'wp_render_spacing_gap_support', 10, 2 );

View File

@ -23,11 +23,10 @@
"link": true "link": true
}, },
"spacing": { "spacing": {
"blockGap": true,
"margin": [ "top", "bottom" ], "margin": [ "top", "bottom" ],
"padding": true, "padding": true,
"__experimentalDefaultControls": { "__experimentalDefaultControls": {
"blockGap": true "padding": true
} }
} }
}, },

View File

@ -98,17 +98,7 @@
} }
}, },
"spacing": { "spacing": {
"blockGap": true, "units": [ "px", "em", "rem", "vh", "vw" ]
"units": [
"px",
"em",
"rem",
"vh",
"vw"
],
"__experimentalDefaultControls": {
"blockGap": true
}
}, },
"__experimentalLayout": { "__experimentalLayout": {
"allowSwitching": false, "allowSwitching": false,

View File

@ -293,7 +293,6 @@
} }
.wp-block-navigation-placeholder__controls { .wp-block-navigation-placeholder__controls {
padding: 8px;
border-radius: 2px; border-radius: 2px;
background-color: #fff; background-color: #fff;
box-shadow: inset 0 0 0 1px #1e1e1e; box-shadow: inset 0 0 0 1px #1e1e1e;
@ -302,19 +301,23 @@
display: none; display: none;
position: relative; position: relative;
z-index: 1; z-index: 1;
padding: 4px 8px;
float: right; float: right;
width: 100%; width: 100%;
} }
.is-large .wp-block-navigation-placeholder__controls {
padding: 4px 8px;
}
.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls { .wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls {
display: flex; display: flex;
} }
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions, .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions { .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator + hr,
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions > :nth-last-child(3),
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions > :nth-last-child(2) {
display: none;
}
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions {
flex-direction: column; flex-direction: column;
} }
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr, .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr { .is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr {
display: none; display: none;
} }
.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon { .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon {
@ -334,6 +337,10 @@
margin-left: 4px; margin-left: 4px;
} }
.wp-block-navigation .components-placeholder.is-medium .components-placeholder__fieldset {
flex-direction: row !important;
}
.wp-block-navigation-placeholder__actions { .wp-block-navigation-placeholder__actions {
display: flex; display: flex;
font-size: 13px; font-size: 13px;

File diff suppressed because one or more lines are too long

View File

@ -293,7 +293,6 @@
} }
.wp-block-navigation-placeholder__controls { .wp-block-navigation-placeholder__controls {
padding: 8px;
border-radius: 2px; border-radius: 2px;
background-color: #fff; background-color: #fff;
box-shadow: inset 0 0 0 1px #1e1e1e; box-shadow: inset 0 0 0 1px #1e1e1e;
@ -302,19 +301,23 @@
display: none; display: none;
position: relative; position: relative;
z-index: 1; z-index: 1;
padding: 4px 8px;
float: left; float: left;
width: 100%; width: 100%;
} }
.is-large .wp-block-navigation-placeholder__controls {
padding: 4px 8px;
}
.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls { .wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls {
display: flex; display: flex;
} }
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions, .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions { .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator + hr,
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions > :nth-last-child(3),
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions > :nth-last-child(2) {
display: none;
}
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions {
flex-direction: column; flex-direction: column;
} }
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr, .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr { .is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr {
display: none; display: none;
} }
.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon { .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon {
@ -334,6 +337,10 @@
margin-right: 4px; margin-right: 4px;
} }
.wp-block-navigation .components-placeholder.is-medium .components-placeholder__fieldset {
flex-direction: row !important;
}
.wp-block-navigation-placeholder__actions { .wp-block-navigation-placeholder__actions {
display: flex; display: flex;
font-size: 13px; font-size: 13px;

File diff suppressed because one or more lines are too long

View File

@ -36,11 +36,16 @@ function render_block_core_post_content( $attributes, $content, $block ) {
$seen_ids[ $post_id ] = true; $seen_ids[ $post_id ] = true;
// Check is needed for backward compatibility with third-party plugins
// that might rely on the `in_the_loop` check; calling `the_post` sets it to true.
if ( ! in_the_loop() && have_posts() ) { if ( ! in_the_loop() && have_posts() ) {
the_post(); the_post();
} }
$content = get_the_content( null, false, $post_id ); // When inside the main loop, we want to use queried object
// so that `the_preview` for the current post can apply.
// We force this behavior by omitting the third argument (post ID) from the `get_the_content`.
$content = get_the_content( null, false );
/** This filter is documented in wp-includes/post-template.php */ /** This filter is documented in wp-includes/post-template.php */
$content = apply_filters( 'the_content', str_replace( ']]>', ']]&gt;', $content ) ); $content = apply_filters( 'the_content', str_replace( ']]>', ']]&gt;', $content ) );
unset( $seen_ids[ $post_id ] ); unset( $seen_ids[ $post_id ] );

View File

@ -18,7 +18,7 @@ function render_block_core_post_excerpt( $attributes, $content, $block ) {
return ''; return '';
} }
$excerpt = get_the_excerpt( $block->context['postId'] ); $excerpt = get_the_excerpt();
if ( empty( $excerpt ) ) { if ( empty( $excerpt ) ) {
return ''; return '';

View File

@ -20,7 +20,7 @@ function render_block_core_post_title( $attributes, $content, $block ) {
} }
$post_ID = $block->context['postId']; $post_ID = $block->context['postId'];
$title = get_the_title( $post_ID ); $title = get_the_title();
if ( ! $title ) { if ( ! $title ) {
return ''; return '';

View File

@ -76,6 +76,23 @@ function register_block_core_site_logo_setting() {
add_action( 'rest_api_init', 'register_block_core_site_logo_setting', 10 ); add_action( 'rest_api_init', 'register_block_core_site_logo_setting', 10 );
/**
* Register a core site setting for a site icon
*/
function register_block_core_site_icon_setting() {
register_setting(
'general',
'site_icon',
array(
'show_in_rest' => true,
'type' => 'integer',
'description' => __( 'Site icon.' ),
)
);
}
add_action( 'rest_api_init', 'register_block_core_site_icon_setting', 10 );
/** /**
* Registers the `core/site-logo` block on the server. * Registers the `core/site-logo` block on the server.
*/ */

View File

@ -16,12 +16,16 @@
"linkTarget": { "linkTarget": {
"type": "string", "type": "string",
"default": "_self" "default": "_self"
},
"shouldSyncIcon": {
"type": "boolean"
} }
}, },
"example": { "example": {
"viewportWidth": 500, "viewportWidth": 500,
"attributes": { "attributes": {
"width": 350 "width": 350,
"className": "block-editor-block-types-list__site-logo-example"
} }
}, },
"supports": { "supports": {

View File

@ -317,7 +317,7 @@ class WP_Theme_JSON {
'spacing' => array( 'spacing' => array(
'margin' => null, 'margin' => null,
'padding' => null, 'padding' => null,
'blockGap' => null, 'blockGap' => 'top',
), ),
'typography' => array( 'typography' => array(
'fontFamily' => null, 'fontFamily' => null,
@ -472,17 +472,28 @@ class WP_Theme_JSON {
$output = array_intersect_key( $input, array_flip( self::VALID_TOP_LEVEL_KEYS ) ); $output = array_intersect_key( $input, array_flip( self::VALID_TOP_LEVEL_KEYS ) );
// Some styles are only meant to be available at the top-level (e.g.: blockGap),
// hence, the schema for blocks & elements should not have them.
$styles_non_top_level = self::VALID_STYLES;
foreach ( array_keys( $styles_non_top_level ) as $section ) {
foreach ( array_keys( $styles_non_top_level[ $section ] ) as $prop ) {
if ( 'top' === $styles_non_top_level[ $section ][ $prop ] ) {
unset( $styles_non_top_level[ $section ][ $prop ] );
}
}
}
// Build the schema based on valid block & element names. // Build the schema based on valid block & element names.
$schema = array(); $schema = array();
$schema_styles_elements = array(); $schema_styles_elements = array();
foreach ( $valid_element_names as $element ) { foreach ( $valid_element_names as $element ) {
$schema_styles_elements[ $element ] = self::VALID_STYLES; $schema_styles_elements[ $element ] = $styles_non_top_level;
} }
$schema_styles_blocks = array(); $schema_styles_blocks = array();
$schema_settings_blocks = array(); $schema_settings_blocks = array();
foreach ( $valid_block_names as $block ) { foreach ( $valid_block_names as $block ) {
$schema_settings_blocks[ $block ] = self::VALID_SETTINGS; $schema_settings_blocks[ $block ] = self::VALID_SETTINGS;
$schema_styles_blocks[ $block ] = self::VALID_STYLES; $schema_styles_blocks[ $block ] = $styles_non_top_level;
$schema_styles_blocks[ $block ]['elements'] = $schema_styles_elements; $schema_styles_blocks[ $block ]['elements'] = $schema_styles_elements;
} }
$schema['styles'] = self::VALID_STYLES; $schema['styles'] = self::VALID_STYLES;

View File

@ -1391,7 +1391,6 @@ figure.wp-block-image:not(.wp-block) {
} }
.wp-block-navigation-placeholder__controls { .wp-block-navigation-placeholder__controls {
padding: 8px;
border-radius: 2px; border-radius: 2px;
background-color: #fff; background-color: #fff;
box-shadow: inset 0 0 0 1px #1e1e1e; box-shadow: inset 0 0 0 1px #1e1e1e;
@ -1400,19 +1399,23 @@ figure.wp-block-image:not(.wp-block) {
display: none; display: none;
position: relative; position: relative;
z-index: 1; z-index: 1;
padding: 4px 8px;
float: right; float: right;
width: 100%; width: 100%;
} }
.is-large .wp-block-navigation-placeholder__controls {
padding: 4px 8px;
}
.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls { .wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls {
display: flex; display: flex;
} }
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions, .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions { .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator + hr,
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions > :nth-last-child(3),
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions > :nth-last-child(2) {
display: none;
}
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions {
flex-direction: column; flex-direction: column;
} }
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr, .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr { .is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr {
display: none; display: none;
} }
.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon { .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon {
@ -1432,6 +1435,10 @@ figure.wp-block-image:not(.wp-block) {
margin-left: 4px; margin-left: 4px;
} }
.wp-block-navigation .components-placeholder.is-medium .components-placeholder__fieldset {
flex-direction: row !important;
}
.wp-block-navigation-placeholder__actions { .wp-block-navigation-placeholder__actions {
display: flex; display: flex;
font-size: 13px; font-size: 13px;
@ -2602,8 +2609,6 @@ div[data-type="core/post-featured-image"] img {
*/ */
/* stylelint-disable function-comma-space-after */ /* stylelint-disable function-comma-space-after */
/* stylelint-enable function-comma-space-after */ /* stylelint-enable function-comma-space-after */
--wp--preset--font-size--normal: 16px;
--wp--preset--font-size--huge: 42px;
} }
:root .editor-styles-wrapper .has-very-light-gray-background-color { :root .editor-styles-wrapper .has-very-light-gray-background-color {
background-color: #eee; background-color: #eee;
@ -2639,6 +2644,11 @@ div[data-type="core/post-featured-image"] img {
background: linear-gradient(-135deg, #020381 0%, #2874fc 100%); background: linear-gradient(-135deg, #020381 0%, #2874fc 100%);
} }
.editor-styles-wrapper {
--wp--preset--font-size--normal: 16px;
--wp--preset--font-size--huge: 42px;
}
.editor-styles-wrapper .has-regular-font-size { .editor-styles-wrapper .has-regular-font-size {
font-size: 16px; font-size: 16px;
} }

File diff suppressed because one or more lines are too long

View File

@ -1396,7 +1396,6 @@ figure.wp-block-image:not(.wp-block) {
} }
.wp-block-navigation-placeholder__controls { .wp-block-navigation-placeholder__controls {
padding: 8px;
border-radius: 2px; border-radius: 2px;
background-color: #fff; background-color: #fff;
box-shadow: inset 0 0 0 1px #1e1e1e; box-shadow: inset 0 0 0 1px #1e1e1e;
@ -1405,19 +1404,23 @@ figure.wp-block-image:not(.wp-block) {
display: none; display: none;
position: relative; position: relative;
z-index: 1; z-index: 1;
padding: 4px 8px;
float: left; float: left;
width: 100%; width: 100%;
} }
.is-large .wp-block-navigation-placeholder__controls {
padding: 4px 8px;
}
.wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls { .wp-block-navigation.is-selected .wp-block-navigation-placeholder__controls {
display: flex; display: flex;
} }
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions, .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions { .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator,
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions__indicator + hr,
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions > :nth-last-child(3),
.is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions > :nth-last-child(2) {
display: none;
}
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions {
flex-direction: column; flex-direction: column;
} }
.is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr, .is-medium .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr { .is-small .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__actions hr {
display: none; display: none;
} }
.wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon { .wp-block-navigation-placeholder__controls .wp-block-navigation-placeholder__icon {
@ -1437,6 +1440,10 @@ figure.wp-block-image:not(.wp-block) {
margin-right: 4px; margin-right: 4px;
} }
.wp-block-navigation .components-placeholder.is-medium .components-placeholder__fieldset {
flex-direction: row !important;
}
.wp-block-navigation-placeholder__actions { .wp-block-navigation-placeholder__actions {
display: flex; display: flex;
font-size: 13px; font-size: 13px;
@ -2610,8 +2617,6 @@ div[data-type="core/post-featured-image"] img {
*/ */
/* stylelint-disable function-comma-space-after */ /* stylelint-disable function-comma-space-after */
/* stylelint-enable function-comma-space-after */ /* stylelint-enable function-comma-space-after */
--wp--preset--font-size--normal: 16px;
--wp--preset--font-size--huge: 42px;
} }
:root .editor-styles-wrapper .has-very-light-gray-background-color { :root .editor-styles-wrapper .has-very-light-gray-background-color {
background-color: #eee; background-color: #eee;
@ -2647,6 +2652,11 @@ div[data-type="core/post-featured-image"] img {
background: linear-gradient(135deg, #020381 0%, #2874fc 100%); background: linear-gradient(135deg, #020381 0%, #2874fc 100%);
} }
.editor-styles-wrapper {
--wp--preset--font-size--normal: 16px;
--wp--preset--font-size--huge: 42px;
}
.editor-styles-wrapper .has-regular-font-size { .editor-styles-wrapper .has-regular-font-size {
font-size: 16px; font-size: 16px;
} }

File diff suppressed because one or more lines are too long

View File

@ -732,10 +732,13 @@ body.is-fullscreen-mode .interface-interface-skeleton {
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba(255, 255, 255, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba(255, 255, 255, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
} }
} }
.edit-post-fullscreen-mode-close.has-icon .edit-post-fullscreen-mode-close_site-icon {
.edit-post-fullscreen-mode-close_site-icon {
width: 36px; width: 36px;
height: 36px;
border-radius: 2px; border-radius: 2px;
-o-object-fit: cover;
object-fit: cover;
margin-top: -1px;
} }
.edit-post-header-toolbar { .edit-post-header-toolbar {

File diff suppressed because one or more lines are too long

View File

@ -732,10 +732,13 @@ body.is-fullscreen-mode .interface-interface-skeleton {
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba(255, 255, 255, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba(255, 255, 255, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
} }
} }
.edit-post-fullscreen-mode-close.has-icon .edit-post-fullscreen-mode-close_site-icon {
.edit-post-fullscreen-mode-close_site-icon {
width: 36px; width: 36px;
height: 36px;
border-radius: 2px; border-radius: 2px;
-o-object-fit: cover;
object-fit: cover;
margin-top: -1px;
} }
.edit-post-header-toolbar { .edit-post-header-toolbar {

File diff suppressed because one or more lines are too long

View File

@ -580,7 +580,8 @@ body.is-fullscreen-mode .interface-interface-skeleton {
.edit-site-global-styles-subtitle { .edit-site-global-styles-subtitle {
margin-bottom: 0 !important; margin-bottom: 0 !important;
text-transform: uppercase; text-transform: uppercase;
font-weight: 500; font-weight: 500 !important;
font-size: 11px !important;
} }
.edit-site-screen-color-palette-toggle.edit-site-screen-color-palette-toggle { .edit-site-screen-color-palette-toggle.edit-site-screen-color-palette-toggle {
@ -914,10 +915,13 @@ body.is-navigation-sidebar-open .edit-site-header .edit-site-header_end .compone
.edit-site-navigation-toggle__button.has-icon:focus::before { .edit-site-navigation-toggle__button.has-icon:focus::before {
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba(255, 255, 255, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba(255, 255, 255, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
} }
.edit-site-navigation-toggle__button .edit-site-navigation-toggle__site-icon {
.edit-site-navigation-toggle__site-icon {
width: 36px; width: 36px;
height: 36px;
border-radius: 2px; border-radius: 2px;
-o-object-fit: cover;
object-fit: cover;
margin-top: -1px;
} }
.edit-site-navigation-panel { .edit-site-navigation-panel {

File diff suppressed because one or more lines are too long

View File

@ -580,7 +580,8 @@ body.is-fullscreen-mode .interface-interface-skeleton {
.edit-site-global-styles-subtitle { .edit-site-global-styles-subtitle {
margin-bottom: 0 !important; margin-bottom: 0 !important;
text-transform: uppercase; text-transform: uppercase;
font-weight: 500; font-weight: 500 !important;
font-size: 11px !important;
} }
.edit-site-screen-color-palette-toggle.edit-site-screen-color-palette-toggle { .edit-site-screen-color-palette-toggle.edit-site-screen-color-palette-toggle {
@ -914,10 +915,13 @@ body.is-navigation-sidebar-open .edit-site-header .edit-site-header_end .compone
.edit-site-navigation-toggle__button.has-icon:focus::before { .edit-site-navigation-toggle__button.has-icon:focus::before {
box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba(255, 255, 255, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color); box-shadow: inset 0 0 0 var(--wp-admin-border-width-focus) rgba(255, 255, 255, 0.1), inset 0 0 0 var(--wp-admin-border-width-focus) var(--wp-admin-theme-color);
} }
.edit-site-navigation-toggle__button .edit-site-navigation-toggle__site-icon {
.edit-site-navigation-toggle__site-icon {
width: 36px; width: 36px;
height: 36px;
border-radius: 2px; border-radius: 2px;
-o-object-fit: cover;
object-fit: cover;
margin-top: -1px;
} }
.edit-site-navigation-panel { .edit-site-navigation-panel {

File diff suppressed because one or more lines are too long

View File

@ -12733,6 +12733,15 @@ function BlockTools(_ref) {
insertBeforeBlock(Object(external_lodash_["first"])(clientIds)); insertBeforeBlock(Object(external_lodash_["first"])(clientIds));
} }
} else if (isMatch('core/block-editor/delete-multi-selection', event)) { } else if (isMatch('core/block-editor/delete-multi-selection', event)) {
/**
* Check if the target element is a text area, input or
* event.defaultPrevented and return early. In all these
* cases backspace could be handled elsewhere.
*/
if (['INPUT', 'TEXTAREA'].includes(event.target.nodeName) || event.defaultPrevented) {
return;
}
const clientIds = getSelectedBlockClientIds(); const clientIds = getSelectedBlockClientIds();
if (clientIds.length > 1) { if (clientIds.length > 1) {
@ -19177,6 +19186,9 @@ var rememo = __webpack_require__("pPDe");
// EXTERNAL MODULE: external ["wp","element"] // EXTERNAL MODULE: external ["wp","element"]
var external_wp_element_ = __webpack_require__("GRId"); var external_wp_element_ = __webpack_require__("GRId");
// EXTERNAL MODULE: external ["wp","hooks"]
var external_wp_hooks_ = __webpack_require__("g56x");
// EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/symbol.js // EXTERNAL MODULE: ./node_modules/@wordpress/icons/build-module/library/symbol.js
var symbol = __webpack_require__("+WrK"); var symbol = __webpack_require__("+WrK");
@ -19193,6 +19205,7 @@ var symbol = __webpack_require__("+WrK");
/** /**
* A block selection object. * A block selection object.
* *
@ -20378,16 +20391,32 @@ const canInsertBlockTypeUnmemoized = function (state, blockName) {
const blockAllowedParentBlocks = blockType.parent; const blockAllowedParentBlocks = blockType.parent;
const parentName = getBlockName(state, rootClientId); const parentName = getBlockName(state, rootClientId);
const hasBlockAllowedParent = checkAllowList(blockAllowedParentBlocks, parentName); const hasBlockAllowedParent = checkAllowList(blockAllowedParentBlocks, parentName);
const canInsert = hasParentAllowedBlock === null && hasBlockAllowedParent === null || hasParentAllowedBlock === true || hasBlockAllowedParent === true;
if (hasParentAllowedBlock !== null && hasBlockAllowedParent !== null) { if (!canInsert) {
return hasParentAllowedBlock || hasBlockAllowedParent; return canInsert;
} else if (hasParentAllowedBlock !== null) {
return hasParentAllowedBlock;
} else if (hasBlockAllowedParent !== null) {
return hasBlockAllowedParent;
} }
/**
* This filter is an ad-hoc solution to prevent adding template parts inside post content.
* Conceptually, having a filter inside a selector is bad pattern so this code will be
* replaced by a declarative API that doesn't the following drawbacks:
*
* Filters are not reactive: Upon switching between "template mode" and non "template mode",
* the filter and selector won't necessarily be executed again. For now, it doesn't matter much
* because you can't switch between the two modes while the inserter stays open.
*
* Filters are global: Once they're defined, they will affect all editor instances and all registries.
* An ideal API would only affect specific editor instances.
*/
return true;
return Object(external_wp_hooks_["applyFilters"])('blockEditor.__unstableCanInsertBlockType', canInsert, blockType, rootClientId, {
// Pass bound selectors of the current registry. If we're in a nested
// context, the data will differ from the one selected from the root
// registry.
getBlock: getBlock.bind(null, state),
getBlockParentsByBlockName: getBlockParentsByBlockName.bind(null, state)
});
}; };
/** /**
* Determines if the given block type is allowed to be inserted into the block list. * Determines if the given block type is allowed to be inserted into the block list.
@ -23172,7 +23201,6 @@ function getGradientSlugByValue(gradients, value) {
return gradient && gradient.slug; return gradient && gradient.slug;
} }
const EMPTY_OBJECT = {};
function __experimentalUseGradient() { function __experimentalUseGradient() {
let { let {
gradientAttribute = 'gradient', gradientAttribute = 'gradient',
@ -23181,8 +23209,10 @@ function __experimentalUseGradient() {
const { const {
clientId clientId
} = Object(_block_edit__WEBPACK_IMPORTED_MODULE_3__[/* useBlockEditContext */ "c"])(); } = Object(_block_edit__WEBPACK_IMPORTED_MODULE_3__[/* useBlockEditContext */ "c"])();
const gradientsPerOrigin = Object(_use_setting__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])('color.gradients') || EMPTY_OBJECT; const userGradientPalette = Object(_use_setting__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])('color.gradients.custom');
const allGradients = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => [...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.custom) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.theme) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.default) || [])], [gradientsPerOrigin]); const themeGradientPalette = Object(_use_setting__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])('color.gradients.theme');
const defaultGradientPalette = Object(_use_setting__WEBPACK_IMPORTED_MODULE_4__[/* default */ "a"])('color.gradients.default');
const allGradients = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["useMemo"])(() => [...(userGradientPalette || []), ...(themeGradientPalette || []), ...(defaultGradientPalette || [])], [userGradientPalette, themeGradientPalette, defaultGradientPalette]);
const { const {
gradient, gradient,
customGradient customGradient
@ -26090,15 +26120,19 @@ const flexWrapOptions = ['wrap', 'nowrap'];
})); }));
}, },
save: function FlexLayoutStyle(_ref3) { save: function FlexLayoutStyle(_ref3) {
var _style$spacing$blockG, _style$spacing;
let { let {
selector, selector,
layout layout,
style
} = _ref3; } = _ref3;
const { const {
orientation = 'horizontal' orientation = 'horizontal'
} = layout; } = layout;
const blockGapSupport = Object(use_setting["a" /* default */])('spacing.blockGap'); const blockGapSupport = Object(use_setting["a" /* default */])('spacing.blockGap');
const hasBlockGapStylesSupport = blockGapSupport !== null; const hasBlockGapStylesSupport = blockGapSupport !== null;
const blockGapValue = (_style$spacing$blockG = style === null || style === void 0 ? void 0 : (_style$spacing = style.spacing) === null || _style$spacing === void 0 ? void 0 : _style$spacing.blockGap) !== null && _style$spacing$blockG !== void 0 ? _style$spacing$blockG : 'var( --wp--style--block-gap, 0.5em )';
const justifyContent = justifyContentMap[layout.justifyContent] || justifyContentMap.left; const justifyContent = justifyContentMap[layout.justifyContent] || justifyContentMap.left;
const flexWrap = flexWrapOptions.includes(layout.flexWrap) ? layout.flexWrap : 'wrap'; const flexWrap = flexWrapOptions.includes(layout.flexWrap) ? layout.flexWrap : 'wrap';
const rowOrientation = ` const rowOrientation = `
@ -26114,7 +26148,7 @@ const flexWrapOptions = ['wrap', 'nowrap'];
return Object(external_wp_element_["createElement"])("style", null, ` return Object(external_wp_element_["createElement"])("style", null, `
${appendSelectors(selector)} { ${appendSelectors(selector)} {
display: flex; display: flex;
gap: ${hasBlockGapStylesSupport ? 'var( --wp--style--block-gap, 0.5em )' : '0.5em'}; gap: ${hasBlockGapStylesSupport ? blockGapValue : '0.5em'};
flex-wrap: ${flexWrap}; flex-wrap: ${flexWrap};
${orientation === 'horizontal' ? rowOrientation : columnOrientation} ${orientation === 'horizontal' ? rowOrientation : columnOrientation}
} }
@ -26351,9 +26385,12 @@ var stretch_wide = __webpack_require__("beZb");
return null; return null;
}, },
save: function DefaultLayoutStyle(_ref2) { save: function DefaultLayoutStyle(_ref2) {
var _style$spacing$blockG, _style$spacing;
let { let {
selector, selector,
layout = {} layout = {},
style
} = _ref2; } = _ref2;
const { const {
contentSize, contentSize,
@ -26361,7 +26398,8 @@ var stretch_wide = __webpack_require__("beZb");
} = layout; } = layout;
const blockGapSupport = Object(use_setting["a" /* default */])('spacing.blockGap'); const blockGapSupport = Object(use_setting["a" /* default */])('spacing.blockGap');
const hasBlockGapStylesSupport = blockGapSupport !== null; const hasBlockGapStylesSupport = blockGapSupport !== null;
let style = !!contentSize || !!wideSize ? ` const blockGapValue = (_style$spacing$blockG = style === null || style === void 0 ? void 0 : (_style$spacing = style.spacing) === null || _style$spacing === void 0 ? void 0 : _style$spacing.blockGap) !== null && _style$spacing$blockG !== void 0 ? _style$spacing$blockG : 'var( --wp--style--block-gap )';
let output = !!contentSize || !!wideSize ? `
${appendSelectors(selector, '> *')} { ${appendSelectors(selector, '> *')} {
max-width: ${contentSize !== null && contentSize !== void 0 ? contentSize : wideSize}; max-width: ${contentSize !== null && contentSize !== void 0 ? contentSize : wideSize};
margin-left: auto !important; margin-left: auto !important;
@ -26376,7 +26414,7 @@ var stretch_wide = __webpack_require__("beZb");
max-width: none; max-width: none;
} }
` : ''; ` : '';
style += ` output += `
${appendSelectors(selector, '> [data-align="left"]')} { ${appendSelectors(selector, '> [data-align="left"]')} {
float: left; float: left;
margin-right: 2em; margin-right: 2em;
@ -26390,18 +26428,18 @@ var stretch_wide = __webpack_require__("beZb");
`; `;
if (hasBlockGapStylesSupport) { if (hasBlockGapStylesSupport) {
style += ` output += `
${appendSelectors(selector, '> *')} { ${appendSelectors(selector, '> *')} {
margin-top: 0; margin-top: 0;
margin-bottom: 0; margin-bottom: 0;
} }
${appendSelectors(selector, '> * + *')} { ${appendSelectors(selector, '> * + *')} {
margin-top: var( --wp--style--block-gap ); margin-top: ${blockGapValue};
} }
`; `;
} }
return Object(external_wp_element_["createElement"])("style", null, style); return Object(external_wp_element_["createElement"])("style", null, output);
}, },
getOrientation() { getOrientation() {
@ -34360,6 +34398,7 @@ const justifyLeft = Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__["crea
/* unused harmony export Trail */ /* unused harmony export Trail */
/* unused harmony export Transition */ /* unused harmony export Transition */
/* unused harmony export config */ /* unused harmony export config */
/* unused harmony export easings */
/* unused harmony export inferTo */ /* unused harmony export inferTo */
/* unused harmony export interpolate */ /* unused harmony export interpolate */
/* unused harmony export to */ /* unused harmony export to */
@ -34546,8 +34585,8 @@ function useChain(refs, timeSteps, timeFrame = 1000) {
props.delay = key => delay + callProp(memoizedDelayProp || 0, key); props.delay = key => delay + callProp(memoizedDelayProp || 0, key);
}); });
ctrl.start();
}); });
ref.start();
} }
}); });
} else { } else {
@ -34597,13 +34636,65 @@ const config = {
friction: 120 friction: 120
} }
}; };
const c1 = 1.70158;
const c2 = c1 * 1.525;
const c3 = c1 + 1;
const c4 = 2 * Math.PI / 3;
const c5 = 2 * Math.PI / 4.5;
const linear = t => t; const bounceOut = x => {
const n1 = 7.5625;
const d1 = 2.75;
if (x < 1 / d1) {
return n1 * x * x;
} else if (x < 2 / d1) {
return n1 * (x -= 1.5 / d1) * x + 0.75;
} else if (x < 2.5 / d1) {
return n1 * (x -= 2.25 / d1) * x + 0.9375;
} else {
return n1 * (x -= 2.625 / d1) * x + 0.984375;
}
};
const easings = {
linear: x => x,
easeInQuad: x => x * x,
easeOutQuad: x => 1 - (1 - x) * (1 - x),
easeInOutQuad: x => x < 0.5 ? 2 * x * x : 1 - Math.pow(-2 * x + 2, 2) / 2,
easeInCubic: x => x * x * x,
easeOutCubic: x => 1 - Math.pow(1 - x, 3),
easeInOutCubic: x => x < 0.5 ? 4 * x * x * x : 1 - Math.pow(-2 * x + 2, 3) / 2,
easeInQuart: x => x * x * x * x,
easeOutQuart: x => 1 - Math.pow(1 - x, 4),
easeInOutQuart: x => x < 0.5 ? 8 * x * x * x * x : 1 - Math.pow(-2 * x + 2, 4) / 2,
easeInQuint: x => x * x * x * x * x,
easeOutQuint: x => 1 - Math.pow(1 - x, 5),
easeInOutQuint: x => x < 0.5 ? 16 * x * x * x * x * x : 1 - Math.pow(-2 * x + 2, 5) / 2,
easeInSine: x => 1 - Math.cos(x * Math.PI / 2),
easeOutSine: x => Math.sin(x * Math.PI / 2),
easeInOutSine: x => -(Math.cos(Math.PI * x) - 1) / 2,
easeInExpo: x => x === 0 ? 0 : Math.pow(2, 10 * x - 10),
easeOutExpo: x => x === 1 ? 1 : 1 - Math.pow(2, -10 * x),
easeInOutExpo: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? Math.pow(2, 20 * x - 10) / 2 : (2 - Math.pow(2, -20 * x + 10)) / 2,
easeInCirc: x => 1 - Math.sqrt(1 - Math.pow(x, 2)),
easeOutCirc: x => Math.sqrt(1 - Math.pow(x - 1, 2)),
easeInOutCirc: x => x < 0.5 ? (1 - Math.sqrt(1 - Math.pow(2 * x, 2))) / 2 : (Math.sqrt(1 - Math.pow(-2 * x + 2, 2)) + 1) / 2,
easeInBack: x => c3 * x * x * x - c1 * x * x,
easeOutBack: x => 1 + c3 * Math.pow(x - 1, 3) + c1 * Math.pow(x - 1, 2),
easeInOutBack: x => x < 0.5 ? Math.pow(2 * x, 2) * ((c2 + 1) * 2 * x - c2) / 2 : (Math.pow(2 * x - 2, 2) * ((c2 + 1) * (x * 2 - 2) + c2) + 2) / 2,
easeInElastic: x => x === 0 ? 0 : x === 1 ? 1 : -Math.pow(2, 10 * x - 10) * Math.sin((x * 10 - 10.75) * c4),
easeOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : Math.pow(2, -10 * x) * Math.sin((x * 10 - 0.75) * c4) + 1,
easeInOutElastic: x => x === 0 ? 0 : x === 1 ? 1 : x < 0.5 ? -(Math.pow(2, 20 * x - 10) * Math.sin((20 * x - 11.125) * c5)) / 2 : Math.pow(2, -20 * x + 10) * Math.sin((20 * x - 11.125) * c5) / 2 + 1,
easeInBounce: x => 1 - bounceOut(1 - x),
easeOutBounce: bounceOut,
easeInOutBounce: x => x < 0.5 ? (1 - bounceOut(1 - 2 * x)) / 2 : (1 + bounceOut(2 * x - 1)) / 2
};
const defaults = _extends({}, config.default, { const defaults = _extends({}, config.default, {
mass: 1, mass: 1,
damping: 1, damping: 1,
easing: linear, easing: easings.linear,
clamp: false clamp: false
}); });
@ -34738,7 +34829,8 @@ function scheduleProps(callId, {
} }
function onResume() { function onResume() {
if (delay > 0) { if (delay > 0 && !_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* Globals */ "b"].skipAnimation) {
state.delayed = true;
timeout = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].setTimeout(onStart, delay); timeout = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* raf */ "w"].setTimeout(onStart, delay);
state.pauseQueue.add(onPause); state.pauseQueue.add(onPause);
state.timeouts.add(timeout); state.timeouts.add(timeout);
@ -34748,6 +34840,10 @@ function scheduleProps(callId, {
} }
function onStart() { function onStart() {
if (state.delayed) {
state.delayed = false;
}
state.pauseQueue.delete(onPause); state.pauseQueue.delete(onPause);
state.timeouts.delete(timeout); state.timeouts.delete(timeout);
@ -35015,6 +35111,7 @@ class SpringValue extends FrameValue {
this.defaultProps = {}; this.defaultProps = {};
this._state = { this._state = {
paused: false, paused: false,
delayed: false,
pauseQueue: new Set(), pauseQueue: new Set(),
resumeQueue: new Set(), resumeQueue: new Set(),
timeouts: new Set() timeouts: new Set()
@ -35062,6 +35159,10 @@ class SpringValue extends FrameValue {
return isPaused(this); return isPaused(this);
} }
get isDelayed() {
return this._state.delayed;
}
advance(dt) { advance(dt) {
let idle = true; let idle = true;
let changed = false; let changed = false;
@ -35265,7 +35366,11 @@ class SpringValue extends FrameValue {
this.queue = []; this.queue = [];
} }
return Promise.all(queue.map(props => this._update(props))).then(results => getCombinedResult(this, results)); return Promise.all(queue.map(props => {
const up = this._update(props);
return up;
})).then(results => getCombinedResult(this, results));
} }
stop(cancel) { stop(cancel) {
@ -35798,7 +35903,9 @@ class Controller {
} }
get idle() { get idle() {
return !this._state.asyncTo && Object.values(this.springs).every(spring => spring.idle); return !this._state.asyncTo && Object.values(this.springs).every(spring => {
return spring.idle && !spring.isDelayed && !spring.isPaused;
});
} }
get item() { get item() {
@ -36361,24 +36468,50 @@ const initSpringRef = () => SpringRef();
const useSpringRef = () => Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(initSpringRef)[0]; const useSpringRef = () => Object(react__WEBPACK_IMPORTED_MODULE_1__["useState"])(initSpringRef)[0];
function useTrail(length, propsArg, deps) { function useTrail(length, propsArg, deps) {
var _passedRef;
const propsFn = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(propsArg) && propsArg; const propsFn = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(propsArg) && propsArg;
if (propsFn && !deps) deps = []; if (propsFn && !deps) deps = [];
let reverse = true; let reverse = true;
let passedRef = undefined;
const result = useSprings(length, (i, ctrl) => { const result = useSprings(length, (i, ctrl) => {
const props = propsFn ? propsFn(i, ctrl) : propsArg; const props = propsFn ? propsFn(i, ctrl) : propsArg;
passedRef = props.ref;
reverse = reverse && props.reverse; reverse = reverse && props.reverse;
return props; return props;
}, deps || [{}]); }, deps || [{}]);
const ref = result[1]; const ref = (_passedRef = passedRef) != null ? _passedRef : result[1];
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => {
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(ref.current, (ctrl, i) => { Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(ref.current, (ctrl, i) => {
const parent = ref.current[i + (reverse ? 1 : -1)]; const parent = ref.current[i + (reverse ? 1 : -1)];
if (parent) ctrl.start({
if (parent) {
ctrl.start({
to: parent.springs to: parent.springs
}); });
} else {
ctrl.start();
}
}); });
}, deps); }, deps);
ref['start'] = propsArg => {
const results = [];
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(ref.current, (ctrl, i) => {
const props = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(propsArg) ? propsArg(i, ctrl) : propsArg;
const parent = ref.current[i + (reverse ? 1 : -1)];
if (parent) {
results.push(ctrl.start(_extends({}, props, {
to: parent.springs
})));
} else {
results.push(ctrl.start(_extends({}, props)));
}
});
return results;
};
if (propsFn || arguments.length == 3) { if (propsFn || arguments.length == 3) {
ref['_getProps'] = (propsArg, ctrl, i) => { ref['_getProps'] = (propsArg, ctrl, i) => {
const props = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(propsArg) ? propsArg(i, ctrl) : propsArg; const props = _react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* is */ "s"].fun(propsArg) ? propsArg(i, ctrl) : propsArg;
@ -36412,6 +36545,7 @@ function useTransition(data, props, deps) {
sort, sort,
trail = 0, trail = 0,
expires = true, expires = true,
exitBeforeEnter = false,
onDestroyed, onDestroyed,
ref: propsRef, ref: propsRef,
config: propsConfig config: propsConfig
@ -36424,14 +36558,16 @@ function useTransition(data, props, deps) {
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => {
usedTransitions.current = transitions; usedTransitions.current = transitions;
}); });
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useOnce */ "C"])(() => () => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(usedTransitions.current, t => { Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useOnce */ "C"])(() => () => {
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(usedTransitions.current, t => {
if (t.expired) { if (t.expired) {
clearTimeout(t.expirationId); clearTimeout(t.expirationId);
} }
detachRefs(t.ctrl, ref); detachRefs(t.ctrl, ref);
t.ctrl.stop(true); t.ctrl.stop(true);
})); });
});
const keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions); const keys = getKeys(items, propsFn ? propsFn() : props, prevTransitions);
const expired = reset && usedTransitions.current || []; const expired = reset && usedTransitions.current || [];
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(expired, ({ Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(expired, ({
@ -36491,6 +36627,8 @@ function useTransition(data, props, deps) {
const forceUpdate = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useForceUpdate */ "z"])(); const forceUpdate = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useForceUpdate */ "z"])();
const defaultProps = getDefaultProps(props); const defaultProps = getDefaultProps(props);
const changes = new Map(); const changes = new Map();
const exitingTransitions = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])(new Map());
const forceChange = Object(react__WEBPACK_IMPORTED_MODULE_1__["useRef"])(false);
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(transitions, (t, i) => { Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(transitions, (t, i) => {
const key = t.key; const key = t.key;
const prevPhase = t.phase; const prevPhase = t.phase;
@ -36576,30 +36714,53 @@ function useTransition(data, props, deps) {
} }
if (idle && transitions.some(t => t.expired)) { if (idle && transitions.some(t => t.expired)) {
exitingTransitions.current.delete(t);
if (exitBeforeEnter) {
forceChange.current = true;
}
forceUpdate(); forceUpdate();
} }
} }
}; };
const springs = getSprings(t.ctrl, payload); const springs = getSprings(t.ctrl, payload);
if (phase === TransitionPhase.LEAVE && exitBeforeEnter) {
exitingTransitions.current.set(t, {
phase,
springs,
payload
});
} else {
changes.set(t, { changes.set(t, {
phase, phase,
springs, springs,
payload payload
}); });
}
}); });
const context = Object(react__WEBPACK_IMPORTED_MODULE_1__["useContext"])(SpringContext); const context = Object(react__WEBPACK_IMPORTED_MODULE_1__["useContext"])(SpringContext);
const prevContext = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* usePrev */ "D"])(context); const prevContext = Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* usePrev */ "D"])(context);
const hasContext = context !== prevContext && hasProps(context); const hasContext = context !== prevContext && hasProps(context);
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => {
if (hasContext) Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(transitions, t => { if (hasContext) {
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(transitions, t => {
t.ctrl.start({ t.ctrl.start({
default: context default: context
}); });
}); });
}
}, [context]); }, [context]);
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(changes, (_, t) => {
if (exitingTransitions.current.size) {
const ind = transitions.findIndex(state => state.key === t.key);
transitions.splice(ind, 1);
}
});
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => { Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* useLayoutEffect */ "A"])(() => {
Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(changes, ({ Object(_react_spring_shared__WEBPACK_IMPORTED_MODULE_0__[/* each */ "k"])(exitingTransitions.current.size ? exitingTransitions.current : changes, ({
phase, phase,
payload payload
}, t) => { }, t) => {
@ -36618,10 +36779,14 @@ function useTransition(data, props, deps) {
if (payload) { if (payload) {
replaceRef(ctrl, payload.ref); replaceRef(ctrl, payload.ref);
if (ctrl.ref) { if (ctrl.ref && !forceChange.current) {
ctrl.update(payload); ctrl.update(payload);
} else { } else {
ctrl.start(payload); ctrl.start(payload);
if (forceChange.current) {
forceChange.current = false;
}
} }
} }
}); });
@ -37172,7 +37337,7 @@ raf.setTimeout = (handler, ms) => {
let cancel = () => { let cancel = () => {
let i = timeouts.findIndex(t => t.cancel == cancel); let i = timeouts.findIndex(t => t.cancel == cancel);
if (~i) timeouts.splice(i, 1); if (~i) timeouts.splice(i, 1);
__raf.count -= ~i ? 1 : 0; pendingCount -= ~i ? 1 : 0;
}; };
let timeout = { let timeout = {
@ -37181,7 +37346,7 @@ raf.setTimeout = (handler, ms) => {
cancel cancel
}; };
timeouts.splice(findTimeout(time), 0, timeout); timeouts.splice(findTimeout(time), 0, timeout);
__raf.count += 1; pendingCount += 1;
start(); start();
return timeout; return timeout;
}; };
@ -37189,8 +37354,11 @@ raf.setTimeout = (handler, ms) => {
let findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length); let findTimeout = time => ~(~timeouts.findIndex(t => t.time > time) || ~timeouts.length);
raf.cancel = fn => { raf.cancel = fn => {
onStartQueue.delete(fn);
onFrameQueue.delete(fn);
updateQueue.delete(fn); updateQueue.delete(fn);
writeQueue.delete(fn); writeQueue.delete(fn);
onFinishQueue.delete(fn);
}; };
raf.sync = fn => { raf.sync = fn => {
@ -37245,6 +37413,7 @@ raf.advance = () => {
}; };
let ts = -1; let ts = -1;
let pendingCount = 0;
let sync = false; let sync = false;
function schedule(fn, queue) { function schedule(fn, queue) {
@ -37267,6 +37436,10 @@ function start() {
} }
} }
function stop() {
ts = -1;
}
function loop() { function loop() {
if (~ts) { if (~ts) {
nativeRaf(loop); nativeRaf(loop);
@ -37281,7 +37454,7 @@ function react_spring_rafz_esm_update() {
if (count) { if (count) {
eachSafely(timeouts.splice(0, count), t => t.handler()); eachSafely(timeouts.splice(0, count), t => t.handler());
__raf.count -= count; pendingCount -= count;
} }
onStartQueue.flush(); onStartQueue.flush();
@ -37289,6 +37462,10 @@ function react_spring_rafz_esm_update() {
onFrameQueue.flush(); onFrameQueue.flush();
writeQueue.flush(); writeQueue.flush();
onFinishQueue.flush(); onFinishQueue.flush();
if (!pendingCount) {
stop();
}
} }
function makeQueue() { function makeQueue() {
@ -37296,21 +37473,21 @@ function makeQueue() {
let current = next; let current = next;
return { return {
add(fn) { add(fn) {
__raf.count += current == next && !next.has(fn) ? 1 : 0; pendingCount += current == next && !next.has(fn) ? 1 : 0;
next.add(fn); next.add(fn);
}, },
delete(fn) { delete(fn) {
__raf.count -= current == next && next.has(fn) ? 1 : 0; pendingCount -= current == next && next.has(fn) ? 1 : 0;
return next.delete(fn); return next.delete(fn);
}, },
flush(arg) { flush(arg) {
if (current.size) { if (current.size) {
next = new Set(); next = new Set();
__raf.count -= current.size; pendingCount -= current.size;
eachSafely(current, fn => fn(arg) && next.add(fn)); eachSafely(current, fn => fn(arg) && next.add(fn));
__raf.count += next.size; pendingCount += next.size;
current = next; current = next;
} }
} }
@ -37329,7 +37506,13 @@ function eachSafely(values, each) {
} }
const __raf = { const __raf = {
count: 0, count() {
return pendingCount;
},
isRunning() {
return ts >= 0;
},
clear() { clear() {
ts = -1; ts = -1;
@ -37339,7 +37522,7 @@ const __raf = {
onFrameQueue = makeQueue(); onFrameQueue = makeQueue();
writeQueue = makeQueue(); writeQueue = makeQueue();
onFinishQueue = makeQueue(); onFinishQueue = makeQueue();
__raf.count = 0; pendingCount = 0;
} }
}; };
@ -37949,14 +38132,53 @@ const setHidden = (target, key, value) => Object.defineProperty(target, key, {
const numberRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g; const numberRegex = /[+\-]?(?:0|[1-9]\d*)(?:\.\d*)?(?:[eE][+\-]?\d+)?/g;
const colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi; const colorRegex = /(#(?:[0-9a-f]{2}){2,4}|(#[0-9a-f]{3})|(rgb|hsl)a?\((-?\d+%?[,\s]+){2,3}\s*[\d\.]+%?\))/gi;
const unitRegex = new RegExp(`(${numberRegex.source})(%|[a-z]+)`, 'i'); const unitRegex = new RegExp(`(${numberRegex.source})(%|[a-z]+)`, 'i');
let namedColorRegex;
const rgbaRegex = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi; const rgbaRegex = /rgba\(([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+), ([0-9\.-]+)\)/gi;
const cssVariableRegex = /var\((--[a-zA-Z0-9-_]+),? ?([a-zA-Z0-9 ()%#.,-]+)?\)/;
const variableToRgba = input => {
const [token, fallback] = parseCSSVariable(input);
if (!token) {
return input;
}
const value = window.getComputedStyle(document.documentElement).getPropertyValue(token);
if (value) {
return value.trim();
} else if (fallback && fallback.startsWith('--')) {
const _value = window.getComputedStyle(document.documentElement).getPropertyValue(fallback);
if (_value) {
return _value;
} else {
return input;
}
} else if (fallback && cssVariableRegex.test(fallback)) {
return variableToRgba(fallback);
} else if (fallback) {
return fallback;
}
return input;
};
const parseCSSVariable = current => {
const match = cssVariableRegex.exec(current);
if (!match) return [,];
const [, token, fallback] = match;
return [token, fallback];
};
let namedColorRegex;
const rgbaRound = (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`; const rgbaRound = (_, p1, p2, p3, p4) => `rgba(${Math.round(p1)}, ${Math.round(p2)}, ${Math.round(p3)}, ${p4})`;
const createStringInterpolator = config => { const createStringInterpolator = config => {
if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(`(${Object.keys(colors$1).join('|')})(?!\\w)`, 'g') : /^\b$/; if (!namedColorRegex) namedColorRegex = colors$1 ? new RegExp(`(${Object.keys(colors$1).join('|')})(?!\\w)`, 'g') : /^\b$/;
const output = config.output.map(value => getFluidValue(value).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba)); const output = config.output.map(value => {
return getFluidValue(value).replace(cssVariableRegex, variableToRgba).replace(colorRegex, colorToRgba).replace(namedColorRegex, colorToRgba);
});
const keyframes = output.map(value => value.match(numberRegex).map(Number)); const keyframes = output.map(value => value.match(numberRegex).map(Number));
const outputRanges = keyframes[0].map((_, i) => keyframes.map(values => { const outputRanges = keyframes[0].map((_, i) => keyframes.map(values => {
if (!(i in values)) { if (!(i in values)) {
@ -38005,7 +38227,7 @@ function deprecateDirectCall() {
} }
function isAnimatedString(value) { function isAnimatedString(value) {
return is.str(value) && (value[0] == '#' || /\d/.test(value) || value in (colors$1 || {})); return is.str(value) && (value[0] == '#' || /\d/.test(value) || cssVariableRegex.test(value) || value in (colors$1 || {}));
} }
const useOnce = effect => Object(external_React_["useEffect"])(effect, emptyDeps); const useOnce = effect => Object(external_React_["useEffect"])(effect, emptyDeps);
@ -42194,7 +42416,6 @@ function ColorPanel(_ref) {
const COLOR_SUPPORT_KEY = 'color'; const COLOR_SUPPORT_KEY = 'color';
const EMPTY_OBJECT = {};
const hasColorSupport = blockType => { const hasColorSupport = blockType => {
const colorSupport = Object(external_wp_blocks_["getBlockSupport"])(blockType, COLOR_SUPPORT_KEY); const colorSupport = Object(external_wp_blocks_["getBlockSupport"])(blockType, COLOR_SUPPORT_KEY);
@ -42364,7 +42585,7 @@ function immutableSet(object, path, value) {
function ColorEdit(props) { function ColorEdit(props) {
var _gradientsPerOrigin$t, _style$color6, _style$color7, _style$color8, _style$elements2, _style$elements2$link, _style$elements2$link2, _style$elements3, _style$elements3$link, _style$elements3$link2; var _style$color6, _style$color7, _style$color8, _style$elements2, _style$elements2$link, _style$elements2$link2, _style$elements3, _style$elements3$link, _style$elements3$link2;
const { const {
name: blockName, name: blockName,
@ -42377,15 +42598,17 @@ function ColorEdit(props) {
const themePalette = Object(use_setting["a" /* default */])('color.palette.theme'); const themePalette = Object(use_setting["a" /* default */])('color.palette.theme');
const defaultPalette = Object(use_setting["a" /* default */])('color.palette.default'); const defaultPalette = Object(use_setting["a" /* default */])('color.palette.default');
const allSolids = Object(external_wp_element_["useMemo"])(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]); const allSolids = Object(external_wp_element_["useMemo"])(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]);
const gradientsPerOrigin = Object(use_setting["a" /* default */])('color.gradients') || EMPTY_OBJECT; const userGradientPalette = Object(use_setting["a" /* default */])('color.gradients.custom');
const themeGradientPalette = Object(use_setting["a" /* default */])('color.gradients.theme');
const defaultGradientPalette = Object(use_setting["a" /* default */])('color.gradients.default');
const allGradients = Object(external_wp_element_["useMemo"])(() => [...(userGradientPalette || []), ...(themeGradientPalette || []), ...(defaultGradientPalette || [])], [userGradientPalette, themeGradientPalette, defaultGradientPalette]);
const areCustomSolidsEnabled = Object(use_setting["a" /* default */])('color.custom'); const areCustomSolidsEnabled = Object(use_setting["a" /* default */])('color.custom');
const areCustomGradientsEnabled = Object(use_setting["a" /* default */])('color.customGradient'); const areCustomGradientsEnabled = Object(use_setting["a" /* default */])('color.customGradient');
const isBackgroundEnabled = Object(use_setting["a" /* default */])('color.background'); const isBackgroundEnabled = Object(use_setting["a" /* default */])('color.background');
const isLinkEnabled = Object(use_setting["a" /* default */])('color.link'); const isLinkEnabled = Object(use_setting["a" /* default */])('color.link');
const isTextEnabled = Object(use_setting["a" /* default */])('color.text'); const isTextEnabled = Object(use_setting["a" /* default */])('color.text');
const solidsEnabled = areCustomSolidsEnabled || !themePalette || (themePalette === null || themePalette === void 0 ? void 0 : themePalette.length) > 0; const solidsEnabled = areCustomSolidsEnabled || !themePalette || (themePalette === null || themePalette === void 0 ? void 0 : themePalette.length) > 0;
const gradientsEnabled = areCustomGradientsEnabled || !(gradientsPerOrigin !== null && gradientsPerOrigin !== void 0 && gradientsPerOrigin.theme) || (gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : (_gradientsPerOrigin$t = gradientsPerOrigin.theme) === null || _gradientsPerOrigin$t === void 0 ? void 0 : _gradientsPerOrigin$t.length) > 0; const gradientsEnabled = areCustomGradientsEnabled || !themeGradientPalette || (themeGradientPalette === null || themeGradientPalette === void 0 ? void 0 : themeGradientPalette.length) > 0; // Shouldn't be needed but right now the ColorGradientsPanel
const allGradients = Object(external_wp_element_["useMemo"])(() => [...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.custom) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.theme) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.default) || [])], [gradientsPerOrigin]); // Shouldn't be needed but right now the ColorGradientsPanel
// can trigger both onChangeColor and onChangeBackground // can trigger both onChangeColor and onChangeBackground
// synchronously causing our two callbacks to override changes // synchronously causing our two callbacks to override changes
// from each other. // from each other.
@ -44409,6 +44632,7 @@ function compileStyleValue(uncompiledValue) {
function getInlineStyles() { function getInlineStyles() {
let styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; let styles = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
const ignoredStyles = ['spacing.blockGap'];
const output = {}; const output = {};
Object.keys(external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"]).forEach(propKey => { Object.keys(external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"]).forEach(propKey => {
const path = external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"][propKey].value; const path = external_wp_blocks_["__EXPERIMENTAL_STYLE_PROPERTY"][propKey].value;
@ -44428,7 +44652,7 @@ function getInlineStyles() {
output[name] = compileStyleValue(value); output[name] = compileStyleValue(value);
} }
}); });
} else { } else if (!ignoredStyles.includes(path.join('.'))) {
output[propKey] = compileStyleValue(Object(external_lodash_["get"])(styles, path)); output[propKey] = compileStyleValue(Object(external_lodash_["get"])(styles, path));
} }
} }
@ -45103,7 +45327,8 @@ const withLayoutStyles = Object(external_wp_compose_["createHigherOrderComponent
}); });
return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, shouldRenderLayoutStyles && element && Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])(block_list_layout["b" /* LayoutStyle */], { return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, shouldRenderLayoutStyles && element && Object(external_wp_element_["createPortal"])(Object(external_wp_element_["createElement"])(block_list_layout["b" /* LayoutStyle */], {
selector: `.wp-container-${id}`, selector: `.wp-container-${id}`,
layout: usedLayout layout: usedLayout,
style: attributes === null || attributes === void 0 ? void 0 : attributes.style
}), element), Object(external_wp_element_["createElement"])(BlockListBlock, Object(esm_extends["a" /* default */])({}, props, { }), element), Object(external_wp_element_["createElement"])(BlockListBlock, Object(esm_extends["a" /* default */])({}, props, {
className: className className: className
}))); })));
@ -45251,7 +45476,7 @@ function getColorClassesAndStyles(attributes) {
style: styleProp style: styleProp
}; };
} }
const use_color_props_EMPTY_OBJECT = {}; const EMPTY_OBJECT = {};
/** /**
* Determines the color related props for a block derived from its color block * Determines the color related props for a block derived from its color block
* support attributes. * support attributes.
@ -45276,7 +45501,7 @@ function useColorProps(attributes) {
const userPalette = Object(use_setting["a" /* default */])('color.palette.custom') || []; const userPalette = Object(use_setting["a" /* default */])('color.palette.custom') || [];
const themePalette = Object(use_setting["a" /* default */])('color.palette.theme') || []; const themePalette = Object(use_setting["a" /* default */])('color.palette.theme') || [];
const defaultPalette = Object(use_setting["a" /* default */])('color.palette.default') || []; const defaultPalette = Object(use_setting["a" /* default */])('color.palette.default') || [];
const gradientsPerOrigin = Object(use_setting["a" /* default */])('color.gradients') || use_color_props_EMPTY_OBJECT; const gradientsPerOrigin = Object(use_setting["a" /* default */])('color.gradients') || EMPTY_OBJECT;
const colors = Object(external_wp_element_["useMemo"])(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]); const colors = Object(external_wp_element_["useMemo"])(() => [...(userPalette || []), ...(themePalette || []), ...(defaultPalette || [])], [userPalette, themePalette, defaultPalette]);
const gradients = Object(external_wp_element_["useMemo"])(() => [...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.custom) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.theme) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.default) || [])], [gradientsPerOrigin]); const gradients = Object(external_wp_element_["useMemo"])(() => [...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.custom) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.theme) || []), ...((gradientsPerOrigin === null || gradientsPerOrigin === void 0 ? void 0 : gradientsPerOrigin.default) || [])], [gradientsPerOrigin]);
const colorProps = getColorClassesAndStyles(attributes); // Force inline styles to apply colors when themes do not load their color const colorProps = getColorClassesAndStyles(attributes); // Force inline styles to apply colors when themes do not load their color

File diff suppressed because one or more lines are too long

View File

@ -6554,11 +6554,10 @@ const columns_metadata = {
link: true link: true
}, },
spacing: { spacing: {
blockGap: true,
margin: ["top", "bottom"], margin: ["top", "bottom"],
padding: true, padding: true,
__experimentalDefaultControls: { __experimentalDefaultControls: {
blockGap: true padding: true
} }
} }
}, },
@ -23054,11 +23053,7 @@ const navigation_metadata = {
} }
}, },
spacing: { spacing: {
blockGap: true, units: ["px", "em", "rem", "vh", "vw"]
units: ["px", "em", "rem", "vh", "vw"],
__experimentalDefaultControls: {
blockGap: true
}
}, },
__experimentalLayout: { __experimentalLayout: {
allowSwitching: false, allowSwitching: false,
@ -26438,7 +26433,7 @@ function PostAuthorEdit(_ref) {
attributes, attributes,
setAttributes setAttributes
} = _ref; } = _ref;
const isDescendentOfQueryLoop = !!queryId; const isDescendentOfQueryLoop = Number.isFinite(queryId);
const { const {
authorId, authorId,
authorDetails, authorDetails,
@ -26897,7 +26892,7 @@ function Content(props) {
postId postId
} = {} } = {}
} = props; } = props;
const isDescendentOfQueryLoop = !!queryId; const isDescendentOfQueryLoop = Number.isFinite(queryId);
const userCanEdit = useCanEditEntity('postType', postType, postId); const userCanEdit = useCanEditEntity('postType', postType, postId);
const isEditable = userCanEdit && !isDescendentOfQueryLoop; const isEditable = userCanEdit && !isDescendentOfQueryLoop;
return isEditable ? Object(external_wp_element_["createElement"])(EditableContent, props) : Object(external_wp_element_["createElement"])(ReadOnlyContent, { return isEditable ? Object(external_wp_element_["createElement"])(EditableContent, props) : Object(external_wp_element_["createElement"])(ReadOnlyContent, {
@ -27025,7 +27020,7 @@ function PostDateEdit(_ref) {
}, },
setAttributes setAttributes
} = _ref; } = _ref;
const isDescendentOfQueryLoop = !!queryId; const isDescendentOfQueryLoop = Number.isFinite(queryId);
const [siteFormat] = Object(external_wp_coreData_["useEntityProp"])('root', 'site', 'date_format'); const [siteFormat] = Object(external_wp_coreData_["useEntityProp"])('root', 'site', 'date_format');
const [date, setDate] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'date', postId); const [date, setDate] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'date', postId);
@ -27300,7 +27295,7 @@ function PostExcerptEditor(_ref) {
queryId queryId
} }
} = _ref; } = _ref;
const isDescendentOfQueryLoop = !!queryId; const isDescendentOfQueryLoop = Number.isFinite(queryId);
const userCanEdit = useCanEditEntity('postType', postType, postId); const userCanEdit = useCanEditEntity('postType', postType, postId);
const isEditable = userCanEdit && !isDescendentOfQueryLoop; const isEditable = userCanEdit && !isDescendentOfQueryLoop;
const [rawExcerpt, setExcerpt, { const [rawExcerpt, setExcerpt, {
@ -27590,7 +27585,7 @@ function PostFeaturedImageDisplay(_ref) {
queryId queryId
} }
} = _ref; } = _ref;
const isDescendentOfQueryLoop = !!queryId; const isDescendentOfQueryLoop = Number.isFinite(queryId);
const { const {
isLink, isLink,
height, height,
@ -28510,7 +28505,7 @@ function PostTitleEdit(_ref) {
} }
} = _ref; } = _ref;
const TagName = 0 === level ? 'p' : 'h' + level; const TagName = 0 === level ? 'p' : 'h' + level;
const isDescendentOfQueryLoop = !!queryId; const isDescendentOfQueryLoop = Number.isFinite(queryId);
const userCanEdit = useCanEditEntity('postType', postType, postId); const userCanEdit = useCanEditEntity('postType', postType, postId);
const [rawTitle = '', setTitle, fullTitle] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'title', postId); const [rawTitle = '', setTitle, fullTitle] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'title', postId);
const [link] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'link', postId); const [link] = Object(external_wp_coreData_["useEntityProp"])('postType', postType, 'link', postId);
@ -33641,7 +33636,8 @@ const SiteLogo = _ref => {
width, width,
height, height,
isLink, isLink,
linkTarget linkTarget,
shouldSyncIcon
}, },
containerRef, containerRef,
isSelected, isSelected,
@ -33649,7 +33645,10 @@ const SiteLogo = _ref => {
setLogo, setLogo,
logoUrl, logoUrl,
siteUrl, siteUrl,
logoId logoId,
iconId,
setIcon,
canUserEdit
} = _ref; } = _ref;
const clientWidth = useClientWidth(containerRef, [align]); const clientWidth = useClientWidth(containerRef, [align]);
const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium'); const isLargeViewport = Object(external_wp_compose_["useViewportMatch"])('medium');
@ -33680,6 +33679,16 @@ const SiteLogo = _ref => {
...Object(external_lodash_["pick"])(getSettings(), ['imageEditing', 'maxWidth']) ...Object(external_lodash_["pick"])(getSettings(), ['imageEditing', 'maxWidth'])
}; };
}, []); }, []);
Object(external_wp_element_["useEffect"])(() => {
// Turn the `Use as site icon` toggle off if it is on but the logo and icon have
// fallen out of sync. This can happen if the toggle is saved in the `on` position,
// but changes are later made to the site icon in the Customizer.
if (shouldSyncIcon && logoId !== iconId) {
setAttributes({
shouldSyncIcon: false
});
}
}, []);
Object(external_wp_element_["useEffect"])(() => { Object(external_wp_element_["useEffect"])(() => {
if (!isSelected) { if (!isSelected) {
setIsEditingImage(false); setIsEditingImage(false);
@ -33828,6 +33837,14 @@ const SiteLogo = _ref => {
}); });
} }
}, imgWrapper); }, imgWrapper);
const syncSiteIconHelpText = Object(external_wp_element_["createInterpolateElement"])(Object(external_wp_i18n_["__"])('Site Icons are what you see in browser tabs, bookmark bars, and within the WordPress mobile apps. To use a custom icon that is different from your site logo, use the <a>Site Icon settings</a>.'), {
a: // eslint-disable-next-line jsx-a11y/anchor-has-content
Object(external_wp_element_["createElement"])("a", {
href: siteUrl + '/wp-admin/customize.php?autofocus[section]=title_tagline',
target: "_blank",
rel: "noopener noreferrer"
})
});
return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], { return Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["InspectorControls"], null, Object(external_wp_element_["createElement"])(external_wp_components_["PanelBody"], {
title: Object(external_wp_i18n_["__"])('Settings') title: Object(external_wp_i18n_["__"])('Settings')
}, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], { }, Object(external_wp_element_["createElement"])(external_wp_components_["RangeControl"], {
@ -33852,6 +33869,16 @@ const SiteLogo = _ref => {
linkTarget: value ? '_blank' : '_self' linkTarget: value ? '_blank' : '_self'
}), }),
checked: linkTarget === '_blank' checked: linkTarget === '_blank'
})), canUserEdit && Object(external_wp_element_["createElement"])(external_wp_element_["Fragment"], null, Object(external_wp_element_["createElement"])(external_wp_components_["ToggleControl"], {
label: Object(external_wp_i18n_["__"])('Use as site icon'),
onChange: value => {
setAttributes({
shouldSyncIcon: value
});
setIcon(value ? logoId : undefined);
},
checked: !!shouldSyncIcon,
help: syncSiteIconHelpText
})))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], { })))), Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockControls"], {
group: "block" group: "block"
}, canEditImage && !isEditingImage && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], { }, canEditImage && !isEditingImage && Object(external_wp_element_["createElement"])(external_wp_components_["ToolbarButton"], {
@ -33869,7 +33896,9 @@ function LogoEdit(_ref2) {
isSelected isSelected
} = _ref2; } = _ref2;
const { const {
width className: styleClass,
width,
shouldSyncIcon
} = attributes; } = attributes;
const [logoUrl, setLogoUrl] = Object(external_wp_element_["useState"])(); const [logoUrl, setLogoUrl] = Object(external_wp_element_["useState"])();
const ref = Object(external_wp_element_["useRef"])(); const ref = Object(external_wp_element_["useRef"])();
@ -33877,6 +33906,7 @@ function LogoEdit(_ref2) {
siteLogoId, siteLogoId,
canUserEdit, canUserEdit,
url, url,
siteIconId,
mediaItemData, mediaItemData,
isRequestingMediaItem isRequestingMediaItem
} = Object(external_wp_data_["useSelect"])(select => { } = Object(external_wp_data_["useSelect"])(select => {
@ -33896,6 +33926,8 @@ function LogoEdit(_ref2) {
const _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo; const _siteLogoId = _canUserEdit ? _siteLogo : _readOnlyLogo;
const _siteIconId = siteSettings === null || siteSettings === void 0 ? void 0 : siteSettings.site_icon;
const mediaItem = _siteLogoId && select(external_wp_coreData_["store"]).getMedia(_siteLogoId, { const mediaItem = _siteLogoId && select(external_wp_coreData_["store"]).getMedia(_siteLogoId, {
context: 'view' context: 'view'
}); });
@ -33913,16 +33945,55 @@ function LogoEdit(_ref2) {
url: mediaItem.source_url, url: mediaItem.source_url,
alt: mediaItem.alt_text alt: mediaItem.alt_text
}, },
isRequestingMediaItem: _isRequestingMediaItem isRequestingMediaItem: _isRequestingMediaItem,
siteIconId: _siteIconId
}; };
}, []); }, []);
const {
getGlobalBlockCount
} = Object(external_wp_data_["useSelect"])(external_wp_blockEditor_["store"]);
const { const {
editEntityRecord editEntityRecord
} = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]); } = Object(external_wp_data_["useDispatch"])(external_wp_coreData_["store"]);
Object(external_wp_element_["useEffect"])(() => {
// Cleanup function to discard unsaved changes to the icon and logo when
// the block is removed.
return () => {
// Do nothing if the block is being rendered in the styles preview or the
// block inserter.
if (styleClass !== null && styleClass !== void 0 && styleClass.includes('block-editor-block-types-list__site-logo-example') || styleClass !== null && styleClass !== void 0 && styleClass.includes('block-editor-block-styles__block-preview-container')) {
return;
}
const setLogo = newValue => editEntityRecord('root', 'site', undefined, { const logoBlockCount = getGlobalBlockCount('core/site-logo'); // Only discard unsaved changes if we are removing the last Site Logo block
// on the page.
if (logoBlockCount === 0) {
editEntityRecord('root', 'site', undefined, {
site_logo: undefined,
site_icon: undefined
});
}
};
}, []);
const setLogo = function (newValue) {
let shouldForceSync = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
// `shouldForceSync` is used to force syncing when the attribute
// may not have updated yet.
if (shouldSyncIcon || shouldForceSync) {
setIcon(newValue);
}
editEntityRecord('root', 'site', undefined, {
site_logo: newValue site_logo: newValue
}); });
};
const setIcon = newValue => editEntityRecord('root', 'site', undefined, {
site_icon: newValue
});
let alt = null; let alt = null;
@ -33934,7 +34005,26 @@ function LogoEdit(_ref2) {
} }
} }
const onSelectLogo = media => { const onInitialSelectLogo = media => {
// Initialize the syncSiteIcon toggle. If we currently have no Site logo and no
// site icon, automatically sync the logo to the icon.
if (shouldSyncIcon === undefined) {
const shouldForceSync = !siteIconId;
setAttributes({
shouldSyncIcon: shouldForceSync
}); // Because we cannot rely on the `shouldSyncIcon` attribute to have updated by
// the time `setLogo` is called, pass an argument to force the syncing.
onSelectLogo(media, shouldForceSync);
return;
}
onSelectLogo(media);
};
const onSelectLogo = function (media) {
let shouldForceSync = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
if (!media) { if (!media) {
return; return;
} }
@ -33946,7 +34036,7 @@ function LogoEdit(_ref2) {
return; return;
} }
setLogo(media.id); setLogo(media.id, shouldForceSync);
}; };
const onRemoveLogo = () => { const onRemoveLogo = () => {
@ -33996,7 +34086,10 @@ function LogoEdit(_ref2) {
logoUrl: logoUrl, logoUrl: logoUrl,
setLogo: setLogo, setLogo: setLogo,
logoId: (mediaItemData === null || mediaItemData === void 0 ? void 0 : mediaItemData.id) || siteLogoId, logoId: (mediaItemData === null || mediaItemData === void 0 ? void 0 : mediaItemData.id) || siteLogoId,
siteUrl: url siteUrl: url,
setIcon: setIcon,
iconId: siteIconId,
canUserEdit: canUserEdit
}); });
} }
@ -34031,7 +34124,7 @@ function LogoEdit(_ref2) {
}, isLoading && Object(external_wp_element_["createElement"])("span", { }, isLoading && Object(external_wp_element_["createElement"])("span", {
className: "components-placeholder__preview" className: "components-placeholder__preview"
}, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null))), !logoUrl && canUserEdit && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], { }, Object(external_wp_element_["createElement"])(external_wp_components_["Spinner"], null))), !logoUrl && canUserEdit && Object(external_wp_element_["createElement"])(external_wp_blockEditor_["MediaPlaceholder"], {
onSelect: onSelectLogo, onSelect: onInitialSelectLogo,
accept: ACCEPT_MEDIA_STRING, accept: ACCEPT_MEDIA_STRING,
allowedTypes: site_logo_edit_ALLOWED_MEDIA_TYPES, allowedTypes: site_logo_edit_ALLOWED_MEDIA_TYPES,
onError: onUploadError, onError: onUploadError,
@ -34081,12 +34174,16 @@ const site_logo_metadata = {
linkTarget: { linkTarget: {
type: "string", type: "string",
"default": "_self" "default": "_self"
},
shouldSyncIcon: {
type: "boolean"
} }
}, },
example: { example: {
viewportWidth: 500, viewportWidth: 500,
attributes: { attributes: {
width: 350 width: 350,
className: "block-editor-block-types-list__site-logo-example"
} }
}, },
supports: { supports: {
@ -39554,7 +39651,31 @@ const template_part_settings = {
edit: TemplatePartEdit edit: TemplatePartEdit
}; // Importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects }; // Importing this file includes side effects. This is whitelisted in block-library/package.json under sideEffects
Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/template-part', enhanceTemplatePartVariations); Object(external_wp_hooks_["addFilter"])('blocks.registerBlockType', 'core/template-part', enhanceTemplatePartVariations); // Prevent adding template parts inside post templates.
const DISALLOWED_PARENTS = ['core/post-template', 'core/post-content'];
Object(external_wp_hooks_["addFilter"])('blockEditor.__unstableCanInsertBlockType', 'removeTemplatePartsFromPostTemplates', (can, blockType, rootClientId, _ref2) => {
let {
getBlock,
getBlockParentsByBlockName
} = _ref2;
if (blockType.name !== 'core/template-part') {
return can;
}
for (const disallowedParentType of DISALLOWED_PARENTS) {
var _getBlock;
const hasDisallowedParent = ((_getBlock = getBlock(rootClientId)) === null || _getBlock === void 0 ? void 0 : _getBlock.name) === disallowedParentType || getBlockParentsByBlockName(rootClientId, disallowedParentType).length;
if (hasDisallowedParent) {
return false;
}
}
return true;
});
// CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/term-description.js // CONCATENATED MODULE: ./node_modules/@wordpress/icons/build-module/library/term-description.js

File diff suppressed because one or more lines are too long

View File

@ -41251,7 +41251,7 @@ const NameContainer = Object(emotion_styled_base_browser_esm["a" /* default */])
} : undefined)("line-height:", space(8), ";margin-left:", space(2), ";margin-right:", space(2), ";white-space:nowrap;overflow:hidden;" + ( true ? "" : undefined)); } : undefined)("line-height:", space(8), ";margin-left:", space(2), ";margin-right:", space(2), ";white-space:nowrap;overflow:hidden;" + ( true ? "" : undefined));
const PaletteHeading = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(heading_component, true ? { const PaletteHeading = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(heading_component, true ? {
target: "e5bw3225" target: "e5bw3225"
} : undefined)("text-transform:uppercase;line-height:", space(6), ";&&&{margin-bottom:0;}" + ( true ? "" : undefined)); } : undefined)("text-transform:uppercase;line-height:", space(6), ";font-weight:500;&&&{font-size:11px;margin-bottom:0;}" + ( true ? "" : undefined));
const PaletteActionsContainer = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(view_component["a" /* default */], true ? { const PaletteActionsContainer = /*#__PURE__*/Object(emotion_styled_base_browser_esm["a" /* default */])(view_component["a" /* default */], true ? {
target: "e5bw3224" target: "e5bw3224"
} : undefined)("height:", space(6), ";display:flex;" + ( true ? "" : undefined)); } : undefined)("height:", space(6), ";display:flex;" + ( true ? "" : undefined));
@ -51484,13 +51484,14 @@ const FONT_SIZES_ALIASES = ['1', '2', '3', '4', '5'];
*/ */
function splitValueAndUnitFromSize(size) { function splitValueAndUnitFromSize(size) {
/** const [numericValue, unit] = `${size}`.match(/[\d\.]+|\D+/g);
* The first matched result is ignored as it's the left
* hand side of the capturing group in the regex. if (!isNaN(parseFloat(numericValue)) && isFinite(numericValue)) {
*/
const [, numericValue, unit] = size.split(/(\d+)/);
return [numericValue, unit]; return [numericValue, unit];
} }
return [];
}
/** /**
* Some themes use css vars for their font sizes, so until we * Some themes use css vars for their font sizes, so until we
* have the way of calculating them don't display them. * have the way of calculating them don't display them.
@ -51500,7 +51501,7 @@ function splitValueAndUnitFromSize(size) {
*/ */
function isSimpleCssValue(value) { function isSimpleCssValue(value) {
const sizeRegex = /^(?!0)\d+(px|em|rem|vw|vh|%)?$/i; const sizeRegex = /^[\d\.]+(px|em|rem|vw|vh|%)?$/i;
return sizeRegex.test(value); return sizeRegex.test(value);
} }
/** /**
@ -51534,7 +51535,7 @@ function getSelectOptions(optionsArray, disableCustomFontSizes) {
key: slug, key: slug,
name, name,
size, size,
__experimentalHint: size && isSimpleCssValue(size) && parseInt(size) __experimentalHint: size && isSimpleCssValue(size) && parseFloat(size)
}; };
}); });
} }
@ -58858,20 +58859,28 @@ const DEFAULT_COLUMNS = 2;
const generateMenuItems = _ref => { const generateMenuItems = _ref => {
let { let {
panelItems, panelItems,
shouldReset shouldReset,
currentMenuItems
} = _ref; } = _ref;
const menuItems = { const menuItems = {
default: {}, default: {},
optional: {} optional: {}
}; };
panelItems.forEach(_ref2 => { panelItems.forEach(_ref2 => {
var _currentMenuItems$gro;
let { let {
hasValue, hasValue,
isShownByDefault, isShownByDefault,
label label
} = _ref2; } = _ref2;
const group = isShownByDefault ? 'default' : 'optional'; const group = isShownByDefault ? 'default' : 'optional'; // If a menu item for this label already exists, do not overwrite its value.
menuItems[group][label] = shouldReset ? false : hasValue(); // This can cause default controls that have been flagged as customized to
// lose their value.
const existingItemValue = currentMenuItems === null || currentMenuItems === void 0 ? void 0 : (_currentMenuItems$gro = currentMenuItems[group]) === null || _currentMenuItems$gro === void 0 ? void 0 : _currentMenuItems$gro[label];
const value = existingItemValue !== undefined ? existingItemValue : hasValue();
menuItems[group][label] = shouldReset ? false : value;
}); });
return menuItems; return menuItems;
}; };
@ -58900,7 +58909,19 @@ function useToolsPanel(props) {
const [panelItems, setPanelItems] = Object(external_wp_element_["useState"])([]); const [panelItems, setPanelItems] = Object(external_wp_element_["useState"])([]);
const registerPanelItem = item => { const registerPanelItem = item => {
setPanelItems(items => [...items, item]); setPanelItems(items => {
const newItems = [...items]; // If an item with this label is already registered, remove it first.
// This can happen when an item is moved between the default and optional
// groups.
const existingIndex = newItems.findIndex(oldItem => oldItem.label === item.label);
if (existingIndex !== -1) {
newItems.splice(existingIndex, 1);
}
return [...newItems, item];
});
}; // Panels need to deregister on unmount to avoid orphans in menu state. }; // Panels need to deregister on unmount to avoid orphans in menu state.
// This is an issue when panel items are being injected via SlotFills. // This is an issue when panel items are being injected via SlotFills.
@ -58910,11 +58931,16 @@ function useToolsPanel(props) {
// controls, e.g. both panels have a "padding" control, the // controls, e.g. both panels have a "padding" control, the
// deregistration of the first panel doesn't occur until after the // deregistration of the first panel doesn't occur until after the
// registration of the next. // registration of the next.
const index = panelItems.findIndex(item => item.label === label); setPanelItems(items => {
const newItems = [...items];
const index = newItems.findIndex(item => item.label === label);
if (index !== -1) { if (index !== -1) {
setPanelItems(items => items.splice(index, 1)); newItems.splice(index, 1);
} }
return newItems;
});
}; // Manage and share display state of menu items representing child controls. }; // Manage and share display state of menu items representing child controls.
@ -58924,22 +58950,28 @@ function useToolsPanel(props) {
}); // Setup menuItems state as panel items register themselves. }); // Setup menuItems state as panel items register themselves.
Object(external_wp_element_["useEffect"])(() => { Object(external_wp_element_["useEffect"])(() => {
setMenuItems(prevState => {
const items = generateMenuItems({ const items = generateMenuItems({
panelItems, panelItems,
shouldReset: false shouldReset: false,
currentMenuItems: prevState
});
return items;
}); });
setMenuItems(items);
}, [panelItems]); // Force a menu item to be checked. }, [panelItems]); // Force a menu item to be checked.
// This is intended for use with default panel items. They are displayed // This is intended for use with default panel items. They are displayed
// separately to optional items and have different display states, // separately to optional items and have different display states,
//.we need to update that when their value is customized. // we need to update that when their value is customized.
const flagItemCustomization = function (label) { const flagItemCustomization = function (label) {
let group = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default'; let group = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'default';
setMenuItems({ ...menuItems, setMenuItems(items => {
[group]: { ...menuItems[group], const newState = { ...items,
[group]: { ...items[group],
[label]: true [label]: true
} }
};
return newState;
}); });
}; // Whether all optional menu items are hidden or not must be tracked }; // Whether all optional menu items are hidden or not must be tracked
// in order to later determine if the panel display is empty and handle // in order to later determine if the panel display is empty and handle

File diff suppressed because one or more lines are too long

View File

@ -3746,12 +3746,12 @@ var external_wp_blockLibrary_ = __webpack_require__("QyPg");
// EXTERNAL MODULE: external ["wp","data"] // EXTERNAL MODULE: external ["wp","data"]
var external_wp_data_ = __webpack_require__("1ZqX"); var external_wp_data_ = __webpack_require__("1ZqX");
// EXTERNAL MODULE: ./node_modules/@wordpress/interface/build-module/index.js + 17 modules
var build_module = __webpack_require__("U60i");
// EXTERNAL MODULE: external ["wp","hooks"] // EXTERNAL MODULE: external ["wp","hooks"]
var external_wp_hooks_ = __webpack_require__("g56x"); var external_wp_hooks_ = __webpack_require__("g56x");
// EXTERNAL MODULE: ./node_modules/@wordpress/interface/build-module/index.js + 17 modules
var build_module = __webpack_require__("U60i");
// EXTERNAL MODULE: external ["wp","mediaUtils"] // EXTERNAL MODULE: external ["wp","mediaUtils"]
var external_wp_mediaUtils_ = __webpack_require__("6aBm"); var external_wp_mediaUtils_ = __webpack_require__("6aBm");
@ -5918,17 +5918,23 @@ function ModeSwitcher() {
shortcut, shortcut,
isRichEditingEnabled, isRichEditingEnabled,
isCodeEditingEnabled, isCodeEditingEnabled,
isEditingTemplate,
mode mode
} = Object(external_wp_data_["useSelect"])(select => ({ } = Object(external_wp_data_["useSelect"])(select => ({
shortcut: select(external_wp_keyboardShortcuts_["store"]).getShortcutRepresentation('core/edit-post/toggle-mode'), shortcut: select(external_wp_keyboardShortcuts_["store"]).getShortcutRepresentation('core/edit-post/toggle-mode'),
isRichEditingEnabled: select(external_wp_editor_["store"]).getEditorSettings().richEditingEnabled, isRichEditingEnabled: select(external_wp_editor_["store"]).getEditorSettings().richEditingEnabled,
isCodeEditingEnabled: select(external_wp_editor_["store"]).getEditorSettings().codeEditingEnabled, isCodeEditingEnabled: select(external_wp_editor_["store"]).getEditorSettings().codeEditingEnabled,
isEditingTemplate: select(store["a" /* store */]).isEditingTemplate(),
mode: select(store["a" /* store */]).getEditorMode() mode: select(store["a" /* store */]).getEditorMode()
}), []); }), []);
const { const {
switchEditorMode switchEditorMode
} = Object(external_wp_data_["useDispatch"])(store["a" /* store */]); } = Object(external_wp_data_["useDispatch"])(store["a" /* store */]);
if (isEditingTemplate) {
return null;
}
if (!isRichEditingEnabled || !isCodeEditingEnabled) { if (!isRichEditingEnabled || !isCodeEditingEnabled) {
return null; return null;
} }
@ -9571,6 +9577,7 @@ function PluginSidebarMoreMenuItem(props) {
/** /**
* Internal dependencies * Internal dependencies
*/ */
@ -9578,6 +9585,7 @@ function PluginSidebarMoreMenuItem(props) {
/** /**
* Reinitializes the editor after the user chooses to reboot the editor after * Reinitializes the editor after the user chooses to reboot the editor after
* an unhandled error occurs, replacing previously mounted editor element using * an unhandled error occurs, replacing previously mounted editor element using
@ -9617,6 +9625,15 @@ function reinitializeEditor(postType, postId, target, settings, initialEdits) {
*/ */
function initializeEditor(id, postType, postId, settings, initialEdits) { function initializeEditor(id, postType, postId, settings, initialEdits) {
// Prevent adding template part in the post editor.
// Only add the filter when the post editor is initialized, not imported.
Object(external_wp_hooks_["addFilter"])('blockEditor.__unstableCanInsertBlockType', 'removeTemplatePartsFromInserter', (can, blockType) => {
if (!Object(external_wp_data_["select"])(store["a" /* store */]).isEditingTemplate() && blockType.name === 'core/template-part') {
return false;
}
return can;
});
const target = document.getElementById(id); const target = document.getElementById(id);
const reboot = reinitializeEditor.bind(null, postType, postId, target, settings, initialEdits); const reboot = reinitializeEditor.bind(null, postType, postId, target, settings, initialEdits);
Object(external_wp_data_["dispatch"])(build_module["i" /* store */]).setFeatureDefaults('core/edit-post', { Object(external_wp_data_["dispatch"])(build_module["i" /* store */]).setFeatureDefaults('core/edit-post', {

File diff suppressed because one or more lines are too long

View File

@ -488,7 +488,7 @@ function SiteExport() {
icon: library_download, icon: library_download,
onClick: handleExport, onClick: handleExport,
info: Object(external_wp_i18n_["__"])('Download your templates and template parts.') info: Object(external_wp_i18n_["__"])('Download your templates and template parts.')
}, Object(external_wp_i18n_["__"])('Export')); }, Object(external_wp_i18n_["_x"])('Export', 'site exporter menu item'));
} }
// EXTERNAL MODULE: external ["wp","dataControls"] // EXTERNAL MODULE: external ["wp","dataControls"]
@ -530,23 +530,18 @@ const TEMPLATES_TOP_LEVEL = [...TEMPLATES_PRIMARY, ...TEMPLATES_SECONDARY];
const TEMPLATES_GENERAL = ['page-home']; const TEMPLATES_GENERAL = ['page-home'];
const TEMPLATES_POSTS_PREFIXES = ['post-', 'author-', 'single-post-', 'tag-']; const TEMPLATES_POSTS_PREFIXES = ['post-', 'author-', 'single-post-', 'tag-'];
const TEMPLATES_PAGES_PREFIXES = ['page-']; const TEMPLATES_PAGES_PREFIXES = ['page-'];
const TEMPLATES_NEW_OPTIONS = ['front-page', 'single-post', 'page', 'archive', 'search', '404', 'index'];
const TEMPLATE_OVERRIDES = { const TEMPLATE_OVERRIDES = {
singular: ['single', 'page'], singular: ['single', 'page'],
index: ['archive', '404', 'search', 'singular', 'home'], index: ['archive', '404', 'search', 'singular', 'home'],
home: ['front-page'] home: ['front-page']
}; };
const MENU_ROOT = 'root'; const MENU_ROOT = 'root';
const MENU_CONTENT_CATEGORIES = 'content-categories';
const MENU_CONTENT_PAGES = 'content-pages';
const MENU_CONTENT_POSTS = 'content-posts';
const MENU_TEMPLATE_PARTS = 'template-parts'; const MENU_TEMPLATE_PARTS = 'template-parts';
const MENU_TEMPLATES = 'templates'; const MENU_TEMPLATES = 'templates';
const MENU_TEMPLATES_GENERAL = 'templates-general'; const MENU_TEMPLATES_GENERAL = 'templates-general';
const MENU_TEMPLATES_PAGES = 'templates-pages'; const MENU_TEMPLATES_PAGES = 'templates-pages';
const MENU_TEMPLATES_POSTS = 'templates-posts'; const MENU_TEMPLATES_POSTS = 'templates-posts';
const MENU_TEMPLATES_UNUSED = 'templates-unused'; const MENU_TEMPLATES_UNUSED = 'templates-unused';
const SEARCH_DEBOUNCE_IN_MS = 75;
const MENU_TEMPLATE_PARTS_HEADERS = 'template-parts-headers'; const MENU_TEMPLATE_PARTS_HEADERS = 'template-parts-headers';
const MENU_TEMPLATE_PARTS_FOOTERS = 'template-parts-footers'; const MENU_TEMPLATE_PARTS_FOOTERS = 'template-parts-footers';
const MENU_TEMPLATE_PARTS_SIDEBARS = 'template-parts-sidebars'; const MENU_TEMPLATE_PARTS_SIDEBARS = 'template-parts-sidebars';
@ -6264,14 +6259,41 @@ function ResizableEditor(_ref) {
return; return;
} }
const resizeObserver = new iframe.contentWindow.ResizeObserver(() => { let animationFrame = null;
setHeight(iframe.contentDocument.querySelector(`.edit-site-block-editor__block-list`).offsetHeight);
}); // Observing the <html> rather than the <body> because the latter function resizeHeight() {
if (!animationFrame) {
// Throttle the updates on animation frame.
animationFrame = iframe.contentWindow.requestAnimationFrame(() => {
setHeight(iframe.contentDocument.documentElement.scrollHeight);
animationFrame = null;
});
}
}
let resizeObserver;
function registerObserver() {
var _resizeObserver;
(_resizeObserver = resizeObserver) === null || _resizeObserver === void 0 ? void 0 : _resizeObserver.disconnect();
resizeObserver = new iframe.contentWindow.ResizeObserver(resizeHeight); // Observing the <html> rather than the <body> because the latter
// gets destroyed and remounted after initialization in <Iframe>. // gets destroyed and remounted after initialization in <Iframe>.
resizeObserver.observe(iframe.contentDocument.documentElement); resizeObserver.observe(iframe.contentDocument.documentElement);
resizeHeight();
} // This is only required in Firefox for some unknown reasons.
iframe.addEventListener('load', registerObserver); // This is required in Chrome and Safari.
registerObserver();
return () => { return () => {
resizeObserver.disconnect(); var _iframe$contentWindow, _resizeObserver2;
(_iframe$contentWindow = iframe.contentWindow) === null || _iframe$contentWindow === void 0 ? void 0 : _iframe$contentWindow.cancelAnimationFrame(animationFrame);
(_resizeObserver2 = resizeObserver) === null || _resizeObserver2 === void 0 ? void 0 : _resizeObserver2.disconnect();
iframe.removeEventListener('load', registerObserver);
}; };
}, [enableResizing]); }, [enableResizing]);
const resizeWidthBy = Object(external_wp_element_["useCallback"])(deltaPixels => { const resizeWidthBy = Object(external_wp_element_["useCallback"])(deltaPixels => {
@ -6320,7 +6342,10 @@ function ResizableEditor(_ref) {
styles: settings.styles styles: settings.styles
}), Object(external_wp_element_["createElement"])("style", null, // Forming a "block formatting context" to prevent margin collapsing. }), Object(external_wp_element_["createElement"])("style", null, // Forming a "block formatting context" to prevent margin collapsing.
// @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context // @see https://developer.mozilla.org/en-US/docs/Web/Guide/CSS/Block_formatting_context
`.edit-site-block-editor__block-list { display: flow-root; }`)), `.is-root-container { display: flow-root; }`), enableResizing && Object(external_wp_element_["createElement"])("style", null, // Force the <html> and <body>'s heights to fit the content.
`html, body { height: -moz-fit-content !important; height: fit-content !important; min-height: 0 !important; }`, // Some themes will have `min-height: 100vh` for the root container,
// which isn't a requirement in auto resize mode.
`.is-root-container { min-height: 0 !important; }`)),
ref: ref, ref: ref,
name: "editor-canvas", name: "editor-canvas",
className: "edit-site-visual-editor__editor-canvas" className: "edit-site-visual-editor__editor-canvas"
@ -6418,7 +6443,7 @@ function BlockEditor(_ref) {
clearSelectedBlock(); clearSelectedBlock();
} }
} }
}, Object(external_wp_element_["createElement"])(back_button, null), Object(external_wp_element_["createElement"])(resizable_editor // Reinitialize the editor and reset the states when the template changes. }, Object(external_wp_element_["createElement"])(external_wp_blockEditor_["BlockEditorKeyboardShortcuts"].Register, null), Object(external_wp_element_["createElement"])(back_button, null), Object(external_wp_element_["createElement"])(resizable_editor // Reinitialize the editor and reset the states when the template changes.
, { , {
key: templateId, key: templateId,
enableResizing: isTemplatePart && // Disable resizing in mobile viewport. enableResizing: isTemplatePart && // Disable resizing in mobile viewport.

File diff suppressed because one or more lines are too long

View File

@ -5267,6 +5267,7 @@ const TRANSLATED_SITE_PROPERTIES = {
title: Object(external_wp_i18n_["__"])('Title'), title: Object(external_wp_i18n_["__"])('Title'),
description: Object(external_wp_i18n_["__"])('Tagline'), description: Object(external_wp_i18n_["__"])('Tagline'),
site_logo: Object(external_wp_i18n_["__"])('Logo'), site_logo: Object(external_wp_i18n_["__"])('Logo'),
site_icon: Object(external_wp_i18n_["__"])('Icon'),
show_on_front: Object(external_wp_i18n_["__"])('Show on front'), show_on_front: Object(external_wp_i18n_["__"])('Show on front'),
page_on_front: Object(external_wp_i18n_["__"])('Page on front') page_on_front: Object(external_wp_i18n_["__"])('Page on front')
}; };

File diff suppressed because one or more lines are too long

View File

@ -307,6 +307,14 @@ function ServerSideRender(props) {
const hasEmptyResponse = response === ''; const hasEmptyResponse = response === '';
const hasError = response === null || response === void 0 ? void 0 : response.error; const hasError = response === null || response === void 0 ? void 0 : response.error;
if (isLoading) {
return Object(external_wp_element_["createElement"])(LoadingResponsePlaceholder, Object(esm_extends["a" /* default */])({}, props, {
showLoader: showLoader
}), hasResponse && Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], {
className: className
}, response));
}
if (hasEmptyResponse || !hasResponse) { if (hasEmptyResponse || !hasResponse) {
return Object(external_wp_element_["createElement"])(EmptyResponsePlaceholder, props); return Object(external_wp_element_["createElement"])(EmptyResponsePlaceholder, props);
} }
@ -317,14 +325,6 @@ function ServerSideRender(props) {
}, props)); }, props));
} }
if (isLoading) {
return Object(external_wp_element_["createElement"])(LoadingResponsePlaceholder, Object(esm_extends["a" /* default */])({}, props, {
showLoader: showLoader
}), hasResponse && Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], {
className: className
}, response));
}
return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], { return Object(external_wp_element_["createElement"])(external_wp_element_["RawHTML"], {
className: className className: className
}, response); }, response);

View File

@ -1,2 +1,2 @@
/*! This file is auto-generated */ /*! This file is auto-generated */
this.wp=this.wp||{},this.wp.serverSideRender=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="4dqW")}({"1ZqX":function(e,t){e.exports=window.wp.data},"4dqW":function(e,t,r){"use strict";r.r(t);var n=r("wx14"),o=r("GRId"),c=r("1ZqX"),u=r("NMb1"),l=r.n(u),s=r("YLtl"),i=r("K9lf"),a=r("l3Sj"),d=r("ywyh"),p=r.n(d),f=r("Mmq9"),b=r("tI+e"),w=r("HSyU");function O(e){let{className:t}=e;return Object(o.createElement)(b.Placeholder,{className:t},Object(a.__)("Block rendered as empty."))}function j(e){let{response:t,className:r}=e;const n=Object(a.sprintf)(Object(a.__)("Error loading block: %s"),t.errorMsg);return Object(o.createElement)(b.Placeholder,{className:r},n)}function m(e){let{children:t,showLoader:r}=e;return Object(o.createElement)("div",{style:{position:"relative"}},r&&Object(o.createElement)("div",{style:{position:"absolute",top:"50%",left:"50%",marginTop:"-9px",marginLeft:"-9px"}},Object(o.createElement)(b.Spinner,null)),Object(o.createElement)("div",{style:{opacity:r?"0.3":1}},t))}function y(e){const{attributes:t,block:r,className:c,httpMethod:u="GET",urlQueryArgs:l,EmptyResponsePlaceholder:a=O,ErrorResponsePlaceholder:d=j,LoadingResponsePlaceholder:b=m}=e,y=Object(o.useRef)(!0),[h,v]=Object(o.useState)(!1),S=Object(o.useRef)(),[g,E]=Object(o.useState)(null),x=Object(i.usePrevious)(e),[P,M]=Object(o.useState)(!1);function R(){if(!y.current)return;M(!0);const e=t&&Object(w.__experimentalSanitizeBlockAttributes)(r,t),n="POST"===u,o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(f.addQueryArgs)("/wp/v2/block-renderer/"+e,{context:"edit",...null!==t?{attributes:t}:{},...r})}(r,n?null:null!=e?e:null,l),c=n?{attributes:null!=e?e:null}:null,s=S.current=p()({path:o,data:c,method:n?"POST":"GET"}).then(e=>{y.current&&s===S.current&&e&&E(e.rendered)}).catch(e=>{y.current&&s===S.current&&E({error:!0,errorMsg:e.message})}).finally(()=>{y.current&&s===S.current&&M(!1)});return s}const _=Object(i.useDebounce)(R,500);Object(o.useEffect)(()=>()=>{y.current=!1},[]),Object(o.useEffect)(()=>{void 0===x?R():Object(s.isEqual)(x,e)||_()}),Object(o.useEffect)(()=>{if(!P)return;const e=setTimeout(()=>{v(!0)},1e3);return()=>clearTimeout(e)},[P]);const T=!!g,N=""===g,L=null==g?void 0:g.error;return N||!T?Object(o.createElement)(a,e):L?Object(o.createElement)(d,Object(n.a)({response:g},e)):P?Object(o.createElement)(b,Object(n.a)({},e,{showLoader:h}),T&&Object(o.createElement)(o.RawHTML,{className:c},g)):Object(o.createElement)(o.RawHTML,{className:c},g)}const h={},v=Object(c.withSelect)(e=>{const t=e("core/editor");if(t){const e=t.getCurrentPostId();if(e&&"number"==typeof e)return{currentPostId:e}}return h})(e=>{let{urlQueryArgs:t=h,currentPostId:r,...c}=e;const u=Object(o.useMemo)(()=>r?{post_id:r,...t}:t,[r,t]);return Object(o.createElement)(y,Object(n.a)({urlQueryArgs:u},c))});window&&window.wp&&window.wp.components&&(window.wp.components.ServerSideRender=Object(o.forwardRef)((e,t)=>(l()("wp.components.ServerSideRender",{since:"5.3",alternative:"wp.serverSideRender"}),Object(o.createElement)(v,Object(n.a)({},e,{ref:t})))));t.default=v},GRId:function(e,t){e.exports=window.wp.element},HSyU:function(e,t){e.exports=window.wp.blocks},K9lf:function(e,t){e.exports=window.wp.compose},Mmq9:function(e,t){e.exports=window.wp.url},NMb1:function(e,t){e.exports=window.wp.deprecated},YLtl:function(e,t){e.exports=window.lodash},l3Sj:function(e,t){e.exports=window.wp.i18n},"tI+e":function(e,t){e.exports=window.wp.components},wx14:function(e,t,r){"use strict";function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}r.d(t,"a",(function(){return n}))},ywyh:function(e,t){e.exports=window.wp.apiFetch}}).default; this.wp=this.wp||{},this.wp.serverSideRender=function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)r.d(n,o,function(t){return e[t]}.bind(null,o));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s="4dqW")}({"1ZqX":function(e,t){e.exports=window.wp.data},"4dqW":function(e,t,r){"use strict";r.r(t);var n=r("wx14"),o=r("GRId"),c=r("1ZqX"),u=r("NMb1"),l=r.n(u),s=r("YLtl"),i=r("K9lf"),a=r("l3Sj"),d=r("ywyh"),p=r.n(d),f=r("Mmq9"),b=r("tI+e"),w=r("HSyU");function O(e){let{className:t}=e;return Object(o.createElement)(b.Placeholder,{className:t},Object(a.__)("Block rendered as empty."))}function j(e){let{response:t,className:r}=e;const n=Object(a.sprintf)(Object(a.__)("Error loading block: %s"),t.errorMsg);return Object(o.createElement)(b.Placeholder,{className:r},n)}function m(e){let{children:t,showLoader:r}=e;return Object(o.createElement)("div",{style:{position:"relative"}},r&&Object(o.createElement)("div",{style:{position:"absolute",top:"50%",left:"50%",marginTop:"-9px",marginLeft:"-9px"}},Object(o.createElement)(b.Spinner,null)),Object(o.createElement)("div",{style:{opacity:r?"0.3":1}},t))}function y(e){const{attributes:t,block:r,className:c,httpMethod:u="GET",urlQueryArgs:l,EmptyResponsePlaceholder:a=O,ErrorResponsePlaceholder:d=j,LoadingResponsePlaceholder:b=m}=e,y=Object(o.useRef)(!0),[h,v]=Object(o.useState)(!1),S=Object(o.useRef)(),[g,E]=Object(o.useState)(null),x=Object(i.usePrevious)(e),[P,M]=Object(o.useState)(!1);function R(){if(!y.current)return;M(!0);const e=t&&Object(w.__experimentalSanitizeBlockAttributes)(r,t),n="POST"===u,o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return Object(f.addQueryArgs)("/wp/v2/block-renderer/"+e,{context:"edit",...null!==t?{attributes:t}:{},...r})}(r,n?null:null!=e?e:null,l),c=n?{attributes:null!=e?e:null}:null,s=S.current=p()({path:o,data:c,method:n?"POST":"GET"}).then(e=>{y.current&&s===S.current&&e&&E(e.rendered)}).catch(e=>{y.current&&s===S.current&&E({error:!0,errorMsg:e.message})}).finally(()=>{y.current&&s===S.current&&M(!1)});return s}const _=Object(i.useDebounce)(R,500);Object(o.useEffect)(()=>()=>{y.current=!1},[]),Object(o.useEffect)(()=>{void 0===x?R():Object(s.isEqual)(x,e)||_()}),Object(o.useEffect)(()=>{if(!P)return;const e=setTimeout(()=>{v(!0)},1e3);return()=>clearTimeout(e)},[P]);const T=!!g,N=""===g,L=null==g?void 0:g.error;return P?Object(o.createElement)(b,Object(n.a)({},e,{showLoader:h}),T&&Object(o.createElement)(o.RawHTML,{className:c},g)):N||!T?Object(o.createElement)(a,e):L?Object(o.createElement)(d,Object(n.a)({response:g},e)):Object(o.createElement)(o.RawHTML,{className:c},g)}const h={},v=Object(c.withSelect)(e=>{const t=e("core/editor");if(t){const e=t.getCurrentPostId();if(e&&"number"==typeof e)return{currentPostId:e}}return h})(e=>{let{urlQueryArgs:t=h,currentPostId:r,...c}=e;const u=Object(o.useMemo)(()=>r?{post_id:r,...t}:t,[r,t]);return Object(o.createElement)(y,Object(n.a)({urlQueryArgs:u},c))});window&&window.wp&&window.wp.components&&(window.wp.components.ServerSideRender=Object(o.forwardRef)((e,t)=>(l()("wp.components.ServerSideRender",{since:"5.3",alternative:"wp.serverSideRender"}),Object(o.createElement)(v,Object(n.a)({},e,{ref:t})))));t.default=v},GRId:function(e,t){e.exports=window.wp.element},HSyU:function(e,t){e.exports=window.wp.blocks},K9lf:function(e,t){e.exports=window.wp.compose},Mmq9:function(e,t){e.exports=window.wp.url},NMb1:function(e,t){e.exports=window.wp.deprecated},YLtl:function(e,t){e.exports=window.lodash},l3Sj:function(e,t){e.exports=window.wp.i18n},"tI+e":function(e,t){e.exports=window.wp.components},wx14:function(e,t,r){"use strict";function n(){return(n=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}r.d(t,"a",(function(){return n}))},ywyh:function(e,t){e.exports=window.wp.apiFetch}}).default;

View File

@ -781,7 +781,7 @@ class WP_REST_Templates_Controller extends WP_REST_Controller {
'context' => array( 'embed', 'view', 'edit' ), 'context' => array( 'embed', 'view', 'edit' ),
'required' => true, 'required' => true,
'minLength' => 1, 'minLength' => 1,
'pattern' => '[a-zA-Z_\-]+', 'pattern' => '[a-zA-Z0-9_\-]+',
), ),
'theme' => array( 'theme' => array(
'description' => __( 'Theme identifier for the template.' ), 'description' => __( 'Theme identifier for the template.' ),

View File

@ -16,7 +16,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.9-beta4-52433'; $wp_version = '5.9-beta4-52434';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.