Skip to content
Merged
123 changes: 122 additions & 1 deletion packages/block-library/src/accordion-heading/deprecated.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import {
useBlockProps,
__experimentalGetSpacingClassesAndStyles as getSpacingClassesAndStyles,
RichText,
getTypographyClassesAndStyles,
} from '@wordpress/block-editor';

const v1 = {
Expand Down Expand Up @@ -116,4 +117,124 @@ const v1 = {
},
};

export default [ v1 ];
const v2 = {
attributes: {
openByDefault: {
type: 'boolean',
default: false,
},
title: {
type: 'rich-text',
source: 'rich-text',
selector: '.wp-block-accordion-heading__toggle-title',
role: 'content',
},
level: {
type: 'number',
},
iconPosition: {
type: 'string',
enum: [ 'left', 'right' ],
default: 'right',
},
showIcon: {
type: 'boolean',
default: true,
},
},
supports: {
anchor: true,
color: {
background: true,
gradients: true,
},
align: false,
interactivity: true,
spacing: {
padding: true,
__experimentalDefaultControls: {
padding: true,
},
__experimentalSkipSerialization: true,
__experimentalSelector: '.wp-block-accordion-heading__toggle',
},
__experimentalBorder: {
color: true,
radius: true,
style: true,
width: true,
__experimentalDefaultControls: {
color: true,
radius: true,
style: true,
width: true,
},
},
typography: {
__experimentalSkipSerialization: [
'textDecoration',
'letterSpacing',
],
fontSize: true,
__experimentalFontFamily: true,
__experimentalFontWeight: true,
__experimentalFontStyle: true,
__experimentalTextTransform: true,
__experimentalTextDecoration: true,
__experimentalLetterSpacing: true,
__experimentalDefaultControls: {
fontSize: true,
fontFamily: true,
},
},
shadow: true,
visibility: false,
lock: false,
},
save( { attributes } ) {
const { level, title, iconPosition, showIcon } = attributes;
const TagName = 'h' + ( level || 3 );
const typographyProps = getTypographyClassesAndStyles( attributes );

const blockProps = useBlockProps.save();
const spacingProps = getSpacingClassesAndStyles( attributes );

return (
<TagName { ...blockProps }>
<button
className="wp-block-accordion-heading__toggle"
style={ spacingProps.style }
>
{ showIcon && iconPosition === 'left' && (
<span
className="wp-block-accordion-heading__toggle-icon"
aria-hidden="true"
>
+
</span>
) }
<RichText.Content
className="wp-block-accordion-heading__toggle-title"
tagName="span"
value={ title }
style={ {
letterSpacing: typographyProps.style.letterSpacing,
textDecoration:
typographyProps.style.textDecoration,
} }
/>
{ showIcon && iconPosition === 'right' && (
<span
className="wp-block-accordion-heading__toggle-icon"
aria-hidden="true"
>
+
</span>
) }
</button>
</TagName>
);
},
};

