From 15b7d391046151ae0ca8dadce8b973b80edacc1f Mon Sep 17 00:00:00 2001 From: Volpeon Date: Tue, 22 Jul 2025 19:18:29 +0200 Subject: Improved card --- src/objects/_card.scss | 18 ++++++++++++++++++ src/objects/_card.vars.scss | 8 ++++---- tpl/objects/card.pug | 1 + tpl/views/card.pug | 8 ++++---- 4 files changed, 27 insertions(+), 8 deletions(-) diff --git a/src/objects/_card.scss b/src/objects/_card.scss index 932007e..b1386e4 100644 --- a/src/objects/_card.scss +++ b/src/objects/_card.scss @@ -43,6 +43,16 @@ @include bem.modifier('borderless') { border-color: props.get(vars.$bg-color); + box-shadow: + props.get(vars.$shadow-x) + props.get(vars.$shadow-y) + props.get(vars.$shadow-blur) + props.get(vars.$shadow-grow) + props.get(vars.$shadow-color); + } + + @include bem.modifier('merge') { + border-color: props.get(vars.$bg-color); } @include bem.elem('avatar') { @@ -125,6 +135,7 @@ margin-inline: 0; background-color: transparent; border: 0; + box-shadow: none; @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { &:hover, @@ -144,6 +155,7 @@ margin: 0; outline: none; border: 0; + box-shadow: none; @include bem.elem('image') { margin: calc(-1 * props.get(vars.$key-focus--border-width)); @@ -167,6 +179,12 @@ background-color: props.get(vars.$quiet--image-color); background-clip: padding-box; border-radius: props.get(vars.$rounding); + box-shadow: + props.get(vars.$shadow-x) + props.get(vars.$shadow-y) + props.get(vars.$shadow-blur) + props.get(vars.$shadow-grow) + props.get(vars.$shadow-color); } @include bem.elem('body') { diff --git a/src/objects/_card.vars.scss b/src/objects/_card.vars.scss index 592182e..ebfba10 100644 --- a/src/objects/_card.vars.scss +++ b/src/objects/_card.vars.scss @@ -14,10 +14,10 @@ $image-overlay--pad-b: props.def(--o-card--image-overlay--pad-b, props.get($pad- $hover--offset-b: props.def(--o-card--hover--offset-b, calc(-1 * props.get(core.$size--65))) !default; -$shadow-x: props.def(--o-card--shadow-x, props.get(core.$shadow--l2--x)) !default; -$shadow-y: props.def(--o-card--shadow-y, props.get(core.$shadow--l2--y)) !default; -$shadow-blur: props.def(--o-card--shadow-blur, props.get(core.$shadow--l2--blur)) !default; -$shadow-grow: props.def(--o-card--shadow-grow, props.get(core.$shadow--l2--grow)) !default; +$shadow-x: props.def(--o-card--shadow-x, props.get(core.$shadow--l1--x)) !default; +$shadow-y: props.def(--o-card--shadow-y, props.get(core.$shadow--l1--y)) !default; +$shadow-blur: props.def(--o-card--shadow-blur, props.get(core.$shadow--l1--blur)) !default; +$shadow-grow: props.def(--o-card--shadow-grow, props.get(core.$shadow--l1--grow)) !default; $key-focus--border-width: props.def(--o-card--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; $key-focus--border-offset: props.def(--o-card--key-focus--border-offset, props.get(core.$key-focus--border-offset)) !default; diff --git a/tpl/objects/card.pug b/tpl/objects/card.pug index 514b9d3..cd4f75c 100644 --- a/tpl/objects/card.pug +++ b/tpl/objects/card.pug @@ -3,6 +3,7 @@ mixin card let classes = { 'o-card': true, 'o-card--borderless': !!attributes.borderless, + 'o-card--merge': !!attributes.merge, 'o-card--quiet': !!attributes.quiet, 'o-card--thumbnail': !!attributes.thumbnail, } diff --git a/tpl/views/card.pug b/tpl/views/card.pug index 64e3504..57eab8f 100644 --- a/tpl/views/card.pug +++ b/tpl/views/card.pug @@ -9,7 +9,7 @@ mixin view-card +card-body strong= 'Lorem ipsum dolor' = 'sit amet' - +card(href='#' class='l-card-list__card') + +card(href='#' class='l-card-list__card' borderless=true) +card-body strong= 'Lorem ipsum dolor' = 'sit amet' @@ -17,15 +17,15 @@ mixin view-card +divider('faint')(class='u-mb-700') .l-card-list.l-card-list--merge - +card(href='#' class='l-card-list__card' borderless=true) + +card(href='#' class='l-card-list__card' merge=true) +card-body strong= 'Lorem ipsum dolor' = 'sit amet' - +card(href='#' class='l-card-list__card' borderless=true) + +card(href='#' class='l-card-list__card' merge=true) +card-body strong= 'Lorem ipsum dolor' = 'sit amet' - +card(href='#' class='l-card-list__card' borderless=true) + +card(href='#' class='l-card-list__card' merge=true) +card-body strong= 'Lorem ipsum dolor' = 'sit amet' -- cgit v1.2.3-70-g09d2