summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVolpeon <git@volpeon.ink>2026-02-21 13:31:48 +0100
committerVolpeon <git@volpeon.ink>2026-02-21 13:31:48 +0100
commitf4895ee27ed6304d6147844e9c64fd935ad9d4d2 (patch)
treee41ade39369a7c8f1e44c12bb529537704c5bf50
parentUpdate _button.vars.scss (diff)
downloadiro-design-f4895ee27ed6304d6147844e9c64fd935ad9d4d2.tar.gz
iro-design-f4895ee27ed6304d6147844e9c64fd935ad9d4d2.tar.bz2
iro-design-f4895ee27ed6304d6147844e9c64fd935ad9d4d2.zip
o-card: add "collapsible" modifier
-rw-r--r--src/objects/_card.scss50
1 files changed, 49 insertions, 1 deletions
diff --git a/src/objects/_card.scss b/src/objects/_card.scss
index 5ae203d..056fea2 100644
--- a/src/objects/_card.scss
+++ b/src/objects/_card.scss
@@ -262,7 +262,7 @@
262 border-start-end-radius: 0; 262 border-start-end-radius: 0;
263 border-end-start-radius: props.get(vars.$rounding); 263 border-end-start-radius: props.get(vars.$rounding);
264 } 264 }
265 265
266 &:last-child { 266 &:last-child {
267 border-start-end-radius: props.get(vars.$rounding); 267 border-start-end-radius: props.get(vars.$rounding);
268 border-end-start-radius: 0; 268 border-end-start-radius: 0;
@@ -279,5 +279,53 @@
279 } 279 }
280 } 280 }
281 } 281 }
282
283 @include bem.modifier('collapsible') {
284 display: block;
285 interpolate-size: allow-keywords;
286
287 @include bem.elem("header") {
288 display: flex;
289 align-items: center;
290 gap: 1em;
291 cursor: pointer;
292
293 &::before {
294 margin: 0;
295 inline-size: 1em;
296 font-size: 0.8em;
297 content: "▶";
298 }
299 }
300
301 &::details-content {
302 opacity: 0;
303 block-size: 0;
304 overflow-y: clip;
305 transition:
306 content-visibility 0.2s allow-discrete,
307 opacity 0.2s ease,
308 block-size 0.2s ease;
309 }
310
311 &[open] {
312 @include bem.elem("header") {
313 &::before {
314 content: "▼";
315 }
316 }
317
318 &::details-content {
319 opacity: 1;
320 block-size: auto;
321 }
322 }
323
324 @media (prefers-reduced-motion: reduce) {
325 &::details-content {
326 transition: none;
327 }
328 }
329 }
282 } 330 }
283} 331}