export default [ v1, v2 ];
1 change: 1 addition & 0 deletions packages/block-library/src/accordion-heading/save.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ export default function save( { attributes } ) {
return (
<TagName { ...blockProps }>
<button
type="button"
className="wp-block-accordion-heading__toggle"
style={ spacingProps.style }
>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<!-- wp:accordion-heading -->
<h3 class="wp-block-accordion-heading">
<button class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button>
<button type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button>
</h3>
<!-- /wp:accordion-heading -->
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
"blockName": "core/accordion-heading",
"attrs": {},
"innerBlocks": [],
"innerHTML": "\n<h3 class=\"wp-block-accordion-heading\">\n\t<button class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n</h3>\n",
"innerHTML": "\n<h3 class=\"wp-block-accordion-heading\">\n\t<button type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n</h3>\n",
"innerContent": [
"\n<h3 class=\"wp-block-accordion-heading\">\n\t<button class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n</h3>\n"
"\n<h3 class=\"wp-block-accordion-heading\">\n\t<button type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n</h3>\n"
]
}
]
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<!-- wp:accordion-heading -->
<h3 class="wp-block-accordion-heading"><button class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>
<h3 class="wp-block-accordion-heading"><button type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>
<!-- /wp:accordion-heading -->
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
<!-- wp:accordion-heading {"style":{"typography":{"letterSpacing":"39px","textDecoration":"underline","fontStyle":"normal","fontWeight":"100","fontSize":"3.19rem"}}} -->
<h3 class="wp-block-accordion-heading" style="font-size:3.19rem;font-style:normal;font-weight:100"><button class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title" style="letter-spacing:39px;text-decoration:underline">title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>
<h3 class="wp-block-accordion-heading" style="font-size:3.19rem;font-style:normal;font-weight:100"><button type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title" style="letter-spacing:39px;text-decoration:underline">title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>
<!-- /wp:accordion-heading -->
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
<!-- wp:accordion-heading -->
<h3 class="wp-block-accordion-heading">
<button class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button>
</h3>
<!-- /wp:accordion-heading -->
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
[
{
"name": "core/accordion-heading",
"isValid": true,
"attributes": {
"openByDefault": false,
"title": "Accordion Title",
"iconPosition": "right",
"showIcon": true
},
"innerBlocks": []
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[
{
"blockName": "core/accordion-heading",
"attrs": {},
"innerBlocks": [],
"innerHTML": "\n<h3 class=\"wp-block-accordion-heading\">\n\t<button class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n</h3>\n",
"innerContent": [
"\n<h3 class=\"wp-block-accordion-heading\">\n\t<button class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n</h3>\n"
]
}
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
<!-- wp:accordion-heading -->
<h3 class="wp-block-accordion-heading"><button type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>
<!-- /wp:accordion-heading -->
2 changes: 1 addition & 1 deletion test/integration/fixtures/blocks/core__accordion-item.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<div class="wp-block-accordion-item">
<!-- wp:accordion-heading -->
<h3 class="wp-block-accordion-heading">
<button class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button>
<button type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button>
</h3>
<!-- /wp:accordion-heading -->
<!-- wp:accordion-panel -->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
"blockName": "core/accordion-heading",
"attrs": {},
"innerBlocks": [],
"innerHTML": "\n\t<h3 class=\"wp-block-accordion-heading\">\n\t\t<button class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n\t</h3>\n\t",
"innerHTML": "\n\t<h3 class=\"wp-block-accordion-heading\">\n\t\t<button type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n\t</h3>\n\t",
"innerContent": [
"\n\t<h3 class=\"wp-block-accordion-heading\">\n\t\t<button class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n\t</h3>\n\t"
"\n\t<h3 class=\"wp-block-accordion-heading\">\n\t\t<button type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n\t</h3>\n\t"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<!-- wp:accordion-item -->
<div class="wp-block-accordion-item"><!-- wp:accordion-heading -->
<h3 class="wp-block-accordion-heading"><button class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>
<h3 class="wp-block-accordion-heading"><button type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>
<!-- /wp:accordion-heading -->

<!-- wp:accordion-panel -->
Expand Down
2 changes: 1 addition & 1 deletion test/integration/fixtures/blocks/core__accordion.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<div class="wp-block-accordion-item">
<!-- wp:accordion-heading -->
<h3 class="wp-block-accordion-heading">
<button class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button>
<button type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button>
</h3>
<!-- /wp:accordion-heading -->
<!-- wp:accordion-panel -->
Expand Down
4 changes: 2 additions & 2 deletions test/integration/fixtures/blocks/core__accordion.parsed.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
"blockName": "core/accordion-heading",
"attrs": {},
"innerBlocks": [],
"innerHTML": "\n\t\t<h3 class=\"wp-block-accordion-heading\">\n\t\t\t<button class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n\t\t</h3>\n\t\t",
"innerHTML": "\n\t\t<h3 class=\"wp-block-accordion-heading\">\n\t\t\t<button type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n\t\t</h3>\n\t\t",
"innerContent": [
"\n\t\t<h3 class=\"wp-block-accordion-heading\">\n\t\t\t<button class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n\t\t</h3>\n\t\t"
"\n\t\t<h3 class=\"wp-block-accordion-heading\">\n\t\t\t<button type=\"button\" class=\"wp-block-accordion-heading__toggle\"><span class=\"wp-block-accordion-heading__toggle-title\">Accordion Title</span><span class=\"wp-block-accordion-heading__toggle-icon\" aria-hidden=\"true\">+</span></button>\n\t\t</h3>\n\t\t"
]
},
{
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<!-- wp:accordion -->
<div role="group" class="wp-block-accordion"><!-- wp:accordion-item -->
<div class="wp-block-accordion-item"><!-- wp:accordion-heading -->
<h3 class="wp-block-accordion-heading"><button class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>
<h3 class="wp-block-accordion-heading"><button type="button" class="wp-block-accordion-heading__toggle"><span class="wp-block-accordion-heading__toggle-title">Accordion Title</span><span class="wp-block-accordion-heading__toggle-icon" aria-hidden="true">+</span></button></h3>
<!-- /wp:accordion-heading -->

<!-- wp:accordion-panel -->
Expand Down
Loading