Skip to content

Commit e0a5451

Browse files
authored
Merge pull request #682 from dcapslock/animate-child-padding-y
fix: Smooth animation when using child-padding and expanded-gap
2 parents 9428481 + a61b133 commit e0a5451

File tree

1 file changed

+11
-4
lines changed

1 file changed

+11
-4
lines changed

src/ExpanderCard.svelte

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -183,9 +183,9 @@
183183
</script>
184184

185185
<ha-card
186-
class={`expander-card${config.clear ? ' clear' : ''}${open ? ' open' : ' close'}`}
186+
class={`expander-card${config.clear ? ' clear' : ''}${open ? ' open' : ' close'} ${animationState} ${config.animation ? 'animation' : ''}`}
187187
style="--expander-card-display:{config['expander-card-display']};
188-
--gap:{open ? config['expanded-gap'] : config.gap}; --padding:{config.padding};
188+
--gap:{open && animationState !=='closing' ? config['expanded-gap'] : config.gap}; --padding:{config.padding};
189189
--expander-state:{open};
190190
--icon-rotate-degree:{config['icon-rotate-degree']};
191191
--card-background:{open && config['expander-card-background-expanded'] ? config['expander-card-background-expanded']: config['expander-card-background']}
@@ -240,8 +240,9 @@
240240
<div class="children-wrapper {config.animation ? 'animation ' + animationState : ''}">
241241
<div
242242
style="--expander-card-display:{config['expander-card-display']};
243-
--gap:{open ? config['expanded-gap'] : config.gap}; --child-padding:{open ? config['child-padding'] : '0px'};"
244-
class="children-container"
243+
--gap:{open && animationState !=='closing' ? config['expanded-gap'] : config.gap};
244+
--child-padding:{open && animationState !=='closing' ? config['child-padding'] : '0px'};"
245+
class="children-container{open ? ' open' : ' close'} {animationState} {config.animation ? 'animation' : ''}"
245246
>
246247
{#each config.cards as card (card)}
247248
<Card hass={hass}
@@ -267,6 +268,9 @@
267268
padding: var(--padding);
268269
background: var(--card-background,#fff);
269270
}
271+
.expander-card.animation {
272+
transition: gap 0.35s ease;
273+
}
270274
.children-wrapper {
271275
display: flex;
272276
flex-direction: column;
@@ -275,6 +279,9 @@
275279
.children-wrapper.animation.closing {
276280
overflow: hidden;
277281
}
282+
.children-container.animation {
283+
transition: padding 0.35s ease, gap 0.35s ease;
284+
}
278285
.children-container {
279286
padding: var(--child-padding);
280287
display: var(--expander-card-display,block);

0 commit comments

Comments
 (0)