]+wp-block-cover__inner-container[\s|"][^>]*>/U';
if ( 1 === preg_match( $inner_container_start, $content, $matches, PREG_OFFSET_CAPTURE ) ) {
$offset = $matches[0][1];
$content = substr( $content, 0, $offset ) . $image . substr( $content, $offset );
}
} else {
if ( in_the_loop() ) {
update_post_thumbnail_cache();
}
$current_featured_image = get_the_post_thumbnail_url();
if ( ! $current_featured_image ) {
return $content;
}
$processor = new WP_HTML_Tag_Processor( $content );
$processor->next_tag();
$styles = $processor->get_attribute( 'style' );
$merged_styles = ! empty( $styles ) ? $styles . ';' : '';
$merged_styles .= 'background-image:url(' . esc_url( $current_featured_image ) . ');';
$processor->set_attribute( 'style', $merged_styles );
$content = $processor->get_updated_html();
}
return $content;
}
/**
* Registers the `core/cover` block renderer on server.
*
* @since 6.0.0
*/
function register_block_core_cover() {
register_block_type_from_metadata(
__DIR__ . '/cover',
array(
'render_callback' => 'render_block_core_cover',
)
);
}
add_action( 'init', 'register_block_core_cover' );
column/block.json 0000644 00000003075 14717677151 0010053 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/column",
"title": "Column",
"category": "design",
"parent": [ "core/columns" ],
"description": "A single column within a columns block.",
"textdomain": "default",
"attributes": {
"verticalAlignment": {
"type": "string"
},
"width": {
"type": "string"
},
"allowedBlocks": {
"type": "array"
},
"templateLock": {
"type": [ "string", "boolean" ],
"enum": [ "all", "insert", "contentOnly", false ]
}
},
"supports": {
"__experimentalOnEnter": true,
"anchor": true,
"reusable": false,
"html": false,
"color": {
"gradients": true,
"heading": true,
"button": true,
"link": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"shadow": true,
"spacing": {
"blockGap": true,
"padding": true,
"__experimentalDefaultControls": {
"padding": true,
"blockGap": true
}
},
"__experimentalBorder": {
"color": true,
"style": true,
"width": true,
"__experimentalDefaultControls": {
"color": true,
"style": true,
"width": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"layout": true,
"interactivity": {
"clientNavigation": true
}
}
}
columns/editor-rtl.css 0000644 00000000240 14717677151 0011037 0 ustar 00 .wp-block-columns :where(.wp-block){
margin-left:0;
margin-right:0;
max-width:none;
}
html :where(.wp-block-column){
margin-bottom:0;
margin-top:0;
} columns/editor.css 0000644 00000000240 14717677151 0010240 0 ustar 00 .wp-block-columns :where(.wp-block){
margin-left:0;
margin-right:0;
max-width:none;
}
html :where(.wp-block-column){
margin-bottom:0;
margin-top:0;
} columns/block.json 0000644 00000003671 14717677151 0010240 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/columns",
"title": "Columns",
"category": "design",
"allowedBlocks": [ "core/column" ],
"description": "Display content in multiple columns, with blocks added to each column.",
"textdomain": "default",
"attributes": {
"verticalAlignment": {
"type": "string"
},
"isStackedOnMobile": {
"type": "boolean",
"default": true
},
"templateLock": {
"type": [ "string", "boolean" ],
"enum": [ "all", "insert", "contentOnly", false ]
}
},
"supports": {
"anchor": true,
"align": [ "wide", "full" ],
"html": false,
"color": {
"gradients": true,
"link": true,
"heading": true,
"button": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"spacing": {
"blockGap": {
"__experimentalDefault": "2em",
"sides": [ "horizontal", "vertical" ]
},
"margin": [ "top", "bottom" ],
"padding": true,
"__experimentalDefaultControls": {
"padding": true,
"blockGap": true
}
},
"layout": {
"allowSwitching": false,
"allowInheriting": false,
"allowEditing": false,
"default": {
"type": "flex",
"flexWrap": "nowrap"
}
},
"__experimentalBorder": {
"color": true,
"radius": true,
"style": true,
"width": true,
"__experimentalDefaultControls": {
"color": true,
"radius": true,
"style": true,
"width": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
},
"shadow": true
},
"editorStyle": "wp-block-columns-editor",
"style": "wp-block-columns"
}
columns/style-rtl.min.css 0000644 00000003036 14717677151 0011501 0 ustar 00 .wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} columns/style-rtl.css 0000644 00000003317 14717677151 0010721 0 ustar 00 .wp-block-columns{
align-items:normal !important;
box-sizing:border-box;
display:flex;
flex-wrap:wrap !important;
}
@media (min-width:782px){
.wp-block-columns{
flex-wrap:nowrap !important;
}
}
.wp-block-columns.are-vertically-aligned-top{
align-items:flex-start;
}
.wp-block-columns.are-vertically-aligned-center{
align-items:center;
}
.wp-block-columns.are-vertically-aligned-bottom{
align-items:flex-end;
}
@media (max-width:781px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
flex-basis:100% !important;
}
}
@media (min-width:782px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
flex-basis:0;
flex-grow:1;
}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{
flex-grow:0;
}
}
.wp-block-columns.is-not-stacked-on-mobile{
flex-wrap:nowrap !important;
}
.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{
flex-basis:0;
flex-grow:1;
}
.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{
flex-grow:0;
}
:where(.wp-block-columns){
margin-bottom:1.75em;
}
:where(.wp-block-columns.has-background){
padding:1.25em 2.375em;
}
.wp-block-column{
flex-grow:1;
min-width:0;
overflow-wrap:break-word;
word-break:break-word;
}
.wp-block-column.is-vertically-aligned-top{
align-self:flex-start;
}
.wp-block-column.is-vertically-aligned-center{
align-self:center;
}
.wp-block-column.is-vertically-aligned-bottom{
align-self:flex-end;
}
.wp-block-column.is-vertically-aligned-stretch{
align-self:stretch;
}
.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{
width:100%;
} columns/editor.min.css 0000644 00000000213 14717677151 0011022 0 ustar 00 .wp-block-columns :where(.wp-block){margin-left:0;margin-right:0;max-width:none}html :where(.wp-block-column){margin-bottom:0;margin-top:0} columns/editor-rtl.min.css 0000644 00000000213 14717677151 0011621 0 ustar 00 .wp-block-columns :where(.wp-block){margin-left:0;margin-right:0;max-width:none}html :where(.wp-block-column){margin-bottom:0;margin-top:0} columns/style.css 0000644 00000003317 14717677151 0010122 0 ustar 00 .wp-block-columns{
align-items:normal !important;
box-sizing:border-box;
display:flex;
flex-wrap:wrap !important;
}
@media (min-width:782px){
.wp-block-columns{
flex-wrap:nowrap !important;
}
}
.wp-block-columns.are-vertically-aligned-top{
align-items:flex-start;
}
.wp-block-columns.are-vertically-aligned-center{
align-items:center;
}
.wp-block-columns.are-vertically-aligned-bottom{
align-items:flex-end;
}
@media (max-width:781px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
flex-basis:100% !important;
}
}
@media (min-width:782px){
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{
flex-basis:0;
flex-grow:1;
}
.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{
flex-grow:0;
}
}
.wp-block-columns.is-not-stacked-on-mobile{
flex-wrap:nowrap !important;
}
.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{
flex-basis:0;
flex-grow:1;
}
.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{
flex-grow:0;
}
:where(.wp-block-columns){
margin-bottom:1.75em;
}
:where(.wp-block-columns.has-background){
padding:1.25em 2.375em;
}
.wp-block-column{
flex-grow:1;
min-width:0;
overflow-wrap:break-word;
word-break:break-word;
}
.wp-block-column.is-vertically-aligned-top{
align-self:flex-start;
}
.wp-block-column.is-vertically-aligned-center{
align-self:center;
}
.wp-block-column.is-vertically-aligned-bottom{
align-self:flex-end;
}
.wp-block-column.is-vertically-aligned-stretch{
align-self:stretch;
}
.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{
width:100%;
} columns/style.min.css 0000644 00000003036 14717677151 0010702 0 ustar 00 .wp-block-columns{align-items:normal!important;box-sizing:border-box;display:flex;flex-wrap:wrap!important}@media (min-width:782px){.wp-block-columns{flex-wrap:nowrap!important}}.wp-block-columns.are-vertically-aligned-top{align-items:flex-start}.wp-block-columns.are-vertically-aligned-center{align-items:center}.wp-block-columns.are-vertically-aligned-bottom{align-items:flex-end}@media (max-width:781px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:100%!important}}@media (min-width:782px){.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns:not(.is-not-stacked-on-mobile)>.wp-block-column[style*=flex-basis]{flex-grow:0}}.wp-block-columns.is-not-stacked-on-mobile{flex-wrap:nowrap!important}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column{flex-basis:0;flex-grow:1}.wp-block-columns.is-not-stacked-on-mobile>.wp-block-column[style*=flex-basis]{flex-grow:0}:where(.wp-block-columns){margin-bottom:1.75em}:where(.wp-block-columns.has-background){padding:1.25em 2.375em}.wp-block-column{flex-grow:1;min-width:0;overflow-wrap:break-word;word-break:break-word}.wp-block-column.is-vertically-aligned-top{align-self:flex-start}.wp-block-column.is-vertically-aligned-center{align-self:center}.wp-block-column.is-vertically-aligned-bottom{align-self:flex-end}.wp-block-column.is-vertically-aligned-stretch{align-self:stretch}.wp-block-column.is-vertically-aligned-bottom,.wp-block-column.is-vertically-aligned-center,.wp-block-column.is-vertically-aligned-top{width:100%} site-title.php 0000644 00000003421 14717677151 0007360 0 ustar 00 %4$s',
esc_url( home_url() ),
esc_attr( $link_target ),
$aria_current,
esc_html( $site_title )
);
}
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => trim( $classes ) ) );
return sprintf(
'<%1$s %2$s>%3$s%1$s>',
$tag_name,
$wrapper_attributes,
// already pre-escaped if it is a link.
$attributes['isLink'] ? $site_title : esc_html( $site_title )
);
}
/**
* Registers the `core/site-title` block on the server.
*
* @since 5.8.0
*/
function register_block_core_site_title() {
register_block_type_from_metadata(
__DIR__ . '/site-title',
array(
'render_callback' => 'render_block_core_site_title',
)
);
}
add_action( 'init', 'register_block_core_site_title' );
query-title/block.json 0000644 00000002266 14717677151 0011043 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/query-title",
"title": "Query Title",
"category": "theme",
"description": "Display the query title.",
"textdomain": "default",
"attributes": {
"type": {
"type": "string"
},
"textAlign": {
"type": "string"
},
"level": {
"type": "number",
"default": 1
},
"showPrefix": {
"type": "boolean",
"default": true
},
"showSearchTerm": {
"type": "boolean",
"default": true
}
},
"supports": {
"align": [ "wide", "full" ],
"html": false,
"color": {
"gradients": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"spacing": {
"margin": true,
"padding": true
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontStyle": true,
"__experimentalFontWeight": true,
"__experimentalLetterSpacing": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
}
},
"style": "wp-block-query-title"
}
query-title/style-rtl.min.css 0000644 00000000054 14717677151 0012302 0 ustar 00 .wp-block-query-title{box-sizing:border-box} query-title/style-rtl.css 0000644 00000000061 14717677151 0011516 0 ustar 00 .wp-block-query-title{
box-sizing:border-box;
} query-title/style.css 0000644 00000000061 14717677151 0010717 0 ustar 00 .wp-block-query-title{
box-sizing:border-box;
} query-title/style.min.css 0000644 00000000054 14717677151 0011503 0 ustar 00 .wp-block-query-title{box-sizing:border-box} tag-cloud/block.json 0000644 00000002246 14717677151 0010434 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/tag-cloud",
"title": "Tag Cloud",
"category": "widgets",
"description": "A cloud of your most used tags.",
"textdomain": "default",
"attributes": {
"numberOfTags": {
"type": "number",
"default": 45,
"minimum": 1,
"maximum": 100
},
"taxonomy": {
"type": "string",
"default": "post_tag"
},
"showTagCounts": {
"type": "boolean",
"default": false
},
"smallestFontSize": {
"type": "string",
"default": "8pt"
},
"largestFontSize": {
"type": "string",
"default": "22pt"
}
},
"styles": [
{ "name": "default", "label": "Default", "isDefault": true },
{ "name": "outline", "label": "Outline" }
],
"supports": {
"html": false,
"align": true,
"spacing": {
"margin": true,
"padding": true
},
"typography": {
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalLetterSpacing": true
},
"interactivity": {
"clientNavigation": true
}
},
"editorStyle": "wp-block-tag-cloud-editor"
}
tag-cloud/style-rtl.min.css 0000644 00000001067 14717677151 0011702 0 ustar 00 .wp-block-tag-cloud{box-sizing:border-box}.wp-block-tag-cloud.aligncenter{justify-content:center;text-align:center}.wp-block-tag-cloud.alignfull{padding-left:1em;padding-right:1em}.wp-block-tag-cloud a{display:inline-block;margin-left:5px}.wp-block-tag-cloud span{display:inline-block;margin-right:5px;text-decoration:none}:root :where(.wp-block-tag-cloud.is-style-outline){display:flex;flex-wrap:wrap;gap:1ch}:root :where(.wp-block-tag-cloud.is-style-outline a){border:1px solid;font-size:unset!important;margin-left:0;padding:1ch 2ch;text-decoration:none!important} tag-cloud/style-rtl.css 0000644 00000001205 14717677151 0011112 0 ustar 00 .wp-block-tag-cloud{
box-sizing:border-box;
}
.wp-block-tag-cloud.aligncenter{
justify-content:center;
text-align:center;
}
.wp-block-tag-cloud.alignfull{
padding-left:1em;
padding-right:1em;
}
.wp-block-tag-cloud a{
display:inline-block;
margin-left:5px;
}
.wp-block-tag-cloud span{
display:inline-block;
margin-right:5px;
text-decoration:none;
}
:root :where(.wp-block-tag-cloud.is-style-outline){
display:flex;
flex-wrap:wrap;
gap:1ch;
}
:root :where(.wp-block-tag-cloud.is-style-outline a){
border:1px solid;
font-size:unset !important;
margin-left:0;
padding:1ch 2ch;
text-decoration:none !important;
} tag-cloud/style.css 0000644 00000001206 14717677151 0010314 0 ustar 00 .wp-block-tag-cloud{
box-sizing:border-box;
}
.wp-block-tag-cloud.aligncenter{
justify-content:center;
text-align:center;
}
.wp-block-tag-cloud.alignfull{
padding-left:1em;
padding-right:1em;
}
.wp-block-tag-cloud a{
display:inline-block;
margin-right:5px;
}
.wp-block-tag-cloud span{
display:inline-block;
margin-left:5px;
text-decoration:none;
}
:root :where(.wp-block-tag-cloud.is-style-outline){
display:flex;
flex-wrap:wrap;
gap:1ch;
}
:root :where(.wp-block-tag-cloud.is-style-outline a){
border:1px solid;
font-size:unset !important;
margin-right:0;
padding:1ch 2ch;
text-decoration:none !important;
} tag-cloud/style.min.css 0000644 00000001070 14717677151 0011075 0 ustar 00 .wp-block-tag-cloud{box-sizing:border-box}.wp-block-tag-cloud.aligncenter{justify-content:center;text-align:center}.wp-block-tag-cloud.alignfull{padding-left:1em;padding-right:1em}.wp-block-tag-cloud a{display:inline-block;margin-right:5px}.wp-block-tag-cloud span{display:inline-block;margin-left:5px;text-decoration:none}:root :where(.wp-block-tag-cloud.is-style-outline){display:flex;flex-wrap:wrap;gap:1ch}:root :where(.wp-block-tag-cloud.is-style-outline a){border:1px solid;font-size:unset!important;margin-right:0;padding:1ch 2ch;text-decoration:none!important} tag-cloud/editor.min.css 0000604 00000000372 14717677151 0011223 0 ustar 00 .wp-block-tag-cloud .wp-block-tag-cloud{border:none;border-radius:inherit;margin:0;padding:0}.wp-block-tag-cloud__inspector-settings .components-base-control,.wp-block-tag-cloud__inspector-settings .components-base-control:last-child{margin-bottom:0} tag-cloud/editor.css 0000604 00000000417 14717677151 0010441 0 ustar 00 .wp-block-tag-cloud .wp-block-tag-cloud{
border:none;
border-radius:inherit;
margin:0;
padding:0;
}
.wp-block-tag-cloud__inspector-settings .components-base-control,.wp-block-tag-cloud__inspector-settings .components-base-control:last-child{
margin-bottom:0;
} tag-cloud/editor-rtl.css 0000604 00000000417 14717677151 0011240 0 ustar 00 .wp-block-tag-cloud .wp-block-tag-cloud{
border:none;
border-radius:inherit;
margin:0;
padding:0;
}
.wp-block-tag-cloud__inspector-settings .components-base-control,.wp-block-tag-cloud__inspector-settings .components-base-control:last-child{
margin-bottom:0;
} tag-cloud/editor-rtl.min.css 0000604 00000000372 14717677151 0012022 0 ustar 00 .wp-block-tag-cloud .wp-block-tag-cloud{border:none;border-radius:inherit;margin:0;padding:0}.wp-block-tag-cloud__inspector-settings .components-base-control,.wp-block-tag-cloud__inspector-settings .components-base-control:last-child{margin-bottom:0} group/editor-rtl.css 0000644 00000003114 14717677151 0010516 0 ustar 00 .wp-block-group .block-editor-block-list__insertion-point{
left:0;
right:0;
}
[data-type="core/group"].is-selected .block-list-appender{
margin-left:0;
margin-right:0;
}
[data-type="core/group"].is-selected .has-background .block-list-appender{
margin-bottom:18px;
margin-top:18px;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child{
gap:inherit;
pointer-events:none;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-default-block-appender__content,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{
display:inherit;
flex:1;
flex-direction:inherit;
width:100%;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after{
border:1px dashed;
border-radius:2px;
content:"";
display:flex;
flex:1 0 48px;
min-height:46px;
pointer-events:none;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after:before{
background:currentColor;
bottom:0;
content:"";
left:0;
opacity:.1;
pointer-events:none;
position:absolute;
right:0;
top:0;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-button-block-appender,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{
pointer-events:all;
} group/editor.css 0000644 00000003114 14717677151 0007717 0 ustar 00 .wp-block-group .block-editor-block-list__insertion-point{
left:0;
right:0;
}
[data-type="core/group"].is-selected .block-list-appender{
margin-left:0;
margin-right:0;
}
[data-type="core/group"].is-selected .has-background .block-list-appender{
margin-bottom:18px;
margin-top:18px;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child{
gap:inherit;
pointer-events:none;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-default-block-appender__content,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{
display:inherit;
flex:1;
flex-direction:inherit;
width:100%;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after{
border:1px dashed;
border-radius:2px;
content:"";
display:flex;
flex:1 0 48px;
min-height:46px;
pointer-events:none;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after:before{
background:currentColor;
bottom:0;
content:"";
left:0;
opacity:.1;
pointer-events:none;
position:absolute;
right:0;
top:0;
}
.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-button-block-appender,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{
pointer-events:all;
} group/block.json 0000644 00000004041 14717677151 0007704 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/group",
"title": "Group",
"category": "design",
"description": "Gather blocks in a layout container.",
"keywords": [ "container", "wrapper", "row", "section" ],
"textdomain": "default",
"attributes": {
"tagName": {
"type": "string",
"default": "div"
},
"templateLock": {
"type": [ "string", "boolean" ],
"enum": [ "all", "insert", "contentOnly", false ]
},
"allowedBlocks": {
"type": "array"
}
},
"supports": {
"__experimentalOnEnter": true,
"__experimentalOnMerge": true,
"__experimentalSettings": true,
"align": [ "wide", "full" ],
"anchor": true,
"ariaLabel": true,
"html": false,
"background": {
"backgroundImage": true,
"backgroundSize": true,
"__experimentalDefaultControls": {
"backgroundImage": true
}
},
"color": {
"gradients": true,
"heading": true,
"button": true,
"link": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"spacing": {
"margin": [ "top", "bottom" ],
"padding": true,
"blockGap": true,
"__experimentalDefaultControls": {
"padding": true,
"blockGap": true
}
},
"dimensions": {
"minHeight": true
},
"__experimentalBorder": {
"color": true,
"radius": true,
"style": true,
"width": true,
"__experimentalDefaultControls": {
"color": true,
"radius": true,
"style": true,
"width": true
}
},
"position": {
"sticky": true
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"layout": {
"allowSizingOnChildren": true
},
"interactivity": {
"clientNavigation": true
}
},
"editorStyle": "wp-block-group-editor",
"style": "wp-block-group"
}
group/style-rtl.min.css 0000644 00000000165 14717677151 0011155 0 ustar 00 .wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative} group/style-rtl.css 0000644 00000000201 14717677151 0010362 0 ustar 00 .wp-block-group{
box-sizing:border-box;
}
:where(.wp-block-group.wp-block-group-is-layout-constrained){
position:relative;
} group/theme.min.css 0000644 00000000076 14717677151 0010321 0 ustar 00 :where(.wp-block-group.has-background){padding:1.25em 2.375em} group/theme.css 0000644 00000000103 14717677151 0007526 0 ustar 00 :where(.wp-block-group.has-background){
padding:1.25em 2.375em;
} group/theme-rtl.min.css 0000644 00000000076 14717677151 0011120 0 ustar 00 :where(.wp-block-group.has-background){padding:1.25em 2.375em} group/editor.min.css 0000644 00000002734 14717677151 0010510 0 ustar 00 .wp-block-group .block-editor-block-list__insertion-point{left:0;right:0}[data-type="core/group"].is-selected .block-list-appender{margin-left:0;margin-right:0}[data-type="core/group"].is-selected .has-background .block-list-appender{margin-bottom:18px;margin-top:18px}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child{gap:inherit;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-default-block-appender__content,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{display:inherit;flex:1;flex-direction:inherit;width:100%}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;content:"";display:flex;flex:1 0 48px;min-height:46px;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-button-block-appender,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{pointer-events:all} group/editor-rtl.min.css 0000644 00000002734 14717677151 0011307 0 ustar 00 .wp-block-group .block-editor-block-list__insertion-point{left:0;right:0}[data-type="core/group"].is-selected .block-list-appender{margin-left:0;margin-right:0}[data-type="core/group"].is-selected .has-background .block-list-appender{margin-bottom:18px;margin-top:18px}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child{gap:inherit;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-default-block-appender__content,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{display:inherit;flex:1;flex-direction:inherit;width:100%}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after{border:1px dashed;border-radius:2px;content:"";display:flex;flex:1 0 48px;min-height:46px;pointer-events:none}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child:after:before{background:currentColor;bottom:0;content:"";left:0;opacity:.1;pointer-events:none;position:absolute;right:0;top:0}.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-button-block-appender,.wp-block-group.is-layout-flex.block-editor-block-list__block>.block-list-appender:only-child .block-editor-inserter{pointer-events:all} group/theme-rtl.css 0000644 00000000103 14717677151 0010325 0 ustar 00 :where(.wp-block-group.has-background){
padding:1.25em 2.375em;
} group/style.css 0000644 00000000201 14717677151 0007563 0 ustar 00 .wp-block-group{
box-sizing:border-box;
}
:where(.wp-block-group.wp-block-group-is-layout-constrained){
position:relative;
} group/style.min.css 0000644 00000000165 14717677151 0010356 0 ustar 00 .wp-block-group{box-sizing:border-box}:where(.wp-block-group.wp-block-group-is-layout-constrained){position:relative} pattern/block.json 0000644 00000000633 14717677151 0010230 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/pattern",
"title": "Pattern placeholder",
"category": "theme",
"description": "Show a block pattern.",
"supports": {
"html": false,
"inserter": false,
"renaming": false,
"interactivity": {
"clientNavigation": true
}
},
"textdomain": "default",
"attributes": {
"slug": {
"type": "string"
}
}
}
query-pagination-next.php 0000644 00000007313 14717677151 0011551 0 ustar 00 context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page';
$enhanced_pagination = isset( $block->context['enhancedPagination'] ) && $block->context['enhancedPagination'];
$page = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ];
$max_page = isset( $block->context['query']['pages'] ) ? (int) $block->context['query']['pages'] : 0;
$wrapper_attributes = get_block_wrapper_attributes();
$show_label = isset( $block->context['showLabel'] ) ? (bool) $block->context['showLabel'] : true;
$default_label = __( 'Next Page' );
$label_text = isset( $attributes['label'] ) && ! empty( $attributes['label'] ) ? esc_html( $attributes['label'] ) : $default_label;
$label = $show_label ? $label_text : '';
$pagination_arrow = get_query_pagination_arrow( $block, true );
if ( ! $label ) {
$wrapper_attributes .= ' aria-label="' . $label_text . '"';
}
if ( $pagination_arrow ) {
$label .= $pagination_arrow;
}
$content = '';
// Check if the pagination is for Query that inherits the global context.
if ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] ) {
$filter_link_attributes = static function () use ( $wrapper_attributes ) {
return $wrapper_attributes;
};
add_filter( 'next_posts_link_attributes', $filter_link_attributes );
// Take into account if we have set a bigger `max page`
// than what the query has.
global $wp_query;
if ( $max_page > $wp_query->max_num_pages ) {
$max_page = $wp_query->max_num_pages;
}
$content = get_next_posts_link( $label, $max_page );
remove_filter( 'next_posts_link_attributes', $filter_link_attributes );
} elseif ( ! $max_page || $max_page > $page ) {
$custom_query = new WP_Query( build_query_vars_from_query_block( $block, $page ) );
$custom_query_max_pages = (int) $custom_query->max_num_pages;
if ( $custom_query_max_pages && $custom_query_max_pages !== $page ) {
$content = sprintf(
'
%3$s',
esc_url( add_query_arg( $page_key, $page + 1 ) ),
$wrapper_attributes,
$label
);
}
wp_reset_postdata(); // Restore original Post Data.
}
if ( $enhanced_pagination && isset( $content ) ) {
$p = new WP_HTML_Tag_Processor( $content );
if ( $p->next_tag(
array(
'tag_name' => 'a',
'class_name' => 'wp-block-query-pagination-next',
)
) ) {
$p->set_attribute( 'data-wp-key', 'query-pagination-next' );
$p->set_attribute( 'data-wp-on--click', 'core/query::actions.navigate' );
$p->set_attribute( 'data-wp-on-async--mouseenter', 'core/query::actions.prefetch' );
$p->set_attribute( 'data-wp-watch', 'core/query::callbacks.prefetch' );
$content = $p->get_updated_html();
}
}
return $content;
}
/**
* Registers the `core/query-pagination-next` block on the server.
*
* @since 5.8.0
*/
function register_block_core_query_pagination_next() {
register_block_type_from_metadata(
__DIR__ . '/query-pagination-next',
array(
'render_callback' => 'render_block_core_query_pagination_next',
)
);
}
add_action( 'init', 'register_block_core_query_pagination_next' );
query-pagination.php 0000644 00000002230 14717677151 0010566 0 ustar 00 __( 'Pagination' ),
'class' => $classes,
)
);
return sprintf(
'
',
$wrapper_attributes,
$content
);
}
/**
* Registers the `core/query-pagination` block on the server.
*
* @since 5.8.0
*/
function register_block_core_query_pagination() {
register_block_type_from_metadata(
__DIR__ . '/query-pagination',
array(
'render_callback' => 'render_block_core_query_pagination',
)
);
}
add_action( 'init', 'register_block_core_query_pagination' );
comment-author-name.php 0000644 00000004125 14717677151 0011157 0 ustar 00 context['commentId'] ) ) {
return '';
}
$comment = get_comment( $block->context['commentId'] );
$commenter = wp_get_current_commenter();
$show_pending_links = isset( $commenter['comment_author'] ) && $commenter['comment_author'];
if ( empty( $comment ) ) {
return '';
}
$classes = array();
if ( isset( $attributes['textAlign'] ) ) {
$classes[] = 'has-text-align-' . $attributes['textAlign'];
}
if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
$classes[] = 'has-link-color';
}
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ) ) );
$comment_author = get_comment_author( $comment );
$link = get_comment_author_url( $comment );
if ( ! empty( $link ) && ! empty( $attributes['isLink'] ) && ! empty( $attributes['linkTarget'] ) ) {
$comment_author = sprintf( '
%3s', esc_url( $link ), esc_attr( $attributes['linkTarget'] ), $comment_author );
}
if ( '0' === $comment->comment_approved && ! $show_pending_links ) {
$comment_author = wp_kses( $comment_author, array() );
}
return sprintf(
'
%2$s
',
$wrapper_attributes,
$comment_author
);
}
/**
* Registers the `core/comment-author-name` block on the server.
*
* @since 6.0.0
*/
function register_block_core_comment_author_name() {
register_block_type_from_metadata(
__DIR__ . '/comment-author-name',
array(
'render_callback' => 'render_block_core_comment_author_name',
)
);
}
add_action( 'init', 'register_block_core_comment_author_name' );
query-pagination-numbers.php 0000644 00000011242 14717677151 0012242 0 ustar 00 context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page';
$enhanced_pagination = isset( $block->context['enhancedPagination'] ) && $block->context['enhancedPagination'];
$page = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ];
$max_page = isset( $block->context['query']['pages'] ) ? (int) $block->context['query']['pages'] : 0;
$wrapper_attributes = get_block_wrapper_attributes();
$content = '';
global $wp_query;
$mid_size = isset( $block->attributes['midSize'] ) ? (int) $block->attributes['midSize'] : null;
if ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] ) {
// Take into account if we have set a bigger `max page`
// than what the query has.
$total = ! $max_page || $max_page > $wp_query->max_num_pages ? $wp_query->max_num_pages : $max_page;
$paginate_args = array(
'prev_next' => false,
'total' => $total,
);
if ( null !== $mid_size ) {
$paginate_args['mid_size'] = $mid_size;
}
$content = paginate_links( $paginate_args );
} else {
$block_query = new WP_Query( build_query_vars_from_query_block( $block, $page ) );
// `paginate_links` works with the global $wp_query, so we have to
// temporarily switch it with our custom query.
$prev_wp_query = $wp_query;
$wp_query = $block_query;
$total = ! $max_page || $max_page > $wp_query->max_num_pages ? $wp_query->max_num_pages : $max_page;
$paginate_args = array(
'base' => '%_%',
'format' => "?$page_key=%#%",
'current' => max( 1, $page ),
'total' => $total,
'prev_next' => false,
);
if ( null !== $mid_size ) {
$paginate_args['mid_size'] = $mid_size;
}
if ( 1 !== $page ) {
/**
* `paginate_links` doesn't use the provided `format` when the page is `1`.
* This is great for the main query as it removes the extra query params
* making the URL shorter, but in the case of multiple custom queries is
* problematic. It results in returning an empty link which ends up with
* a link to the current page.
*
* A way to address this is to add a `fake` query arg with no value that
* is the same for all custom queries. This way the link is not empty and
* preserves all the other existent query args.
*
* @see https://developer.wordpress.org/reference/functions/paginate_links/
*
* The proper fix of this should be in core. Track Ticket:
* @see https://core.trac.wordpress.org/ticket/53868
*
* TODO: After two WP versions (starting from the WP version the core patch landed),
* we should remove this and call `paginate_links` with the proper new arg.
*/
$paginate_args['add_args'] = array( 'cst' => '' );
}
// We still need to preserve `paged` query param if exists, as is used
// for Queries that inherit from global context.
$paged = empty( $_GET['paged'] ) ? null : (int) $_GET['paged'];
if ( $paged ) {
$paginate_args['add_args'] = array( 'paged' => $paged );
}
$content = paginate_links( $paginate_args );
wp_reset_postdata(); // Restore original Post Data.
$wp_query = $prev_wp_query;
}
if ( empty( $content ) ) {
return '';
}
if ( $enhanced_pagination ) {
$p = new WP_HTML_Tag_Processor( $content );
$tag_index = 0;
while ( $p->next_tag(
array( 'class_name' => 'page-numbers' )
) ) {
if ( null === $p->get_attribute( 'data-wp-key' ) ) {
$p->set_attribute( 'data-wp-key', 'index-' . $tag_index++ );
}
if ( 'A' === $p->get_tag() ) {
$p->set_attribute( 'data-wp-on--click', 'core/query::actions.navigate' );
}
}
$content = $p->get_updated_html();
}
return sprintf(
'
%2$s
',
$wrapper_attributes,
$content
);
}
/**
* Registers the `core/query-pagination-numbers` block on the server.
*
* @since 5.8.0
*/
function register_block_core_query_pagination_numbers() {
register_block_type_from_metadata(
__DIR__ . '/query-pagination-numbers',
array(
'render_callback' => 'render_block_core_query_pagination_numbers',
)
);
}
add_action( 'init', 'register_block_core_query_pagination_numbers' );
avatar.php 0000644 00000013374 14717677151 0006563 0 ustar 00 context['commentId'] ) ) {
if ( isset( $attributes['userId'] ) ) {
$author_id = $attributes['userId'];
} elseif ( isset( $block->context['postId'] ) ) {
$author_id = get_post_field( 'post_author', $block->context['postId'] );
} else {
$author_id = get_query_var( 'author' );
}
if ( empty( $author_id ) ) {
return '';
}
$author_name = get_the_author_meta( 'display_name', $author_id );
// translators: %s is the Author name.
$alt = sprintf( __( '%s Avatar' ), $author_name );
$avatar_block = get_avatar(
$author_id,
$size,
'',
$alt,
array(
'extra_attr' => $image_styles,
'class' => $image_classes,
)
);
if ( isset( $attributes['isLink'] ) && $attributes['isLink'] ) {
$label = '';
if ( '_blank' === $attributes['linkTarget'] ) {
// translators: %s is the Author name.
$label = 'aria-label="' . esc_attr( sprintf( __( '(%s author archive, opens in a new tab)' ), $author_name ) ) . '"';
}
// translators: %1$s: Author archive link. %2$s: Link target. %3$s Aria label. %4$s Avatar image.
$avatar_block = sprintf( '
%4$s', esc_url( get_author_posts_url( $author_id ) ), esc_attr( $attributes['linkTarget'] ), $label, $avatar_block );
}
return sprintf( '
%2s
', $wrapper_attributes, $avatar_block );
}
$comment = get_comment( $block->context['commentId'] );
if ( ! $comment ) {
return '';
}
/* translators: %s is the Comment Author name */
$alt = sprintf( __( '%s Avatar' ), $comment->comment_author );
$avatar_block = get_avatar(
$comment,
$size,
'',
$alt,
array(
'extra_attr' => $image_styles,
'class' => $image_classes,
)
);
if ( isset( $attributes['isLink'] ) && $attributes['isLink'] && isset( $comment->comment_author_url ) && '' !== $comment->comment_author_url ) {
$label = '';
if ( '_blank' === $attributes['linkTarget'] ) {
// translators: %s is the Comment Author name.
$label = 'aria-label="' . esc_attr( sprintf( __( '(%s website link, opens in a new tab)' ), $comment->comment_author ) ) . '"';
}
// translators: %1$s: Comment Author website link. %2$s: Link target. %3$s Aria label. %4$s Avatar image.
$avatar_block = sprintf( '
%4$s', esc_url( $comment->comment_author_url ), esc_attr( $attributes['linkTarget'] ), $label, $avatar_block );
}
return sprintf( '
%2s
', $wrapper_attributes, $avatar_block );
}
/**
* Generates class names and styles to apply the border support styles for
* the Avatar block.
*
* @since 6.3.0
*
* @param array $attributes The block attributes.
* @return array The border-related classnames and styles for the block.
*/
function get_block_core_avatar_border_attributes( $attributes ) {
$border_styles = array();
$sides = array( 'top', 'right', 'bottom', 'left' );
// Border radius.
if ( isset( $attributes['style']['border']['radius'] ) ) {
$border_styles['radius'] = $attributes['style']['border']['radius'];
}
// Border style.
if ( isset( $attributes['style']['border']['style'] ) ) {
$border_styles['style'] = $attributes['style']['border']['style'];
}
// Border width.
if ( isset( $attributes['style']['border']['width'] ) ) {
$border_styles['width'] = $attributes['style']['border']['width'];
}
// Border color.
$preset_color = array_key_exists( 'borderColor', $attributes ) ? "var:preset|color|{$attributes['borderColor']}" : null;
$custom_color = $attributes['style']['border']['color'] ?? null;
$border_styles['color'] = $preset_color ? $preset_color : $custom_color;
// Individual border styles e.g. top, left etc.
foreach ( $sides as $side ) {
$border = $attributes['style']['border'][ $side ] ?? null;
$border_styles[ $side ] = array(
'color' => isset( $border['color'] ) ? $border['color'] : null,
'style' => isset( $border['style'] ) ? $border['style'] : null,
'width' => isset( $border['width'] ) ? $border['width'] : null,
);
}
$styles = wp_style_engine_get_styles( array( 'border' => $border_styles ) );
$attributes = array();
if ( ! empty( $styles['classnames'] ) ) {
$attributes['class'] = $styles['classnames'];
}
if ( ! empty( $styles['css'] ) ) {
$attributes['style'] = $styles['css'];
}
return $attributes;
}
/**
* Registers the `core/avatar` block on the server.
*
* @since 6.0.0
*/
function register_block_core_avatar() {
register_block_type_from_metadata(
__DIR__ . '/avatar',
array(
'render_callback' => 'render_block_core_avatar',
)
);
}
add_action( 'init', 'register_block_core_avatar' );
comments-pagination-numbers.php 0000644 00000003140 14717677151 0012720 0 ustar 00 context['postId'] ) ) {
return '';
}
$comment_vars = build_comment_query_vars_from_block( $block );
$total = ( new WP_Comment_Query( $comment_vars ) )->max_num_pages;
$current = ! empty( $comment_vars['paged'] ) ? $comment_vars['paged'] : null;
// Render links.
$content = paginate_comments_links(
array(
'total' => $total,
'current' => $current,
'prev_next' => false,
'echo' => false,
)
);
if ( empty( $content ) ) {
return '';
}
$wrapper_attributes = get_block_wrapper_attributes();
return sprintf(
'
%2$s
',
$wrapper_attributes,
$content
);
}
/**
* Registers the `core/comments-pagination-numbers` block on the server.
*
* @since 6.0.0
*/
function register_block_core_comments_pagination_numbers() {
register_block_type_from_metadata(
__DIR__ . '/comments-pagination-numbers',
array(
'render_callback' => 'render_block_core_comments_pagination_numbers',
)
);
}
add_action( 'init', 'register_block_core_comments_pagination_numbers' );
latest-comments.php 0000644 00000011660 14717677151 0010420 0 ustar 00 $attributes['commentsToShow'],
'status' => 'approve',
'post_status' => 'publish',
),
array()
)
);
$list_items_markup = '';
if ( ! empty( $comments ) ) {
// Prime the cache for associated posts. This is copied from \WP_Widget_Recent_Comments::widget().
$post_ids = array_unique( wp_list_pluck( $comments, 'comment_post_ID' ) );
_prime_post_caches( $post_ids, strpos( get_option( 'permalink_structure' ), '%category%' ), false );
foreach ( $comments as $comment ) {
$list_items_markup .= '';
}
}
$classnames = array();
if ( $attributes['displayAvatar'] ) {
$classnames[] = 'has-avatars';
}
if ( $attributes['displayDate'] ) {
$classnames[] = 'has-dates';
}
if ( $attributes['displayExcerpt'] ) {
$classnames[] = 'has-excerpts';
}
if ( empty( $comments ) ) {
$classnames[] = 'no-comments';
}
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classnames ) ) );
return ! empty( $comments ) ? sprintf(
'
%2$s
',
$wrapper_attributes,
$list_items_markup
) : sprintf(
'
%2$s
',
$wrapper_attributes,
__( 'No comments to show.' )
);
}
/**
* Registers the `core/latest-comments` block.
*
* @since 5.3.0
*/
function register_block_core_latest_comments() {
register_block_type_from_metadata(
__DIR__ . '/latest-comments',
array(
'render_callback' => 'render_block_core_latest_comments',
)
);
}
add_action( 'init', 'register_block_core_latest_comments' );
social-links/editor-rtl.css 0000644 00000004247 14717677151 0011762 0 ustar 00 .wp-block-social-links div.block-editor-url-input{
display:inline-block;
margin-right:8px;
}
.wp-social-link:hover{
transform:none;
}
:root :where(.wp-block-social-links),:root :where(.wp-block-social-links.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link){
padding:0;
}
:root :where(.wp-block-social-links__social-placeholder .wp-social-link){
padding:.25em;
}
:root :where(.wp-block-social-links.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link){
padding-left:.66667em;
padding-right:.66667em;
}
.wp-block-social-links__social-placeholder{
display:flex;
list-style:none;
opacity:.8;
}
.wp-block-social-links__social-placeholder>.wp-social-link{
margin-left:0 !important;
margin-right:0 !important;
padding-left:0 !important;
padding-right:0 !important;
visibility:hidden;
width:0 !important;
}
.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{
display:flex;
}
.wp-block-social-links__social-placeholder .wp-social-link:before{
border-radius:50%;
content:"";
display:block;
height:1em;
width:1em;
}
.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link:before{
background:currentColor;
}
.wp-block-social-links .wp-block-social-links__social-prompt{
cursor:default;
font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;
font-size:13px;
line-height:24px;
list-style:none;
margin-bottom:auto;
margin-top:auto;
min-height:24px;
padding-left:8px;
}
.wp-block.wp-block-social-links.aligncenter,.wp-block[data-align=center]>.wp-block-social-links{
justify-content:center;
}
.block-editor-block-preview__content .components-button:disabled{
opacity:1;
}
.wp-social-link.wp-social-link__is-incomplete{
opacity:.5;
}
@media (prefers-reduced-motion:reduce){
.wp-social-link.wp-social-link__is-incomplete{
transition-delay:0s;
transition-duration:0s;
}
}
.wp-block-social-links .is-selected .wp-social-link__is-incomplete,.wp-social-link.wp-social-link__is-incomplete:focus,.wp-social-link.wp-social-link__is-incomplete:hover{
opacity:1;
} social-links/editor.css 0000644 00000004247 14717677151 0011163 0 ustar 00 .wp-block-social-links div.block-editor-url-input{
display:inline-block;
margin-left:8px;
}
.wp-social-link:hover{
transform:none;
}
:root :where(.wp-block-social-links),:root :where(.wp-block-social-links.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link){
padding:0;
}
:root :where(.wp-block-social-links__social-placeholder .wp-social-link){
padding:.25em;
}
:root :where(.wp-block-social-links.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link){
padding-left:.66667em;
padding-right:.66667em;
}
.wp-block-social-links__social-placeholder{
display:flex;
list-style:none;
opacity:.8;
}
.wp-block-social-links__social-placeholder>.wp-social-link{
margin-left:0 !important;
margin-right:0 !important;
padding-left:0 !important;
padding-right:0 !important;
visibility:hidden;
width:0 !important;
}
.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{
display:flex;
}
.wp-block-social-links__social-placeholder .wp-social-link:before{
border-radius:50%;
content:"";
display:block;
height:1em;
width:1em;
}
.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link:before{
background:currentColor;
}
.wp-block-social-links .wp-block-social-links__social-prompt{
cursor:default;
font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;
font-size:13px;
line-height:24px;
list-style:none;
margin-bottom:auto;
margin-top:auto;
min-height:24px;
padding-right:8px;
}
.wp-block.wp-block-social-links.aligncenter,.wp-block[data-align=center]>.wp-block-social-links{
justify-content:center;
}
.block-editor-block-preview__content .components-button:disabled{
opacity:1;
}
.wp-social-link.wp-social-link__is-incomplete{
opacity:.5;
}
@media (prefers-reduced-motion:reduce){
.wp-social-link.wp-social-link__is-incomplete{
transition-delay:0s;
transition-duration:0s;
}
}
.wp-block-social-links .is-selected .wp-social-link__is-incomplete,.wp-social-link.wp-social-link__is-incomplete:focus,.wp-social-link.wp-social-link__is-incomplete:hover{
opacity:1;
} social-links/block.json 0000644 00000004106 14717677151 0011142 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/social-links",
"title": "Social Icons",
"category": "widgets",
"allowedBlocks": [ "core/social-link" ],
"description": "Display icons linking to your social profiles or sites.",
"keywords": [ "links" ],
"textdomain": "default",
"attributes": {
"iconColor": {
"type": "string"
},
"customIconColor": {
"type": "string"
},
"iconColorValue": {
"type": "string"
},
"iconBackgroundColor": {
"type": "string"
},
"customIconBackgroundColor": {
"type": "string"
},
"iconBackgroundColorValue": {
"type": "string"
},
"openInNewTab": {
"type": "boolean",
"default": false
},
"showLabels": {
"type": "boolean",
"default": false
},
"size": {
"type": "string"
}
},
"providesContext": {
"openInNewTab": "openInNewTab",
"showLabels": "showLabels",
"iconColor": "iconColor",
"iconColorValue": "iconColorValue",
"iconBackgroundColor": "iconBackgroundColor",
"iconBackgroundColorValue": "iconBackgroundColorValue"
},
"supports": {
"align": [ "left", "center", "right" ],
"anchor": true,
"__experimentalExposeControlsToChildren": true,
"layout": {
"allowSwitching": false,
"allowInheriting": false,
"allowVerticalAlignment": false,
"default": {
"type": "flex"
}
},
"color": {
"enableContrastChecker": false,
"background": true,
"gradients": true,
"text": false,
"__experimentalDefaultControls": {
"background": false
}
},
"spacing": {
"blockGap": [ "horizontal", "vertical" ],
"margin": true,
"padding": true,
"units": [ "px", "em", "rem", "vh", "vw" ],
"__experimentalDefaultControls": {
"blockGap": true,
"margin": true,
"padding": false
}
},
"interactivity": {
"clientNavigation": true
}
},
"styles": [
{ "name": "default", "label": "Default", "isDefault": true },
{ "name": "logos-only", "label": "Logos Only" },
{ "name": "pill-shape", "label": "Pill Shape" }
],
"editorStyle": "wp-block-social-links-editor",
"style": "wp-block-social-links"
}
social-links/style-rtl.min.css 0000644 00000026521 14717677151 0012415 0 ustar 00 .wp-block-social-links{background:none;box-sizing:border-box;margin-right:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{color:currentColor;fill:currentColor}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link{background-color:#f0f0f0;color:#444}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-amazon{background-color:#f90;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-behance{background-color:#0757fe;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bluesky{background-color:#0a7aff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-etsy{background-color:#f45800;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook{background-color:#1778f2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-flickr{background-color:#0461dd;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-foursquare{background-color:#e65678;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-github{background-color:#24292d;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-google{background-color:#ea4434;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram{background-color:#f00075;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-medium{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-meetup{background-color:#f6405f;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-patreon{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pinterest{background-color:#e60122;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pocket{background-color:#ef4155;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-reddit{background-color:#ff4500;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-skype{background-color:#0478d7;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-snapchat{background-color:#fefc00;color:#fff;stroke:#000}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-spotify{background-color:#1bd760;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-telegram{background-color:#2aabee;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-threads{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tumblr{background-color:#011835;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitch{background-color:#6440a4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vk{background-color:#4680c2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-x{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-yelp{background-color:#d32422;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube{background-color:red;color:#fff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link{background:none}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link svg{height:1.25em;width:1.25em}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-amazon{color:#f90}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bandcamp{color:#1ea0c3}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-behance{color:#0757fe}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bluesky{color:#0a7aff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-codepen{color:#1e1f26}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-deviantart{color:#02e49b}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dribbble{color:#e94c89}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dropbox{color:#4280ff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-etsy{color:#f45800}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-facebook{color:#1778f2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-fivehundredpx{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-flickr{color:#0461dd}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-foursquare{color:#e65678}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-github{color:#24292d}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-goodreads{color:#382110}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-google{color:#ea4434}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-gravatar{color:#1d4fc4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-instagram{color:#f00075}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-lastfm{color:#e21b24}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-linkedin{color:#0d66c2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-mastodon{color:#3288d4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-medium{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-meetup{color:#f6405f}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-patreon{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pinterest{color:#e60122}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pocket{color:#ef4155}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-reddit{color:#ff4500}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-skype{color:#0478d7}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-snapchat{color:#fff;stroke:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-soundcloud{color:#ff5600}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-spotify{color:#1bd760}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-telegram{color:#2aabee}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-threads{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tiktok{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tumblr{color:#011835}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitch{color:#6440a4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitter{color:#1da1f2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vimeo{color:#1eb7ea}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vk{color:#4680c2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-whatsapp{color:#25d366}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-wordpress{color:#3499cd}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-x{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-yelp{color:#d32422}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}:root :where(.wp-block-social-links .wp-social-link a){padding:.25em}:root :where(.wp-block-social-links.is-style-logos-only .wp-social-link a){padding:0}:root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link a){padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000} social-links/style-rtl.css 0000644 00000030325 14717677151 0011630 0 ustar 00 .wp-block-social-links{
background:none;
box-sizing:border-box;
margin-right:0;
padding-left:0;
padding-right:0;
text-indent:0;
}
.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{
border-bottom:0;
box-shadow:none;
text-decoration:none;
}
.wp-block-social-links .wp-social-link svg{
height:1em;
width:1em;
}
.wp-block-social-links .wp-social-link span:not(.screen-reader-text){
font-size:.65em;
margin-left:.5em;
margin-right:.5em;
}
.wp-block-social-links.has-small-icon-size{
font-size:16px;
}
.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{
font-size:24px;
}
.wp-block-social-links.has-large-icon-size{
font-size:36px;
}
.wp-block-social-links.has-huge-icon-size{
font-size:48px;
}
.wp-block-social-links.aligncenter{
display:flex;
justify-content:center;
}
.wp-block-social-links.alignright{
justify-content:flex-end;
}
.wp-block-social-link{
border-radius:9999px;
display:block;
height:auto;
transition:transform .1s ease;
}
@media (prefers-reduced-motion:reduce){
.wp-block-social-link{
transition-delay:0s;
transition-duration:0s;
}
}
.wp-block-social-link a{
align-items:center;
display:flex;
line-height:0;
transition:transform .1s ease;
}
.wp-block-social-link:hover{
transform:scale(1.1);
}
.wp-block-social-links .wp-block-social-link.wp-social-link{
display:inline-block;
margin:0;
padding:0;
}
.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{
color:currentColor;
fill:currentColor;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link{
background-color:#f0f0f0;
color:#444;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-amazon{
background-color:#f90;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bandcamp{
background-color:#1ea0c3;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-behance{
background-color:#0757fe;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bluesky{
background-color:#0a7aff;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-codepen{
background-color:#1e1f26;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-deviantart{
background-color:#02e49b;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dribbble{
background-color:#e94c89;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dropbox{
background-color:#4280ff;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-etsy{
background-color:#f45800;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook{
background-color:#1778f2;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-fivehundredpx{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-flickr{
background-color:#0461dd;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-foursquare{
background-color:#e65678;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-github{
background-color:#24292d;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-goodreads{
background-color:#eceadd;
color:#382110;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-google{
background-color:#ea4434;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-gravatar{
background-color:#1d4fc4;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram{
background-color:#f00075;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-lastfm{
background-color:#e21b24;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-linkedin{
background-color:#0d66c2;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-mastodon{
background-color:#3288d4;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-medium{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-meetup{
background-color:#f6405f;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-patreon{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pinterest{
background-color:#e60122;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pocket{
background-color:#ef4155;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-reddit{
background-color:#ff4500;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-skype{
background-color:#0478d7;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-snapchat{
background-color:#fefc00;
color:#fff;
stroke:#000;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-soundcloud{
background-color:#ff5600;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-spotify{
background-color:#1bd760;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-telegram{
background-color:#2aabee;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-threads{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tumblr{
background-color:#011835;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitch{
background-color:#6440a4;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitter{
background-color:#1da1f2;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vimeo{
background-color:#1eb7ea;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vk{
background-color:#4680c2;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-wordpress{
background-color:#3499cd;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-whatsapp{
background-color:#25d366;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-x{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-yelp{
background-color:#d32422;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube{
background-color:red;
color:#fff;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link{
background:none;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link svg{
height:1.25em;
width:1.25em;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-amazon{
color:#f90;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bandcamp{
color:#1ea0c3;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-behance{
color:#0757fe;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bluesky{
color:#0a7aff;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-codepen{
color:#1e1f26;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-deviantart{
color:#02e49b;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dribbble{
color:#e94c89;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dropbox{
color:#4280ff;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-etsy{
color:#f45800;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-facebook{
color:#1778f2;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-fivehundredpx{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-flickr{
color:#0461dd;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-foursquare{
color:#e65678;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-github{
color:#24292d;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-goodreads{
color:#382110;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-google{
color:#ea4434;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-gravatar{
color:#1d4fc4;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-instagram{
color:#f00075;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-lastfm{
color:#e21b24;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-linkedin{
color:#0d66c2;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-mastodon{
color:#3288d4;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-medium{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-meetup{
color:#f6405f;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-patreon{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pinterest{
color:#e60122;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pocket{
color:#ef4155;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-reddit{
color:#ff4500;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-skype{
color:#0478d7;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-snapchat{
color:#fff;
stroke:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-soundcloud{
color:#ff5600;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-spotify{
color:#1bd760;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-telegram{
color:#2aabee;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-threads{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tiktok{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tumblr{
color:#011835;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitch{
color:#6440a4;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitter{
color:#1da1f2;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vimeo{
color:#1eb7ea;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vk{
color:#4680c2;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-whatsapp{
color:#25d366;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-wordpress{
color:#3499cd;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-x{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-yelp{
color:#d32422;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-youtube{
color:red;
}
.wp-block-social-links.is-style-pill-shape .wp-social-link{
width:auto;
}
:root :where(.wp-block-social-links .wp-social-link a){
padding:.25em;
}
:root :where(.wp-block-social-links.is-style-logos-only .wp-social-link a){
padding:0;
}
:root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link a){
padding-left:.66667em;
padding-right:.66667em;
}
.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{
color:#000;
} social-links/editor.min.css 0000644 00000003755 14717677151 0011750 0 ustar 00 .wp-block-social-links div.block-editor-url-input{display:inline-block;margin-left:8px}.wp-social-link:hover{transform:none}:root :where(.wp-block-social-links),:root :where(.wp-block-social-links.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link){padding:0}:root :where(.wp-block-social-links__social-placeholder .wp-social-link){padding:.25em}:root :where(.wp-block-social-links.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link){padding-left:.66667em;padding-right:.66667em}.wp-block-social-links__social-placeholder{display:flex;list-style:none;opacity:.8}.wp-block-social-links__social-placeholder>.wp-social-link{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;visibility:hidden;width:0!important}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder .wp-social-link:before{border-radius:50%;content:"";display:block;height:1em;width:1em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link:before{background:currentColor}.wp-block-social-links .wp-block-social-links__social-prompt{cursor:default;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;list-style:none;margin-bottom:auto;margin-top:auto;min-height:24px;padding-right:8px}.wp-block.wp-block-social-links.aligncenter,.wp-block[data-align=center]>.wp-block-social-links{justify-content:center}.block-editor-block-preview__content .components-button:disabled{opacity:1}.wp-social-link.wp-social-link__is-incomplete{opacity:.5}@media (prefers-reduced-motion:reduce){.wp-social-link.wp-social-link__is-incomplete{transition-delay:0s;transition-duration:0s}}.wp-block-social-links .is-selected .wp-social-link__is-incomplete,.wp-social-link.wp-social-link__is-incomplete:focus,.wp-social-link.wp-social-link__is-incomplete:hover{opacity:1} social-links/editor-rtl.min.css 0000644 00000003755 14717677151 0012547 0 ustar 00 .wp-block-social-links div.block-editor-url-input{display:inline-block;margin-right:8px}.wp-social-link:hover{transform:none}:root :where(.wp-block-social-links),:root :where(.wp-block-social-links.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link){padding:0}:root :where(.wp-block-social-links__social-placeholder .wp-social-link){padding:.25em}:root :where(.wp-block-social-links.is-style-pill-shape .wp-block-social-links__social-placeholder .wp-social-link){padding-left:.66667em;padding-right:.66667em}.wp-block-social-links__social-placeholder{display:flex;list-style:none;opacity:.8}.wp-block-social-links__social-placeholder>.wp-social-link{margin-left:0!important;margin-right:0!important;padding-left:0!important;padding-right:0!important;visibility:hidden;width:0!important}.wp-block-social-links__social-placeholder>.wp-block-social-links__social-placeholder-icons{display:flex}.wp-block-social-links__social-placeholder .wp-social-link:before{border-radius:50%;content:"";display:block;height:1em;width:1em}.is-style-logos-only .wp-block-social-links__social-placeholder .wp-social-link:before{background:currentColor}.wp-block-social-links .wp-block-social-links__social-prompt{cursor:default;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;font-size:13px;line-height:24px;list-style:none;margin-bottom:auto;margin-top:auto;min-height:24px;padding-left:8px}.wp-block.wp-block-social-links.aligncenter,.wp-block[data-align=center]>.wp-block-social-links{justify-content:center}.block-editor-block-preview__content .components-button:disabled{opacity:1}.wp-social-link.wp-social-link__is-incomplete{opacity:.5}@media (prefers-reduced-motion:reduce){.wp-social-link.wp-social-link__is-incomplete{transition-delay:0s;transition-duration:0s}}.wp-block-social-links .is-selected .wp-social-link__is-incomplete,.wp-social-link.wp-social-link__is-incomplete:focus,.wp-social-link.wp-social-link__is-incomplete:hover{opacity:1} social-links/style.css 0000644 00000030324 14717677151 0011030 0 ustar 00 .wp-block-social-links{
background:none;
box-sizing:border-box;
margin-left:0;
padding-left:0;
padding-right:0;
text-indent:0;
}
.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{
border-bottom:0;
box-shadow:none;
text-decoration:none;
}
.wp-block-social-links .wp-social-link svg{
height:1em;
width:1em;
}
.wp-block-social-links .wp-social-link span:not(.screen-reader-text){
font-size:.65em;
margin-left:.5em;
margin-right:.5em;
}
.wp-block-social-links.has-small-icon-size{
font-size:16px;
}
.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{
font-size:24px;
}
.wp-block-social-links.has-large-icon-size{
font-size:36px;
}
.wp-block-social-links.has-huge-icon-size{
font-size:48px;
}
.wp-block-social-links.aligncenter{
display:flex;
justify-content:center;
}
.wp-block-social-links.alignright{
justify-content:flex-end;
}
.wp-block-social-link{
border-radius:9999px;
display:block;
height:auto;
transition:transform .1s ease;
}
@media (prefers-reduced-motion:reduce){
.wp-block-social-link{
transition-delay:0s;
transition-duration:0s;
}
}
.wp-block-social-link a{
align-items:center;
display:flex;
line-height:0;
transition:transform .1s ease;
}
.wp-block-social-link:hover{
transform:scale(1.1);
}
.wp-block-social-links .wp-block-social-link.wp-social-link{
display:inline-block;
margin:0;
padding:0;
}
.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{
color:currentColor;
fill:currentColor;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link{
background-color:#f0f0f0;
color:#444;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-amazon{
background-color:#f90;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bandcamp{
background-color:#1ea0c3;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-behance{
background-color:#0757fe;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bluesky{
background-color:#0a7aff;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-codepen{
background-color:#1e1f26;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-deviantart{
background-color:#02e49b;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dribbble{
background-color:#e94c89;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dropbox{
background-color:#4280ff;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-etsy{
background-color:#f45800;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook{
background-color:#1778f2;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-fivehundredpx{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-flickr{
background-color:#0461dd;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-foursquare{
background-color:#e65678;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-github{
background-color:#24292d;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-goodreads{
background-color:#eceadd;
color:#382110;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-google{
background-color:#ea4434;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-gravatar{
background-color:#1d4fc4;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram{
background-color:#f00075;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-lastfm{
background-color:#e21b24;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-linkedin{
background-color:#0d66c2;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-mastodon{
background-color:#3288d4;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-medium{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-meetup{
background-color:#f6405f;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-patreon{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pinterest{
background-color:#e60122;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pocket{
background-color:#ef4155;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-reddit{
background-color:#ff4500;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-skype{
background-color:#0478d7;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-snapchat{
background-color:#fefc00;
color:#fff;
stroke:#000;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-soundcloud{
background-color:#ff5600;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-spotify{
background-color:#1bd760;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-telegram{
background-color:#2aabee;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-threads{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tumblr{
background-color:#011835;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitch{
background-color:#6440a4;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitter{
background-color:#1da1f2;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vimeo{
background-color:#1eb7ea;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vk{
background-color:#4680c2;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-wordpress{
background-color:#3499cd;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-whatsapp{
background-color:#25d366;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-x{
background-color:#000;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-yelp{
background-color:#d32422;
color:#fff;
}
:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube{
background-color:red;
color:#fff;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link{
background:none;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link svg{
height:1.25em;
width:1.25em;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-amazon{
color:#f90;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bandcamp{
color:#1ea0c3;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-behance{
color:#0757fe;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bluesky{
color:#0a7aff;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-codepen{
color:#1e1f26;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-deviantart{
color:#02e49b;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dribbble{
color:#e94c89;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dropbox{
color:#4280ff;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-etsy{
color:#f45800;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-facebook{
color:#1778f2;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-fivehundredpx{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-flickr{
color:#0461dd;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-foursquare{
color:#e65678;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-github{
color:#24292d;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-goodreads{
color:#382110;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-google{
color:#ea4434;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-gravatar{
color:#1d4fc4;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-instagram{
color:#f00075;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-lastfm{
color:#e21b24;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-linkedin{
color:#0d66c2;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-mastodon{
color:#3288d4;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-medium{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-meetup{
color:#f6405f;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-patreon{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pinterest{
color:#e60122;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pocket{
color:#ef4155;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-reddit{
color:#ff4500;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-skype{
color:#0478d7;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-snapchat{
color:#fff;
stroke:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-soundcloud{
color:#ff5600;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-spotify{
color:#1bd760;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-telegram{
color:#2aabee;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-threads{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tiktok{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tumblr{
color:#011835;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitch{
color:#6440a4;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitter{
color:#1da1f2;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vimeo{
color:#1eb7ea;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vk{
color:#4680c2;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-whatsapp{
color:#25d366;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-wordpress{
color:#3499cd;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-x{
color:#000;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-yelp{
color:#d32422;
}
:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-youtube{
color:red;
}
.wp-block-social-links.is-style-pill-shape .wp-social-link{
width:auto;
}
:root :where(.wp-block-social-links .wp-social-link a){
padding:.25em;
}
:root :where(.wp-block-social-links.is-style-logos-only .wp-social-link a){
padding:0;
}
:root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link a){
padding-left:.66667em;
padding-right:.66667em;
}
.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{
color:#000;
} social-links/style.min.css 0000644 00000026520 14717677151 0011615 0 ustar 00 .wp-block-social-links{background:none;box-sizing:border-box;margin-left:0;padding-left:0;padding-right:0;text-indent:0}.wp-block-social-links .wp-social-link a,.wp-block-social-links .wp-social-link a:hover{border-bottom:0;box-shadow:none;text-decoration:none}.wp-block-social-links .wp-social-link svg{height:1em;width:1em}.wp-block-social-links .wp-social-link span:not(.screen-reader-text){font-size:.65em;margin-left:.5em;margin-right:.5em}.wp-block-social-links.has-small-icon-size{font-size:16px}.wp-block-social-links,.wp-block-social-links.has-normal-icon-size{font-size:24px}.wp-block-social-links.has-large-icon-size{font-size:36px}.wp-block-social-links.has-huge-icon-size{font-size:48px}.wp-block-social-links.aligncenter{display:flex;justify-content:center}.wp-block-social-links.alignright{justify-content:flex-end}.wp-block-social-link{border-radius:9999px;display:block;height:auto;transition:transform .1s ease}@media (prefers-reduced-motion:reduce){.wp-block-social-link{transition-delay:0s;transition-duration:0s}}.wp-block-social-link a{align-items:center;display:flex;line-height:0;transition:transform .1s ease}.wp-block-social-link:hover{transform:scale(1.1)}.wp-block-social-links .wp-block-social-link.wp-social-link{display:inline-block;margin:0;padding:0}.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor svg,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:active,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:hover,.wp-block-social-links .wp-block-social-link.wp-social-link .wp-block-social-link-anchor:visited{color:currentColor;fill:currentColor}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link{background-color:#f0f0f0;color:#444}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-amazon{background-color:#f90;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bandcamp{background-color:#1ea0c3;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-behance{background-color:#0757fe;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-bluesky{background-color:#0a7aff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-codepen{background-color:#1e1f26;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-deviantart{background-color:#02e49b;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dribbble{background-color:#e94c89;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-dropbox{background-color:#4280ff;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-etsy{background-color:#f45800;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-facebook{background-color:#1778f2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-fivehundredpx{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-flickr{background-color:#0461dd;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-foursquare{background-color:#e65678;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-github{background-color:#24292d;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-goodreads{background-color:#eceadd;color:#382110}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-google{background-color:#ea4434;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-gravatar{background-color:#1d4fc4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-instagram{background-color:#f00075;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-lastfm{background-color:#e21b24;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-linkedin{background-color:#0d66c2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-mastodon{background-color:#3288d4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-medium{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-meetup{background-color:#f6405f;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-patreon{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pinterest{background-color:#e60122;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-pocket{background-color:#ef4155;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-reddit{background-color:#ff4500;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-skype{background-color:#0478d7;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-snapchat{background-color:#fefc00;color:#fff;stroke:#000}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-soundcloud{background-color:#ff5600;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-spotify{background-color:#1bd760;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-telegram{background-color:#2aabee;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-threads{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tiktok{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-tumblr{background-color:#011835;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitch{background-color:#6440a4;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-twitter{background-color:#1da1f2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vimeo{background-color:#1eb7ea;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-vk{background-color:#4680c2;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-wordpress{background-color:#3499cd;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-whatsapp{background-color:#25d366;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-x{background-color:#000;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-yelp{background-color:#d32422;color:#fff}:where(.wp-block-social-links:not(.is-style-logos-only)) .wp-social-link-youtube{background-color:red;color:#fff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link{background:none}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link svg{height:1.25em;width:1.25em}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-amazon{color:#f90}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bandcamp{color:#1ea0c3}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-behance{color:#0757fe}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-bluesky{color:#0a7aff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-codepen{color:#1e1f26}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-deviantart{color:#02e49b}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dribbble{color:#e94c89}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-dropbox{color:#4280ff}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-etsy{color:#f45800}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-facebook{color:#1778f2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-fivehundredpx{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-flickr{color:#0461dd}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-foursquare{color:#e65678}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-github{color:#24292d}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-goodreads{color:#382110}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-google{color:#ea4434}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-gravatar{color:#1d4fc4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-instagram{color:#f00075}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-lastfm{color:#e21b24}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-linkedin{color:#0d66c2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-mastodon{color:#3288d4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-medium{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-meetup{color:#f6405f}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-patreon{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pinterest{color:#e60122}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-pocket{color:#ef4155}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-reddit{color:#ff4500}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-skype{color:#0478d7}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-snapchat{color:#fff;stroke:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-soundcloud{color:#ff5600}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-spotify{color:#1bd760}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-telegram{color:#2aabee}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-threads{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tiktok{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-tumblr{color:#011835}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitch{color:#6440a4}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-twitter{color:#1da1f2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vimeo{color:#1eb7ea}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-vk{color:#4680c2}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-whatsapp{color:#25d366}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-wordpress{color:#3499cd}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-x{color:#000}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-yelp{color:#d32422}:where(.wp-block-social-links.is-style-logos-only) .wp-social-link-youtube{color:red}.wp-block-social-links.is-style-pill-shape .wp-social-link{width:auto}:root :where(.wp-block-social-links .wp-social-link a){padding:.25em}:root :where(.wp-block-social-links.is-style-logos-only .wp-social-link a){padding:0}:root :where(.wp-block-social-links.is-style-pill-shape .wp-social-link a){padding-left:.66667em;padding-right:.66667em}.wp-block-social-links:not(.has-icon-color):not(.has-icon-background-color) .wp-social-link-snapchat .wp-block-social-link-label{color:#000} table/editor-rtl.css 0000644 00000003071 14717677151 0010453 0 ustar 00 .wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{
height:auto;
}
.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{
width:auto;
}
.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{
word-break:break-word;
}
.wp-block[data-align=center]>.wp-block-table{
text-align:initial;
}
.wp-block[data-align=center]>.wp-block-table table{
margin:0 auto;
}
.wp-block-table td,.wp-block-table th{
border:1px solid;
padding:.5em;
}
.wp-block-table td.is-selected,.wp-block-table th.is-selected{
border-color:var(--wp-admin-theme-color);
border-style:double;
box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);
}
.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{
border:1px solid;
}
.blocks-table__placeholder-form.blocks-table__placeholder-form{
align-items:flex-start;
display:flex;
flex-direction:column;
gap:8px;
}
@media (min-width:782px){
.blocks-table__placeholder-form.blocks-table__placeholder-form{
align-items:flex-end;
flex-direction:row;
}
}
.blocks-table__placeholder-input{
width:112px;
} table/editor.css 0000644 00000003071 14717677151 0007654 0 ustar 00 .wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{
height:auto;
}
.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{
width:auto;
}
.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{
word-break:break-word;
}
.wp-block[data-align=center]>.wp-block-table{
text-align:initial;
}
.wp-block[data-align=center]>.wp-block-table table{
margin:0 auto;
}
.wp-block-table td,.wp-block-table th{
border:1px solid;
padding:.5em;
}
.wp-block-table td.is-selected,.wp-block-table th.is-selected{
border-color:var(--wp-admin-theme-color);
border-style:double;
box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color);
}
.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{
border:1px solid;
}
.blocks-table__placeholder-form.blocks-table__placeholder-form{
align-items:flex-start;
display:flex;
flex-direction:column;
gap:8px;
}
@media (min-width:782px){
.blocks-table__placeholder-form.blocks-table__placeholder-form{
align-items:flex-end;
flex-direction:row;
}
}
.blocks-table__placeholder-input{
width:112px;
} table/block.json 0000644 00000010427 14717677151 0007644 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/table",
"title": "Table",
"category": "text",
"description": "Create structured content in rows and columns to display information.",
"textdomain": "default",
"attributes": {
"hasFixedLayout": {
"type": "boolean",
"default": true
},
"caption": {
"type": "rich-text",
"source": "rich-text",
"selector": "figcaption"
},
"head": {
"type": "array",
"default": [],
"source": "query",
"selector": "thead tr",
"query": {
"cells": {
"type": "array",
"default": [],
"source": "query",
"selector": "td,th",
"query": {
"content": {
"type": "rich-text",
"source": "rich-text"
},
"tag": {
"type": "string",
"default": "td",
"source": "tag"
},
"scope": {
"type": "string",
"source": "attribute",
"attribute": "scope"
},
"align": {
"type": "string",
"source": "attribute",
"attribute": "data-align"
},
"colspan": {
"type": "string",
"source": "attribute",
"attribute": "colspan"
},
"rowspan": {
"type": "string",
"source": "attribute",
"attribute": "rowspan"
}
}
}
}
},
"body": {
"type": "array",
"default": [],
"source": "query",
"selector": "tbody tr",
"query": {
"cells": {
"type": "array",
"default": [],
"source": "query",
"selector": "td,th",
"query": {
"content": {
"type": "rich-text",
"source": "rich-text"
},
"tag": {
"type": "string",
"default": "td",
"source": "tag"
},
"scope": {
"type": "string",
"source": "attribute",
"attribute": "scope"
},
"align": {
"type": "string",
"source": "attribute",
"attribute": "data-align"
},
"colspan": {
"type": "string",
"source": "attribute",
"attribute": "colspan"
},
"rowspan": {
"type": "string",
"source": "attribute",
"attribute": "rowspan"
}
}
}
}
},
"foot": {
"type": "array",
"default": [],
"source": "query",
"selector": "tfoot tr",
"query": {
"cells": {
"type": "array",
"default": [],
"source": "query",
"selector": "td,th",
"query": {
"content": {
"type": "rich-text",
"source": "rich-text"
},
"tag": {
"type": "string",
"default": "td",
"source": "tag"
},
"scope": {
"type": "string",
"source": "attribute",
"attribute": "scope"
},
"align": {
"type": "string",
"source": "attribute",
"attribute": "data-align"
},
"colspan": {
"type": "string",
"source": "attribute",
"attribute": "colspan"
},
"rowspan": {
"type": "string",
"source": "attribute",
"attribute": "rowspan"
}
}
}
}
}
},
"supports": {
"anchor": true,
"align": true,
"color": {
"__experimentalSkipSerialization": true,
"gradients": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"spacing": {
"margin": true,
"padding": true,
"__experimentalDefaultControls": {
"margin": false,
"padding": false
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontStyle": true,
"__experimentalFontWeight": true,
"__experimentalLetterSpacing": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"__experimentalBorder": {
"__experimentalSkipSerialization": true,
"color": true,
"style": true,
"width": true,
"__experimentalDefaultControls": {
"color": true,
"style": true,
"width": true
}
},
"__experimentalSelector": ".wp-block-table > table",
"interactivity": {
"clientNavigation": true
}
},
"styles": [
{
"name": "regular",
"label": "Default",
"isDefault": true
},
{ "name": "stripes", "label": "Stripes" }
],
"editorStyle": "wp-block-table-editor",
"style": "wp-block-table"
}
table/style-rtl.min.css 0000644 00000007417 14717677151 0011117 0 ustar 00 .wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:initial;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:#0000}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:initial}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:initial}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit} table/style-rtl.css 0000644 00000007724 14717677151 0010336 0 ustar 00 .wp-block-table{
overflow-x:auto;
}
.wp-block-table table{
border-collapse:collapse;
width:100%;
}
.wp-block-table thead{
border-bottom:3px solid;
}
.wp-block-table tfoot{
border-top:3px solid;
}
.wp-block-table td,.wp-block-table th{
border:1px solid;
padding:.5em;
}
.wp-block-table .has-fixed-layout{
table-layout:fixed;
width:100%;
}
.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{
word-break:break-word;
}
.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{
display:table;
width:auto;
}
.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{
word-break:break-word;
}
.wp-block-table .has-subtle-light-gray-background-color{
background-color:#f3f4f5;
}
.wp-block-table .has-subtle-pale-green-background-color{
background-color:#e9fbe5;
}
.wp-block-table .has-subtle-pale-blue-background-color{
background-color:#e7f5fe;
}
.wp-block-table .has-subtle-pale-pink-background-color{
background-color:#fcf0ef;
}
.wp-block-table.is-style-stripes{
background-color:initial;
border-bottom:1px solid #f0f0f0;
border-collapse:inherit;
border-spacing:0;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd){
background-color:#f0f0f0;
}
.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){
background-color:#f3f4f5;
}
.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){
background-color:#e9fbe5;
}
.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){
background-color:#e7f5fe;
}
.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){
background-color:#fcf0ef;
}
.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{
border-color:#0000;
}
.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{
border-color:inherit;
}
.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{
border-top-color:inherit;
}
.wp-block-table table[style*=border-top-color] tr:not(:first-child){
border-top-color:initial;
}
.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{
border-left-color:inherit;
}
.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{
border-bottom-color:inherit;
}
.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){
border-bottom-color:initial;
}
.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{
border-right-color:inherit;
}
.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{
border-style:inherit;
}
.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{
border-style:inherit;
border-width:inherit;
} table/theme.min.css 0000644 00000000350 14717677151 0010247 0 ustar 00 .wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6} table/theme.css 0000644 00000000405 14717677151 0007466 0 ustar 00 .wp-block-table{
margin:0 0 1em;
}
.wp-block-table td,.wp-block-table th{
word-break:normal;
}
.wp-block-table :where(figcaption){
color:#555;
font-size:13px;
text-align:center;
}
.is-dark-theme .wp-block-table :where(figcaption){
color:#ffffffa6;
} table/theme-rtl.min.css 0000644 00000000350 14717677151 0011046 0 ustar 00 .wp-block-table{margin:0 0 1em}.wp-block-table td,.wp-block-table th{word-break:normal}.wp-block-table :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-table :where(figcaption){color:#ffffffa6} table/editor.min.css 0000644 00000002727 14717677151 0010445 0 ustar 00 .wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column;gap:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}}.blocks-table__placeholder-input{width:112px} table/editor-rtl.min.css 0000644 00000002727 14717677151 0011244 0 ustar 00 .wp-block[data-align=center]>.wp-block-table,.wp-block[data-align=left]>.wp-block-table,.wp-block[data-align=right]>.wp-block-table{height:auto}.wp-block[data-align=center]>.wp-block-table table,.wp-block[data-align=left]>.wp-block-table table,.wp-block[data-align=right]>.wp-block-table table{width:auto}.wp-block[data-align=center]>.wp-block-table td,.wp-block[data-align=center]>.wp-block-table th,.wp-block[data-align=left]>.wp-block-table td,.wp-block[data-align=left]>.wp-block-table th,.wp-block[data-align=right]>.wp-block-table td,.wp-block[data-align=right]>.wp-block-table th{word-break:break-word}.wp-block[data-align=center]>.wp-block-table{text-align:initial}.wp-block[data-align=center]>.wp-block-table table{margin:0 auto}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table td.is-selected,.wp-block-table th.is-selected{border-color:var(--wp-admin-theme-color);border-style:double;box-shadow:inset 0 0 0 1px var(--wp-admin-theme-color)}.wp-block-table table.has-individual-borders td,.wp-block-table table.has-individual-borders th,.wp-block-table table.has-individual-borders tr,.wp-block-table table.has-individual-borders>*{border:1px solid}.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-start;display:flex;flex-direction:column;gap:8px}@media (min-width:782px){.blocks-table__placeholder-form.blocks-table__placeholder-form{align-items:flex-end;flex-direction:row}}.blocks-table__placeholder-input{width:112px} table/theme-rtl.css 0000644 00000000405 14717677151 0010265 0 ustar 00 .wp-block-table{
margin:0 0 1em;
}
.wp-block-table td,.wp-block-table th{
word-break:normal;
}
.wp-block-table :where(figcaption){
color:#555;
font-size:13px;
text-align:center;
}
.is-dark-theme .wp-block-table :where(figcaption){
color:#ffffffa6;
} table/style.css 0000644 00000007724 14717677151 0007537 0 ustar 00 .wp-block-table{
overflow-x:auto;
}
.wp-block-table table{
border-collapse:collapse;
width:100%;
}
.wp-block-table thead{
border-bottom:3px solid;
}
.wp-block-table tfoot{
border-top:3px solid;
}
.wp-block-table td,.wp-block-table th{
border:1px solid;
padding:.5em;
}
.wp-block-table .has-fixed-layout{
table-layout:fixed;
width:100%;
}
.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{
word-break:break-word;
}
.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{
display:table;
width:auto;
}
.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{
word-break:break-word;
}
.wp-block-table .has-subtle-light-gray-background-color{
background-color:#f3f4f5;
}
.wp-block-table .has-subtle-pale-green-background-color{
background-color:#e9fbe5;
}
.wp-block-table .has-subtle-pale-blue-background-color{
background-color:#e7f5fe;
}
.wp-block-table .has-subtle-pale-pink-background-color{
background-color:#fcf0ef;
}
.wp-block-table.is-style-stripes{
background-color:initial;
border-bottom:1px solid #f0f0f0;
border-collapse:inherit;
border-spacing:0;
}
.wp-block-table.is-style-stripes tbody tr:nth-child(odd){
background-color:#f0f0f0;
}
.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){
background-color:#f3f4f5;
}
.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){
background-color:#e9fbe5;
}
.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){
background-color:#e7f5fe;
}
.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){
background-color:#fcf0ef;
}
.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{
border-color:#0000;
}
.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{
border-color:inherit;
}
.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{
border-top-color:inherit;
}
.wp-block-table table[style*=border-top-color] tr:not(:first-child){
border-top-color:initial;
}
.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{
border-right-color:inherit;
}
.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{
border-bottom-color:inherit;
}
.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){
border-bottom-color:initial;
}
.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{
border-left-color:inherit;
}
.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{
border-style:inherit;
}
.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{
border-style:inherit;
border-width:inherit;
} table/style.min.css 0000644 00000007417 14717677151 0010320 0 ustar 00 .wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:initial;border-bottom:1px solid #f0f0f0;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:#0000}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*=border-top-color] tr:first-child,.wp-block-table table[style*=border-top-color] tr:first-child td,.wp-block-table table[style*=border-top-color] tr:first-child th,.wp-block-table table[style*=border-top-color]>*,.wp-block-table table[style*=border-top-color]>* td,.wp-block-table table[style*=border-top-color]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:initial}.wp-block-table table[style*=border-right-color] td:last-child,.wp-block-table table[style*=border-right-color] th,.wp-block-table table[style*=border-right-color] tr,.wp-block-table table[style*=border-right-color]>*{border-right-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:last-child,.wp-block-table table[style*=border-bottom-color] tr:last-child td,.wp-block-table table[style*=border-bottom-color] tr:last-child th,.wp-block-table table[style*=border-bottom-color]>*,.wp-block-table table[style*=border-bottom-color]>* td,.wp-block-table table[style*=border-bottom-color]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:initial}.wp-block-table table[style*=border-left-color] td:first-child,.wp-block-table table[style*=border-left-color] th,.wp-block-table table[style*=border-left-color] tr,.wp-block-table table[style*=border-left-color]>*{border-left-color:inherit}.wp-block-table table[style*=border-style] td,.wp-block-table table[style*=border-style] th,.wp-block-table table[style*=border-style] tr,.wp-block-table table[style*=border-style]>*{border-style:inherit}.wp-block-table table[style*=border-width] td,.wp-block-table table[style*=border-width] th,.wp-block-table table[style*=border-width] tr,.wp-block-table table[style*=border-width]>*{border-style:inherit;border-width:inherit} comments-pagination-previous.php 0000644 00000003224 14717677151 0013124 0 ustar 00 'render_block_core_comments_pagination_previous',
)
);
}
add_action( 'init', 'register_block_core_comments_pagination_previous' );
tag-cloud.php 0000644 00000002641 14717677151 0007157 0 ustar 00 [a-z%]+)$/i', $smallest_font_size, $m ) ? $m['unit'] : 'pt' );
$args = array(
'echo' => false,
'unit' => $unit,
'taxonomy' => $attributes['taxonomy'],
'show_count' => $attributes['showTagCounts'],
'number' => $attributes['numberOfTags'],
'smallest' => floatVal( $attributes['smallestFontSize'] ),
'largest' => floatVal( $attributes['largestFontSize'] ),
);
$tag_cloud = wp_tag_cloud( $args );
if ( ! $tag_cloud ) {
$tag_cloud = __( 'There’s no content to show here yet.' );
}
$wrapper_attributes = get_block_wrapper_attributes();
return sprintf(
'
%2$s
',
$wrapper_attributes,
$tag_cloud
);
}
/**
* Registers the `core/tag-cloud` block on server.
*
* @since 5.2.0
*/
function register_block_core_tag_cloud() {
register_block_type_from_metadata(
__DIR__ . '/tag-cloud',
array(
'render_callback' => 'render_block_core_tag_cloud',
)
);
}
add_action( 'init', 'register_block_core_tag_cloud' );
embed/editor-rtl.css 0000644 00000001311 14717677151 0010433 0 ustar 00 .wp-block-embed{
clear:both;
margin-left:0;
margin-right:0;
}
.wp-block-embed.is-loading{
display:flex;
justify-content:center;
}
.wp-block-embed .components-placeholder__error{
word-break:break-word;
}
.wp-block-post-content .wp-block-embed__learn-more a{
color:var(--wp-admin-theme-color);
}
.block-library-embed__interactive-overlay{
bottom:0;
left:0;
opacity:0;
position:absolute;
right:0;
top:0;
}
.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{
max-width:360px;
width:100%;
}
.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{
min-width:280px;
} embed/editor.css 0000644 00000001311 14717677151 0007634 0 ustar 00 .wp-block-embed{
clear:both;
margin-left:0;
margin-right:0;
}
.wp-block-embed.is-loading{
display:flex;
justify-content:center;
}
.wp-block-embed .components-placeholder__error{
word-break:break-word;
}
.wp-block-post-content .wp-block-embed__learn-more a{
color:var(--wp-admin-theme-color);
}
.block-library-embed__interactive-overlay{
bottom:0;
left:0;
opacity:0;
position:absolute;
right:0;
top:0;
}
.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{
max-width:360px;
width:100%;
}
.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{
min-width:280px;
} embed/block.json 0000644 00000002140 14717677151 0007622 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/embed",
"title": "Embed",
"category": "embed",
"description": "Add a block that displays content pulled from other sites, like Twitter or YouTube.",
"textdomain": "default",
"attributes": {
"url": {
"type": "string",
"__experimentalRole": "content"
},
"caption": {
"type": "rich-text",
"source": "rich-text",
"selector": "figcaption",
"__experimentalRole": "content"
},
"type": {
"type": "string",
"__experimentalRole": "content"
},
"providerNameSlug": {
"type": "string",
"__experimentalRole": "content"
},
"allowResponsive": {
"type": "boolean",
"default": true
},
"responsive": {
"type": "boolean",
"default": false,
"__experimentalRole": "content"
},
"previewable": {
"type": "boolean",
"default": true,
"__experimentalRole": "content"
}
},
"supports": {
"align": true,
"spacing": {
"margin": true
},
"interactivity": {
"clientNavigation": true
}
},
"editorStyle": "wp-block-embed-editor",
"style": "wp-block-embed"
}
embed/style-rtl.min.css 0000644 00000003074 14717677151 0011077 0 ustar 00 .wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{max-width:360px;width:100%}.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{min-width:280px}.wp-block-cover .wp-block-embed{min-height:240px;min-width:320px}.wp-block-embed{overflow-wrap:break-word}.wp-block-embed :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-embed iframe{max-width:100%}.wp-block-embed__wrapper{position:relative}.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-embed-responsive .wp-has-aspect-ratio iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%}.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%}.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%}.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%}.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%}.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.77%}.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%} embed/style-rtl.css 0000644 00000003301 14717677151 0010306 0 ustar 00 .wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{
max-width:360px;
width:100%;
}
.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{
min-width:280px;
}
.wp-block-cover .wp-block-embed{
min-height:240px;
min-width:320px;
}
.wp-block-embed{
overflow-wrap:break-word;
}
.wp-block-embed :where(figcaption){
margin-bottom:1em;
margin-top:.5em;
}
.wp-block-embed iframe{
max-width:100%;
}
.wp-block-embed__wrapper{
position:relative;
}
.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{
content:"";
display:block;
padding-top:50%;
}
.wp-embed-responsive .wp-has-aspect-ratio iframe{
bottom:0;
height:100%;
left:0;
position:absolute;
right:0;
top:0;
width:100%;
}
.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{
padding-top:42.85%;
}
.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{
padding-top:50%;
}
.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{
padding-top:56.25%;
}
.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{
padding-top:75%;
}
.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{
padding-top:100%;
}
.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{
padding-top:177.77%;
}
.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{
padding-top:200%;
} embed/theme.min.css 0000644 00000000260 14717677151 0010234 0 ustar 00 .wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em} embed/theme.css 0000644 00000000310 14717677151 0007446 0 ustar 00 .wp-block-embed :where(figcaption){
color:#555;
font-size:13px;
text-align:center;
}
.is-dark-theme .wp-block-embed :where(figcaption){
color:#ffffffa6;
}
.wp-block-embed{
margin:0 0 1em;
} embed/theme-rtl.min.css 0000644 00000000260 14717677151 0011033 0 ustar 00 .wp-block-embed :where(figcaption){color:#555;font-size:13px;text-align:center}.is-dark-theme .wp-block-embed :where(figcaption){color:#ffffffa6}.wp-block-embed{margin:0 0 1em} embed/editor.min.css 0000644 00000001202 14717677151 0010415 0 ustar 00 .wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-post-content .wp-block-embed__learn-more a{color:var(--wp-admin-theme-color)}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px} embed/editor-rtl.min.css 0000644 00000001202 14717677151 0011214 0 ustar 00 .wp-block-embed{clear:both;margin-left:0;margin-right:0}.wp-block-embed.is-loading{display:flex;justify-content:center}.wp-block-embed .components-placeholder__error{word-break:break-word}.wp-block-post-content .wp-block-embed__learn-more a{color:var(--wp-admin-theme-color)}.block-library-embed__interactive-overlay{bottom:0;left:0;opacity:0;position:absolute;right:0;top:0}.wp-block[data-align=left]>.wp-block-embed,.wp-block[data-align=right]>.wp-block-embed{max-width:360px;width:100%}.wp-block[data-align=left]>.wp-block-embed .wp-block-embed__wrapper,.wp-block[data-align=right]>.wp-block-embed .wp-block-embed__wrapper{min-width:280px} embed/theme-rtl.css 0000644 00000000310 14717677151 0010245 0 ustar 00 .wp-block-embed :where(figcaption){
color:#555;
font-size:13px;
text-align:center;
}
.is-dark-theme .wp-block-embed :where(figcaption){
color:#ffffffa6;
}
.wp-block-embed{
margin:0 0 1em;
} embed/style.css 0000644 00000003301 14717677151 0007507 0 ustar 00 .wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{
max-width:360px;
width:100%;
}
.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{
min-width:280px;
}
.wp-block-cover .wp-block-embed{
min-height:240px;
min-width:320px;
}
.wp-block-embed{
overflow-wrap:break-word;
}
.wp-block-embed :where(figcaption){
margin-bottom:1em;
margin-top:.5em;
}
.wp-block-embed iframe{
max-width:100%;
}
.wp-block-embed__wrapper{
position:relative;
}
.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{
content:"";
display:block;
padding-top:50%;
}
.wp-embed-responsive .wp-has-aspect-ratio iframe{
bottom:0;
height:100%;
left:0;
position:absolute;
right:0;
top:0;
width:100%;
}
.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{
padding-top:42.85%;
}
.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{
padding-top:50%;
}
.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{
padding-top:56.25%;
}
.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{
padding-top:75%;
}
.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{
padding-top:100%;
}
.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{
padding-top:177.77%;
}
.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{
padding-top:200%;
} embed/style.min.css 0000644 00000003074 14717677151 0010300 0 ustar 00 .wp-block-embed.alignleft,.wp-block-embed.alignright,.wp-block[data-align=left]>[data-type="core/embed"],.wp-block[data-align=right]>[data-type="core/embed"]{max-width:360px;width:100%}.wp-block-embed.alignleft .wp-block-embed__wrapper,.wp-block-embed.alignright .wp-block-embed__wrapper,.wp-block[data-align=left]>[data-type="core/embed"] .wp-block-embed__wrapper,.wp-block[data-align=right]>[data-type="core/embed"] .wp-block-embed__wrapper{min-width:280px}.wp-block-cover .wp-block-embed{min-height:240px;min-width:320px}.wp-block-embed{overflow-wrap:break-word}.wp-block-embed :where(figcaption){margin-bottom:1em;margin-top:.5em}.wp-block-embed iframe{max-width:100%}.wp-block-embed__wrapper{position:relative}.wp-embed-responsive .wp-has-aspect-ratio .wp-block-embed__wrapper:before{content:"";display:block;padding-top:50%}.wp-embed-responsive .wp-has-aspect-ratio iframe{bottom:0;height:100%;left:0;position:absolute;right:0;top:0;width:100%}.wp-embed-responsive .wp-embed-aspect-21-9 .wp-block-embed__wrapper:before{padding-top:42.85%}.wp-embed-responsive .wp-embed-aspect-18-9 .wp-block-embed__wrapper:before{padding-top:50%}.wp-embed-responsive .wp-embed-aspect-16-9 .wp-block-embed__wrapper:before{padding-top:56.25%}.wp-embed-responsive .wp-embed-aspect-4-3 .wp-block-embed__wrapper:before{padding-top:75%}.wp-embed-responsive .wp-embed-aspect-1-1 .wp-block-embed__wrapper:before{padding-top:100%}.wp-embed-responsive .wp-embed-aspect-9-16 .wp-block-embed__wrapper:before{padding-top:177.77%}.wp-embed-responsive .wp-embed-aspect-1-2 .wp-block-embed__wrapper:before{padding-top:200%} verse/block.json 0000644 00000002622 14717677151 0007677 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/verse",
"title": "Verse",
"category": "text",
"description": "Insert poetry. Use special spacing formats. Or quote song lyrics.",
"keywords": [ "poetry", "poem" ],
"textdomain": "default",
"attributes": {
"content": {
"type": "rich-text",
"source": "rich-text",
"selector": "pre",
"__unstablePreserveWhiteSpace": true,
"__experimentalRole": "content"
},
"textAlign": {
"type": "string"
}
},
"supports": {
"anchor": true,
"color": {
"gradients": true,
"link": true,
"__experimentalDefaultControls": {
"background": true,
"text": true
}
},
"typography": {
"fontSize": true,
"__experimentalFontFamily": true,
"lineHeight": true,
"__experimentalFontStyle": true,
"__experimentalFontWeight": true,
"__experimentalLetterSpacing": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"spacing": {
"margin": true,
"padding": true,
"__experimentalDefaultControls": {
"margin": false,
"padding": false
}
},
"__experimentalBorder": {
"radius": true,
"width": true,
"color": true,
"style": true
},
"interactivity": {
"clientNavigation": true
}
},
"style": "wp-block-verse",
"editorStyle": "wp-block-verse-editor"
}
verse/style-rtl.min.css 0000644 00000000145 14717677151 0011143 0 ustar 00 pre.wp-block-verse{overflow:auto;white-space:pre-wrap}:where(pre.wp-block-verse){font-family:inherit} verse/style-rtl.css 0000644 00000000164 14717677151 0010362 0 ustar 00 pre.wp-block-verse{
overflow:auto;
white-space:pre-wrap;
}
:where(pre.wp-block-verse){
font-family:inherit;
} verse/style.css 0000644 00000000164 14717677151 0007563 0 ustar 00 pre.wp-block-verse{
overflow:auto;
white-space:pre-wrap;
}
:where(pre.wp-block-verse){
font-family:inherit;
} verse/style.min.css 0000644 00000000145 14717677151 0010344 0 ustar 00 pre.wp-block-verse{overflow:auto;white-space:pre-wrap}:where(pre.wp-block-verse){font-family:inherit} buttons/editor-rtl.css 0000644 00000002233 14717677151 0011061 0 ustar 00 .wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{
margin:0;
}
.wp-block-buttons>.block-list-appender{
align-items:center;
display:inline-flex;
}
.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{
justify-content:flex-start;
}
.wp-block-buttons>.wp-block-button:focus{
box-shadow:none;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{
margin-left:auto;
margin-right:auto;
margin-top:0;
width:100%;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{
margin-bottom:0;
}
.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block[data-align=center]>.wp-block-buttons{
align-items:center;
justify-content:center;
}
.wp-block[data-align=right]>.wp-block-buttons{
justify-content:flex-end;
} buttons/editor.css 0000644 00000002233 14717677151 0010262 0 ustar 00 .wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{
margin:0;
}
.wp-block-buttons>.block-list-appender{
align-items:center;
display:inline-flex;
}
.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{
justify-content:flex-start;
}
.wp-block-buttons>.wp-block-button:focus{
box-shadow:none;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{
margin-left:auto;
margin-right:auto;
margin-top:0;
width:100%;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{
margin-bottom:0;
}
.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block[data-align=center]>.wp-block-buttons{
align-items:center;
justify-content:center;
}
.wp-block[data-align=right]>.wp-block-buttons{
justify-content:flex-end;
} buttons/block.json 0000644 00000002255 14717677151 0010253 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/buttons",
"title": "Buttons",
"category": "design",
"allowedBlocks": [ "core/button" ],
"description": "Prompt visitors to take action with a group of button-style links.",
"keywords": [ "link" ],
"textdomain": "default",
"supports": {
"anchor": true,
"align": [ "wide", "full" ],
"html": false,
"__experimentalExposeControlsToChildren": true,
"spacing": {
"blockGap": true,
"margin": [ "top", "bottom" ],
"__experimentalDefaultControls": {
"blockGap": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"layout": {
"allowSwitching": false,
"allowInheriting": false,
"default": {
"type": "flex"
}
},
"interactivity": {
"clientNavigation": true
}
},
"editorStyle": "wp-block-buttons-editor",
"style": "wp-block-buttons"
}
buttons/style-rtl.min.css 0000644 00000002427 14717677151 0011522 0 ustar 00 .wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter{text-align:center} buttons/style-rtl.css 0000644 00000002572 14717677151 0010741 0 ustar 00 .wp-block-buttons.is-vertical{
flex-direction:column;
}
.wp-block-buttons.is-vertical>.wp-block-button:last-child{
margin-bottom:0;
}
.wp-block-buttons>.wp-block-button{
display:inline-block;
margin:0;
}
.wp-block-buttons.is-content-justification-left{
justify-content:flex-start;
}
.wp-block-buttons.is-content-justification-left.is-vertical{
align-items:flex-start;
}
.wp-block-buttons.is-content-justification-center{
justify-content:center;
}
.wp-block-buttons.is-content-justification-center.is-vertical{
align-items:center;
}
.wp-block-buttons.is-content-justification-right{
justify-content:flex-end;
}
.wp-block-buttons.is-content-justification-right.is-vertical{
align-items:flex-end;
}
.wp-block-buttons.is-content-justification-space-between{
justify-content:space-between;
}
.wp-block-buttons.aligncenter{
text-align:center;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{
margin-left:auto;
margin-right:auto;
width:100%;
}
.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{
text-decoration:inherit;
}
.wp-block-buttons.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block-button.aligncenter{
text-align:center;
} buttons/editor.min.css 0000644 00000002125 14717677151 0011044 0 ustar 00 .wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end} buttons/editor-rtl.min.css 0000644 00000002125 14717677151 0011643 0 ustar 00 .wp-block-buttons>.wp-block,.wp-block-buttons>.wp-block-button.wp-block-button.wp-block-button.wp-block-button.wp-block-button{margin:0}.wp-block-buttons>.block-list-appender{align-items:center;display:inline-flex}.wp-block-buttons.is-vertical>.block-list-appender .block-list-appender__toggle{justify-content:flex-start}.wp-block-buttons>.wp-block-button:focus{box-shadow:none}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center]{margin-left:auto;margin-right:auto;margin-top:0;width:100%}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block[data-align=center] .wp-block-button{margin-bottom:0}.editor-styles-wrapper .wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block[data-align=center]>.wp-block-buttons{align-items:center;justify-content:center}.wp-block[data-align=right]>.wp-block-buttons{justify-content:flex-end} buttons/style.css 0000644 00000002572 14717677151 0010142 0 ustar 00 .wp-block-buttons.is-vertical{
flex-direction:column;
}
.wp-block-buttons.is-vertical>.wp-block-button:last-child{
margin-bottom:0;
}
.wp-block-buttons>.wp-block-button{
display:inline-block;
margin:0;
}
.wp-block-buttons.is-content-justification-left{
justify-content:flex-start;
}
.wp-block-buttons.is-content-justification-left.is-vertical{
align-items:flex-start;
}
.wp-block-buttons.is-content-justification-center{
justify-content:center;
}
.wp-block-buttons.is-content-justification-center.is-vertical{
align-items:center;
}
.wp-block-buttons.is-content-justification-right{
justify-content:flex-end;
}
.wp-block-buttons.is-content-justification-right.is-vertical{
align-items:flex-end;
}
.wp-block-buttons.is-content-justification-space-between{
justify-content:space-between;
}
.wp-block-buttons.aligncenter{
text-align:center;
}
.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{
margin-left:auto;
margin-right:auto;
width:100%;
}
.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{
text-decoration:inherit;
}
.wp-block-buttons.has-custom-font-size .wp-block-button__link{
font-size:inherit;
}
.wp-block-button.aligncenter{
text-align:center;
} buttons/style.min.css 0000644 00000002427 14717677151 0010723 0 ustar 00 .wp-block-buttons.is-vertical{flex-direction:column}.wp-block-buttons.is-vertical>.wp-block-button:last-child{margin-bottom:0}.wp-block-buttons>.wp-block-button{display:inline-block;margin:0}.wp-block-buttons.is-content-justification-left{justify-content:flex-start}.wp-block-buttons.is-content-justification-left.is-vertical{align-items:flex-start}.wp-block-buttons.is-content-justification-center{justify-content:center}.wp-block-buttons.is-content-justification-center.is-vertical{align-items:center}.wp-block-buttons.is-content-justification-right{justify-content:flex-end}.wp-block-buttons.is-content-justification-right.is-vertical{align-items:flex-end}.wp-block-buttons.is-content-justification-space-between{justify-content:space-between}.wp-block-buttons.aligncenter{text-align:center}.wp-block-buttons:not(.is-content-justification-space-between,.is-content-justification-right,.is-content-justification-left,.is-content-justification-center) .wp-block-button.aligncenter{margin-left:auto;margin-right:auto;width:100%}.wp-block-buttons[style*=text-decoration] .wp-block-button,.wp-block-buttons[style*=text-decoration] .wp-block-button__link{text-decoration:inherit}.wp-block-buttons.has-custom-font-size .wp-block-button__link{font-size:inherit}.wp-block-button.aligncenter{text-align:center} comments.php 0000644 00000015157 14717677151 0007133 0 ustar 00 context['postId'];
if ( ! isset( $post_id ) ) {
return '';
}
// Return early if there are no comments and comments are closed.
if ( ! comments_open( $post_id ) && (int) get_comments_number( $post_id ) === 0 ) {
return '';
}
// If this isn't the legacy block, we need to render the static version of this block.
$is_legacy = 'core/post-comments' === $block->name || ! empty( $attributes['legacy'] );
if ( ! $is_legacy ) {
return $block->render( array( 'dynamic' => false ) );
}
$post_before = $post;
$post = get_post( $post_id );
setup_postdata( $post );
ob_start();
/*
* There's a deprecation warning generated by WP Core.
* Ideally this deprecation is removed from Core.
* In the meantime, this removes it from the output.
*/
add_filter( 'deprecated_file_trigger_error', '__return_false' );
comments_template();
remove_filter( 'deprecated_file_trigger_error', '__return_false' );
$output = ob_get_clean();
$post = $post_before;
$classnames = array();
// Adds the old class name for styles' backwards compatibility.
if ( isset( $attributes['legacy'] ) ) {
$classnames[] = 'wp-block-post-comments';
}
if ( isset( $attributes['textAlign'] ) ) {
$classnames[] = 'has-text-align-' . $attributes['textAlign'];
}
$wrapper_attributes = get_block_wrapper_attributes(
array( 'class' => implode( ' ', $classnames ) )
);
/*
* Enqueues scripts and styles required only for the legacy version. That is
* why they are not defined in `block.json`.
*/
wp_enqueue_script( 'comment-reply' );
enqueue_legacy_post_comments_block_styles( $block->name );
return sprintf( '
%2$s
', $wrapper_attributes, $output );
}
/**
* Registers the `core/comments` block on the server.
*
* @since 6.1.0
*/
function register_block_core_comments() {
register_block_type_from_metadata(
__DIR__ . '/comments',
array(
'render_callback' => 'render_block_core_comments',
'skip_inner_blocks' => true,
)
);
}
add_action( 'init', 'register_block_core_comments' );
/**
* Use the button block classes for the form-submit button.
*
* @since 6.1.0
*
* @param array $fields The default comment form arguments.
*
* @return array Returns the modified fields.
*/
function comments_block_form_defaults( $fields ) {
if ( wp_is_block_theme() ) {
$fields['submit_button'] = '
';
$fields['submit_field'] = '
%1$s %2$s
';
}
return $fields;
}
add_filter( 'comment_form_defaults', 'comments_block_form_defaults' );
/**
* Enqueues styles from the legacy `core/post-comments` block. These styles are
* required only by the block's fallback.
*
* @since 6.1.0
*
* @param string $block_name Name of the new block type.
*/
function enqueue_legacy_post_comments_block_styles( $block_name ) {
static $are_styles_enqueued = false;
if ( ! $are_styles_enqueued ) {
$handles = array(
'wp-block-post-comments',
'wp-block-buttons',
'wp-block-button',
);
foreach ( $handles as $handle ) {
wp_enqueue_block_style( $block_name, array( 'handle' => $handle ) );
}
$are_styles_enqueued = true;
}
}
/**
* Ensures backwards compatibility for any users running the Gutenberg plugin
* who have used Post Comments before it was merged into Comments Query Loop.
*
* The same approach was followed when core/query-loop was renamed to
* core/post-template.
*
* @since 6.1.0
*
* @see https://github.com/WordPress/gutenberg/pull/41807
* @see https://github.com/WordPress/gutenberg/pull/32514
*/
function register_legacy_post_comments_block() {
$registry = WP_Block_Type_Registry::get_instance();
/*
* Remove the old `post-comments` block if it was already registered, as it
* is about to be replaced by the type defined below.
*/
if ( $registry->is_registered( 'core/post-comments' ) ) {
unregister_block_type( 'core/post-comments' );
}
// Recreate the legacy block metadata.
$metadata = array(
'name' => 'core/post-comments',
'category' => 'theme',
'attributes' => array(
'textAlign' => array(
'type' => 'string',
),
),
'uses_context' => array(
'postId',
'postType',
),
'supports' => array(
'html' => false,
'align' => array( 'wide', 'full' ),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextTransform' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true,
),
),
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
),
),
'inserter' => false,
),
'style' => array(
'wp-block-post-comments',
'wp-block-buttons',
'wp-block-button',
),
'render_callback' => 'render_block_core_comments',
'skip_inner_blocks' => true,
);
/*
* Filters the metadata object, the same way it's done inside
* `register_block_type_from_metadata()`. This applies some default filters,
* like `_wp_multiple_block_styles`, which is required in this case because
* the block has multiple styles.
*/
/** This filter is documented in wp-includes/blocks.php */
$metadata = apply_filters( 'block_type_metadata', $metadata );
register_block_type( 'core/post-comments', $metadata );
}
add_action( 'init', 'register_legacy_post_comments_block', 21 );
comment-date.php 0000644 00000003142 14717677151 0007652 0 ustar 00 context['commentId'] ) ) {
return '';
}
$comment = get_comment( $block->context['commentId'] );
if ( empty( $comment ) ) {
return '';
}
$classes = ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) ? 'has-link-color' : '';
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classes ) );
$formatted_date = get_comment_date(
isset( $attributes['format'] ) ? $attributes['format'] : '',
$comment
);
$link = get_comment_link( $comment );
if ( ! empty( $attributes['isLink'] ) ) {
$formatted_date = sprintf( '
%2s', esc_url( $link ), $formatted_date );
}
return sprintf(
'
',
$wrapper_attributes,
esc_attr( get_comment_date( 'c', $comment ) ),
$formatted_date
);
}
/**
* Registers the `core/comment-date` block on the server.
*
* @since 6.0.0
*/
function register_block_core_comment_date() {
register_block_type_from_metadata(
__DIR__ . '/comment-date',
array(
'render_callback' => 'render_block_core_comment_date',
)
);
}
add_action( 'init', 'register_block_core_comment_date' );
post-excerpt.php 0000644 00000006567 14717677151 0007750 0 ustar 00 context['postId'] ) ) {
return '';
}
/*
* The purpose of the excerpt length setting is to limit the length of both
* automatically generated and user-created excerpts.
* Because the excerpt_length filter only applies to auto generated excerpts,
* wp_trim_words is used instead.
*/
$excerpt_length = $attributes['excerptLength'];
$excerpt = get_the_excerpt( $block->context['postId'] );
if ( isset( $excerpt_length ) ) {
$excerpt = wp_trim_words( $excerpt, $excerpt_length );
}
$more_text = ! empty( $attributes['moreText'] ) ? '
' . wp_kses_post( $attributes['moreText'] ) . '' : '';
$filter_excerpt_more = static function ( $more ) use ( $more_text ) {
return empty( $more_text ) ? $more : '';
};
/**
* Some themes might use `excerpt_more` filter to handle the
* `more` link displayed after a trimmed excerpt. Since the
* block has a `more text` attribute we have to check and
* override if needed the return value from this filter.
* So if the block's attribute is not empty override the
* `excerpt_more` filter and return nothing. This will
* result in showing only one `read more` link at a time.
*/
add_filter( 'excerpt_more', $filter_excerpt_more );
$classes = array();
if ( isset( $attributes['textAlign'] ) ) {
$classes[] = 'has-text-align-' . $attributes['textAlign'];
}
if ( isset( $attributes['style']['elements']['link']['color']['text'] ) ) {
$classes[] = 'has-link-color';
}
$wrapper_attributes = get_block_wrapper_attributes( array( 'class' => implode( ' ', $classes ) ) );
$content = '
' . $excerpt;
$show_more_on_new_line = ! isset( $attributes['showMoreOnNewLine'] ) || $attributes['showMoreOnNewLine'];
if ( $show_more_on_new_line && ! empty( $more_text ) ) {
$content .= '
' . $more_text . '
';
} else {
$content .= " $more_text";
}
remove_filter( 'excerpt_more', $filter_excerpt_more );
return sprintf( '
%2$s
', $wrapper_attributes, $content );
}
/**
* Registers the `core/post-excerpt` block on the server.
*
* @since 5.8.0
*/
function register_block_core_post_excerpt() {
register_block_type_from_metadata(
__DIR__ . '/post-excerpt',
array(
'render_callback' => 'render_block_core_post_excerpt',
)
);
}
add_action( 'init', 'register_block_core_post_excerpt' );
/**
* If themes or plugins filter the excerpt_length, we need to
* override the filter in the editor, otherwise
* the excerpt length block setting has no effect.
* Returns 100 because 100 is the max length in the setting.
*/
if ( is_admin() ||
defined( 'REST_REQUEST' ) && REST_REQUEST ) {
add_filter(
'excerpt_length',
static function () {
return 100;
},
PHP_INT_MAX
);
}
query-pagination-previous/block.json 0000644 00000002033 14717677151 0013715 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/query-pagination-previous",
"title": "Previous Page",
"category": "theme",
"parent": [ "core/query-pagination" ],
"description": "Displays the previous posts page link.",
"textdomain": "default",
"attributes": {
"label": {
"type": "string"
}
},
"usesContext": [
"queryId",
"query",
"paginationArrow",
"showLabel",
"enhancedPagination"
],
"supports": {
"reusable": false,
"html": false,
"color": {
"gradients": true,
"text": false,
"__experimentalDefaultControls": {
"background": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
}
}
}
comments-pagination-previous/block.json 0000644 00000001777 14717677151 0014413 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/comments-pagination-previous",
"title": "Comments Previous Page",
"category": "theme",
"parent": [ "core/comments-pagination" ],
"description": "Displays the previous comment's page link.",
"textdomain": "default",
"attributes": {
"label": {
"type": "string"
}
},
"usesContext": [ "postId", "comments/paginationArrow" ],
"supports": {
"reusable": false,
"html": false,
"color": {
"gradients": true,
"text": false,
"__experimentalDefaultControls": {
"background": true
}
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
}
}
}
blocks-json.php 0000644 00000521223 14717677151 0007526 0 ustar 00 array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/archives',
'title' => 'Archives',
'category' => 'widgets',
'description' => 'Display a date archive of your posts.',
'textdomain' => 'default',
'attributes' => array(
'displayAsDropdown' => array(
'type' => 'boolean',
'default' => false
),
'showLabel' => array(
'type' => 'boolean',
'default' => true
),
'showPostCounts' => array(
'type' => 'boolean',
'default' => false
),
'type' => array(
'type' => 'string',
'default' => 'monthly'
)
),
'supports' => array(
'align' => true,
'html' => false,
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-archives-editor'
),
'audio' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/audio',
'title' => 'Audio',
'category' => 'media',
'description' => 'Embed a simple audio player.',
'keywords' => array(
'music',
'sound',
'podcast',
'recording'
),
'textdomain' => 'default',
'attributes' => array(
'src' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'audio',
'attribute' => 'src',
'__experimentalRole' => 'content'
),
'caption' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'figcaption',
'__experimentalRole' => 'content'
),
'id' => array(
'type' => 'number',
'__experimentalRole' => 'content'
),
'autoplay' => array(
'type' => 'boolean',
'source' => 'attribute',
'selector' => 'audio',
'attribute' => 'autoplay'
),
'loop' => array(
'type' => 'boolean',
'source' => 'attribute',
'selector' => 'audio',
'attribute' => 'loop'
),
'preload' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'audio',
'attribute' => 'preload'
)
),
'supports' => array(
'anchor' => true,
'align' => true,
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-audio-editor',
'style' => 'wp-block-audio'
),
'avatar' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/avatar',
'title' => 'Avatar',
'category' => 'theme',
'description' => 'Add a user’s avatar.',
'textdomain' => 'default',
'attributes' => array(
'userId' => array(
'type' => 'number'
),
'size' => array(
'type' => 'number',
'default' => 96
),
'isLink' => array(
'type' => 'boolean',
'default' => false
),
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
)
),
'usesContext' => array(
'postType',
'postId',
'commentId'
),
'supports' => array(
'html' => false,
'align' => true,
'alignWide' => false,
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'__experimentalBorder' => array(
'__experimentalSkipSerialization' => true,
'radius' => true,
'width' => true,
'color' => true,
'style' => true,
'__experimentalDefaultControls' => array(
'radius' => true
)
),
'color' => array(
'text' => false,
'background' => false,
'__experimentalDuotone' => 'img'
),
'interactivity' => array(
'clientNavigation' => true
)
),
'selectors' => array(
'border' => '.wp-block-avatar img'
),
'editorStyle' => 'wp-block-avatar-editor',
'style' => 'wp-block-avatar'
),
'block' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/block',
'title' => 'Pattern',
'category' => 'reusable',
'description' => 'Reuse this design across your site.',
'keywords' => array(
'reusable'
),
'textdomain' => 'default',
'attributes' => array(
'ref' => array(
'type' => 'number'
),
'content' => array(
'type' => 'object',
'default' => array(
)
)
),
'providesContext' => array(
'pattern/overrides' => 'content'
),
'supports' => array(
'customClassName' => false,
'html' => false,
'inserter' => false,
'renaming' => false,
'interactivity' => array(
'clientNavigation' => true
)
)
),
'button' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/button',
'title' => 'Button',
'category' => 'design',
'parent' => array(
'core/buttons'
),
'description' => 'Prompt visitors to take action with a button-style link.',
'keywords' => array(
'link'
),
'textdomain' => 'default',
'attributes' => array(
'tagName' => array(
'type' => 'string',
'enum' => array(
'a',
'button'
),
'default' => 'a'
),
'type' => array(
'type' => 'string',
'default' => 'button'
),
'textAlign' => array(
'type' => 'string'
),
'url' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'a',
'attribute' => 'href',
'__experimentalRole' => 'content'
),
'title' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'a,button',
'attribute' => 'title',
'__experimentalRole' => 'content'
),
'text' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'a,button',
'__experimentalRole' => 'content'
),
'linkTarget' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'a',
'attribute' => 'target',
'__experimentalRole' => 'content'
),
'rel' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'a',
'attribute' => 'rel',
'__experimentalRole' => 'content'
),
'placeholder' => array(
'type' => 'string'
),
'backgroundColor' => array(
'type' => 'string'
),
'textColor' => array(
'type' => 'string'
),
'gradient' => array(
'type' => 'string'
),
'width' => array(
'type' => 'number'
)
),
'supports' => array(
'anchor' => true,
'splitting' => true,
'align' => false,
'alignWide' => false,
'color' => array(
'__experimentalSkipSerialization' => true,
'gradients' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'reusable' => false,
'shadow' => array(
'__experimentalSkipSerialization' => true
),
'spacing' => array(
'__experimentalSkipSerialization' => true,
'padding' => array(
'horizontal',
'vertical'
),
'__experimentalDefaultControls' => array(
'padding' => true
)
),
'__experimentalBorder' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true,
'__experimentalSkipSerialization' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true
)
),
'__experimentalSelector' => '.wp-block-button .wp-block-button__link',
'interactivity' => array(
'clientNavigation' => true
)
),
'styles' => array(
array(
'name' => 'fill',
'label' => 'Fill',
'isDefault' => true
),
array(
'name' => 'outline',
'label' => 'Outline'
)
),
'editorStyle' => 'wp-block-button-editor',
'style' => 'wp-block-button'
),
'buttons' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/buttons',
'title' => 'Buttons',
'category' => 'design',
'allowedBlocks' => array(
'core/button'
),
'description' => 'Prompt visitors to take action with a group of button-style links.',
'keywords' => array(
'link'
),
'textdomain' => 'default',
'supports' => array(
'anchor' => true,
'align' => array(
'wide',
'full'
),
'html' => false,
'__experimentalExposeControlsToChildren' => true,
'spacing' => array(
'blockGap' => true,
'margin' => array(
'top',
'bottom'
),
'__experimentalDefaultControls' => array(
'blockGap' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'layout' => array(
'allowSwitching' => false,
'allowInheriting' => false,
'default' => array(
'type' => 'flex'
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-buttons-editor',
'style' => 'wp-block-buttons'
),
'calendar' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/calendar',
'title' => 'Calendar',
'category' => 'widgets',
'description' => 'A calendar of your site’s posts.',
'keywords' => array(
'posts',
'archive'
),
'textdomain' => 'default',
'attributes' => array(
'month' => array(
'type' => 'integer'
),
'year' => array(
'type' => 'integer'
)
),
'supports' => array(
'align' => true,
'color' => array(
'link' => true,
'__experimentalSkipSerialization' => array(
'text',
'background'
),
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
),
'__experimentalSelector' => 'table, th'
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-calendar'
),
'categories' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/categories',
'title' => 'Categories List',
'category' => 'widgets',
'description' => 'Display a list of all categories.',
'textdomain' => 'default',
'attributes' => array(
'displayAsDropdown' => array(
'type' => 'boolean',
'default' => false
),
'showHierarchy' => array(
'type' => 'boolean',
'default' => false
),
'showPostCounts' => array(
'type' => 'boolean',
'default' => false
),
'showOnlyTopLevel' => array(
'type' => 'boolean',
'default' => false
),
'showEmpty' => array(
'type' => 'boolean',
'default' => false
)
),
'supports' => array(
'align' => true,
'html' => false,
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-categories-editor',
'style' => 'wp-block-categories'
),
'code' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/code',
'title' => 'Code',
'category' => 'text',
'description' => 'Display code snippets that respect your spacing and tabs.',
'textdomain' => 'default',
'attributes' => array(
'content' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'code',
'__unstablePreserveWhiteSpace' => true
)
),
'supports' => array(
'align' => array(
'wide'
),
'anchor' => true,
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'spacing' => array(
'margin' => array(
'top',
'bottom'
),
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'__experimentalBorder' => array(
'radius' => true,
'color' => true,
'width' => true,
'style' => true,
'__experimentalDefaultControls' => array(
'width' => true,
'color' => true
)
),
'color' => array(
'text' => true,
'background' => true,
'gradients' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-code'
),
'column' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/column',
'title' => 'Column',
'category' => 'design',
'parent' => array(
'core/columns'
),
'description' => 'A single column within a columns block.',
'textdomain' => 'default',
'attributes' => array(
'verticalAlignment' => array(
'type' => 'string'
),
'width' => array(
'type' => 'string'
),
'allowedBlocks' => array(
'type' => 'array'
),
'templateLock' => array(
'type' => array(
'string',
'boolean'
),
'enum' => array(
'all',
'insert',
'contentOnly',
false
)
)
),
'supports' => array(
'__experimentalOnEnter' => true,
'anchor' => true,
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'heading' => true,
'button' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'shadow' => true,
'spacing' => array(
'blockGap' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'padding' => true,
'blockGap' => true
)
),
'__experimentalBorder' => array(
'color' => true,
'style' => true,
'width' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'style' => true,
'width' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'layout' => true,
'interactivity' => array(
'clientNavigation' => true
)
)
),
'columns' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/columns',
'title' => 'Columns',
'category' => 'design',
'allowedBlocks' => array(
'core/column'
),
'description' => 'Display content in multiple columns, with blocks added to each column.',
'textdomain' => 'default',
'attributes' => array(
'verticalAlignment' => array(
'type' => 'string'
),
'isStackedOnMobile' => array(
'type' => 'boolean',
'default' => true
),
'templateLock' => array(
'type' => array(
'string',
'boolean'
),
'enum' => array(
'all',
'insert',
'contentOnly',
false
)
)
),
'supports' => array(
'anchor' => true,
'align' => array(
'wide',
'full'
),
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'heading' => true,
'button' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'blockGap' => array(
'__experimentalDefault' => '2em',
'sides' => array(
'horizontal',
'vertical'
)
),
'margin' => array(
'top',
'bottom'
),
'padding' => true,
'__experimentalDefaultControls' => array(
'padding' => true,
'blockGap' => true
)
),
'layout' => array(
'allowSwitching' => false,
'allowInheriting' => false,
'allowEditing' => false,
'default' => array(
'type' => 'flex',
'flexWrap' => 'nowrap'
)
),
'__experimentalBorder' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
),
'shadow' => true
),
'editorStyle' => 'wp-block-columns-editor',
'style' => 'wp-block-columns'
),
'comment-author-name' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comment-author-name',
'title' => 'Comment Author Name',
'category' => 'theme',
'ancestor' => array(
'core/comment-template'
),
'description' => 'Displays the name of the author of the comment.',
'textdomain' => 'default',
'attributes' => array(
'isLink' => array(
'type' => 'boolean',
'default' => true
),
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
),
'textAlign' => array(
'type' => 'string'
)
),
'usesContext' => array(
'commentId'
),
'supports' => array(
'html' => false,
'spacing' => array(
'margin' => true,
'padding' => true
),
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'comment-content' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comment-content',
'title' => 'Comment Content',
'category' => 'theme',
'ancestor' => array(
'core/comment-template'
),
'description' => 'Displays the contents of a comment.',
'textdomain' => 'default',
'usesContext' => array(
'commentId'
),
'attributes' => array(
'textAlign' => array(
'type' => 'string'
)
),
'supports' => array(
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'spacing' => array(
'padding' => array(
'horizontal',
'vertical'
),
'__experimentalDefaultControls' => array(
'padding' => true
)
),
'html' => false
)
),
'comment-date' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comment-date',
'title' => 'Comment Date',
'category' => 'theme',
'ancestor' => array(
'core/comment-template'
),
'description' => 'Displays the date on which the comment was posted.',
'textdomain' => 'default',
'attributes' => array(
'format' => array(
'type' => 'string'
),
'isLink' => array(
'type' => 'boolean',
'default' => true
)
),
'usesContext' => array(
'commentId'
),
'supports' => array(
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'comment-edit-link' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comment-edit-link',
'title' => 'Comment Edit Link',
'category' => 'theme',
'ancestor' => array(
'core/comment-template'
),
'description' => 'Displays a link to edit the comment in the WordPress Dashboard. This link is only visible to users with the edit comment capability.',
'textdomain' => 'default',
'usesContext' => array(
'commentId'
),
'attributes' => array(
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
),
'textAlign' => array(
'type' => 'string'
)
),
'supports' => array(
'html' => false,
'color' => array(
'link' => true,
'gradients' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true,
'link' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'comment-reply-link' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comment-reply-link',
'title' => 'Comment Reply Link',
'category' => 'theme',
'ancestor' => array(
'core/comment-template'
),
'description' => 'Displays a link to reply to a comment.',
'textdomain' => 'default',
'usesContext' => array(
'commentId'
),
'attributes' => array(
'textAlign' => array(
'type' => 'string'
)
),
'supports' => array(
'color' => array(
'gradients' => true,
'link' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true,
'link' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'html' => false
)
),
'comment-template' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comment-template',
'title' => 'Comment Template',
'category' => 'design',
'parent' => array(
'core/comments'
),
'description' => 'Contains the block elements used to display a comment, like the title, date, author, avatar and more.',
'textdomain' => 'default',
'usesContext' => array(
'postId'
),
'supports' => array(
'align' => true,
'html' => false,
'reusable' => false,
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-comment-template'
),
'comments' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comments',
'title' => 'Comments',
'category' => 'theme',
'description' => 'An advanced block that allows displaying post comments using different visual configurations.',
'textdomain' => 'default',
'attributes' => array(
'tagName' => array(
'type' => 'string',
'default' => 'div'
),
'legacy' => array(
'type' => 'boolean',
'default' => false
)
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'html' => false,
'color' => array(
'gradients' => true,
'heading' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
)
),
'editorStyle' => 'wp-block-comments-editor',
'usesContext' => array(
'postId',
'postType'
)
),
'comments-pagination' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comments-pagination',
'title' => 'Comments Pagination',
'category' => 'theme',
'parent' => array(
'core/comments'
),
'allowedBlocks' => array(
'core/comments-pagination-previous',
'core/comments-pagination-numbers',
'core/comments-pagination-next'
),
'description' => 'Displays a paginated navigation to next/previous set of comments, when applicable.',
'textdomain' => 'default',
'attributes' => array(
'paginationArrow' => array(
'type' => 'string',
'default' => 'none'
)
),
'providesContext' => array(
'comments/paginationArrow' => 'paginationArrow'
),
'supports' => array(
'align' => true,
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'layout' => array(
'allowSwitching' => false,
'allowInheriting' => false,
'default' => array(
'type' => 'flex'
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-comments-pagination-editor',
'style' => 'wp-block-comments-pagination'
),
'comments-pagination-next' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comments-pagination-next',
'title' => 'Comments Next Page',
'category' => 'theme',
'parent' => array(
'core/comments-pagination'
),
'description' => 'Displays the next comment\'s page link.',
'textdomain' => 'default',
'attributes' => array(
'label' => array(
'type' => 'string'
)
),
'usesContext' => array(
'postId',
'comments/paginationArrow'
),
'supports' => array(
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'comments-pagination-numbers' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comments-pagination-numbers',
'title' => 'Comments Page Numbers',
'category' => 'theme',
'parent' => array(
'core/comments-pagination'
),
'description' => 'Displays a list of page numbers for comments pagination.',
'textdomain' => 'default',
'usesContext' => array(
'postId'
),
'supports' => array(
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'comments-pagination-previous' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comments-pagination-previous',
'title' => 'Comments Previous Page',
'category' => 'theme',
'parent' => array(
'core/comments-pagination'
),
'description' => 'Displays the previous comment\'s page link.',
'textdomain' => 'default',
'attributes' => array(
'label' => array(
'type' => 'string'
)
),
'usesContext' => array(
'postId',
'comments/paginationArrow'
),
'supports' => array(
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'comments-title' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/comments-title',
'title' => 'Comments Title',
'category' => 'theme',
'ancestor' => array(
'core/comments'
),
'description' => 'Displays a title with the number of comments.',
'textdomain' => 'default',
'usesContext' => array(
'postId',
'postType'
),
'attributes' => array(
'textAlign' => array(
'type' => 'string'
),
'showPostTitle' => array(
'type' => 'boolean',
'default' => true
),
'showCommentsCount' => array(
'type' => 'boolean',
'default' => true
),
'level' => array(
'type' => 'number',
'default' => 2
)
),
'supports' => array(
'anchor' => false,
'align' => true,
'html' => false,
'__experimentalBorder' => array(
'radius' => true,
'color' => true,
'width' => true,
'style' => true
),
'color' => array(
'gradients' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true,
'__experimentalFontFamily' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'cover' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/cover',
'title' => 'Cover',
'category' => 'media',
'description' => 'Add an image or video with a text overlay.',
'textdomain' => 'default',
'attributes' => array(
'url' => array(
'type' => 'string'
),
'useFeaturedImage' => array(
'type' => 'boolean',
'default' => false
),
'id' => array(
'type' => 'number'
),
'alt' => array(
'type' => 'string',
'default' => ''
),
'hasParallax' => array(
'type' => 'boolean',
'default' => false
),
'isRepeated' => array(
'type' => 'boolean',
'default' => false
),
'dimRatio' => array(
'type' => 'number',
'default' => 100
),
'overlayColor' => array(
'type' => 'string'
),
'customOverlayColor' => array(
'type' => 'string'
),
'isUserOverlayColor' => array(
'type' => 'boolean'
),
'backgroundType' => array(
'type' => 'string',
'default' => 'image'
),
'focalPoint' => array(
'type' => 'object'
),
'minHeight' => array(
'type' => 'number'
),
'minHeightUnit' => array(
'type' => 'string'
),
'gradient' => array(
'type' => 'string'
),
'customGradient' => array(
'type' => 'string'
),
'contentPosition' => array(
'type' => 'string'
),
'isDark' => array(
'type' => 'boolean',
'default' => true
),
'allowedBlocks' => array(
'type' => 'array'
),
'templateLock' => array(
'type' => array(
'string',
'boolean'
),
'enum' => array(
'all',
'insert',
'contentOnly',
false
)
),
'tagName' => array(
'type' => 'string',
'default' => 'div'
)
),
'usesContext' => array(
'postId',
'postType'
),
'supports' => array(
'anchor' => true,
'align' => true,
'html' => false,
'shadow' => true,
'spacing' => array(
'padding' => true,
'margin' => array(
'top',
'bottom'
),
'blockGap' => true,
'__experimentalDefaultControls' => array(
'padding' => true,
'blockGap' => true
)
),
'__experimentalBorder' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true
)
),
'color' => array(
'__experimentalDuotone' => '> .wp-block-cover__image-background, > .wp-block-cover__video-background',
'heading' => true,
'text' => true,
'background' => false,
'__experimentalSkipSerialization' => array(
'gradients'
),
'enableContrastChecker' => false
),
'dimensions' => array(
'aspectRatio' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'layout' => array(
'allowJustification' => false
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-cover-editor',
'style' => 'wp-block-cover'
),
'details' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/details',
'title' => 'Details',
'category' => 'text',
'description' => 'Hide and show additional content.',
'keywords' => array(
'accordion',
'summary',
'toggle',
'disclosure'
),
'textdomain' => 'default',
'attributes' => array(
'showContent' => array(
'type' => 'boolean',
'default' => false
),
'summary' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'summary'
)
),
'supports' => array(
'__experimentalOnEnter' => true,
'align' => array(
'wide',
'full'
),
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'__experimentalBorder' => array(
'color' => true,
'width' => true,
'style' => true
),
'html' => false,
'spacing' => array(
'margin' => true,
'padding' => true,
'blockGap' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'layout' => array(
'allowEditing' => false
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-details-editor',
'style' => 'wp-block-details'
),
'embed' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/embed',
'title' => 'Embed',
'category' => 'embed',
'description' => 'Add a block that displays content pulled from other sites, like Twitter or YouTube.',
'textdomain' => 'default',
'attributes' => array(
'url' => array(
'type' => 'string',
'__experimentalRole' => 'content'
),
'caption' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'figcaption',
'__experimentalRole' => 'content'
),
'type' => array(
'type' => 'string',
'__experimentalRole' => 'content'
),
'providerNameSlug' => array(
'type' => 'string',
'__experimentalRole' => 'content'
),
'allowResponsive' => array(
'type' => 'boolean',
'default' => true
),
'responsive' => array(
'type' => 'boolean',
'default' => false,
'__experimentalRole' => 'content'
),
'previewable' => array(
'type' => 'boolean',
'default' => true,
'__experimentalRole' => 'content'
)
),
'supports' => array(
'align' => true,
'spacing' => array(
'margin' => true
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-embed-editor',
'style' => 'wp-block-embed'
),
'file' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/file',
'title' => 'File',
'category' => 'media',
'description' => 'Add a link to a downloadable file.',
'keywords' => array(
'document',
'pdf',
'download'
),
'textdomain' => 'default',
'attributes' => array(
'id' => array(
'type' => 'number'
),
'href' => array(
'type' => 'string'
),
'fileId' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'a:not([download])',
'attribute' => 'id'
),
'fileName' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'a:not([download])'
),
'textLinkHref' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'a:not([download])',
'attribute' => 'href'
),
'textLinkTarget' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'a:not([download])',
'attribute' => 'target'
),
'showDownloadButton' => array(
'type' => 'boolean',
'default' => true
),
'downloadButtonText' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'a[download]'
),
'displayPreview' => array(
'type' => 'boolean'
),
'previewHeight' => array(
'type' => 'number',
'default' => 600
)
),
'supports' => array(
'anchor' => true,
'align' => true,
'spacing' => array(
'margin' => true,
'padding' => true
),
'color' => array(
'gradients' => true,
'link' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true,
'link' => true
)
),
'interactivity' => true
),
'editorStyle' => 'wp-block-file-editor',
'style' => 'wp-block-file'
),
'footnotes' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/footnotes',
'title' => 'Footnotes',
'category' => 'text',
'description' => 'Display footnotes added to the page.',
'keywords' => array(
'references'
),
'textdomain' => 'default',
'usesContext' => array(
'postId',
'postType'
),
'supports' => array(
'__experimentalBorder' => array(
'radius' => true,
'color' => true,
'width' => true,
'style' => true,
'__experimentalDefaultControls' => array(
'radius' => false,
'color' => false,
'width' => false,
'style' => false
)
),
'color' => array(
'background' => true,
'link' => true,
'text' => true,
'__experimentalDefaultControls' => array(
'link' => true,
'text' => true
)
),
'html' => false,
'multiple' => false,
'reusable' => false,
'inserter' => false,
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalTextDecoration' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextTransform' => true,
'__experimentalWritingMode' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-footnotes'
),
'freeform' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/freeform',
'title' => 'Classic',
'category' => 'text',
'description' => 'Use the classic WordPress editor.',
'textdomain' => 'default',
'attributes' => array(
'content' => array(
'type' => 'string',
'source' => 'raw'
)
),
'supports' => array(
'className' => false,
'customClassName' => false,
'reusable' => false
),
'editorStyle' => 'wp-block-freeform-editor'
),
'gallery' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/gallery',
'title' => 'Gallery',
'category' => 'media',
'allowedBlocks' => array(
'core/image'
),
'description' => 'Display multiple images in a rich gallery.',
'keywords' => array(
'images',
'photos'
),
'textdomain' => 'default',
'attributes' => array(
'images' => array(
'type' => 'array',
'default' => array(
),
'source' => 'query',
'selector' => '.blocks-gallery-item',
'query' => array(
'url' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'img',
'attribute' => 'src'
),
'fullUrl' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'img',
'attribute' => 'data-full-url'
),
'link' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'img',
'attribute' => 'data-link'
),
'alt' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'img',
'attribute' => 'alt',
'default' => ''
),
'id' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'img',
'attribute' => 'data-id'
),
'caption' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => '.blocks-gallery-item__caption'
)
)
),
'ids' => array(
'type' => 'array',
'items' => array(
'type' => 'number'
),
'default' => array(
)
),
'shortCodeTransforms' => array(
'type' => 'array',
'items' => array(
'type' => 'object'
),
'default' => array(
)
),
'columns' => array(
'type' => 'number',
'minimum' => 1,
'maximum' => 8
),
'caption' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => '.blocks-gallery-caption'
),
'imageCrop' => array(
'type' => 'boolean',
'default' => true
),
'randomOrder' => array(
'type' => 'boolean',
'default' => false
),
'fixedHeight' => array(
'type' => 'boolean',
'default' => true
),
'linkTarget' => array(
'type' => 'string'
),
'linkTo' => array(
'type' => 'string'
),
'sizeSlug' => array(
'type' => 'string',
'default' => 'large'
),
'allowResize' => array(
'type' => 'boolean',
'default' => false
)
),
'providesContext' => array(
'allowResize' => 'allowResize',
'imageCrop' => 'imageCrop',
'fixedHeight' => 'fixedHeight'
),
'supports' => array(
'anchor' => true,
'align' => true,
'html' => false,
'units' => array(
'px',
'em',
'rem',
'vh',
'vw'
),
'spacing' => array(
'margin' => true,
'padding' => true,
'blockGap' => array(
'horizontal',
'vertical'
),
'__experimentalSkipSerialization' => array(
'blockGap'
),
'__experimentalDefaultControls' => array(
'blockGap' => true,
'margin' => false,
'padding' => false
)
),
'color' => array(
'text' => false,
'background' => true,
'gradients' => true
),
'layout' => array(
'allowSwitching' => false,
'allowInheriting' => false,
'allowEditing' => false,
'default' => array(
'type' => 'flex'
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-gallery-editor',
'style' => 'wp-block-gallery'
),
'group' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/group',
'title' => 'Group',
'category' => 'design',
'description' => 'Gather blocks in a layout container.',
'keywords' => array(
'container',
'wrapper',
'row',
'section'
),
'textdomain' => 'default',
'attributes' => array(
'tagName' => array(
'type' => 'string',
'default' => 'div'
),
'templateLock' => array(
'type' => array(
'string',
'boolean'
),
'enum' => array(
'all',
'insert',
'contentOnly',
false
)
),
'allowedBlocks' => array(
'type' => 'array'
)
),
'supports' => array(
'__experimentalOnEnter' => true,
'__experimentalOnMerge' => true,
'__experimentalSettings' => true,
'align' => array(
'wide',
'full'
),
'anchor' => true,
'ariaLabel' => true,
'html' => false,
'background' => array(
'backgroundImage' => true,
'backgroundSize' => true,
'__experimentalDefaultControls' => array(
'backgroundImage' => true
)
),
'color' => array(
'gradients' => true,
'heading' => true,
'button' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => array(
'top',
'bottom'
),
'padding' => true,
'blockGap' => true,
'__experimentalDefaultControls' => array(
'padding' => true,
'blockGap' => true
)
),
'dimensions' => array(
'minHeight' => true
),
'__experimentalBorder' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true
)
),
'position' => array(
'sticky' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'layout' => array(
'allowSizingOnChildren' => true
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-group-editor',
'style' => 'wp-block-group'
),
'heading' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/heading',
'title' => 'Heading',
'category' => 'text',
'description' => 'Introduce new sections and organize content to help visitors (and search engines) understand the structure of your content.',
'keywords' => array(
'title',
'subtitle'
),
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
),
'content' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'h1,h2,h3,h4,h5,h6',
'__experimentalRole' => 'content'
),
'level' => array(
'type' => 'number',
'default' => 2
),
'placeholder' => array(
'type' => 'string'
)
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'anchor' => true,
'className' => true,
'splitting' => true,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalWritingMode' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'__unstablePasteTextInline' => true,
'__experimentalSlashInserter' => true,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-heading-editor',
'style' => 'wp-block-heading'
),
'home-link' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/home-link',
'category' => 'design',
'parent' => array(
'core/navigation'
),
'title' => 'Home Link',
'description' => 'Create a link that always points to the homepage of the site. Usually not necessary if there is already a site title link present in the header.',
'textdomain' => 'default',
'attributes' => array(
'label' => array(
'type' => 'string'
)
),
'usesContext' => array(
'textColor',
'customTextColor',
'backgroundColor',
'customBackgroundColor',
'fontSize',
'customFontSize',
'style'
),
'supports' => array(
'reusable' => false,
'html' => false,
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-home-link-editor',
'style' => 'wp-block-home-link'
),
'html' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/html',
'title' => 'Custom HTML',
'category' => 'widgets',
'description' => 'Add custom HTML code and preview it as you edit.',
'keywords' => array(
'embed'
),
'textdomain' => 'default',
'attributes' => array(
'content' => array(
'type' => 'string',
'source' => 'raw'
)
),
'supports' => array(
'customClassName' => false,
'className' => false,
'html' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-html-editor'
),
'image' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/image',
'title' => 'Image',
'category' => 'media',
'usesContext' => array(
'allowResize',
'imageCrop',
'fixedHeight'
),
'description' => 'Insert an image to make a visual statement.',
'keywords' => array(
'img',
'photo',
'picture'
),
'textdomain' => 'default',
'attributes' => array(
'url' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'img',
'attribute' => 'src',
'__experimentalRole' => 'content'
),
'alt' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'img',
'attribute' => 'alt',
'default' => '',
'__experimentalRole' => 'content'
),
'caption' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'figcaption',
'__experimentalRole' => 'content'
),
'lightbox' => array(
'type' => 'object',
'enabled' => array(
'type' => 'boolean'
)
),
'title' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'img',
'attribute' => 'title',
'__experimentalRole' => 'content'
),
'href' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure > a',
'attribute' => 'href',
'__experimentalRole' => 'content'
),
'rel' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure > a',
'attribute' => 'rel'
),
'linkClass' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure > a',
'attribute' => 'class'
),
'id' => array(
'type' => 'number',
'__experimentalRole' => 'content'
),
'width' => array(
'type' => 'string'
),
'height' => array(
'type' => 'string'
),
'aspectRatio' => array(
'type' => 'string'
),
'scale' => array(
'type' => 'string'
),
'sizeSlug' => array(
'type' => 'string'
),
'linkDestination' => array(
'type' => 'string'
),
'linkTarget' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure > a',
'attribute' => 'target'
)
),
'supports' => array(
'interactivity' => true,
'align' => array(
'left',
'center',
'right',
'wide',
'full'
),
'anchor' => true,
'color' => array(
'text' => false,
'background' => false
),
'filter' => array(
'duotone' => true
),
'__experimentalBorder' => array(
'color' => true,
'radius' => true,
'width' => true,
'__experimentalSkipSerialization' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'radius' => true,
'width' => true
)
),
'shadow' => array(
'__experimentalSkipSerialization' => true
)
),
'selectors' => array(
'border' => '.wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder',
'shadow' => '.wp-block-image img, .wp-block-image .wp-block-image__crop-area, .wp-block-image .components-placeholder',
'filter' => array(
'duotone' => '.wp-block-image img, .wp-block-image .components-placeholder'
)
),
'styles' => array(
array(
'name' => 'default',
'label' => 'Default',
'isDefault' => true
),
array(
'name' => 'rounded',
'label' => 'Rounded'
)
),
'editorStyle' => 'wp-block-image-editor',
'style' => 'wp-block-image'
),
'latest-comments' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/latest-comments',
'title' => 'Latest Comments',
'category' => 'widgets',
'description' => 'Display a list of your most recent comments.',
'keywords' => array(
'recent comments'
),
'textdomain' => 'default',
'attributes' => array(
'commentsToShow' => array(
'type' => 'number',
'default' => 5,
'minimum' => 1,
'maximum' => 100
),
'displayAvatar' => array(
'type' => 'boolean',
'default' => true
),
'displayDate' => array(
'type' => 'boolean',
'default' => true
),
'displayExcerpt' => array(
'type' => 'boolean',
'default' => true
)
),
'supports' => array(
'align' => true,
'html' => false,
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-latest-comments-editor',
'style' => 'wp-block-latest-comments'
),
'latest-posts' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/latest-posts',
'title' => 'Latest Posts',
'category' => 'widgets',
'description' => 'Display a list of your most recent posts.',
'keywords' => array(
'recent posts'
),
'textdomain' => 'default',
'attributes' => array(
'categories' => array(
'type' => 'array',
'items' => array(
'type' => 'object'
)
),
'selectedAuthor' => array(
'type' => 'number'
),
'postsToShow' => array(
'type' => 'number',
'default' => 5
),
'displayPostContent' => array(
'type' => 'boolean',
'default' => false
),
'displayPostContentRadio' => array(
'type' => 'string',
'default' => 'excerpt'
),
'excerptLength' => array(
'type' => 'number',
'default' => 55
),
'displayAuthor' => array(
'type' => 'boolean',
'default' => false
),
'displayPostDate' => array(
'type' => 'boolean',
'default' => false
),
'postLayout' => array(
'type' => 'string',
'default' => 'list'
),
'columns' => array(
'type' => 'number',
'default' => 3
),
'order' => array(
'type' => 'string',
'default' => 'desc'
),
'orderBy' => array(
'type' => 'string',
'default' => 'date'
),
'displayFeaturedImage' => array(
'type' => 'boolean',
'default' => false
),
'featuredImageAlign' => array(
'type' => 'string',
'enum' => array(
'left',
'center',
'right'
)
),
'featuredImageSizeSlug' => array(
'type' => 'string',
'default' => 'thumbnail'
),
'featuredImageSizeWidth' => array(
'type' => 'number',
'default' => null
),
'featuredImageSizeHeight' => array(
'type' => 'number',
'default' => null
),
'addLinkToFeaturedImage' => array(
'type' => 'boolean',
'default' => false
)
),
'supports' => array(
'align' => true,
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-latest-posts-editor',
'style' => 'wp-block-latest-posts'
),
'legacy-widget' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/legacy-widget',
'title' => 'Legacy Widget',
'category' => 'widgets',
'description' => 'Display a legacy widget.',
'textdomain' => 'default',
'attributes' => array(
'id' => array(
'type' => 'string',
'default' => null
),
'idBase' => array(
'type' => 'string',
'default' => null
),
'instance' => array(
'type' => 'object',
'default' => null
)
),
'supports' => array(
'html' => false,
'customClassName' => false,
'reusable' => false
),
'editorStyle' => 'wp-block-legacy-widget-editor'
),
'list' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/list',
'title' => 'List',
'category' => 'text',
'allowedBlocks' => array(
'core/list-item'
),
'description' => 'Create a bulleted or numbered list.',
'keywords' => array(
'bullet list',
'ordered list',
'numbered list'
),
'textdomain' => 'default',
'attributes' => array(
'ordered' => array(
'type' => 'boolean',
'default' => false,
'__experimentalRole' => 'content'
),
'values' => array(
'type' => 'string',
'source' => 'html',
'selector' => 'ol,ul',
'multiline' => 'li',
'__unstableMultilineWrapperTags' => array(
'ol',
'ul'
),
'default' => '',
'__experimentalRole' => 'content'
),
'type' => array(
'type' => 'string'
),
'start' => array(
'type' => 'number'
),
'reversed' => array(
'type' => 'boolean'
),
'placeholder' => array(
'type' => 'string'
)
),
'supports' => array(
'anchor' => true,
'html' => false,
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'__unstablePasteTextInline' => true,
'__experimentalOnMerge' => true,
'__experimentalSlashInserter' => true,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-list-editor',
'style' => 'wp-block-list'
),
'list-item' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/list-item',
'title' => 'List item',
'category' => 'text',
'parent' => array(
'core/list'
),
'allowedBlocks' => array(
'core/list'
),
'description' => 'Create a list item.',
'textdomain' => 'default',
'attributes' => array(
'placeholder' => array(
'type' => 'string'
),
'content' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'li',
'__experimentalRole' => 'content'
)
),
'supports' => array(
'className' => false,
'__experimentalSelector' => '.wp-block-list > li',
'splitting' => true,
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'loginout' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/loginout',
'title' => 'Login/out',
'category' => 'theme',
'description' => 'Show login & logout links.',
'keywords' => array(
'login',
'logout',
'form'
),
'textdomain' => 'default',
'attributes' => array(
'displayLoginAsForm' => array(
'type' => 'boolean',
'default' => false
),
'redirectToCurrent' => array(
'type' => 'boolean',
'default' => true
)
),
'supports' => array(
'className' => true,
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'media-text' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/media-text',
'title' => 'Media & Text',
'category' => 'media',
'description' => 'Set media and words side-by-side for a richer layout.',
'keywords' => array(
'image',
'video'
),
'textdomain' => 'default',
'attributes' => array(
'align' => array(
'type' => 'string',
'default' => 'none'
),
'mediaAlt' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure img',
'attribute' => 'alt',
'default' => '',
'__experimentalRole' => 'content'
),
'mediaPosition' => array(
'type' => 'string',
'default' => 'left'
),
'mediaId' => array(
'type' => 'number',
'__experimentalRole' => 'content'
),
'mediaUrl' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure video,figure img',
'attribute' => 'src',
'__experimentalRole' => 'content'
),
'mediaLink' => array(
'type' => 'string'
),
'linkDestination' => array(
'type' => 'string'
),
'linkTarget' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure a',
'attribute' => 'target'
),
'href' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure a',
'attribute' => 'href',
'__experimentalRole' => 'content'
),
'rel' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure a',
'attribute' => 'rel'
),
'linkClass' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'figure a',
'attribute' => 'class'
),
'mediaType' => array(
'type' => 'string',
'__experimentalRole' => 'content'
),
'mediaWidth' => array(
'type' => 'number',
'default' => 50
),
'mediaSizeSlug' => array(
'type' => 'string'
),
'isStackedOnMobile' => array(
'type' => 'boolean',
'default' => true
),
'verticalAlignment' => array(
'type' => 'string'
),
'imageFill' => array(
'type' => 'boolean'
),
'focalPoint' => array(
'type' => 'object'
),
'allowedBlocks' => array(
'type' => 'array'
),
'useFeaturedImage' => array(
'type' => 'boolean',
'default' => false
)
),
'usesContext' => array(
'postId',
'postType'
),
'supports' => array(
'anchor' => true,
'align' => array(
'wide',
'full'
),
'html' => false,
'color' => array(
'gradients' => true,
'heading' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-media-text-editor',
'style' => 'wp-block-media-text'
),
'missing' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/missing',
'title' => 'Unsupported',
'category' => 'text',
'description' => 'Your site doesn’t include support for this block.',
'textdomain' => 'default',
'attributes' => array(
'originalName' => array(
'type' => 'string'
),
'originalUndelimitedContent' => array(
'type' => 'string'
),
'originalContent' => array(
'type' => 'string',
'source' => 'raw'
)
),
'supports' => array(
'className' => false,
'customClassName' => false,
'inserter' => false,
'html' => false,
'reusable' => false,
'interactivity' => array(
'clientNavigation' => true
)
)
),
'more' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/more',
'title' => 'More',
'category' => 'design',
'description' => 'Content before this block will be shown in the excerpt on your archives page.',
'keywords' => array(
'read more'
),
'textdomain' => 'default',
'attributes' => array(
'customText' => array(
'type' => 'string',
'default' => ''
),
'noTeaser' => array(
'type' => 'boolean',
'default' => false
)
),
'supports' => array(
'customClassName' => false,
'className' => false,
'html' => false,
'multiple' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-more-editor'
),
'navigation' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/navigation',
'title' => 'Navigation',
'category' => 'theme',
'allowedBlocks' => array(
'core/navigation-link',
'core/search',
'core/social-links',
'core/page-list',
'core/spacer',
'core/home-link',
'core/site-title',
'core/site-logo',
'core/navigation-submenu',
'core/loginout',
'core/buttons'
),
'description' => 'A collection of blocks that allow visitors to get around your site.',
'keywords' => array(
'menu',
'navigation',
'links'
),
'textdomain' => 'default',
'attributes' => array(
'ref' => array(
'type' => 'number'
),
'textColor' => array(
'type' => 'string'
),
'customTextColor' => array(
'type' => 'string'
),
'rgbTextColor' => array(
'type' => 'string'
),
'backgroundColor' => array(
'type' => 'string'
),
'customBackgroundColor' => array(
'type' => 'string'
),
'rgbBackgroundColor' => array(
'type' => 'string'
),
'showSubmenuIcon' => array(
'type' => 'boolean',
'default' => true
),
'openSubmenusOnClick' => array(
'type' => 'boolean',
'default' => false
),
'overlayMenu' => array(
'type' => 'string',
'default' => 'mobile'
),
'icon' => array(
'type' => 'string',
'default' => 'handle'
),
'hasIcon' => array(
'type' => 'boolean',
'default' => true
),
'__unstableLocation' => array(
'type' => 'string'
),
'overlayBackgroundColor' => array(
'type' => 'string'
),
'customOverlayBackgroundColor' => array(
'type' => 'string'
),
'overlayTextColor' => array(
'type' => 'string'
),
'customOverlayTextColor' => array(
'type' => 'string'
),
'maxNestingLevel' => array(
'type' => 'number',
'default' => 5
),
'templateLock' => array(
'type' => array(
'string',
'boolean'
),
'enum' => array(
'all',
'insert',
'contentOnly',
false
)
)
),
'providesContext' => array(
'textColor' => 'textColor',
'customTextColor' => 'customTextColor',
'backgroundColor' => 'backgroundColor',
'customBackgroundColor' => 'customBackgroundColor',
'overlayTextColor' => 'overlayTextColor',
'customOverlayTextColor' => 'customOverlayTextColor',
'overlayBackgroundColor' => 'overlayBackgroundColor',
'customOverlayBackgroundColor' => 'customOverlayBackgroundColor',
'fontSize' => 'fontSize',
'customFontSize' => 'customFontSize',
'showSubmenuIcon' => 'showSubmenuIcon',
'openSubmenusOnClick' => 'openSubmenusOnClick',
'style' => 'style',
'maxNestingLevel' => 'maxNestingLevel'
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'ariaLabel' => true,
'html' => false,
'inserter' => true,
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalTextTransform' => true,
'__experimentalFontFamily' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextDecoration' => true,
'__experimentalSkipSerialization' => array(
'textDecoration'
),
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'spacing' => array(
'blockGap' => true,
'units' => array(
'px',
'em',
'rem',
'vh',
'vw'
),
'__experimentalDefaultControls' => array(
'blockGap' => true
)
),
'layout' => array(
'allowSwitching' => false,
'allowInheriting' => false,
'allowVerticalAlignment' => false,
'allowSizingOnChildren' => true,
'default' => array(
'type' => 'flex'
)
),
'interactivity' => true,
'renaming' => false
),
'editorStyle' => 'wp-block-navigation-editor',
'style' => 'wp-block-navigation'
),
'navigation-link' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/navigation-link',
'title' => 'Custom Link',
'category' => 'design',
'parent' => array(
'core/navigation'
),
'allowedBlocks' => array(
'core/navigation-link',
'core/navigation-submenu',
'core/page-list'
),
'description' => 'Add a page, link, or another item to your navigation.',
'textdomain' => 'default',
'attributes' => array(
'label' => array(
'type' => 'string'
),
'type' => array(
'type' => 'string'
),
'description' => array(
'type' => 'string'
),
'rel' => array(
'type' => 'string'
),
'id' => array(
'type' => 'number'
),
'opensInNewTab' => array(
'type' => 'boolean',
'default' => false
),
'url' => array(
'type' => 'string'
),
'title' => array(
'type' => 'string'
),
'kind' => array(
'type' => 'string'
),
'isTopLevelLink' => array(
'type' => 'boolean'
)
),
'usesContext' => array(
'textColor',
'customTextColor',
'backgroundColor',
'customBackgroundColor',
'overlayTextColor',
'customOverlayTextColor',
'overlayBackgroundColor',
'customOverlayBackgroundColor',
'fontSize',
'customFontSize',
'showSubmenuIcon',
'maxNestingLevel',
'style'
),
'supports' => array(
'reusable' => false,
'html' => false,
'__experimentalSlashInserter' => true,
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'renaming' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-navigation-link-editor',
'style' => 'wp-block-navigation-link'
),
'navigation-submenu' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/navigation-submenu',
'title' => 'Submenu',
'category' => 'design',
'parent' => array(
'core/navigation'
),
'description' => 'Add a submenu to your navigation.',
'textdomain' => 'default',
'attributes' => array(
'label' => array(
'type' => 'string'
),
'type' => array(
'type' => 'string'
),
'description' => array(
'type' => 'string'
),
'rel' => array(
'type' => 'string'
),
'id' => array(
'type' => 'number'
),
'opensInNewTab' => array(
'type' => 'boolean',
'default' => false
),
'url' => array(
'type' => 'string'
),
'title' => array(
'type' => 'string'
),
'kind' => array(
'type' => 'string'
),
'isTopLevelItem' => array(
'type' => 'boolean'
)
),
'usesContext' => array(
'textColor',
'customTextColor',
'backgroundColor',
'customBackgroundColor',
'overlayTextColor',
'customOverlayTextColor',
'overlayBackgroundColor',
'customOverlayBackgroundColor',
'fontSize',
'customFontSize',
'showSubmenuIcon',
'maxNestingLevel',
'openSubmenusOnClick',
'style'
),
'supports' => array(
'reusable' => false,
'html' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-navigation-submenu-editor',
'style' => 'wp-block-navigation-submenu'
),
'nextpage' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/nextpage',
'title' => 'Page Break',
'category' => 'design',
'description' => 'Separate your content into a multi-page experience.',
'keywords' => array(
'next page',
'pagination'
),
'parent' => array(
'core/post-content'
),
'textdomain' => 'default',
'supports' => array(
'customClassName' => false,
'className' => false,
'html' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-nextpage-editor'
),
'page-list' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/page-list',
'title' => 'Page List',
'category' => 'widgets',
'allowedBlocks' => array(
'core/page-list-item'
),
'description' => 'Display a list of all pages.',
'keywords' => array(
'menu',
'navigation'
),
'textdomain' => 'default',
'attributes' => array(
'parentPageID' => array(
'type' => 'integer',
'default' => 0
),
'isNested' => array(
'type' => 'boolean',
'default' => false
)
),
'usesContext' => array(
'textColor',
'customTextColor',
'backgroundColor',
'customBackgroundColor',
'overlayTextColor',
'customOverlayTextColor',
'overlayBackgroundColor',
'customOverlayBackgroundColor',
'fontSize',
'customFontSize',
'showSubmenuIcon',
'style',
'openSubmenusOnClick'
),
'supports' => array(
'reusable' => false,
'html' => false,
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-page-list-editor',
'style' => 'wp-block-page-list'
),
'page-list-item' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/page-list-item',
'title' => 'Page List Item',
'category' => 'widgets',
'parent' => array(
'core/page-list'
),
'description' => 'Displays a page inside a list of all pages.',
'keywords' => array(
'page',
'menu',
'navigation'
),
'textdomain' => 'default',
'attributes' => array(
'id' => array(
'type' => 'number'
),
'label' => array(
'type' => 'string'
),
'title' => array(
'type' => 'string'
),
'link' => array(
'type' => 'string'
),
'hasChildren' => array(
'type' => 'boolean'
)
),
'usesContext' => array(
'textColor',
'customTextColor',
'backgroundColor',
'customBackgroundColor',
'overlayTextColor',
'customOverlayTextColor',
'overlayBackgroundColor',
'customOverlayBackgroundColor',
'fontSize',
'customFontSize',
'showSubmenuIcon',
'style',
'openSubmenusOnClick'
),
'supports' => array(
'reusable' => false,
'html' => false,
'lock' => false,
'inserter' => false,
'__experimentalToolbar' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-page-list-editor',
'style' => 'wp-block-page-list'
),
'paragraph' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/paragraph',
'title' => 'Paragraph',
'category' => 'text',
'description' => 'Start with the basic building block of all narrative.',
'keywords' => array(
'text'
),
'textdomain' => 'default',
'attributes' => array(
'align' => array(
'type' => 'string'
),
'content' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'p',
'__experimentalRole' => 'content'
),
'dropCap' => array(
'type' => 'boolean',
'default' => false
),
'placeholder' => array(
'type' => 'string'
),
'direction' => array(
'type' => 'string',
'enum' => array(
'ltr',
'rtl'
)
)
),
'supports' => array(
'splitting' => true,
'anchor' => true,
'className' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalTextDecoration' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextTransform' => true,
'__experimentalWritingMode' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'__experimentalSelector' => 'p',
'__unstablePasteTextInline' => true,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-paragraph-editor',
'style' => 'wp-block-paragraph'
),
'pattern' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/pattern',
'title' => 'Pattern placeholder',
'category' => 'theme',
'description' => 'Show a block pattern.',
'supports' => array(
'html' => false,
'inserter' => false,
'renaming' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'textdomain' => 'default',
'attributes' => array(
'slug' => array(
'type' => 'string'
)
)
),
'post-author' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-author',
'title' => 'Author',
'category' => 'theme',
'description' => 'Display post author details such as name, avatar, and bio.',
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
),
'avatarSize' => array(
'type' => 'number',
'default' => 48
),
'showAvatar' => array(
'type' => 'boolean',
'default' => true
),
'showBio' => array(
'type' => 'boolean'
),
'byline' => array(
'type' => 'string'
),
'isLink' => array(
'type' => 'boolean',
'default' => false
),
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
)
),
'usesContext' => array(
'postType',
'postId',
'queryId'
),
'supports' => array(
'html' => false,
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDuotone' => '.wp-block-post-author__avatar img',
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-post-author'
),
'post-author-biography' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-author-biography',
'title' => 'Author Biography',
'category' => 'theme',
'description' => 'The author biography.',
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
)
),
'usesContext' => array(
'postType',
'postId'
),
'supports' => array(
'spacing' => array(
'margin' => true,
'padding' => true
),
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'post-author-name' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-author-name',
'title' => 'Author Name',
'category' => 'theme',
'description' => 'The author name.',
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
),
'isLink' => array(
'type' => 'boolean',
'default' => false
),
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
)
),
'usesContext' => array(
'postType',
'postId'
),
'supports' => array(
'html' => false,
'spacing' => array(
'margin' => true,
'padding' => true
),
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'post-comments-form' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-comments-form',
'title' => 'Comments Form',
'category' => 'theme',
'description' => 'Display a post\'s comments form.',
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
)
),
'usesContext' => array(
'postId',
'postType'
),
'supports' => array(
'html' => false,
'color' => array(
'gradients' => true,
'heading' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextTransform' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
)
),
'editorStyle' => 'wp-block-post-comments-form-editor',
'style' => array(
'wp-block-post-comments-form',
'wp-block-buttons',
'wp-block-button'
)
),
'post-content' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-content',
'title' => 'Content',
'category' => 'theme',
'description' => 'Displays the contents of a post or page.',
'textdomain' => 'default',
'usesContext' => array(
'postId',
'postType',
'queryId'
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'html' => false,
'layout' => true,
'dimensions' => array(
'minHeight' => true
),
'spacing' => array(
'blockGap' => true
),
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => false,
'text' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
)
),
'editorStyle' => 'wp-block-post-content-editor'
),
'post-date' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-date',
'title' => 'Date',
'category' => 'theme',
'description' => 'Display the publish date for an entry such as a post or page.',
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
),
'format' => array(
'type' => 'string'
),
'isLink' => array(
'type' => 'boolean',
'default' => false
),
'displayType' => array(
'type' => 'string',
'default' => 'date'
)
),
'usesContext' => array(
'postId',
'postType',
'queryId'
),
'supports' => array(
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'post-excerpt' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-excerpt',
'title' => 'Excerpt',
'category' => 'theme',
'description' => 'Display the excerpt.',
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
),
'moreText' => array(
'type' => 'string'
),
'showMoreOnNewLine' => array(
'type' => 'boolean',
'default' => true
),
'excerptLength' => array(
'type' => 'number',
'default' => 55
)
),
'usesContext' => array(
'postId',
'postType',
'queryId'
),
'supports' => array(
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-post-excerpt-editor',
'style' => 'wp-block-post-excerpt'
),
'post-featured-image' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-featured-image',
'title' => 'Featured Image',
'category' => 'theme',
'description' => 'Display a post\'s featured image.',
'textdomain' => 'default',
'attributes' => array(
'isLink' => array(
'type' => 'boolean',
'default' => false
),
'aspectRatio' => array(
'type' => 'string'
),
'width' => array(
'type' => 'string'
),
'height' => array(
'type' => 'string'
),
'scale' => array(
'type' => 'string',
'default' => 'cover'
),
'sizeSlug' => array(
'type' => 'string'
),
'rel' => array(
'type' => 'string',
'attribute' => 'rel',
'default' => ''
),
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
),
'overlayColor' => array(
'type' => 'string'
),
'customOverlayColor' => array(
'type' => 'string'
),
'dimRatio' => array(
'type' => 'number',
'default' => 0
),
'gradient' => array(
'type' => 'string'
),
'customGradient' => array(
'type' => 'string'
),
'useFirstImageFromPost' => array(
'type' => 'boolean',
'default' => false
)
),
'usesContext' => array(
'postId',
'postType',
'queryId'
),
'supports' => array(
'align' => array(
'left',
'right',
'center',
'wide',
'full'
),
'color' => array(
'text' => false,
'background' => false
),
'__experimentalBorder' => array(
'color' => true,
'radius' => true,
'width' => true,
'__experimentalSkipSerialization' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'radius' => true,
'width' => true
)
),
'filter' => array(
'duotone' => true
),
'shadow' => array(
'__experimentalSkipSerialization' => true
),
'html' => false,
'spacing' => array(
'margin' => true,
'padding' => true
),
'interactivity' => array(
'clientNavigation' => true
)
),
'selectors' => array(
'border' => '.wp-block-post-featured-image img, .wp-block-post-featured-image .block-editor-media-placeholder, .wp-block-post-featured-image .wp-block-post-featured-image__overlay',
'shadow' => '.wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder',
'filter' => array(
'duotone' => '.wp-block-post-featured-image img, .wp-block-post-featured-image .wp-block-post-featured-image__placeholder, .wp-block-post-featured-image .components-placeholder__illustration, .wp-block-post-featured-image .components-placeholder::before'
)
),
'editorStyle' => 'wp-block-post-featured-image-editor',
'style' => 'wp-block-post-featured-image'
),
'post-navigation-link' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-navigation-link',
'title' => 'Post Navigation Link',
'category' => 'theme',
'description' => 'Displays the next or previous post link that is adjacent to the current post.',
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
),
'type' => array(
'type' => 'string',
'default' => 'next'
),
'label' => array(
'type' => 'string'
),
'showTitle' => array(
'type' => 'boolean',
'default' => false
),
'linkLabel' => array(
'type' => 'boolean',
'default' => false
),
'arrow' => array(
'type' => 'string',
'default' => 'none'
),
'taxonomy' => array(
'type' => 'string',
'default' => ''
)
),
'usesContext' => array(
'postType'
),
'supports' => array(
'reusable' => false,
'html' => false,
'color' => array(
'link' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalWritingMode' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-post-navigation-link'
),
'post-template' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-template',
'title' => 'Post Template',
'category' => 'theme',
'parent' => array(
'core/query'
),
'description' => 'Contains the block elements used to render a post, like the title, date, featured image, content or excerpt, and more.',
'textdomain' => 'default',
'usesContext' => array(
'queryId',
'query',
'displayLayout',
'templateSlug',
'previewPostType',
'enhancedPagination'
),
'supports' => array(
'reusable' => false,
'html' => false,
'align' => array(
'wide',
'full'
),
'layout' => true,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'spacing' => array(
'blockGap' => array(
'__experimentalDefault' => '1.25em'
),
'__experimentalDefaultControls' => array(
'blockGap' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-post-template',
'editorStyle' => 'wp-block-post-template-editor'
),
'post-terms' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-terms',
'title' => 'Post Terms',
'category' => 'theme',
'description' => 'Post terms.',
'textdomain' => 'default',
'attributes' => array(
'term' => array(
'type' => 'string'
),
'textAlign' => array(
'type' => 'string'
),
'separator' => array(
'type' => 'string',
'default' => ', '
),
'prefix' => array(
'type' => 'string',
'default' => ''
),
'suffix' => array(
'type' => 'string',
'default' => ''
)
),
'usesContext' => array(
'postId',
'postType'
),
'supports' => array(
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-post-terms'
),
'post-title' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/post-title',
'title' => 'Title',
'category' => 'theme',
'description' => 'Displays the title of a post, page, or any other content-type.',
'textdomain' => 'default',
'usesContext' => array(
'postId',
'postType',
'queryId'
),
'attributes' => array(
'textAlign' => array(
'type' => 'string'
),
'level' => array(
'type' => 'number',
'default' => 2
),
'isLink' => array(
'type' => 'boolean',
'default' => false
),
'rel' => array(
'type' => 'string',
'attribute' => 'rel',
'default' => ''
),
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
)
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-post-title'
),
'preformatted' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/preformatted',
'title' => 'Preformatted',
'category' => 'text',
'description' => 'Add text that respects your spacing and tabs, and also allows styling.',
'textdomain' => 'default',
'attributes' => array(
'content' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'pre',
'__unstablePreserveWhiteSpace' => true,
'__experimentalRole' => 'content'
)
),
'supports' => array(
'anchor' => true,
'color' => array(
'gradients' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'padding' => true,
'margin' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-preformatted'
),
'pullquote' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/pullquote',
'title' => 'Pullquote',
'category' => 'text',
'description' => 'Give special visual emphasis to a quote from your text.',
'textdomain' => 'default',
'attributes' => array(
'value' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'p',
'__experimentalRole' => 'content'
),
'citation' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'cite',
'__experimentalRole' => 'content'
),
'textAlign' => array(
'type' => 'string'
)
),
'supports' => array(
'anchor' => true,
'align' => array(
'left',
'right',
'wide',
'full'
),
'color' => array(
'gradients' => true,
'background' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'__experimentalBorder' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'radius' => true,
'style' => true,
'width' => true
)
),
'__experimentalStyle' => array(
'typography' => array(
'fontSize' => '1.5em',
'lineHeight' => '1.6'
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-pullquote-editor',
'style' => 'wp-block-pullquote'
),
'query' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/query',
'title' => 'Query Loop',
'category' => 'theme',
'description' => 'An advanced block that allows displaying post types based on different query parameters and visual configurations.',
'textdomain' => 'default',
'attributes' => array(
'queryId' => array(
'type' => 'number'
),
'query' => array(
'type' => 'object',
'default' => array(
'perPage' => null,
'pages' => 0,
'offset' => 0,
'postType' => 'post',
'order' => 'desc',
'orderBy' => 'date',
'author' => '',
'search' => '',
'exclude' => array(
),
'sticky' => '',
'inherit' => true,
'taxQuery' => null,
'parents' => array(
)
)
),
'tagName' => array(
'type' => 'string',
'default' => 'div'
),
'namespace' => array(
'type' => 'string'
),
'enhancedPagination' => array(
'type' => 'boolean',
'default' => false
)
),
'providesContext' => array(
'queryId' => 'queryId',
'query' => 'query',
'displayLayout' => 'displayLayout',
'enhancedPagination' => 'enhancedPagination'
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'html' => false,
'layout' => true,
'interactivity' => true
),
'editorStyle' => 'wp-block-query-editor'
),
'query-no-results' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/query-no-results',
'title' => 'No results',
'category' => 'theme',
'description' => 'Contains the block elements used to render content when no query results are found.',
'parent' => array(
'core/query'
),
'textdomain' => 'default',
'usesContext' => array(
'queryId',
'query'
),
'supports' => array(
'align' => true,
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'link' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'query-pagination' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/query-pagination',
'title' => 'Pagination',
'category' => 'theme',
'ancestor' => array(
'core/query'
),
'allowedBlocks' => array(
'core/query-pagination-previous',
'core/query-pagination-numbers',
'core/query-pagination-next'
),
'description' => 'Displays a paginated navigation to next/previous set of posts, when applicable.',
'textdomain' => 'default',
'attributes' => array(
'paginationArrow' => array(
'type' => 'string',
'default' => 'none'
),
'showLabel' => array(
'type' => 'boolean',
'default' => true
)
),
'usesContext' => array(
'queryId',
'query'
),
'providesContext' => array(
'paginationArrow' => 'paginationArrow',
'showLabel' => 'showLabel'
),
'supports' => array(
'align' => true,
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'layout' => array(
'allowSwitching' => false,
'allowInheriting' => false,
'default' => array(
'type' => 'flex'
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-query-pagination-editor',
'style' => 'wp-block-query-pagination'
),
'query-pagination-next' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/query-pagination-next',
'title' => 'Next Page',
'category' => 'theme',
'parent' => array(
'core/query-pagination'
),
'description' => 'Displays the next posts page link.',
'textdomain' => 'default',
'attributes' => array(
'label' => array(
'type' => 'string'
)
),
'usesContext' => array(
'queryId',
'query',
'paginationArrow',
'showLabel',
'enhancedPagination'
),
'supports' => array(
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'query-pagination-numbers' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/query-pagination-numbers',
'title' => 'Page Numbers',
'category' => 'theme',
'parent' => array(
'core/query-pagination'
),
'description' => 'Displays a list of page numbers for pagination.',
'textdomain' => 'default',
'attributes' => array(
'midSize' => array(
'type' => 'number',
'default' => 2
)
),
'usesContext' => array(
'queryId',
'query',
'enhancedPagination'
),
'supports' => array(
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-query-pagination-numbers-editor'
),
'query-pagination-previous' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/query-pagination-previous',
'title' => 'Previous Page',
'category' => 'theme',
'parent' => array(
'core/query-pagination'
),
'description' => 'Displays the previous posts page link.',
'textdomain' => 'default',
'attributes' => array(
'label' => array(
'type' => 'string'
)
),
'usesContext' => array(
'queryId',
'query',
'paginationArrow',
'showLabel',
'enhancedPagination'
),
'supports' => array(
'reusable' => false,
'html' => false,
'color' => array(
'gradients' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'query-title' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/query-title',
'title' => 'Query Title',
'category' => 'theme',
'description' => 'Display the query title.',
'textdomain' => 'default',
'attributes' => array(
'type' => array(
'type' => 'string'
),
'textAlign' => array(
'type' => 'string'
),
'level' => array(
'type' => 'number',
'default' => 1
),
'showPrefix' => array(
'type' => 'boolean',
'default' => true
),
'showSearchTerm' => array(
'type' => 'boolean',
'default' => true
)
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'html' => false,
'color' => array(
'gradients' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-query-title'
),
'quote' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/quote',
'title' => 'Quote',
'category' => 'text',
'description' => 'Give quoted text visual emphasis. "In quoting others, we cite ourselves." — Julio Cortázar',
'keywords' => array(
'blockquote',
'cite'
),
'textdomain' => 'default',
'attributes' => array(
'value' => array(
'type' => 'string',
'source' => 'html',
'selector' => 'blockquote',
'multiline' => 'p',
'default' => '',
'__experimentalRole' => 'content'
),
'citation' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'cite',
'__experimentalRole' => 'content'
),
'textAlign' => array(
'type' => 'string'
)
),
'supports' => array(
'anchor' => true,
'html' => false,
'__experimentalOnEnter' => true,
'__experimentalOnMerge' => true,
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'color' => array(
'gradients' => true,
'heading' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'layout' => array(
'allowEditing' => false
),
'spacing' => array(
'blockGap' => true
),
'interactivity' => array(
'clientNavigation' => true
)
),
'styles' => array(
array(
'name' => 'default',
'label' => 'Default',
'isDefault' => true
),
array(
'name' => 'plain',
'label' => 'Plain'
)
),
'editorStyle' => 'wp-block-quote-editor',
'style' => 'wp-block-quote'
),
'read-more' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/read-more',
'title' => 'Read More',
'category' => 'theme',
'description' => 'Displays the link of a post, page, or any other content-type.',
'textdomain' => 'default',
'attributes' => array(
'content' => array(
'type' => 'string'
),
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
)
),
'usesContext' => array(
'postId'
),
'supports' => array(
'html' => false,
'color' => array(
'gradients' => true,
'text' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextDecoration' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true,
'textDecoration' => true
)
),
'spacing' => array(
'margin' => array(
'top',
'bottom'
),
'padding' => true,
'__experimentalDefaultControls' => array(
'padding' => true
)
),
'__experimentalBorder' => array(
'color' => true,
'radius' => true,
'width' => true,
'__experimentalDefaultControls' => array(
'width' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-read-more'
),
'rss' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/rss',
'title' => 'RSS',
'category' => 'widgets',
'description' => 'Display entries from any RSS or Atom feed.',
'keywords' => array(
'atom',
'feed'
),
'textdomain' => 'default',
'attributes' => array(
'columns' => array(
'type' => 'number',
'default' => 2
),
'blockLayout' => array(
'type' => 'string',
'default' => 'list'
),
'feedURL' => array(
'type' => 'string',
'default' => ''
),
'itemsToShow' => array(
'type' => 'number',
'default' => 5
),
'displayExcerpt' => array(
'type' => 'boolean',
'default' => false
),
'displayAuthor' => array(
'type' => 'boolean',
'default' => false
),
'displayDate' => array(
'type' => 'boolean',
'default' => false
),
'excerptLength' => array(
'type' => 'number',
'default' => 55
)
),
'supports' => array(
'align' => true,
'html' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-rss-editor',
'style' => 'wp-block-rss'
),
'search' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/search',
'title' => 'Search',
'category' => 'widgets',
'description' => 'Help visitors find your content.',
'keywords' => array(
'find'
),
'textdomain' => 'default',
'attributes' => array(
'label' => array(
'type' => 'string',
'__experimentalRole' => 'content'
),
'showLabel' => array(
'type' => 'boolean',
'default' => true
),
'placeholder' => array(
'type' => 'string',
'default' => '',
'__experimentalRole' => 'content'
),
'width' => array(
'type' => 'number'
),
'widthUnit' => array(
'type' => 'string'
),
'buttonText' => array(
'type' => 'string',
'__experimentalRole' => 'content'
),
'buttonPosition' => array(
'type' => 'string',
'default' => 'button-outside'
),
'buttonUseIcon' => array(
'type' => 'boolean',
'default' => false
),
'query' => array(
'type' => 'object',
'default' => array(
)
),
'isSearchFieldHidden' => array(
'type' => 'boolean',
'default' => false
)
),
'supports' => array(
'align' => array(
'left',
'center',
'right'
),
'color' => array(
'gradients' => true,
'__experimentalSkipSerialization' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'interactivity' => true,
'typography' => array(
'__experimentalSkipSerialization' => true,
'__experimentalSelector' => '.wp-block-search__label, .wp-block-search__input, .wp-block-search__button',
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'__experimentalBorder' => array(
'color' => true,
'radius' => true,
'width' => true,
'__experimentalSkipSerialization' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'radius' => true,
'width' => true
)
),
'html' => false
),
'editorStyle' => 'wp-block-search-editor',
'style' => 'wp-block-search'
),
'separator' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/separator',
'title' => 'Separator',
'category' => 'design',
'description' => 'Create a break between ideas or sections with a horizontal separator.',
'keywords' => array(
'horizontal-line',
'hr',
'divider'
),
'textdomain' => 'default',
'attributes' => array(
'opacity' => array(
'type' => 'string',
'default' => 'alpha-channel'
)
),
'supports' => array(
'anchor' => true,
'align' => array(
'center',
'wide',
'full'
),
'color' => array(
'enableContrastChecker' => false,
'__experimentalSkipSerialization' => true,
'gradients' => true,
'background' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => true
)
),
'spacing' => array(
'margin' => array(
'top',
'bottom'
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'styles' => array(
array(
'name' => 'default',
'label' => 'Default',
'isDefault' => true
),
array(
'name' => 'wide',
'label' => 'Wide Line'
),
array(
'name' => 'dots',
'label' => 'Dots'
)
),
'editorStyle' => 'wp-block-separator-editor',
'style' => 'wp-block-separator'
),
'shortcode' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/shortcode',
'title' => 'Shortcode',
'category' => 'widgets',
'description' => 'Insert additional custom elements with a WordPress shortcode.',
'textdomain' => 'default',
'attributes' => array(
'text' => array(
'type' => 'string',
'source' => 'raw'
)
),
'supports' => array(
'className' => false,
'customClassName' => false,
'html' => false
),
'editorStyle' => 'wp-block-shortcode-editor'
),
'site-logo' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/site-logo',
'title' => 'Site Logo',
'category' => 'theme',
'description' => 'Display an image to represent this site. Update this block and the changes apply everywhere.',
'textdomain' => 'default',
'attributes' => array(
'width' => array(
'type' => 'number'
),
'isLink' => array(
'type' => 'boolean',
'default' => true
),
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
),
'shouldSyncIcon' => array(
'type' => 'boolean'
)
),
'example' => array(
'viewportWidth' => 500,
'attributes' => array(
'width' => 350,
'className' => 'block-editor-block-types-list__site-logo-example'
)
),
'supports' => array(
'html' => false,
'align' => true,
'alignWide' => false,
'color' => array(
'__experimentalDuotone' => 'img, .components-placeholder__illustration, .components-placeholder::before',
'text' => false,
'background' => false
),
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'styles' => array(
array(
'name' => 'default',
'label' => 'Default',
'isDefault' => true
),
array(
'name' => 'rounded',
'label' => 'Rounded'
)
),
'editorStyle' => 'wp-block-site-logo-editor',
'style' => 'wp-block-site-logo'
),
'site-tagline' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/site-tagline',
'title' => 'Site Tagline',
'category' => 'theme',
'description' => 'Describe in a few words what the site is about. The tagline can be used in search results or when sharing on social networks even if it’s not displayed in the theme design.',
'keywords' => array(
'description'
),
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
),
'level' => array(
'type' => 'number',
'default' => 0
)
),
'example' => array(
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'html' => false,
'color' => array(
'gradients' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-site-tagline-editor'
),
'site-title' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/site-title',
'title' => 'Site Title',
'category' => 'theme',
'description' => 'Displays the name of this site. Update the block, and the changes apply everywhere it’s used. This will also appear in the browser title bar and in search results.',
'textdomain' => 'default',
'attributes' => array(
'level' => array(
'type' => 'number',
'default' => 1
),
'textAlign' => array(
'type' => 'string'
),
'isLink' => array(
'type' => 'boolean',
'default' => true
),
'linkTarget' => array(
'type' => 'string',
'default' => '_self'
)
),
'example' => array(
'viewportWidth' => 500
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'html' => false,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true,
'link' => true
)
),
'spacing' => array(
'padding' => true,
'margin' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-site-title-editor',
'style' => 'wp-block-site-title'
),
'social-link' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/social-link',
'title' => 'Social Icon',
'category' => 'widgets',
'parent' => array(
'core/social-links'
),
'description' => 'Display an icon linking to a social profile or site.',
'textdomain' => 'default',
'attributes' => array(
'url' => array(
'type' => 'string'
),
'service' => array(
'type' => 'string'
),
'label' => array(
'type' => 'string'
),
'rel' => array(
'type' => 'string'
)
),
'usesContext' => array(
'openInNewTab',
'showLabels',
'iconColor',
'iconColorValue',
'iconBackgroundColor',
'iconBackgroundColorValue'
),
'supports' => array(
'reusable' => false,
'html' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-social-link-editor'
),
'social-links' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/social-links',
'title' => 'Social Icons',
'category' => 'widgets',
'allowedBlocks' => array(
'core/social-link'
),
'description' => 'Display icons linking to your social profiles or sites.',
'keywords' => array(
'links'
),
'textdomain' => 'default',
'attributes' => array(
'iconColor' => array(
'type' => 'string'
),
'customIconColor' => array(
'type' => 'string'
),
'iconColorValue' => array(
'type' => 'string'
),
'iconBackgroundColor' => array(
'type' => 'string'
),
'customIconBackgroundColor' => array(
'type' => 'string'
),
'iconBackgroundColorValue' => array(
'type' => 'string'
),
'openInNewTab' => array(
'type' => 'boolean',
'default' => false
),
'showLabels' => array(
'type' => 'boolean',
'default' => false
),
'size' => array(
'type' => 'string'
)
),
'providesContext' => array(
'openInNewTab' => 'openInNewTab',
'showLabels' => 'showLabels',
'iconColor' => 'iconColor',
'iconColorValue' => 'iconColorValue',
'iconBackgroundColor' => 'iconBackgroundColor',
'iconBackgroundColorValue' => 'iconBackgroundColorValue'
),
'supports' => array(
'align' => array(
'left',
'center',
'right'
),
'anchor' => true,
'__experimentalExposeControlsToChildren' => true,
'layout' => array(
'allowSwitching' => false,
'allowInheriting' => false,
'allowVerticalAlignment' => false,
'default' => array(
'type' => 'flex'
)
),
'color' => array(
'enableContrastChecker' => false,
'background' => true,
'gradients' => true,
'text' => false,
'__experimentalDefaultControls' => array(
'background' => false
)
),
'spacing' => array(
'blockGap' => array(
'horizontal',
'vertical'
),
'margin' => true,
'padding' => true,
'units' => array(
'px',
'em',
'rem',
'vh',
'vw'
),
'__experimentalDefaultControls' => array(
'blockGap' => true,
'margin' => true,
'padding' => false
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'styles' => array(
array(
'name' => 'default',
'label' => 'Default',
'isDefault' => true
),
array(
'name' => 'logos-only',
'label' => 'Logos Only'
),
array(
'name' => 'pill-shape',
'label' => 'Pill Shape'
)
),
'editorStyle' => 'wp-block-social-links-editor',
'style' => 'wp-block-social-links'
),
'spacer' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/spacer',
'title' => 'Spacer',
'category' => 'design',
'description' => 'Add white space between blocks and customize its height.',
'textdomain' => 'default',
'attributes' => array(
'height' => array(
'type' => 'string',
'default' => '100px'
),
'width' => array(
'type' => 'string'
)
),
'usesContext' => array(
'orientation'
),
'supports' => array(
'anchor' => true,
'spacing' => array(
'margin' => array(
'top',
'bottom'
),
'__experimentalDefaultControls' => array(
'margin' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-spacer-editor',
'style' => 'wp-block-spacer'
),
'table' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/table',
'title' => 'Table',
'category' => 'text',
'description' => 'Create structured content in rows and columns to display information.',
'textdomain' => 'default',
'attributes' => array(
'hasFixedLayout' => array(
'type' => 'boolean',
'default' => true
),
'caption' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'figcaption'
),
'head' => array(
'type' => 'array',
'default' => array(
),
'source' => 'query',
'selector' => 'thead tr',
'query' => array(
'cells' => array(
'type' => 'array',
'default' => array(
),
'source' => 'query',
'selector' => 'td,th',
'query' => array(
'content' => array(
'type' => 'rich-text',
'source' => 'rich-text'
),
'tag' => array(
'type' => 'string',
'default' => 'td',
'source' => 'tag'
),
'scope' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'scope'
),
'align' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'data-align'
),
'colspan' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'colspan'
),
'rowspan' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'rowspan'
)
)
)
)
),
'body' => array(
'type' => 'array',
'default' => array(
),
'source' => 'query',
'selector' => 'tbody tr',
'query' => array(
'cells' => array(
'type' => 'array',
'default' => array(
),
'source' => 'query',
'selector' => 'td,th',
'query' => array(
'content' => array(
'type' => 'rich-text',
'source' => 'rich-text'
),
'tag' => array(
'type' => 'string',
'default' => 'td',
'source' => 'tag'
),
'scope' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'scope'
),
'align' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'data-align'
),
'colspan' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'colspan'
),
'rowspan' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'rowspan'
)
)
)
)
),
'foot' => array(
'type' => 'array',
'default' => array(
),
'source' => 'query',
'selector' => 'tfoot tr',
'query' => array(
'cells' => array(
'type' => 'array',
'default' => array(
),
'source' => 'query',
'selector' => 'td,th',
'query' => array(
'content' => array(
'type' => 'rich-text',
'source' => 'rich-text'
),
'tag' => array(
'type' => 'string',
'default' => 'td',
'source' => 'tag'
),
'scope' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'scope'
),
'align' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'data-align'
),
'colspan' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'colspan'
),
'rowspan' => array(
'type' => 'string',
'source' => 'attribute',
'attribute' => 'rowspan'
)
)
)
)
)
),
'supports' => array(
'anchor' => true,
'align' => true,
'color' => array(
'__experimentalSkipSerialization' => true,
'gradients' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'__experimentalBorder' => array(
'__experimentalSkipSerialization' => true,
'color' => true,
'style' => true,
'width' => true,
'__experimentalDefaultControls' => array(
'color' => true,
'style' => true,
'width' => true
)
),
'__experimentalSelector' => '.wp-block-table > table',
'interactivity' => array(
'clientNavigation' => true
)
),
'styles' => array(
array(
'name' => 'regular',
'label' => 'Default',
'isDefault' => true
),
array(
'name' => 'stripes',
'label' => 'Stripes'
)
),
'editorStyle' => 'wp-block-table-editor',
'style' => 'wp-block-table'
),
'tag-cloud' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/tag-cloud',
'title' => 'Tag Cloud',
'category' => 'widgets',
'description' => 'A cloud of your most used tags.',
'textdomain' => 'default',
'attributes' => array(
'numberOfTags' => array(
'type' => 'number',
'default' => 45,
'minimum' => 1,
'maximum' => 100
),
'taxonomy' => array(
'type' => 'string',
'default' => 'post_tag'
),
'showTagCounts' => array(
'type' => 'boolean',
'default' => false
),
'smallestFontSize' => array(
'type' => 'string',
'default' => '8pt'
),
'largestFontSize' => array(
'type' => 'string',
'default' => '22pt'
)
),
'styles' => array(
array(
'name' => 'default',
'label' => 'Default',
'isDefault' => true
),
array(
'name' => 'outline',
'label' => 'Outline'
)
),
'supports' => array(
'html' => false,
'align' => true,
'spacing' => array(
'margin' => true,
'padding' => true
),
'typography' => array(
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalLetterSpacing' => true
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-tag-cloud-editor'
),
'template-part' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/template-part',
'title' => 'Template Part',
'category' => 'theme',
'description' => 'Edit the different global regions of your site, like the header, footer, sidebar, or create your own.',
'textdomain' => 'default',
'attributes' => array(
'slug' => array(
'type' => 'string'
),
'theme' => array(
'type' => 'string'
),
'tagName' => array(
'type' => 'string'
),
'area' => array(
'type' => 'string'
)
),
'supports' => array(
'align' => true,
'html' => false,
'reusable' => false,
'renaming' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-template-part-editor'
),
'term-description' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/term-description',
'title' => 'Term Description',
'category' => 'theme',
'description' => 'Display the description of categories, tags and custom taxonomies when viewing an archive.',
'textdomain' => 'default',
'attributes' => array(
'textAlign' => array(
'type' => 'string'
)
),
'supports' => array(
'align' => array(
'wide',
'full'
),
'html' => false,
'color' => array(
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'spacing' => array(
'padding' => true,
'margin' => true
),
'typography' => array(
'fontSize' => true,
'lineHeight' => true,
'__experimentalFontFamily' => true,
'__experimentalFontWeight' => true,
'__experimentalFontStyle' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalLetterSpacing' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'interactivity' => array(
'clientNavigation' => true
)
)
),
'text-columns' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/text-columns',
'title' => 'Text Columns (deprecated)',
'icon' => 'columns',
'category' => 'design',
'description' => 'This block is deprecated. Please use the Columns block instead.',
'textdomain' => 'default',
'attributes' => array(
'content' => array(
'type' => 'array',
'source' => 'query',
'selector' => 'p',
'query' => array(
'children' => array(
'type' => 'string',
'source' => 'html'
)
),
'default' => array(
array(
),
array(
)
)
),
'columns' => array(
'type' => 'number',
'default' => 2
),
'width' => array(
'type' => 'string'
)
),
'supports' => array(
'inserter' => false,
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-text-columns-editor',
'style' => 'wp-block-text-columns'
),
'verse' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/verse',
'title' => 'Verse',
'category' => 'text',
'description' => 'Insert poetry. Use special spacing formats. Or quote song lyrics.',
'keywords' => array(
'poetry',
'poem'
),
'textdomain' => 'default',
'attributes' => array(
'content' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'pre',
'__unstablePreserveWhiteSpace' => true,
'__experimentalRole' => 'content'
),
'textAlign' => array(
'type' => 'string'
)
),
'supports' => array(
'anchor' => true,
'color' => array(
'gradients' => true,
'link' => true,
'__experimentalDefaultControls' => array(
'background' => true,
'text' => true
)
),
'typography' => array(
'fontSize' => true,
'__experimentalFontFamily' => true,
'lineHeight' => true,
'__experimentalFontStyle' => true,
'__experimentalFontWeight' => true,
'__experimentalLetterSpacing' => true,
'__experimentalTextTransform' => true,
'__experimentalTextDecoration' => true,
'__experimentalDefaultControls' => array(
'fontSize' => true
)
),
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'__experimentalBorder' => array(
'radius' => true,
'width' => true,
'color' => true,
'style' => true
),
'interactivity' => array(
'clientNavigation' => true
)
),
'style' => 'wp-block-verse',
'editorStyle' => 'wp-block-verse-editor'
),
'video' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/video',
'title' => 'Video',
'category' => 'media',
'description' => 'Embed a video from your media library or upload a new one.',
'keywords' => array(
'movie'
),
'textdomain' => 'default',
'attributes' => array(
'autoplay' => array(
'type' => 'boolean',
'source' => 'attribute',
'selector' => 'video',
'attribute' => 'autoplay'
),
'caption' => array(
'type' => 'rich-text',
'source' => 'rich-text',
'selector' => 'figcaption',
'__experimentalRole' => 'content'
),
'controls' => array(
'type' => 'boolean',
'source' => 'attribute',
'selector' => 'video',
'attribute' => 'controls',
'default' => true
),
'id' => array(
'type' => 'number',
'__experimentalRole' => 'content'
),
'loop' => array(
'type' => 'boolean',
'source' => 'attribute',
'selector' => 'video',
'attribute' => 'loop'
),
'muted' => array(
'type' => 'boolean',
'source' => 'attribute',
'selector' => 'video',
'attribute' => 'muted'
),
'poster' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'video',
'attribute' => 'poster'
),
'preload' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'video',
'attribute' => 'preload',
'default' => 'metadata'
),
'src' => array(
'type' => 'string',
'source' => 'attribute',
'selector' => 'video',
'attribute' => 'src',
'__experimentalRole' => 'content'
),
'playsInline' => array(
'type' => 'boolean',
'source' => 'attribute',
'selector' => 'video',
'attribute' => 'playsinline'
),
'tracks' => array(
'__experimentalRole' => 'content',
'type' => 'array',
'items' => array(
'type' => 'object'
),
'default' => array(
)
)
),
'supports' => array(
'anchor' => true,
'align' => true,
'spacing' => array(
'margin' => true,
'padding' => true,
'__experimentalDefaultControls' => array(
'margin' => false,
'padding' => false
)
),
'interactivity' => array(
'clientNavigation' => true
)
),
'editorStyle' => 'wp-block-video-editor',
'style' => 'wp-block-video'
),
'widget-group' => array(
'$schema' => 'https://schemas.wp.org/trunk/block.json',
'apiVersion' => 3,
'name' => 'core/widget-group',
'title' => 'Widget Group',
'category' => 'widgets',
'attributes' => array(
'title' => array(
'type' => 'string'
)
),
'supports' => array(
'html' => false,
'inserter' => true,
'customClassName' => true,
'reusable' => false
),
'editorStyle' => 'wp-block-widget-group-editor',
'style' => 'wp-block-widget-group'
)
); separator/editor-rtl.css 0000644 00000000151 14717677151 0011360 0 ustar 00 .block-editor-block-list__block[data-type="core/separator"]{
padding-bottom:.1px;
padding-top:.1px;
} separator/editor.css 0000644 00000000151 14717677151 0010561 0 ustar 00 .block-editor-block-list__block[data-type="core/separator"]{
padding-bottom:.1px;
padding-top:.1px;
} separator/block.json 0000644 00000002042 14717677151 0010547 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/separator",
"title": "Separator",
"category": "design",
"description": "Create a break between ideas or sections with a horizontal separator.",
"keywords": [ "horizontal-line", "hr", "divider" ],
"textdomain": "default",
"attributes": {
"opacity": {
"type": "string",
"default": "alpha-channel"
}
},
"supports": {
"anchor": true,
"align": [ "center", "wide", "full" ],
"color": {
"enableContrastChecker": false,
"__experimentalSkipSerialization": true,
"gradients": true,
"background": true,
"text": false,
"__experimentalDefaultControls": {
"background": true
}
},
"spacing": {
"margin": [ "top", "bottom" ]
},
"interactivity": {
"clientNavigation": true
}
},
"styles": [
{ "name": "default", "label": "Default", "isDefault": true },
{ "name": "wide", "label": "Wide Line" },
{ "name": "dots", "label": "Dots" }
],
"editorStyle": "wp-block-separator-editor",
"style": "wp-block-separator"
}
separator/style-rtl.min.css 0000644 00000000625 14717677151 0012022 0 ustar 00 @charset "UTF-8";.wp-block-separator{border:none;border-top:2px solid}:root :where(.wp-block-separator.is-style-dots){height:auto;line-height:1;text-align:center}:root :where(.wp-block-separator.is-style-dots):before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}.wp-block-separator.is-style-dots{background:none!important;border:none!important} separator/style-rtl.css 0000644 00000000715 14717677151 0011240 0 ustar 00 @charset "UTF-8";
.wp-block-separator{
border:none;
border-top:2px solid;
}
:root :where(.wp-block-separator.is-style-dots){
height:auto;
line-height:1;
text-align:center;
}
:root :where(.wp-block-separator.is-style-dots):before{
color:currentColor;
content:"···";
font-family:serif;
font-size:1.5em;
letter-spacing:2em;
padding-left:2em;
}
.wp-block-separator.is-style-dots{
background:none !important;
border:none !important;
} separator/theme.min.css 0000644 00000000665 14717677151 0011171 0 ustar 00 .wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px} separator/theme.css 0000644 00000000745 14717677151 0010406 0 ustar 00 .wp-block-separator.has-css-opacity{
opacity:.4;
}
.wp-block-separator{
border:none;
border-bottom:2px solid;
margin-left:auto;
margin-right:auto;
}
.wp-block-separator.has-alpha-channel-opacity{
opacity:1;
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots){
width:100px;
}
.wp-block-separator.has-background:not(.is-style-dots){
border-bottom:none;
height:1px;
}
.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){
height:2px;
} separator/theme-rtl.min.css 0000644 00000000665 14717677151 0011770 0 ustar 00 .wp-block-separator.has-css-opacity{opacity:.4}.wp-block-separator{border:none;border-bottom:2px solid;margin-left:auto;margin-right:auto}.wp-block-separator.has-alpha-channel-opacity{opacity:1}.wp-block-separator:not(.is-style-wide):not(.is-style-dots){width:100px}.wp-block-separator.has-background:not(.is-style-dots){border-bottom:none;height:1px}.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){height:2px} separator/editor.min.css 0000644 00000000141 14717677151 0011342 0 ustar 00 .block-editor-block-list__block[data-type="core/separator"]{padding-bottom:.1px;padding-top:.1px} separator/editor-rtl.min.css 0000644 00000000141 14717677151 0012141 0 ustar 00 .block-editor-block-list__block[data-type="core/separator"]{padding-bottom:.1px;padding-top:.1px} separator/theme-rtl.css 0000644 00000000745 14717677151 0011205 0 ustar 00 .wp-block-separator.has-css-opacity{
opacity:.4;
}
.wp-block-separator{
border:none;
border-bottom:2px solid;
margin-left:auto;
margin-right:auto;
}
.wp-block-separator.has-alpha-channel-opacity{
opacity:1;
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots){
width:100px;
}
.wp-block-separator.has-background:not(.is-style-dots){
border-bottom:none;
height:1px;
}
.wp-block-separator.has-background:not(.is-style-wide):not(.is-style-dots){
height:2px;
} separator/style.css 0000644 00000000715 14717677151 0010441 0 ustar 00 @charset "UTF-8";
.wp-block-separator{
border:none;
border-top:2px solid;
}
:root :where(.wp-block-separator.is-style-dots){
height:auto;
line-height:1;
text-align:center;
}
:root :where(.wp-block-separator.is-style-dots):before{
color:currentColor;
content:"···";
font-family:serif;
font-size:1.5em;
letter-spacing:2em;
padding-left:2em;
}
.wp-block-separator.is-style-dots{
background:none !important;
border:none !important;
} separator/style.min.css 0000644 00000000625 14717677151 0011223 0 ustar 00 @charset "UTF-8";.wp-block-separator{border:none;border-top:2px solid}:root :where(.wp-block-separator.is-style-dots){height:auto;line-height:1;text-align:center}:root :where(.wp-block-separator.is-style-dots):before{color:currentColor;content:"···";font-family:serif;font-size:1.5em;letter-spacing:2em;padding-left:2em}.wp-block-separator.is-style-dots{background:none!important;border:none!important} list.php 0000644 00000002371 14717677151 0006253 0 ustar 00 is transformed to
.
*
* @since 6.6.0
*
* @see https://github.com/WordPress/gutenberg/issues/12420
*
* @param array $attributes Attributes of the block being rendered.
* @param string $content Content of the block being rendered.
*
* @return string The content of the block being rendered.
*/
function block_core_list_render( $attributes, $content ) {
if ( ! $content ) {
return $content;
}
$processor = new WP_HTML_Tag_Processor( $content );
$list_tags = array( 'OL', 'UL' );
while ( $processor->next_tag() ) {
if ( in_array( $processor->get_tag(), $list_tags, true ) ) {
$processor->add_class( 'wp-block-list' );
break;
}
}
return $processor->get_updated_html();
}
/**
* Registers the `core/list` block on server.
*
* @since 6.6.0
*/
function register_block_core_list() {
register_block_type_from_metadata(
__DIR__ . '/list',
array(
'render_callback' => 'block_core_list_render',
)
);
}
add_action( 'init', 'register_block_core_list' );
index.php 0000644 00000010751 14717677151 0006410 0 ustar 00 'style',
'editorStyle' => 'editor',
);
static $core_blocks_meta;
if ( ! $core_blocks_meta ) {
$core_blocks_meta = require BLOCKS_PATH . 'blocks-json.php';
}
$files = false;
$transient_name = 'wp_core_block_css_files';
/*
* Ignore transient cache when the development mode is set to 'core'. Why? To avoid interfering with
* the core developer's workflow.
*/
$can_use_cached = ! wp_is_development_mode( 'core' );
if ( $can_use_cached ) {
$cached_files = get_transient( $transient_name );
// Check the validity of cached values by checking against the current WordPress version.
if (
is_array( $cached_files )
&& isset( $cached_files['version'] )
&& $cached_files['version'] === $wp_version
&& isset( $cached_files['files'] )
) {
$files = $cached_files['files'];
}
}
if ( ! $files ) {
$files = glob( wp_normalize_path( BLOCKS_PATH . '**/**.css' ) );
// Normalize BLOCKS_PATH prior to substitution for Windows environments.
$normalized_blocks_path = wp_normalize_path( BLOCKS_PATH );
$files = array_map(
static function ( $file ) use ( $normalized_blocks_path ) {
return str_replace( $normalized_blocks_path, '', $file );
},
$files
);
// Save core block style paths in cache when not in development mode.
if ( $can_use_cached ) {
set_transient(
$transient_name,
array(
'version' => $wp_version,
'files' => $files,
)
);
}
}
$register_style = static function ( $name, $filename, $style_handle ) use ( $blocks_url, $suffix, $wp_styles, $files ) {
$style_path = "{$name}/{$filename}{$suffix}.css";
$path = wp_normalize_path( BLOCKS_PATH . $style_path );
if ( ! in_array( $style_path, $files, true ) ) {
$wp_styles->add(
$style_handle,
false
);
return;
}
$wp_styles->add( $style_handle, $blocks_url . $style_path );
$wp_styles->add_data( $style_handle, 'path', $path );
$rtl_file = "{$name}/{$filename}-rtl{$suffix}.css";
if ( is_rtl() && in_array( $rtl_file, $files, true ) ) {
$wp_styles->add_data( $style_handle, 'rtl', 'replace' );
$wp_styles->add_data( $style_handle, 'suffix', $suffix );
$wp_styles->add_data( $style_handle, 'path', str_replace( "{$suffix}.css", "-rtl{$suffix}.css", $path ) );
}
};
foreach ( $core_blocks_meta as $name => $schema ) {
/** This filter is documented in wp-includes/blocks.php */
$schema = apply_filters( 'block_type_metadata', $schema );
// Backfill these properties similar to `register_block_type_from_metadata()`.
if ( ! isset( $schema['style'] ) ) {
$schema['style'] = "wp-block-{$name}";
}
if ( ! isset( $schema['editorStyle'] ) ) {
$schema['editorStyle'] = "wp-block-{$name}-editor";
}
// Register block theme styles.
$register_style( $name, 'theme', "wp-block-{$name}-theme" );
foreach ( $style_fields as $style_field => $filename ) {
$style_handle = $schema[ $style_field ];
if ( is_array( $style_handle ) ) {
continue;
}
$register_style( $name, $filename, $style_handle );
}
}
}
add_action( 'init', 'register_core_block_style_handles', 9 );
/**
* Registers core block types using metadata files.
* Dynamic core blocks are registered separately.
*
* @since 5.5.0
*/
function register_core_block_types_from_metadata() {
$block_folders = require BLOCKS_PATH . 'require-static-blocks.php';
foreach ( $block_folders as $block_folder ) {
register_block_type_from_metadata(
BLOCKS_PATH . $block_folder
);
}
}
add_action( 'init', 'register_core_block_types_from_metadata' );
post-terms/block.json 0000644 00000002311 14717677151 0010663 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/post-terms",
"title": "Post Terms",
"category": "theme",
"description": "Post terms.",
"textdomain": "default",
"attributes": {
"term": {
"type": "string"
},
"textAlign": {
"type": "string"
},
"separator": {
"type": "string",
"default": ", "
},
"prefix": {
"type": "string",
"default": ""
},
"suffix": {
"type": "string",
"default": ""
}
},
"usesContext": [ "postId", "postType" ],
"supports": {
"html": false,
"color": {
"gradients": true,
"link": true,
"__experimentalDefaultControls": {
"background": true,
"text": true,
"link": true
}
},
"spacing": {
"margin": true,
"padding": true
},
"typography": {
"fontSize": true,
"lineHeight": true,
"__experimentalFontFamily": true,
"__experimentalFontWeight": true,
"__experimentalFontStyle": true,
"__experimentalTextTransform": true,
"__experimentalTextDecoration": true,
"__experimentalLetterSpacing": true,
"__experimentalDefaultControls": {
"fontSize": true
}
},
"interactivity": {
"clientNavigation": true
}
},
"style": "wp-block-post-terms"
}
post-terms/style-rtl.min.css 0000644 00000000165 14717677151 0012136 0 ustar 00 .wp-block-post-terms{box-sizing:border-box}.wp-block-post-terms .wp-block-post-terms__separator{white-space:pre-wrap} post-terms/style-rtl.css 0000644 00000000200 14717677151 0011342 0 ustar 00 .wp-block-post-terms{
box-sizing:border-box;
}
.wp-block-post-terms .wp-block-post-terms__separator{
white-space:pre-wrap;
} post-terms/style.css 0000644 00000000200 14717677151 0010543 0 ustar 00 .wp-block-post-terms{
box-sizing:border-box;
}
.wp-block-post-terms .wp-block-post-terms__separator{
white-space:pre-wrap;
} post-terms/style.min.css 0000644 00000000165 14717677151 0011337 0 ustar 00 .wp-block-post-terms{box-sizing:border-box}.wp-block-post-terms .wp-block-post-terms__separator{white-space:pre-wrap} comments-title.php 0000644 00000005324 14717677151 0010245 0 ustar 00 $align_class_name ) );
$comments_count = get_comments_number();
/* translators: %s: Post title. */
$post_title = sprintf( __( '“%s”' ), get_the_title() );
$tag_name = 'h2';
if ( isset( $attributes['level'] ) ) {
$tag_name = 'h' . $attributes['level'];
}
if ( '0' === $comments_count ) {
return;
}
if ( $show_comments_count ) {
if ( $show_post_title ) {
if ( '1' === $comments_count ) {
/* translators: %s: Post title. */
$comments_title = sprintf( __( 'One response to %s' ), $post_title );
} else {
$comments_title = sprintf(
/* translators: 1: Number of comments, 2: Post title. */
_n(
'%1$s response to %2$s',
'%1$s responses to %2$s',
$comments_count
),
number_format_i18n( $comments_count ),
$post_title
);
}
} elseif ( '1' === $comments_count ) {
$comments_title = __( 'One response' );
} else {
$comments_title = sprintf(
/* translators: %s: Number of comments. */
_n( '%s response', '%s responses', $comments_count ),
number_format_i18n( $comments_count )
);
}
} elseif ( $show_post_title ) {
if ( '1' === $comments_count ) {
/* translators: %s: Post title. */
$comments_title = sprintf( __( 'Response to %s' ), $post_title );
} else {
/* translators: %s: Post title. */
$comments_title = sprintf( __( 'Responses to %s' ), $post_title );
}
} elseif ( '1' === $comments_count ) {
$comments_title = __( 'Response' );
} else {
$comments_title = __( 'Responses' );
}
return sprintf(
'<%1$s id="comments" %2$s>%3$s%1$s>',
$tag_name,
$wrapper_attributes,
$comments_title
);
}
/**
* Registers the `core/comments-title` block on the server.
*
* @since 6.0.0
*/
function register_block_core_comments_title() {
register_block_type_from_metadata(
__DIR__ . '/comments-title',
array(
'render_callback' => 'render_block_core_comments_title',
)
);
}
add_action( 'init', 'register_block_core_comments_title' );
footnotes.php 0000644 00000007273 14717677151 0007326 0 ustar 00 context['postId'] ) ) {
return '';
}
if ( post_password_required( $block->context['postId'] ) ) {
return;
}
$footnotes = get_post_meta( $block->context['postId'], 'footnotes', true );
if ( ! $footnotes ) {
return;
}
$footnotes = json_decode( $footnotes, true );
if ( ! is_array( $footnotes ) || count( $footnotes ) === 0 ) {
return '';
}
$wrapper_attributes = get_block_wrapper_attributes();
$footnote_index = 1;
$block_content = '';
foreach ( $footnotes as $footnote ) {
// Translators: %d: Integer representing the number of return links on the page.
$aria_label = sprintf( __( 'Jump to footnote reference %1$d' ), $footnote_index );
$block_content .= sprintf(
'- %2$s ↩︎
',
$footnote['id'],
$footnote['content'],
$aria_label
);
++$footnote_index;
}
return sprintf(
'%2$s
',
$wrapper_attributes,
$block_content
);
}
/**
* Registers the `core/footnotes` block on the server.
*
* @since 6.3.0
*/
function register_block_core_footnotes() {
register_block_type_from_metadata(
__DIR__ . '/footnotes',
array(
'render_callback' => 'render_block_core_footnotes',
)
);
}
add_action( 'init', 'register_block_core_footnotes' );
/**
* Registers the footnotes meta field required for footnotes to work.
*
* @since 6.5.0
*/
function register_block_core_footnotes_post_meta() {
$post_types = get_post_types( array( 'show_in_rest' => true ) );
foreach ( $post_types as $post_type ) {
// Only register the meta field if the post type supports the editor, custom fields, and revisions.
if (
post_type_supports( $post_type, 'editor' ) &&
post_type_supports( $post_type, 'custom-fields' ) &&
post_type_supports( $post_type, 'revisions' )
) {
register_post_meta(
$post_type,
'footnotes',
array(
'show_in_rest' => true,
'single' => true,
'type' => 'string',
'revisions_enabled' => true,
)
);
}
}
}
/*
* Most post types are registered at priority 10, so use priority 20 here in
* order to catch them.
*/
add_action( 'init', 'register_block_core_footnotes_post_meta', 20 );
/**
* Adds the footnotes field to the revisions display.
*
* @since 6.3.0
*
* @param array $fields The revision fields.
* @return array The revision fields.
*/
function wp_add_footnotes_to_revision( $fields ) {
$fields['footnotes'] = __( 'Footnotes' );
return $fields;
}
add_filter( '_wp_post_revision_fields', 'wp_add_footnotes_to_revision' );
/**
* Gets the footnotes field from the revision for the revisions screen.
*
* @since 6.3.0
*
* @param string $revision_field The field value, but $revision->$field
* (footnotes) does not exist.
* @param string $field The field name, in this case "footnotes".
* @param object $revision The revision object to compare against.
* @return string The field value.
*/
function wp_get_footnotes_from_revision( $revision_field, $field, $revision ) {
return get_metadata( 'post', $revision->ID, $field, true );
}
add_filter( '_wp_post_revision_field_footnotes', 'wp_get_footnotes_from_revision', 10, 3 );
block/block.json 0000644 00000001113 14717677151 0007637 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/block",
"title": "Pattern",
"category": "reusable",
"description": "Reuse this design across your site.",
"keywords": [ "reusable" ],
"textdomain": "default",
"attributes": {
"ref": {
"type": "number"
},
"content": {
"type": "object",
"default": {}
}
},
"providesContext": {
"pattern/overrides": "content"
},
"supports": {
"customClassName": false,
"html": false,
"inserter": false,
"renaming": false,
"interactivity": {
"clientNavigation": true
}
}
}
post-featured-image/editor-rtl.css 0000644 00000011677 14717677151 0013241 0 ustar 00 .wp-block-post-featured-image .block-editor-media-placeholder{
-webkit-backdrop-filter:none;
backdrop-filter:none;
z-index:1;
}
.wp-block-post-featured-image .components-placeholder,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder{
align-items:center;
display:flex;
justify-content:center;
min-height:200px;
padding:0;
}
.wp-block-post-featured-image .components-placeholder .components-form-file-upload,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload{
display:none;
}
.wp-block-post-featured-image .components-placeholder .components-button,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button{
align-items:center;
background:var(--wp-admin-theme-color);
border-color:var(--wp-admin-theme-color);
border-radius:50%;
border-style:solid;
color:#fff;
display:flex;
height:48px;
justify-content:center;
margin:auto;
padding:0;
position:relative;
width:48px;
}
.wp-block-post-featured-image .components-placeholder .components-button>svg,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button>svg{
color:inherit;
}
.wp-block-post-featured-image .components-placeholder:where(.has-border-color),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),.wp-block-post-featured-image img:where(.has-border-color){
border-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-top-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-color]),.wp-block-post-featured-image img:where([style*=border-top-color]){
border-top-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-right-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-color]),.wp-block-post-featured-image img:where([style*=border-right-color]){
border-left-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image img:where([style*=border-bottom-color]){
border-bottom-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-left-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-color]),.wp-block-post-featured-image img:where([style*=border-left-color]){
border-right-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-width]),.wp-block-post-featured-image img:where([style*=border-width]){
border-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-top-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-width]),.wp-block-post-featured-image img:where([style*=border-top-width]){
border-top-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-right-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-width]),.wp-block-post-featured-image img:where([style*=border-right-width]){
border-left-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image img:where([style*=border-bottom-width]){
border-bottom-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-left-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-width]),.wp-block-post-featured-image img:where([style*=border-left-width]){
border-right-style:solid;
}
.wp-block-post-featured-image[style*=height] .components-placeholder{
height:100%;
min-height:48px;
min-width:48px;
width:100%;
}
.wp-block-post-featured-image>a{
cursor:default;
}
.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-button,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__instructions,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__label{
opacity:1;
pointer-events:auto;
}
.wp-block-post-featured-image.is-transient{
position:relative;
}
.wp-block-post-featured-image.is-transient img{
opacity:.3;
}
.wp-block-post-featured-image.is-transient .components-spinner{
position:absolute;
right:50%;
top:50%;
transform:translate(50%, -50%);
}
div[data-type="core/post-featured-image"] img{
display:block;
height:auto;
max-width:100%;
} post-featured-image/editor.css 0000644 00000011677 14717677151 0012442 0 ustar 00 .wp-block-post-featured-image .block-editor-media-placeholder{
-webkit-backdrop-filter:none;
backdrop-filter:none;
z-index:1;
}
.wp-block-post-featured-image .components-placeholder,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder{
align-items:center;
display:flex;
justify-content:center;
min-height:200px;
padding:0;
}
.wp-block-post-featured-image .components-placeholder .components-form-file-upload,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload{
display:none;
}
.wp-block-post-featured-image .components-placeholder .components-button,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button{
align-items:center;
background:var(--wp-admin-theme-color);
border-color:var(--wp-admin-theme-color);
border-radius:50%;
border-style:solid;
color:#fff;
display:flex;
height:48px;
justify-content:center;
margin:auto;
padding:0;
position:relative;
width:48px;
}
.wp-block-post-featured-image .components-placeholder .components-button>svg,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button>svg{
color:inherit;
}
.wp-block-post-featured-image .components-placeholder:where(.has-border-color),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),.wp-block-post-featured-image img:where(.has-border-color){
border-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-top-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-color]),.wp-block-post-featured-image img:where([style*=border-top-color]){
border-top-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-right-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-color]),.wp-block-post-featured-image img:where([style*=border-right-color]){
border-right-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image img:where([style*=border-bottom-color]){
border-bottom-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-left-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-color]),.wp-block-post-featured-image img:where([style*=border-left-color]){
border-left-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-width]),.wp-block-post-featured-image img:where([style*=border-width]){
border-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-top-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-width]),.wp-block-post-featured-image img:where([style*=border-top-width]){
border-top-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-right-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-width]),.wp-block-post-featured-image img:where([style*=border-right-width]){
border-right-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image img:where([style*=border-bottom-width]){
border-bottom-style:solid;
}
.wp-block-post-featured-image .components-placeholder:where([style*=border-left-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-width]),.wp-block-post-featured-image img:where([style*=border-left-width]){
border-left-style:solid;
}
.wp-block-post-featured-image[style*=height] .components-placeholder{
height:100%;
min-height:48px;
min-width:48px;
width:100%;
}
.wp-block-post-featured-image>a{
cursor:default;
}
.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-button,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__instructions,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__label{
opacity:1;
pointer-events:auto;
}
.wp-block-post-featured-image.is-transient{
position:relative;
}
.wp-block-post-featured-image.is-transient img{
opacity:.3;
}
.wp-block-post-featured-image.is-transient .components-spinner{
left:50%;
position:absolute;
top:50%;
transform:translate(-50%, -50%);
}
div[data-type="core/post-featured-image"] img{
display:block;
height:auto;
max-width:100%;
} post-featured-image/block.json 0000644 00000004434 14717677151 0012420 0 ustar 00 {
"$schema": "https://schemas.wp.org/trunk/block.json",
"apiVersion": 3,
"name": "core/post-featured-image",
"title": "Featured Image",
"category": "theme",
"description": "Display a post's featured image.",
"textdomain": "default",
"attributes": {
"isLink": {
"type": "boolean",
"default": false
},
"aspectRatio": {
"type": "string"
},
"width": {
"type": "string"
},
"height": {
"type": "string"
},
"scale": {
"type": "string",
"default": "cover"
},
"sizeSlug": {
"type": "string"
},
"rel": {
"type": "string",
"attribute": "rel",
"default": ""
},
"linkTarget": {
"type": "string",
"default": "_self"
},
"overlayColor": {
"type": "string"
},
"customOverlayColor": {
"type": "string"
},
"dimRatio": {
"type": "number",
"default": 0
},
"gradient": {
"type": "string"
},
"customGradient": {
"type": "string"
},
"useFirstImageFromPost": {
"type": "boolean",
"default": false
}
},
"usesContext": [ "postId", "postType", "queryId" ],
"supports": {
"align": [ "left", "right", "center", "wide", "full" ],
"color": {
"text": false,
"background": false
},
"__experimentalBorder": {
"color": true,
"radius": true,
"width": true,
"__experimentalSkipSerialization": true,
"__experimentalDefaultControls": {
"color": true,
"radius": true,
"width": true
}
},
"filter": {
"duotone": true
},
"shadow": {
"__experimentalSkipSerialization": true
},
"html": false,
"spacing": {
"margin": true,
"padding": true
},
"interactivity": {
"clientNavigation": true
}
},
"selectors": {
"border": ".wp-block-post-featured-image img, .wp-block-post-featured-image .block-editor-media-placeholder, .wp-block-post-featured-image .wp-block-post-featured-image__overlay",
"shadow": ".wp-block-post-featured-image img, .wp-block-post-featured-image .components-placeholder",
"filter": {
"duotone": ".wp-block-post-featured-image img, .wp-block-post-featured-image .wp-block-post-featured-image__placeholder, .wp-block-post-featured-image .components-placeholder__illustration, .wp-block-post-featured-image .components-placeholder::before"
}
},
"editorStyle": "wp-block-post-featured-image-editor",
"style": "wp-block-post-featured-image"
}
post-featured-image/style-rtl.min.css 0000644 00000003451 14717677151 0013664 0 ustar 00 .wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block;height:100%}.wp-block-post-featured-image :where(img){box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:initial}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-featured-image:where(.alignleft,.alignright){width:100%} post-featured-image/style-rtl.css 0000644 00000003663 14717677151 0013107 0 ustar 00 .wp-block-post-featured-image{
margin-left:0;
margin-right:0;
}
.wp-block-post-featured-image a{
display:block;
height:100%;
}
.wp-block-post-featured-image :where(img){
box-sizing:border-box;
height:auto;
max-width:100%;
vertical-align:bottom;
width:100%;
}
.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{
width:100%;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{
background-color:#000;
inset:0;
position:absolute;
}
.wp-block-post-featured-image{
position:relative;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{
background-color:initial;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{
opacity:0;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{
opacity:.1;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{
opacity:.2;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{
opacity:.3;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{
opacity:.4;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{
opacity:.5;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{
opacity:.6;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{
opacity:.7;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{
opacity:.8;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{
opacity:.9;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{
opacity:1;
}
.wp-block-post-featured-image:where(.alignleft,.alignright){
width:100%;
} post-featured-image/editor.min.css 0000644 00000011341 14717677151 0013210 0 ustar 00 .wp-block-post-featured-image .block-editor-media-placeholder{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1}.wp-block-post-featured-image .components-placeholder,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder{align-items:center;display:flex;justify-content:center;min-height:200px;padding:0}.wp-block-post-featured-image .components-placeholder .components-form-file-upload,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload{display:none}.wp-block-post-featured-image .components-placeholder .components-button,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;margin:auto;padding:0;position:relative;width:48px}.wp-block-post-featured-image .components-placeholder .components-button>svg,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button>svg{color:inherit}.wp-block-post-featured-image .components-placeholder:where(.has-border-color),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),.wp-block-post-featured-image img:where(.has-border-color){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-color]),.wp-block-post-featured-image img:where([style*=border-top-color]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-color]),.wp-block-post-featured-image img:where([style*=border-right-color]){border-right-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image img:where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-color]),.wp-block-post-featured-image img:where([style*=border-left-color]){border-left-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-width]),.wp-block-post-featured-image img:where([style*=border-width]){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-width]),.wp-block-post-featured-image img:where([style*=border-top-width]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-width]),.wp-block-post-featured-image img:where([style*=border-right-width]){border-right-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image img:where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-width]),.wp-block-post-featured-image img:where([style*=border-left-width]){border-left-style:solid}.wp-block-post-featured-image[style*=height] .components-placeholder{height:100%;min-height:48px;min-width:48px;width:100%}.wp-block-post-featured-image>a{cursor:default}.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-button,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__instructions,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__label{opacity:1;pointer-events:auto}.wp-block-post-featured-image.is-transient{position:relative}.wp-block-post-featured-image.is-transient img{opacity:.3}.wp-block-post-featured-image.is-transient .components-spinner{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}div[data-type="core/post-featured-image"] img{display:block;height:auto;max-width:100%} post-featured-image/editor-rtl.min.css 0000644 00000011341 14717677151 0014007 0 ustar 00 .wp-block-post-featured-image .block-editor-media-placeholder{-webkit-backdrop-filter:none;backdrop-filter:none;z-index:1}.wp-block-post-featured-image .components-placeholder,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder{align-items:center;display:flex;justify-content:center;min-height:200px;padding:0}.wp-block-post-featured-image .components-placeholder .components-form-file-upload,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-form-file-upload{display:none}.wp-block-post-featured-image .components-placeholder .components-button,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button{align-items:center;background:var(--wp-admin-theme-color);border-color:var(--wp-admin-theme-color);border-radius:50%;border-style:solid;color:#fff;display:flex;height:48px;justify-content:center;margin:auto;padding:0;position:relative;width:48px}.wp-block-post-featured-image .components-placeholder .components-button>svg,.wp-block-post-featured-image .wp-block-post-featured-image__placeholder .components-button>svg{color:inherit}.wp-block-post-featured-image .components-placeholder:where(.has-border-color),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where(.has-border-color),.wp-block-post-featured-image img:where(.has-border-color){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-color]),.wp-block-post-featured-image img:where([style*=border-top-color]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-color]),.wp-block-post-featured-image img:where([style*=border-right-color]){border-left-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-color]),.wp-block-post-featured-image img:where([style*=border-bottom-color]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-color]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-color]),.wp-block-post-featured-image img:where([style*=border-left-color]){border-right-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-width]),.wp-block-post-featured-image img:where([style*=border-width]){border-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-top-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-top-width]),.wp-block-post-featured-image img:where([style*=border-top-width]){border-top-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-right-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-right-width]),.wp-block-post-featured-image img:where([style*=border-right-width]){border-left-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-bottom-width]),.wp-block-post-featured-image img:where([style*=border-bottom-width]){border-bottom-style:solid}.wp-block-post-featured-image .components-placeholder:where([style*=border-left-width]),.wp-block-post-featured-image .wp-block-post-featured-image__placeholder:where([style*=border-left-width]),.wp-block-post-featured-image img:where([style*=border-left-width]){border-right-style:solid}.wp-block-post-featured-image[style*=height] .components-placeholder{height:100%;min-height:48px;min-width:48px;width:100%}.wp-block-post-featured-image>a{cursor:default}.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-button,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__instructions,.wp-block-post-featured-image.is-selected .components-placeholder.has-illustration .components-placeholder__label{opacity:1;pointer-events:auto}.wp-block-post-featured-image.is-transient{position:relative}.wp-block-post-featured-image.is-transient img{opacity:.3}.wp-block-post-featured-image.is-transient .components-spinner{position:absolute;right:50%;top:50%;transform:translate(50%,-50%)}div[data-type="core/post-featured-image"] img{display:block;height:auto;max-width:100%} post-featured-image/style.css 0000644 00000003663 14717677151 0012310 0 ustar 00 .wp-block-post-featured-image{
margin-left:0;
margin-right:0;
}
.wp-block-post-featured-image a{
display:block;
height:100%;
}
.wp-block-post-featured-image :where(img){
box-sizing:border-box;
height:auto;
max-width:100%;
vertical-align:bottom;
width:100%;
}
.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{
width:100%;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{
background-color:#000;
inset:0;
position:absolute;
}
.wp-block-post-featured-image{
position:relative;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{
background-color:initial;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{
opacity:0;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{
opacity:.1;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{
opacity:.2;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{
opacity:.3;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{
opacity:.4;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{
opacity:.5;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{
opacity:.6;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{
opacity:.7;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{
opacity:.8;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{
opacity:.9;
}
.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{
opacity:1;
}
.wp-block-post-featured-image:where(.alignleft,.alignright){
width:100%;
} post-featured-image/style.min.css 0000644 00000003451 14717677151 0013065 0 ustar 00 .wp-block-post-featured-image{margin-left:0;margin-right:0}.wp-block-post-featured-image a{display:block;height:100%}.wp-block-post-featured-image :where(img){box-sizing:border-box;height:auto;max-width:100%;vertical-align:bottom;width:100%}.wp-block-post-featured-image.alignfull img,.wp-block-post-featured-image.alignwide img{width:100%}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim{background-color:#000;inset:0;position:absolute}.wp-block-post-featured-image{position:relative}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-gradient{background-color:initial}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-0{opacity:0}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-10{opacity:.1}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-20{opacity:.2}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-30{opacity:.3}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-40{opacity:.4}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-50{opacity:.5}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-60{opacity:.6}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-70{opacity:.7}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-80{opacity:.8}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-90{opacity:.9}.wp-block-post-featured-image .wp-block-post-featured-image__overlay.has-background-dim-100{opacity:1}.wp-block-post-featured-image:where(.alignleft,.alignright){width:100%} search.php 0000644 00000055740 14717677151 0006555 0 ustar 00 `. Support these by defaulting an undefined label and
// buttonText to `__( 'Search' )`.
$attributes = wp_parse_args(
$attributes,
array(
'label' => __( 'Search' ),
'buttonText' => __( 'Search' ),
)
);
$input_id = wp_unique_id( 'wp-block-search__input-' );
$classnames = classnames_for_block_core_search( $attributes );
$show_label = ( ! empty( $attributes['showLabel'] ) ) ? true : false;
$use_icon_button = ( ! empty( $attributes['buttonUseIcon'] ) ) ? true : false;
$show_button = ( ! empty( $attributes['buttonPosition'] ) && 'no-button' === $attributes['buttonPosition'] ) ? false : true;
$button_position = $show_button ? $attributes['buttonPosition'] : null;
$query_params = ( ! empty( $attributes['query'] ) ) ? $attributes['query'] : array();
$button = '';
$query_params_markup = '';
$inline_styles = styles_for_block_core_search( $attributes );
$color_classes = get_color_classes_for_block_core_search( $attributes );
$typography_classes = get_typography_classes_for_block_core_search( $attributes );
$is_button_inside = ! empty( $attributes['buttonPosition'] ) &&
'button-inside' === $attributes['buttonPosition'];
// Border color classes need to be applied to the elements that have a border color.
$border_color_classes = get_border_color_classes_for_block_core_search( $attributes );
// This variable is a constant and its value is always false at this moment.
// It is defined this way because some values depend on it, in case it changes in the future.
$open_by_default = false;
$label_inner_html = empty( $attributes['label'] ) ? __( 'Search' ) : wp_kses_post( $attributes['label'] );
$label = new WP_HTML_Tag_Processor( sprintf( '', $inline_styles['label'], $label_inner_html ) );
if ( $label->next_tag() ) {
$label->set_attribute( 'for', $input_id );
$label->add_class( 'wp-block-search__label' );
if ( $show_label && ! empty( $attributes['label'] ) ) {
if ( ! empty( $typography_classes ) ) {
$label->add_class( $typography_classes );
}
} else {
$label->add_class( 'screen-reader-text' );
}
}
$input = new WP_HTML_Tag_Processor( sprintf( '', $inline_styles['input'] ) );
$input_classes = array( 'wp-block-search__input' );
if ( ! $is_button_inside && ! empty( $border_color_classes ) ) {
$input_classes[] = $border_color_classes;
}
if ( ! empty( $typography_classes ) ) {
$input_classes[] = $typography_classes;
}
if ( $input->next_tag() ) {
$input->add_class( implode( ' ', $input_classes ) );
$input->set_attribute( 'id', $input_id );
$input->set_attribute( 'value', get_search_query() );
$input->set_attribute( 'placeholder', $attributes['placeholder'] );
// If it's interactive, enqueue the script module and add the directives.
$is_expandable_searchfield = 'button-only' === $button_position;
if ( $is_expandable_searchfield ) {
$suffix = wp_scripts_get_suffix();
if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
$module_url = gutenberg_url( '/build/interactivity/search.min.js' );
}
wp_register_script_module(
'@wordpress/block-library/search',
isset( $module_url ) ? $module_url : includes_url( "blocks/search/view{$suffix}.js" ),
array( '@wordpress/interactivity' ),
defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
);
wp_enqueue_script_module( '@wordpress/block-library/search' );
$input->set_attribute( 'data-wp-bind--aria-hidden', '!context.isSearchInputVisible' );
$input->set_attribute( 'data-wp-bind--tabindex', 'state.tabindex' );
// Adding these attributes manually is needed until the Interactivity API
// SSR logic is added to core.
$input->set_attribute( 'aria-hidden', 'true' );
$input->set_attribute( 'tabindex', '-1' );
}
}
if ( count( $query_params ) > 0 ) {
foreach ( $query_params as $param => $value ) {
$query_params_markup .= sprintf(
'',
esc_attr( $param ),
esc_attr( $value )
);
}
}
if ( $show_button ) {
$button_classes = array( 'wp-block-search__button' );
$button_internal_markup = '';
if ( ! empty( $color_classes ) ) {
$button_classes[] = $color_classes;
}
if ( ! empty( $typography_classes ) ) {
$button_classes[] = $typography_classes;
}
if ( ! $is_button_inside && ! empty( $border_color_classes ) ) {
$button_classes[] = $border_color_classes;
}
if ( ! $use_icon_button ) {
if ( ! empty( $attributes['buttonText'] ) ) {
$button_internal_markup = wp_kses_post( $attributes['buttonText'] );
}
} else {
$button_classes[] = 'has-icon';
$button_internal_markup =
'';
}
// Include the button element class.
$button_classes[] = wp_theme_get_element_class_name( 'button' );
$button = new WP_HTML_Tag_Processor( sprintf( '', $inline_styles['button'], $button_internal_markup ) );
if ( $button->next_tag() ) {
$button->add_class( implode( ' ', $button_classes ) );
if ( 'button-only' === $attributes['buttonPosition'] ) {
$button->set_attribute( 'data-wp-bind--aria-label', 'state.ariaLabel' );
$button->set_attribute( 'data-wp-bind--aria-controls', 'state.ariaControls' );
$button->set_attribute( 'data-wp-bind--aria-expanded', 'context.isSearchInputVisible' );
$button->set_attribute( 'data-wp-bind--type', 'state.type' );
$button->set_attribute( 'data-wp-on--click', 'actions.openSearchInput' );
// Adding these attributes manually is needed until the Interactivity
// API SSR logic is added to core.
$button->set_attribute( 'aria-label', __( 'Expand search field' ) );
$button->set_attribute( 'aria-controls', 'wp-block-search__input-' . $input_id );
$button->set_attribute( 'aria-expanded', 'false' );
$button->set_attribute( 'type', 'button' );
} else {
$button->set_attribute( 'aria-label', wp_strip_all_tags( $attributes['buttonText'] ) );
}
}
}
$field_markup_classes = $is_button_inside ? $border_color_classes : '';
$field_markup = sprintf(
'%s
',
esc_attr( $field_markup_classes ),
$inline_styles['wrapper'],
$input . $query_params_markup . $button
);
$wrapper_attributes = get_block_wrapper_attributes(
array( 'class' => $classnames )
);
$form_directives = '';
// If it's interactive, add the directives.
if ( $is_expandable_searchfield ) {
$aria_label_expanded = __( 'Submit Search' );
$aria_label_collapsed = __( 'Expand search field' );
$form_context = wp_interactivity_data_wp_context(
array(
'isSearchInputVisible' => $open_by_default,
'inputId' => $input_id,
'ariaLabelExpanded' => $aria_label_expanded,
'ariaLabelCollapsed' => $aria_label_collapsed,
)
);
$form_directives = '
data-wp-interactive="core/search"'
. $form_context .
'data-wp-class--wp-block-search__searchfield-hidden="!context.isSearchInputVisible"
data-wp-on-async--keydown="actions.handleSearchKeydown"
data-wp-on-async--focusout="actions.handleSearchFocusout"
';
}
return sprintf(
'
',
esc_url( home_url( '/' ) ),
$wrapper_attributes,
$form_directives,
$label . $field_markup
);
}
/**
* Registers the `core/search` block on the server.
*
* @since 5.2.0
*/
function register_block_core_search() {
register_block_type_from_metadata(
__DIR__ . '/search',
array(
'render_callback' => 'render_block_core_search',
)
);
}
add_action( 'init', 'register_block_core_search' );
/**
* Builds the correct top level classnames for the 'core/search' block.
*
* @since 5.6.0
*
* @param array $attributes The block attributes.
*
* @return string The classnames used in the block.
*/
function classnames_for_block_core_search( $attributes ) {
$classnames = array();
if ( ! empty( $attributes['buttonPosition'] ) ) {
if ( 'button-inside' === $attributes['buttonPosition'] ) {
$classnames[] = 'wp-block-search__button-inside';
}
if ( 'button-outside' === $attributes['buttonPosition'] ) {
$classnames[] = 'wp-block-search__button-outside';
}
if ( 'no-button' === $attributes['buttonPosition'] ) {
$classnames[] = 'wp-block-search__no-button';
}
if ( 'button-only' === $attributes['buttonPosition'] ) {
$classnames[] = 'wp-block-search__button-only wp-block-search__searchfield-hidden';
}
}
if ( isset( $attributes['buttonUseIcon'] ) ) {
if ( ! empty( $attributes['buttonPosition'] ) && 'no-button' !== $attributes['buttonPosition'] ) {
if ( $attributes['buttonUseIcon'] ) {
$classnames[] = 'wp-block-search__icon-button';
} else {
$classnames[] = 'wp-block-search__text-button';
}
}
}
return implode( ' ', $classnames );
}
/**
* This generates a CSS rule for the given border property and side if provided.
* Based on whether the Search block is configured to display the button inside
* or not, the generated rule is injected into the appropriate collection of
* styles for later application in the block's markup.
*
* @since 6.1.0
*
* @param array $attributes The block attributes.
* @param string $property Border property to generate rule for e.g. width or color.
* @param string $side Optional side border. The dictates the value retrieved and final CSS property.
* @param array $wrapper_styles Current collection of wrapper styles.
* @param array $button_styles Current collection of button styles.
* @param array $input_styles Current collection of input styles.
*/
function apply_block_core_search_border_style( $attributes, $property, $side, &$wrapper_styles, &$button_styles, &$input_styles ) {
$is_button_inside = isset( $attributes['buttonPosition'] ) && 'button-inside' === $attributes['buttonPosition'];
$path = array( 'style', 'border', $property );
if ( $side ) {
array_splice( $path, 2, 0, $side );
}
$value = _wp_array_get( $attributes, $path, false );
if ( empty( $value ) ) {
return;
}
if ( 'color' === $property && $side ) {
$has_color_preset = str_contains( $value, 'var:preset|color|' );
if ( $has_color_preset ) {
$named_color_value = substr( $value, strrpos( $value, '|' ) + 1 );
$value = sprintf( 'var(--wp--preset--color--%s)', $named_color_value );
}
}
$property_suffix = $side ? sprintf( '%s-%s', $side, $property ) : $property;
if ( $is_button_inside ) {
$wrapper_styles[] = sprintf( 'border-%s: %s;', $property_suffix, esc_attr( $value ) );
} else {
$button_styles[] = sprintf( 'border-%s: %s;', $property_suffix, esc_attr( $value ) );
$input_styles[] = sprintf( 'border-%s: %s;', $property_suffix, esc_attr( $value ) );
}
}
/**
* This adds CSS rules for a given border property e.g. width or color. It
* injects rules into the provided wrapper, button and input style arrays for
* uniform "flat" borders or those with individual sides configured.
*
* @since 6.1.0
*
* @param array $attributes The block attributes.
* @param string $property Border property to generate rule for e.g. width or color.
* @param array $wrapper_styles Current collection of wrapper styles.
* @param array $button_styles Current collection of button styles.
* @param array $input_styles Current collection of input styles.
*/
function apply_block_core_search_border_styles( $attributes, $property, &$wrapper_styles, &$button_styles, &$input_styles ) {
apply_block_core_search_border_style( $attributes, $property, null, $wrapper_styles, $button_styles, $input_styles );
apply_block_core_search_border_style( $attributes, $property, 'top', $wrapper_styles, $button_styles, $input_styles );
apply_block_core_search_border_style( $attributes, $property, 'right', $wrapper_styles, $button_styles, $input_styles );
apply_block_core_search_border_style( $attributes, $property, 'bottom', $wrapper_styles, $button_styles, $input_styles );
apply_block_core_search_border_style( $attributes, $property, 'left', $wrapper_styles, $button_styles, $input_styles );
}
/**
* Builds an array of inline styles for the search block.
*
* The result will contain one entry for shared styles such as those for the
* inner input or button and a second for the inner wrapper should the block
* be positioning the button "inside".
*
* @since 5.8.0
*
* @param array $attributes The block attributes.
*
* @return array Style HTML attribute.
*/
function styles_for_block_core_search( $attributes ) {
$wrapper_styles = array();
$button_styles = array();
$input_styles = array();
$label_styles = array();
$is_button_inside = ! empty( $attributes['buttonPosition'] ) &&
'button-inside' === $attributes['buttonPosition'];
$show_label = ( isset( $attributes['showLabel'] ) ) && false !== $attributes['showLabel'];
// Add width styles.
$has_width = ! empty( $attributes['width'] ) && ! empty( $attributes['widthUnit'] );
if ( $has_width ) {
$wrapper_styles[] = sprintf(
'width: %d%s;',
esc_attr( $attributes['width'] ),
esc_attr( $attributes['widthUnit'] )
);
}
// Add border width and color styles.
apply_block_core_search_border_styles( $attributes, 'width', $wrapper_styles, $button_styles, $input_styles );
apply_block_core_search_border_styles( $attributes, 'color', $wrapper_styles, $button_styles, $input_styles );
apply_block_core_search_border_styles( $attributes, 'style', $wrapper_styles, $button_styles, $input_styles );
// Add border radius styles.
$has_border_radius = ! empty( $attributes['style']['border']['radius'] );
if ( $has_border_radius ) {
$default_padding = '4px';
$border_radius = $attributes['style']['border']['radius'];
if ( is_array( $border_radius ) ) {
// Apply styles for individual corner border radii.
foreach ( $border_radius as $key => $value ) {
if ( null !== $value ) {
// Convert camelCase key to kebab-case.
$name = strtolower( preg_replace( '/(? ! empty( $input_styles ) ? sprintf( ' style="%s"', esc_attr( safecss_filter_attr( implode( ' ', $input_styles ) ) ) ) : '',
'button' => ! empty( $button_styles ) ? sprintf( ' style="%s"', esc_attr( safecss_filter_attr( implode( ' ', $button_styles ) ) ) ) : '',
'wrapper' => ! empty( $wrapper_styles ) ? sprintf( ' style="%s"', esc_attr( safecss_filter_attr( implode( ' ', $wrapper_styles ) ) ) ) : '',
'label' => ! empty( $label_styles ) ? sprintf( ' style="%s"', esc_attr( safecss_filter_attr( implode( ' ', $label_styles ) ) ) ) : '',
);
}
/**
* Returns typography classnames depending on whether there are named font sizes/families.
*
* @since 6.1.0
*
* @param array $attributes The block attributes.
*
* @return string The typography color classnames to be applied to the block elements.
*/
function get_typography_classes_for_block_core_search( $attributes ) {
$typography_classes = array();
$has_named_font_family = ! empty( $attributes['fontFamily'] );
$has_named_font_size = ! empty( $attributes['fontSize'] );
if ( $has_named_font_size ) {
$typography_classes[] = sprintf( 'has-%s-font-size', esc_attr( $attributes['fontSize'] ) );
}
if ( $has_named_font_family ) {
$typography_classes[] = sprintf( 'has-%s-font-family', esc_attr( $attributes['fontFamily'] ) );
}
return implode( ' ', $typography_classes );
}
/**
* Returns typography styles to be included in an HTML style tag.
* This excludes text-decoration, which is applied only to the label and button elements of the search block.
*
* @since 6.1.0
*
* @param array $attributes The block attributes.
*
* @return string A string of typography CSS declarations.
*/
function get_typography_styles_for_block_core_search( $attributes ) {
$typography_styles = array();
// Add typography styles.
if ( ! empty( $attributes['style']['typography']['fontSize'] ) ) {
$typography_styles[] = sprintf(
'font-size: %s;',
wp_get_typography_font_size_value(
array(
'size' => $attributes['style']['typography']['fontSize'],
)
)
);
}
if ( ! empty( $attributes['style']['typography']['fontFamily'] ) ) {
$typography_styles[] = sprintf( 'font-family: %s;', $attributes['style']['typography']['fontFamily'] );
}
if ( ! empty( $attributes['style']['typography']['letterSpacing'] ) ) {
$typography_styles[] = sprintf( 'letter-spacing: %s;', $attributes['style']['typography']['letterSpacing'] );
}
if ( ! empty( $attributes['style']['typography']['fontWeight'] ) ) {
$typography_styles[] = sprintf( 'font-weight: %s;', $attributes['style']['typography']['fontWeight'] );
}
if ( ! empty( $attributes['style']['typography']['fontStyle'] ) ) {
$typography_styles[] = sprintf( 'font-style: %s;', $attributes['style']['typography']['fontStyle'] );
}
if ( ! empty( $attributes['style']['typography']['lineHeight'] ) ) {
$typography_styles[] = sprintf( 'line-height: %s;', $attributes['style']['typography']['lineHeight'] );
}
if ( ! empty( $attributes['style']['typography']['textTransform'] ) ) {
$typography_styles[] = sprintf( 'text-transform: %s;', $attributes['style']['typography']['textTransform'] );
}
return implode( '', $typography_styles );
}
/**
* Returns border color classnames depending on whether there are named or custom border colors.
*
* @since 5.9.0
*
* @param array $attributes The block attributes.
*
* @return string The border color classnames to be applied to the block elements.
*/
function get_border_color_classes_for_block_core_search( $attributes ) {
$border_color_classes = array();
$has_custom_border_color = ! empty( $attributes['style']['border']['color'] );
$has_named_border_color = ! empty( $attributes['borderColor'] );
if ( $has_custom_border_color || $has_named_border_color ) {
$border_color_classes[] = 'has-border-color';
}
if ( $has_named_border_color ) {
$border_color_classes[] = sprintf( 'has-%s-border-color', esc_attr( $attributes['borderColor'] ) );
}
return implode( ' ', $border_color_classes );
}
/**
* Returns color classnames depending on whether there are named or custom text and background colors.
*
* @since 5.9.0
*
* @param array $attributes The block attributes.
*
* @return string The color classnames to be applied to the block elements.
*/
function get_color_classes_for_block_core_search( $attributes ) {
$classnames = array();
// Text color.
$has_named_text_color = ! empty( $attributes['textColor'] );
$has_custom_text_color = ! empty( $attributes['style']['color']['text'] );
if ( $has_named_text_color ) {
$classnames[] = sprintf( 'has-text-color has-%s-color', $attributes['textColor'] );
} elseif ( $has_custom_text_color ) {
// If a custom 'textColor' was selected instead of a preset, still add the generic `has-text-color` class.
$classnames[] = 'has-text-color';
}
// Background color.
$has_named_background_color = ! empty( $attributes['backgroundColor'] );
$has_custom_background_color = ! empty( $attributes['style']['color']['background'] );
$has_named_gradient = ! empty( $attributes['gradient'] );
$has_custom_gradient = ! empty( $attributes['style']['color']['gradient'] );
if (
$has_named_background_color ||
$has_custom_background_color ||
$has_named_gradient ||
$has_custom_gradient
) {
$classnames[] = 'has-background';
}
if ( $has_named_background_color ) {
$classnames[] = sprintf( 'has-%s-background-color', $attributes['backgroundColor'] );
}
if ( $has_named_gradient ) {
$classnames[] = sprintf( 'has-%s-gradient-background', $attributes['gradient'] );
}
return implode( ' ', $classnames );
}
navigation.php 0000644 00000166415 14717677151 0007451 0 ustar 00 wrapper.
*
* @since 6.5.0
*
* @var array
*/
private static $needs_list_item_wrapper = array(
'core/site-title',
'core/site-logo',
'core/social-links',
);
/**
* Keeps track of all the navigation names that have been seen.
*
* @since 6.5.0
*
* @var array
*/
private static $seen_menu_names = array();
/**
* Returns whether or not this is responsive navigation.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @return bool Returns whether or not this is responsive navigation.
*/
private static function is_responsive( $attributes ) {
/**
* This is for backwards compatibility after the `isResponsive` attribute was been removed.
*/
$has_old_responsive_attribute = ! empty( $attributes['isResponsive'] ) && $attributes['isResponsive'];
return isset( $attributes['overlayMenu'] ) && 'never' !== $attributes['overlayMenu'] || $has_old_responsive_attribute;
}
/**
* Returns whether or not a navigation has a submenu.
*
* @since 6.5.0
*
* @param WP_Block_List $inner_blocks The list of inner blocks.
* @return bool Returns whether or not a navigation has a submenu and also sets the member variable.
*/
private static function has_submenus( $inner_blocks ) {
if ( true === static::$has_submenus ) {
return static::$has_submenus;
}
foreach ( $inner_blocks as $inner_block ) {
// If this is a page list then work out if any of the pages have children.
if ( 'core/page-list' === $inner_block->name ) {
$all_pages = get_pages(
array(
'sort_column' => 'menu_order,post_title',
'order' => 'asc',
)
);
foreach ( (array) $all_pages as $page ) {
if ( $page->post_parent ) {
static::$has_submenus = true;
break;
}
}
}
// If this is a navigation submenu then we know we have submenus.
if ( 'core/navigation-submenu' === $inner_block->name ) {
static::$has_submenus = true;
break;
}
}
return static::$has_submenus;
}
/**
* Determine whether the navigation blocks is interactive.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @param WP_Block_List $inner_blocks The list of inner blocks.
* @return bool Returns whether or not to load the view script.
*/
private static function is_interactive( $attributes, $inner_blocks ) {
$has_submenus = static::has_submenus( $inner_blocks );
$is_responsive_menu = static::is_responsive( $attributes );
return ( $has_submenus && ( $attributes['openSubmenusOnClick'] || $attributes['showSubmenuIcon'] ) ) || $is_responsive_menu;
}
/**
* Returns whether or not a block needs a list item wrapper.
*
* @since 6.5.0
*
* @param WP_Block $block The block.
* @return bool Returns whether or not a block needs a list item wrapper.
*/
private static function does_block_need_a_list_item_wrapper( $block ) {
/**
* Filter the list of blocks that need a list item wrapper.
*
* Affords the ability to customize which blocks need a list item wrapper when rendered
* within a core/navigation block.
* This is useful for blocks that are not list items but should be wrapped in a list
* item when used as a child of a navigation block.
*
* @since 6.5.0
*
* @param array $needs_list_item_wrapper The list of blocks that need a list item wrapper.
* @return array The list of blocks that need a list item wrapper.
*/
$needs_list_item_wrapper = apply_filters( 'block_core_navigation_listable_blocks', static::$needs_list_item_wrapper );
return in_array( $block->name, $needs_list_item_wrapper, true );
}
/**
* Returns the markup for a single inner block.
*
* @since 6.5.0
*
* @param WP_Block $inner_block The inner block.
* @return string Returns the markup for a single inner block.
*/
private static function get_markup_for_inner_block( $inner_block ) {
$inner_block_content = $inner_block->render();
if ( ! empty( $inner_block_content ) ) {
if ( static::does_block_need_a_list_item_wrapper( $inner_block ) ) {
return '
' . $inner_block_content . '';
}
}
return $inner_block_content;
}
/**
* Returns the html for the inner blocks of the navigation block.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @param WP_Block_List $inner_blocks The list of inner blocks.
* @return string Returns the html for the inner blocks of the navigation block.
*/
private static function get_inner_blocks_html( $attributes, $inner_blocks ) {
$has_submenus = static::has_submenus( $inner_blocks );
$is_interactive = static::is_interactive( $attributes, $inner_blocks );
$style = static::get_styles( $attributes );
$class = static::get_classes( $attributes );
$container_attributes = get_block_wrapper_attributes(
array(
'class' => 'wp-block-navigation__container ' . $class,
'style' => $style,
)
);
$inner_blocks_html = '';
$is_list_open = false;
foreach ( $inner_blocks as $inner_block ) {
$inner_block_markup = static::get_markup_for_inner_block( $inner_block );
$p = new WP_HTML_Tag_Processor( $inner_block_markup );
$is_list_item = $p->next_tag( 'LI' );
if ( $is_list_item && ! $is_list_open ) {
$is_list_open = true;
$inner_blocks_html .= sprintf(
'
',
$container_attributes
);
}
if ( ! $is_list_item && $is_list_open ) {
$is_list_open = false;
$inner_blocks_html .= '
';
}
$inner_blocks_html .= $inner_block_markup;
}
if ( $is_list_open ) {
$inner_blocks_html .= '';
}
// Add directives to the submenu if needed.
if ( $has_submenus && $is_interactive ) {
$tags = new WP_HTML_Tag_Processor( $inner_blocks_html );
$inner_blocks_html = block_core_navigation_add_directives_to_submenu( $tags, $attributes );
}
return $inner_blocks_html;
}
/**
* Gets the inner blocks for the navigation block from the navigation post.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @return WP_Block_List Returns the inner blocks for the navigation block.
*/
private static function get_inner_blocks_from_navigation_post( $attributes ) {
$navigation_post = get_post( $attributes['ref'] );
if ( ! isset( $navigation_post ) ) {
return new WP_Block_List( array(), $attributes );
}
// Only published posts are valid. If this is changed then a corresponding change
// must also be implemented in `use-navigation-menu.js`.
if ( 'publish' === $navigation_post->post_status ) {
$parsed_blocks = parse_blocks( $navigation_post->post_content );
// 'parse_blocks' includes a null block with '\n\n' as the content when
// it encounters whitespace. This code strips it.
$blocks = block_core_navigation_filter_out_empty_blocks( $parsed_blocks );
if ( function_exists( 'set_ignored_hooked_blocks_metadata' ) ) {
// Run Block Hooks algorithm to inject hooked blocks.
$markup = block_core_navigation_insert_hooked_blocks( $blocks, $navigation_post );
$root_nav_block = parse_blocks( $markup )[0];
$blocks = isset( $root_nav_block['innerBlocks'] ) ? $root_nav_block['innerBlocks'] : $blocks;
}
// TODO - this uses the full navigation block attributes for the
// context which could be refined.
return new WP_Block_List( $blocks, $attributes );
}
}
/**
* Gets the inner blocks for the navigation block from the fallback.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @return WP_Block_List Returns the inner blocks for the navigation block.
*/
private static function get_inner_blocks_from_fallback( $attributes ) {
$fallback_blocks = block_core_navigation_get_fallback_blocks();
// Fallback my have been filtered so do basic test for validity.
if ( empty( $fallback_blocks ) || ! is_array( $fallback_blocks ) ) {
return new WP_Block_List( array(), $attributes );
}
return new WP_Block_List( $fallback_blocks, $attributes );
}
/**
* Gets the inner blocks for the navigation block.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @param WP_Block $block The parsed block.
* @return WP_Block_List Returns the inner blocks for the navigation block.
*/
private static function get_inner_blocks( $attributes, $block ) {
$inner_blocks = $block->inner_blocks;
// Ensure that blocks saved with the legacy ref attribute name (navigationMenuId) continue to render.
if ( array_key_exists( 'navigationMenuId', $attributes ) ) {
$attributes['ref'] = $attributes['navigationMenuId'];
}
// If:
// - the gutenberg plugin is active
// - `__unstableLocation` is defined
// - we have menu items at the defined location
// - we don't have a relationship to a `wp_navigation` Post (via `ref`).
// ...then create inner blocks from the classic menu assigned to that location.
if (
defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN &&
array_key_exists( '__unstableLocation', $attributes ) &&
! array_key_exists( 'ref', $attributes ) &&
! empty( block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] ) )
) {
$inner_blocks = block_core_navigation_get_inner_blocks_from_unstable_location( $attributes );
}
// Load inner blocks from the navigation post.
if ( array_key_exists( 'ref', $attributes ) ) {
$inner_blocks = static::get_inner_blocks_from_navigation_post( $attributes );
}
// If there are no inner blocks then fallback to rendering an appropriate fallback.
if ( empty( $inner_blocks ) ) {
$inner_blocks = static::get_inner_blocks_from_fallback( $attributes );
}
/**
* Filter navigation block $inner_blocks.
* Allows modification of a navigation block menu items.
*
* @since 6.1.0
*
* @param \WP_Block_List $inner_blocks
*/
$inner_blocks = apply_filters( 'block_core_navigation_render_inner_blocks', $inner_blocks );
$post_ids = block_core_navigation_get_post_ids( $inner_blocks );
if ( $post_ids ) {
_prime_post_caches( $post_ids, false, false );
}
return $inner_blocks;
}
/**
* Gets the name of the current navigation, if it has one.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @return string Returns the name of the navigation.
*/
private static function get_navigation_name( $attributes ) {
$navigation_name = $attributes['ariaLabel'] ?? '';
// Load the navigation post.
if ( array_key_exists( 'ref', $attributes ) ) {
$navigation_post = get_post( $attributes['ref'] );
if ( ! isset( $navigation_post ) ) {
return $navigation_name;
}
// Only published posts are valid. If this is changed then a corresponding change
// must also be implemented in `use-navigation-menu.js`.
if ( 'publish' === $navigation_post->post_status ) {
$navigation_name = $navigation_post->post_title;
// This is used to count the number of times a navigation name has been seen,
// so that we can ensure every navigation has a unique id.
if ( isset( static::$seen_menu_names[ $navigation_name ] ) ) {
++static::$seen_menu_names[ $navigation_name ];
} else {
static::$seen_menu_names[ $navigation_name ] = 1;
}
}
}
return $navigation_name;
}
/**
* Returns the layout class for the navigation block.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @return string Returns the layout class for the navigation block.
*/
private static function get_layout_class( $attributes ) {
$layout_justification = array(
'left' => 'items-justified-left',
'right' => 'items-justified-right',
'center' => 'items-justified-center',
'space-between' => 'items-justified-space-between',
);
$layout_class = '';
if (
isset( $attributes['layout']['justifyContent'] ) &&
isset( $layout_justification[ $attributes['layout']['justifyContent'] ] )
) {
$layout_class .= $layout_justification[ $attributes['layout']['justifyContent'] ];
}
if ( isset( $attributes['layout']['orientation'] ) && 'vertical' === $attributes['layout']['orientation'] ) {
$layout_class .= ' is-vertical';
}
if ( isset( $attributes['layout']['flexWrap'] ) && 'nowrap' === $attributes['layout']['flexWrap'] ) {
$layout_class .= ' no-wrap';
}
return $layout_class;
}
/**
* Return classes for the navigation block.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @return string Returns the classes for the navigation block.
*/
private static function get_classes( $attributes ) {
// Restore legacy classnames for submenu positioning.
$layout_class = static::get_layout_class( $attributes );
$colors = block_core_navigation_build_css_colors( $attributes );
$font_sizes = block_core_navigation_build_css_font_sizes( $attributes );
$is_responsive_menu = static::is_responsive( $attributes );
// Manually add block support text decoration as CSS class.
$text_decoration = $attributes['style']['typography']['textDecoration'] ?? null;
$text_decoration_class = sprintf( 'has-text-decoration-%s', $text_decoration );
$classes = array_merge(
$colors['css_classes'],
$font_sizes['css_classes'],
$is_responsive_menu ? array( 'is-responsive' ) : array(),
$layout_class ? array( $layout_class ) : array(),
$text_decoration ? array( $text_decoration_class ) : array()
);
return implode( ' ', $classes );
}
/**
* Get styles for the navigation block.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @return string Returns the styles for the navigation block.
*/
private static function get_styles( $attributes ) {
$colors = block_core_navigation_build_css_colors( $attributes );
$font_sizes = block_core_navigation_build_css_font_sizes( $attributes );
$block_styles = isset( $attributes['styles'] ) ? $attributes['styles'] : '';
return $block_styles . $colors['inline_styles'] . $font_sizes['inline_styles'];
}
/**
* Get the responsive container markup
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @param WP_Block_List $inner_blocks The list of inner blocks.
* @param string $inner_blocks_html The markup for the inner blocks.
* @return string Returns the container markup.
*/
private static function get_responsive_container_markup( $attributes, $inner_blocks, $inner_blocks_html ) {
$is_interactive = static::is_interactive( $attributes, $inner_blocks );
$colors = block_core_navigation_build_css_colors( $attributes );
$modal_unique_id = wp_unique_id( 'modal-' );
$is_hidden_by_default = isset( $attributes['overlayMenu'] ) && 'always' === $attributes['overlayMenu'];
$responsive_container_classes = array(
'wp-block-navigation__responsive-container',
$is_hidden_by_default ? 'hidden-by-default' : '',
implode( ' ', $colors['overlay_css_classes'] ),
);
$open_button_classes = array(
'wp-block-navigation__responsive-container-open',
$is_hidden_by_default ? 'always-shown' : '',
);
$should_display_icon_label = isset( $attributes['hasIcon'] ) && true === $attributes['hasIcon'];
$toggle_button_icon = '
';
if ( isset( $attributes['icon'] ) ) {
if ( 'menu' === $attributes['icon'] ) {
$toggle_button_icon = '
';
}
}
$toggle_button_content = $should_display_icon_label ? $toggle_button_icon : __( 'Menu' );
$toggle_close_button_icon = '
';
$toggle_close_button_content = $should_display_icon_label ? $toggle_close_button_icon : __( 'Close' );
$toggle_aria_label_open = $should_display_icon_label ? 'aria-label="' . __( 'Open menu' ) . '"' : ''; // Open button label.
$toggle_aria_label_close = $should_display_icon_label ? 'aria-label="' . __( 'Close menu' ) . '"' : ''; // Close button label.
// Add Interactivity API directives to the markup if needed.
$open_button_directives = '';
$responsive_container_directives = '';
$responsive_dialog_directives = '';
$close_button_directives = '';
if ( $is_interactive ) {
$open_button_directives = '
data-wp-on-async--click="actions.openMenuOnClick"
data-wp-on--keydown="actions.handleMenuKeydown"
';
$responsive_container_directives = '
data-wp-class--has-modal-open="state.isMenuOpen"
data-wp-class--is-menu-open="state.isMenuOpen"
data-wp-watch="callbacks.initMenu"
data-wp-on--keydown="actions.handleMenuKeydown"
data-wp-on-async--focusout="actions.handleMenuFocusout"
tabindex="-1"
';
$responsive_dialog_directives = '
data-wp-bind--aria-modal="state.ariaModal"
data-wp-bind--aria-label="state.ariaLabel"
data-wp-bind--role="state.roleAttribute"
';
$close_button_directives = '
data-wp-on-async--click="actions.closeMenuOnClick"
';
$responsive_container_content_directives = '
data-wp-watch="callbacks.focusFirstElement"
';
}
$overlay_inline_styles = esc_attr( safecss_filter_attr( $colors['overlay_inline_styles'] ) );
return sprintf(
'
',
esc_attr( $modal_unique_id ),
$inner_blocks_html,
$toggle_aria_label_open,
$toggle_aria_label_close,
esc_attr( implode( ' ', $responsive_container_classes ) ),
esc_attr( implode( ' ', $open_button_classes ) ),
( ! empty( $overlay_inline_styles ) ) ? "style=\"$overlay_inline_styles\"" : '',
$toggle_button_content,
$toggle_close_button_content,
$open_button_directives,
$responsive_container_directives,
$responsive_dialog_directives,
$close_button_directives,
$responsive_container_content_directives
);
}
/**
* Get the wrapper attributes
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @param WP_Block_List $inner_blocks A list of inner blocks.
* @return string Returns the navigation block markup.
*/
private static function get_nav_wrapper_attributes( $attributes, $inner_blocks ) {
$nav_menu_name = static::get_unique_navigation_name( $attributes );
$is_interactive = static::is_interactive( $attributes, $inner_blocks );
$is_responsive_menu = static::is_responsive( $attributes );
$style = static::get_styles( $attributes );
$class = static::get_classes( $attributes );
$wrapper_attributes = get_block_wrapper_attributes(
array(
'class' => $class,
'style' => $style,
'aria-label' => $nav_menu_name,
)
);
if ( $is_responsive_menu ) {
$nav_element_directives = static::get_nav_element_directives( $is_interactive );
$wrapper_attributes .= ' ' . $nav_element_directives;
}
return $wrapper_attributes;
}
/**
* Gets the nav element directives.
*
* @since 6.5.0
*
* @param bool $is_interactive Whether the block is interactive.
* @return string the directives for the navigation element.
*/
private static function get_nav_element_directives( $is_interactive ) {
if ( ! $is_interactive ) {
return '';
}
// When adding to this array be mindful of security concerns.
$nav_element_context = wp_interactivity_data_wp_context(
array(
'overlayOpenedBy' => array(
'click' => false,
'hover' => false,
'focus' => false,
),
'type' => 'overlay',
'roleAttribute' => '',
'ariaLabel' => __( 'Menu' ),
)
);
$nav_element_directives = '
data-wp-interactive="core/navigation" '
. $nav_element_context;
return $nav_element_directives;
}
/**
* Handle view script module loading.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @param WP_Block $block The parsed block.
* @param WP_Block_List $inner_blocks The list of inner blocks.
*/
private static function handle_view_script_module_loading( $attributes, $block, $inner_blocks ) {
if ( static::is_interactive( $attributes, $inner_blocks ) ) {
$suffix = wp_scripts_get_suffix();
if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
$module_url = gutenberg_url( '/build/interactivity/navigation.min.js' );
}
wp_register_script_module(
'@wordpress/block-library/navigation',
isset( $module_url ) ? $module_url : includes_url( "blocks/navigation/view{$suffix}.js" ),
array( '@wordpress/interactivity' ),
defined( 'GUTENBERG_VERSION' ) ? GUTENBERG_VERSION : get_bloginfo( 'version' )
);
wp_enqueue_script_module( '@wordpress/block-library/navigation' );
}
}
/**
* Returns the markup for the navigation block.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @param WP_Block_List $inner_blocks The list of inner blocks.
* @return string Returns the navigation wrapper markup.
*/
private static function get_wrapper_markup( $attributes, $inner_blocks ) {
$inner_blocks_html = static::get_inner_blocks_html( $attributes, $inner_blocks );
if ( static::is_responsive( $attributes ) ) {
return static::get_responsive_container_markup( $attributes, $inner_blocks, $inner_blocks_html );
}
return $inner_blocks_html;
}
/**
* Returns a unique name for the navigation.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @return string Returns a unique name for the navigation.
*/
private static function get_unique_navigation_name( $attributes ) {
$nav_menu_name = static::get_navigation_name( $attributes );
// If the menu name has been used previously then append an ID
// to the name to ensure uniqueness across a given post.
if ( isset( static::$seen_menu_names[ $nav_menu_name ] ) && static::$seen_menu_names[ $nav_menu_name ] > 1 ) {
$count = static::$seen_menu_names[ $nav_menu_name ];
$nav_menu_name = $nav_menu_name . ' ' . ( $count );
}
return $nav_menu_name;
}
/**
* Renders the navigation block.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @param string $content The saved content.
* @param WP_Block $block The parsed block.
* @return string Returns the navigation block markup.
*/
public static function render( $attributes, $content, $block ) {
/**
* Deprecated:
* The rgbTextColor and rgbBackgroundColor attributes
* have been deprecated in favor of
* customTextColor and customBackgroundColor ones.
* Move the values from old attrs to the new ones.
*/
if ( isset( $attributes['rgbTextColor'] ) && empty( $attributes['textColor'] ) ) {
$attributes['customTextColor'] = $attributes['rgbTextColor'];
}
if ( isset( $attributes['rgbBackgroundColor'] ) && empty( $attributes['backgroundColor'] ) ) {
$attributes['customBackgroundColor'] = $attributes['rgbBackgroundColor'];
}
unset( $attributes['rgbTextColor'], $attributes['rgbBackgroundColor'] );
$inner_blocks = static::get_inner_blocks( $attributes, $block );
// Prevent navigation blocks referencing themselves from rendering.
if ( block_core_navigation_block_contains_core_navigation( $inner_blocks ) ) {
return '';
}
static::handle_view_script_module_loading( $attributes, $block, $inner_blocks );
return sprintf(
'
',
static::get_nav_wrapper_attributes( $attributes, $inner_blocks ),
static::get_wrapper_markup( $attributes, $inner_blocks )
);
}
}
// These functions are used for the __unstableLocation feature and only active
// when the gutenberg plugin is active.
if ( defined( 'IS_GUTENBERG_PLUGIN' ) && IS_GUTENBERG_PLUGIN ) {
/**
* Returns the menu items for a WordPress menu location.
*
* @since 5.9.0
*
* @param string $location The menu location.
* @return array Menu items for the location.
*/
function block_core_navigation_get_menu_items_at_location( $location ) {
if ( empty( $location ) ) {
return;
}
// Build menu data. The following approximates the code in
// `wp_nav_menu()` and `gutenberg_output_block_nav_menu`.
// Find the location in the list of locations, returning early if the
// location can't be found.
$locations = get_nav_menu_locations();
if ( ! isset( $locations[ $location ] ) ) {
return;
}
// Get the menu from the location, returning early if there is no
// menu or there was an error.
$menu = wp_get_nav_menu_object( $locations[ $location ] );
if ( ! $menu || is_wp_error( $menu ) ) {
return;
}
$menu_items = wp_get_nav_menu_items( $menu->term_id, array( 'update_post_term_cache' => false ) );
_wp_menu_item_classes_by_context( $menu_items );
return $menu_items;
}
/**
* Sorts a standard array of menu items into a nested structure keyed by the
* id of the parent menu.
*
* @since 5.9.0
*
* @param array $menu_items Menu items to sort.
* @return array An array keyed by the id of the parent menu where each element
* is an array of menu items that belong to that parent.
*/
function block_core_navigation_sort_menu_items_by_parent_id( $menu_items ) {
$sorted_menu_items = array();
foreach ( (array) $menu_items as $menu_item ) {
$sorted_menu_items[ $menu_item->menu_order ] = $menu_item;
}
unset( $menu_items, $menu_item );
$menu_items_by_parent_id = array();
foreach ( $sorted_menu_items as $menu_item ) {
$menu_items_by_parent_id[ $menu_item->menu_item_parent ][] = $menu_item;
}
return $menu_items_by_parent_id;
}
/**
* Gets the inner blocks for the navigation block from the unstable location attribute.
*
* @since 6.5.0
*
* @param array $attributes The block attributes.
* @return WP_Block_List Returns the inner blocks for the navigation block.
*/
function block_core_navigation_get_inner_blocks_from_unstable_location( $attributes ) {
$menu_items = block_core_navigation_get_menu_items_at_location( $attributes['__unstableLocation'] );
if ( empty( $menu_items ) ) {
return new WP_Block_List( array(), $attributes );
}
$menu_items_by_parent_id = block_core_navigation_sort_menu_items_by_parent_id( $menu_items );
$parsed_blocks = block_core_navigation_parse_blocks_from_menu_items( $menu_items_by_parent_id[0], $menu_items_by_parent_id );
return new WP_Block_List( $parsed_blocks, $attributes );
}
}
/**
* Add Interactivity API directives to the navigation-submenu and page-list
* blocks markup using the Tag Processor.
*
* @since 6.3.0
*
* @param WP_HTML_Tag_Processor $tags Markup of the navigation block.
* @param array $block_attributes Block attributes.
*
* @return string Submenu markup with the directives injected.
*/
function block_core_navigation_add_directives_to_submenu( $tags, $block_attributes ) {
while ( $tags->next_tag(
array(
'tag_name' => 'LI',
'class_name' => 'has-child',
)
) ) {
// Add directives to the parent `
`.
$tags->set_attribute( 'data-wp-interactive', 'core/navigation' );
$tags->set_attribute( 'data-wp-context', '{ "submenuOpenedBy": { "click": false, "hover": false, "focus": false }, "type": "submenu" }' );
$tags->set_attribute( 'data-wp-watch', 'callbacks.initMenu' );
$tags->set_attribute( 'data-wp-on--focusout', 'actions.handleMenuFocusout' );
$tags->set_attribute( 'data-wp-on--keydown', 'actions.handleMenuKeydown' );
// This is a fix for Safari. Without it, Safari doesn't change the active
// element when the user clicks on a button. It can be removed once we add
// an overlay to capture the clicks, instead of relying on the focusout
// event.
$tags->set_attribute( 'tabindex', '-1' );
if ( ! isset( $block_attributes['openSubmenusOnClick'] ) || false === $block_attributes['openSubmenusOnClick'] ) {
$tags->set_attribute( 'data-wp-on-async--mouseenter', 'actions.openMenuOnHover' );
$tags->set_attribute( 'data-wp-on-async--mouseleave', 'actions.closeMenuOnHover' );
}
// Add directives to the toggle submenu button.
if ( $tags->next_tag(
array(
'tag_name' => 'BUTTON',
'class_name' => 'wp-block-navigation-submenu__toggle',
)
) ) {
$tags->set_attribute( 'data-wp-on-async--click', 'actions.toggleMenuOnClick' );
$tags->set_attribute( 'data-wp-bind--aria-expanded', 'state.isMenuOpen' );
// The `aria-expanded` attribute for SSR is already added in the submenu block.
}
// Add directives to the submenu.
if ( $tags->next_tag(
array(
'tag_name' => 'UL',
'class_name' => 'wp-block-navigation__submenu-container',
)
) ) {
$tags->set_attribute( 'data-wp-on-async--focus', 'actions.openMenuOnFocus' );
}
// Iterate through subitems if exist.
block_core_navigation_add_directives_to_submenu( $tags, $block_attributes );
}
return $tags->get_updated_html();
}
/**
* Build an array with CSS classes and inline styles defining the colors
* which will be applied to the navigation markup in the front-end.
*
* @since 5.9.0
*
* @param array $attributes Navigation block attributes.
*
* @return array Colors CSS classes and inline styles.
*/
function block_core_navigation_build_css_colors( $attributes ) {
$colors = array(
'css_classes' => array(),
'inline_styles' => '',
'overlay_css_classes' => array(),
'overlay_inline_styles' => '',
);
// Text color.
$has_named_text_color = array_key_exists( 'textColor', $attributes );
$has_custom_text_color = array_key_exists( 'customTextColor', $attributes );
// If has text color.
if ( $has_custom_text_color || $has_named_text_color ) {
// Add has-text-color class.
$colors['css_classes'][] = 'has-text-color';
}
if ( $has_named_text_color ) {
// Add the color class.
$colors['css_classes'][] = sprintf( 'has-%s-color', $attributes['textColor'] );
} elseif ( $has_custom_text_color ) {
// Add the custom color inline style.
$colors['inline_styles'] .= sprintf( 'color: %s;', $attributes['customTextColor'] );
}
// Background color.
$has_named_background_color = array_key_exists( 'backgroundColor', $attributes );
$has_custom_background_color = array_key_exists( 'customBackgroundColor', $attributes );
// If has background color.
if ( $has_custom_background_color || $has_named_background_color ) {
// Add has-background class.
$colors['css_classes'][] = 'has-background';
}
if ( $has_named_background_color ) {
// Add the background-color class.
$colors['css_classes'][] = sprintf( 'has-%s-background-color', $attributes['backgroundColor'] );
} elseif ( $has_custom_background_color ) {
// Add the custom background-color inline style.
$colors['inline_styles'] .= sprintf( 'background-color: %s;', $attributes['customBackgroundColor'] );
}
// Overlay text color.
$has_named_overlay_text_color = array_key_exists( 'overlayTextColor', $attributes );
$has_custom_overlay_text_color = array_key_exists( 'customOverlayTextColor', $attributes );
// If has overlay text color.
if ( $has_custom_overlay_text_color || $has_named_overlay_text_color ) {
// Add has-text-color class.
$colors['overlay_css_classes'][] = 'has-text-color';
}
if ( $has_named_overlay_text_color ) {
// Add the overlay color class.
$colors['overlay_css_classes'][] = sprintf( 'has-%s-color', $attributes['overlayTextColor'] );
} elseif ( $has_custom_overlay_text_color ) {
// Add the custom overlay color inline style.
$colors['overlay_inline_styles'] .= sprintf( 'color: %s;', $attributes['customOverlayTextColor'] );
}
// Overlay background color.
$has_named_overlay_background_color = array_key_exists( 'overlayBackgroundColor', $attributes );
$has_custom_overlay_background_color = array_key_exists( 'customOverlayBackgroundColor', $attributes );
// If has overlay background color.
if ( $has_custom_overlay_background_color || $has_named_overlay_background_color ) {
// Add has-background class.
$colors['overlay_css_classes'][] = 'has-background';
}
if ( $has_named_overlay_background_color ) {
// Add the overlay background-color class.
$colors['overlay_css_classes'][] = sprintf( 'has-%s-background-color', $attributes['overlayBackgroundColor'] );
} elseif ( $has_custom_overlay_background_color ) {
// Add the custom overlay background-color inline style.
$colors['overlay_inline_styles'] .= sprintf( 'background-color: %s;', $attributes['customOverlayBackgroundColor'] );
}
return $colors;
}
/**
* Build an array with CSS classes and inline styles defining the font sizes
* which will be applied to the navigation markup in the front-end.
*
* @since 5.9.0
*
* @param array $attributes Navigation block attributes.
*
* @return array Font size CSS classes and inline styles.
*/
function block_core_navigation_build_css_font_sizes( $attributes ) {
// CSS classes.
$font_sizes = array(
'css_classes' => array(),
'inline_styles' => '',
);
$has_named_font_size = array_key_exists( 'fontSize', $attributes );
$has_custom_font_size = array_key_exists( 'customFontSize', $attributes );
if ( $has_named_font_size ) {
// Add the font size class.
$font_sizes['css_classes'][] = sprintf( 'has-%s-font-size', $attributes['fontSize'] );
} elseif ( $has_custom_font_size ) {
// Add the custom font size inline style.
$font_sizes['inline_styles'] = sprintf( 'font-size: %spx;', $attributes['customFontSize'] );
}
return $font_sizes;
}
/**
* Returns the top-level submenu SVG chevron icon.
*
* @since 5.9.0
*
* @return string
*/
function block_core_navigation_render_submenu_icon() {
return '';
}
/**
* Filter out empty "null" blocks from the block list.
* 'parse_blocks' includes a null block with '\n\n' as the content when
* it encounters whitespace. This is not a bug but rather how the parser
* is designed.
*
* @since 5.9.0
*
* @param array $parsed_blocks the parsed blocks to be normalized.
* @return array the normalized parsed blocks.
*/
function block_core_navigation_filter_out_empty_blocks( $parsed_blocks ) {
$filtered = array_filter(
$parsed_blocks,
static function ( $block ) {
return isset( $block['blockName'] );
}
);
// Reset keys.
return array_values( $filtered );
}
/**
* Returns true if the navigation block contains a nested navigation block.
*
* @since 6.2.0
*
* @param WP_Block_List $inner_blocks Inner block instance to be normalized.
* @return bool true if the navigation block contains a nested navigation block.
*/
function block_core_navigation_block_contains_core_navigation( $inner_blocks ) {
foreach ( $inner_blocks as $block ) {
if ( 'core/navigation' === $block->name ) {
return true;
}
if ( $block->inner_blocks && block_core_navigation_block_contains_core_navigation( $block->inner_blocks ) ) {
return true;
}
}
return false;
}
/**
* Retrieves the appropriate fallback to be used on the front of the
* site when there is no menu assigned to the Nav block.
*
* This aims to mirror how the fallback mechanic for wp_nav_menu works.
* See https://developer.wordpress.org/reference/functions/wp_nav_menu/#more-information.
*
* @since 5.9.0
*
* @return array the array of blocks to be used as a fallback.
*/
function block_core_navigation_get_fallback_blocks() {
$page_list_fallback = array(
array(
'blockName' => 'core/page-list',
'innerContent' => array(),
'attrs' => array(),
),
);
$registry = WP_Block_Type_Registry::get_instance();
// If `core/page-list` is not registered then return empty blocks.
$fallback_blocks = $registry->is_registered( 'core/page-list' ) ? $page_list_fallback : array();
$navigation_post = WP_Navigation_Fallback::get_fallback();
// Use the first non-empty Navigation as fallback if available.
if ( $navigation_post ) {
$parsed_blocks = parse_blocks( $navigation_post->post_content );
$maybe_fallback = block_core_navigation_filter_out_empty_blocks( $parsed_blocks );
// Normalizing blocks may result in an empty array of blocks if they were all `null` blocks.
// In this case default to the (Page List) fallback.
$fallback_blocks = ! empty( $maybe_fallback ) ? $maybe_fallback : $fallback_blocks;
if ( function_exists( 'set_ignored_hooked_blocks_metadata' ) ) {
// Run Block Hooks algorithm to inject hooked blocks.
// We have to run it here because we need the post ID of the Navigation block to track ignored hooked blocks.
$markup = block_core_navigation_insert_hooked_blocks( $fallback_blocks, $navigation_post );
$blocks = parse_blocks( $markup );
if ( isset( $blocks[0]['innerBlocks'] ) ) {
$fallback_blocks = $blocks[0]['innerBlocks'];
}
}
}
/**
* Filters the fallback experience for the Navigation block.
*
* Returning a falsey value will opt out of the fallback and cause the block not to render.
* To customise the blocks provided return an array of blocks - these should be valid
* children of the `core/navigation` block.
*
* @since 5.9.0
*
* @param array[] $fallback_blocks default fallback blocks provided by the default block mechanic.
*/
return apply_filters( 'block_core_navigation_render_fallback', $fallback_blocks );
}
/**
* Iterate through all inner blocks recursively and get navigation link block's post IDs.
*
* @since 6.0.0
*
* @param WP_Block_List $inner_blocks Block list class instance.
*
* @return array Array of post IDs.
*/
function block_core_navigation_get_post_ids( $inner_blocks ) {
$post_ids = array_map( 'block_core_navigation_from_block_get_post_ids', iterator_to_array( $inner_blocks ) );
return array_unique( array_merge( ...$post_ids ) );
}
/**
* Get post IDs from a navigation link block instance.
*
* @since 6.0.0
*
* @param WP_Block $block Instance of a block.
*
* @return array Array of post IDs.
*/
function block_core_navigation_from_block_get_post_ids( $block ) {
$post_ids = array();
if ( $block->inner_blocks ) {
$post_ids = block_core_navigation_get_post_ids( $block->inner_blocks );
}
if ( 'core/navigation-link' === $block->name || 'core/navigation-submenu' === $block->name ) {
if ( $block->attributes && isset( $block->attributes['kind'] ) && 'post-type' === $block->attributes['kind'] && isset( $block->attributes['id'] ) ) {
$post_ids[] = $block->attributes['id'];
}
}
return $post_ids;
}
/**
* Renders the `core/navigation` block on server.
*
* @since 5.9.0
*
* @param array $attributes The block attributes.
* @param string $content The saved content.
* @param WP_Block $block The parsed block.
*
* @return string Returns the navigation block markup.
*/
function render_block_core_navigation( $attributes, $content, $block ) {
return WP_Navigation_Block_Renderer::render( $attributes, $content, $block );
}
/**
* Register the navigation block.
*
* @since 5.9.0
*
* @uses render_block_core_navigation()
* @throws WP_Error An WP_Error exception parsing the block definition.
*/
function register_block_core_navigation() {
register_block_type_from_metadata(
__DIR__ . '/navigation',
array(
'render_callback' => 'render_block_core_navigation',
)
);
}
add_action( 'init', 'register_block_core_navigation' );
/**
* Filter that changes the parsed attribute values of navigation blocks contain typographic presets to contain the values directly.
*
* @since 5.9.0
*
* @param array $parsed_block The block being rendered.
*
* @return array The block being rendered without typographic presets.
*/
function block_core_navigation_typographic_presets_backcompatibility( $parsed_block ) {
if ( 'core/navigation' === $parsed_block['blockName'] ) {
$attribute_to_prefix_map = array(
'fontStyle' => 'var:preset|font-style|',
'fontWeight' => 'var:preset|font-weight|',
'textDecoration' => 'var:preset|text-decoration|',
'textTransform' => 'var:preset|text-transform|',
);
foreach ( $attribute_to_prefix_map as $style_attribute => $prefix ) {
if ( ! empty( $parsed_block['attrs']['style']['typography'][ $style_attribute ] ) ) {
$prefix_len = strlen( $prefix );
$attribute_value = &$parsed_block['attrs']['style']['typography'][ $style_attribute ];
if ( 0 === strncmp( $attribute_value, $prefix, $prefix_len ) ) {
$attribute_value = substr( $attribute_value, $prefix_len );
}
if ( 'textDecoration' === $style_attribute && 'strikethrough' === $attribute_value ) {
$attribute_value = 'line-through';
}
}
}
}
return $parsed_block;
}
add_filter( 'render_block_data', 'block_core_navigation_typographic_presets_backcompatibility' );
/**
* Turns menu item data into a nested array of parsed blocks
*
* @since 5.9.0
*
* @deprecated 6.3.0 Use WP_Navigation_Fallback::parse_blocks_from_menu_items() instead.
*
* @param array $menu_items An array of menu items that represent
* an individual level of a menu.
* @param array $menu_items_by_parent_id An array keyed by the id of the
* parent menu where each element is an
* array of menu items that belong to
* that parent.
* @return array An array of parsed block data.
*/
function block_core_navigation_parse_blocks_from_menu_items( $menu_items, $menu_items_by_parent_id ) {
_deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback::parse_blocks_from_menu_items' );
if ( empty( $menu_items ) ) {
return array();
}
$blocks = array();
foreach ( $menu_items as $menu_item ) {
$class_name = ! empty( $menu_item->classes ) ? implode( ' ', (array) $menu_item->classes ) : null;
$id = ( null !== $menu_item->object_id && 'custom' !== $menu_item->object ) ? $menu_item->object_id : null;
$opens_in_new_tab = null !== $menu_item->target && '_blank' === $menu_item->target;
$rel = ( null !== $menu_item->xfn && '' !== $menu_item->xfn ) ? $menu_item->xfn : null;
$kind = null !== $menu_item->type ? str_replace( '_', '-', $menu_item->type ) : 'custom';
$block = array(
'blockName' => isset( $menu_items_by_parent_id[ $menu_item->ID ] ) ? 'core/navigation-submenu' : 'core/navigation-link',
'attrs' => array(
'className' => $class_name,
'description' => $menu_item->description,
'id' => $id,
'kind' => $kind,
'label' => $menu_item->title,
'opensInNewTab' => $opens_in_new_tab,
'rel' => $rel,
'title' => $menu_item->attr_title,
'type' => $menu_item->object,
'url' => $menu_item->url,
),
);
$block['innerBlocks'] = isset( $menu_items_by_parent_id[ $menu_item->ID ] )
? block_core_navigation_parse_blocks_from_menu_items( $menu_items_by_parent_id[ $menu_item->ID ], $menu_items_by_parent_id )
: array();
$block['innerContent'] = array_map( 'serialize_block', $block['innerBlocks'] );
$blocks[] = $block;
}
return $blocks;
}
/**
* Get the classic navigation menu to use as a fallback.
*
* @since 6.2.0
*
* @deprecated 6.3.0 Use WP_Navigation_Fallback::get_classic_menu_fallback() instead.
*
* @return object WP_Term The classic navigation.
*/
function block_core_navigation_get_classic_menu_fallback() {
_deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback::get_classic_menu_fallback' );
$classic_nav_menus = wp_get_nav_menus();
// If menus exist.
if ( $classic_nav_menus && ! is_wp_error( $classic_nav_menus ) ) {
// Handles simple use case where user has a classic menu and switches to a block theme.
// Returns the menu assigned to location `primary`.
$locations = get_nav_menu_locations();
if ( isset( $locations['primary'] ) ) {
$primary_menu = wp_get_nav_menu_object( $locations['primary'] );
if ( $primary_menu ) {
return $primary_menu;
}
}
// Returns a menu if `primary` is its slug.
foreach ( $classic_nav_menus as $classic_nav_menu ) {
if ( 'primary' === $classic_nav_menu->slug ) {
return $classic_nav_menu;
}
}
// Otherwise return the most recently created classic menu.
usort(
$classic_nav_menus,
static function ( $a, $b ) {
return $b->term_id - $a->term_id;
}
);
return $classic_nav_menus[0];
}
}
/**
* Converts a classic navigation to blocks.
*
* @since 6.2.0
*
* @deprecated 6.3.0 Use WP_Navigation_Fallback::get_classic_menu_fallback_blocks() instead.
*
* @param object $classic_nav_menu WP_Term The classic navigation object to convert.
* @return array the normalized parsed blocks.
*/
function block_core_navigation_get_classic_menu_fallback_blocks( $classic_nav_menu ) {
_deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback::get_classic_menu_fallback_blocks' );
// BEGIN: Code that already exists in wp_nav_menu().
$menu_items = wp_get_nav_menu_items( $classic_nav_menu->term_id, array( 'update_post_term_cache' => false ) );
// Set up the $menu_item variables.
_wp_menu_item_classes_by_context( $menu_items );
$sorted_menu_items = array();
foreach ( (array) $menu_items as $menu_item ) {
$sorted_menu_items[ $menu_item->menu_order ] = $menu_item;
}
unset( $menu_items, $menu_item );
// END: Code that already exists in wp_nav_menu().
$menu_items_by_parent_id = array();
foreach ( $sorted_menu_items as $menu_item ) {
$menu_items_by_parent_id[ $menu_item->menu_item_parent ][] = $menu_item;
}
$inner_blocks = block_core_navigation_parse_blocks_from_menu_items(
isset( $menu_items_by_parent_id[0] )
? $menu_items_by_parent_id[0]
: array(),
$menu_items_by_parent_id
);
return serialize_blocks( $inner_blocks );
}
/**
* If there's a classic menu then use it as a fallback.
*
* @since 6.2.0
*
* @deprecated 6.3.0 Use WP_Navigation_Fallback::create_classic_menu_fallback() instead.
*
* @return array the normalized parsed blocks.
*/
function block_core_navigation_maybe_use_classic_menu_fallback() {
_deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback::create_classic_menu_fallback' );
// See if we have a classic menu.
$classic_nav_menu = block_core_navigation_get_classic_menu_fallback();
if ( ! $classic_nav_menu ) {
return;
}
// If we have a classic menu then convert it to blocks.
$classic_nav_menu_blocks = block_core_navigation_get_classic_menu_fallback_blocks( $classic_nav_menu );
if ( empty( $classic_nav_menu_blocks ) ) {
return;
}
// Create a new navigation menu from the classic menu.
$wp_insert_post_result = wp_insert_post(
array(
'post_content' => $classic_nav_menu_blocks,
'post_title' => $classic_nav_menu->name,
'post_name' => $classic_nav_menu->slug,
'post_status' => 'publish',
'post_type' => 'wp_navigation',
),
true // So that we can check whether the result is an error.
);
if ( is_wp_error( $wp_insert_post_result ) ) {
return;
}
// Fetch the most recently published navigation which will be the classic one created above.
return block_core_navigation_get_most_recently_published_navigation();
}
/**
* Finds the most recently published `wp_navigation` Post.
*
* @since 6.1.0
*
* @deprecated 6.3.0 Use WP_Navigation_Fallback::get_most_recently_published_navigation() instead.
*
* @return WP_Post|null the first non-empty Navigation or null.
*/
function block_core_navigation_get_most_recently_published_navigation() {
_deprecated_function( __FUNCTION__, '6.3.0', 'WP_Navigation_Fallback::get_most_recently_published_navigation' );
// Default to the most recently created menu.
$parsed_args = array(
'post_type' => 'wp_navigation',
'no_found_rows' => true,
'update_post_meta_cache' => false,
'update_post_term_cache' => false,
'order' => 'DESC',
'orderby' => 'date',
'post_status' => 'publish',
'posts_per_page' => 1, // get only the most recent.
);
$navigation_post = new WP_Query( $parsed_args );
if ( count( $navigation_post->posts ) > 0 ) {
return $navigation_post->posts[0];
}
return null;
}
/**
* Accepts the serialized markup of a block and its inner blocks, and returns serialized markup of the inner blocks.
*
* @since 6.5.0
*
* @param string $serialized_block The serialized markup of a block and its inner blocks.
* @return string
*/
function block_core_navigation_remove_serialized_parent_block( $serialized_block ) {
$start = strpos( $serialized_block, '-->' ) + strlen( '-->' );
$end = strrpos( $serialized_block, '