Skip to content
Next Next commit
Fixes block visibility when the panel is collapsed
  • Loading branch information
minaldiwan committed Sep 24, 2025
commit 71266946286f56eb62d72c28912046ad63603222
88 changes: 88 additions & 0 deletions packages/block-library/src/accordion/style.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
.wp-block-accordion-content {
display: grid;
grid-template-rows: max-content 0fr;
}

.wp-block-accordion-content.is-open {
grid-template-rows: max-content 1fr;

> .wp-block-accordion-header {
.accordion-content__toggle-icon.has-icon-plus {
transform: rotate(45deg);
}
}

.wp-block-accordion-panel {
display: block;
}
}

.accordion-content__toggle {
font-family: inherit;
font-size: inherit;
font-weight: inherit;
line-height: inherit;
letter-spacing: inherit;
text-transform: inherit;
text-decoration: inherit;
word-spacing: inherit;
background: none;
border: none;
color: inherit;
padding: var(--wp--preset--spacing--20, 1em) 0;
cursor: pointer;
outline: none;
overflow: hidden;
display: flex;
align-items: center;
text-align: inherit;
position: relative;
width: 100%;
}

.accordion-content__toggle > span {
width: 100%;
}

.is-layout-flow > .wp-block-accordion-panel,
.wp-block-accordion-panel {
display: none;
overflow: hidden;
transition: all 0.2s ease-out;
}

// Prevent blockGap from Accordion Content block from adding extra margin between accordions.
.wp-block-accordion-panel[inert],
.wp-block-accordion-panel[aria-hidden="true"] {
margin-block-start: 0;
}

.accordion-panel__wrapper {
padding-bottom: var(--wp--preset--spacing--20, 1em);
}

/* No icon block style */
.is-style-no-icon .accordion-content__toggle-icon {
background-color: unset;
}

.wp-block-accordion-header.icon-position-left .accordion-content__toggle {
/* stylelint-disable-next-line declaration-property-value-allowed-list -- This should be refactored to not use the row-reverse value. */
flex-direction: row-reverse;
}

.accordion-content__toggle:focus-visible {
outline: 2px solid -webkit-focus-ring-color;
outline-offset: 2px;
}

/* Add transitions only for users who do not prefer reduced motion */
@media (prefers-reduced-motion: no-preference) {
.wp-block-accordion-content .accordion-content__toggle-icon {
transition: transform 0.2s ease-in-out;
}

.wp-block-accordion-content {
transition: grid-template-rows 0.3s ease-out;
}
}