diff options
| author | Volpeon <git@volpeon.ink> | 2025-07-22 19:18:29 +0200 |
|---|---|---|
| committer | Volpeon <git@volpeon.ink> | 2025-07-22 19:18:29 +0200 |
| commit | 15b7d391046151ae0ca8dadce8b973b80edacc1f (patch) | |
| tree | 290edbc282fbd7a4ac30583c17064bfd62b91962 | |
| parent | Fix (diff) | |
| download | iro-design-15b7d391046151ae0ca8dadce8b973b80edacc1f.tar.gz iro-design-15b7d391046151ae0ca8dadce8b973b80edacc1f.tar.bz2 iro-design-15b7d391046151ae0ca8dadce8b973b80edacc1f.zip | |
Improved card
| -rw-r--r-- | src/objects/_card.scss | 18 | ||||
| -rw-r--r-- | src/objects/_card.vars.scss | 8 | ||||
| -rw-r--r-- | tpl/objects/card.pug | 1 | ||||
| -rw-r--r-- | 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 @@ | |||
| 43 | 43 | ||
| 44 | @include bem.modifier('borderless') { | 44 | @include bem.modifier('borderless') { |
| 45 | border-color: props.get(vars.$bg-color); | 45 | border-color: props.get(vars.$bg-color); |
| 46 | box-shadow: | ||
| 47 | props.get(vars.$shadow-x) | ||
| 48 | props.get(vars.$shadow-y) | ||
| 49 | props.get(vars.$shadow-blur) | ||
| 50 | props.get(vars.$shadow-grow) | ||
| 51 | props.get(vars.$shadow-color); | ||
| 52 | } | ||
| 53 | |||
| 54 | @include bem.modifier('merge') { | ||
| 55 | border-color: props.get(vars.$bg-color); | ||
| 46 | } | 56 | } |
| 47 | 57 | ||
| 48 | @include bem.elem('avatar') { | 58 | @include bem.elem('avatar') { |
| @@ -125,6 +135,7 @@ | |||
| 125 | margin-inline: 0; | 135 | margin-inline: 0; |
| 126 | background-color: transparent; | 136 | background-color: transparent; |
| 127 | border: 0; | 137 | border: 0; |
| 138 | box-shadow: none; | ||
| 128 | 139 | ||
| 129 | @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { | 140 | @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { |
| 130 | &:hover, | 141 | &:hover, |
| @@ -144,6 +155,7 @@ | |||
| 144 | margin: 0; | 155 | margin: 0; |
| 145 | outline: none; | 156 | outline: none; |
| 146 | border: 0; | 157 | border: 0; |
| 158 | box-shadow: none; | ||
| 147 | 159 | ||
| 148 | @include bem.elem('image') { | 160 | @include bem.elem('image') { |
| 149 | margin: calc(-1 * props.get(vars.$key-focus--border-width)); | 161 | margin: calc(-1 * props.get(vars.$key-focus--border-width)); |
| @@ -167,6 +179,12 @@ | |||
| 167 | background-color: props.get(vars.$quiet--image-color); | 179 | background-color: props.get(vars.$quiet--image-color); |
| 168 | background-clip: padding-box; | 180 | background-clip: padding-box; |
| 169 | border-radius: props.get(vars.$rounding); | 181 | border-radius: props.get(vars.$rounding); |
| 182 | box-shadow: | ||
| 183 | props.get(vars.$shadow-x) | ||
| 184 | props.get(vars.$shadow-y) | ||
| 185 | props.get(vars.$shadow-blur) | ||
| 186 | props.get(vars.$shadow-grow) | ||
| 187 | props.get(vars.$shadow-color); | ||
| 170 | } | 188 | } |
| 171 | 189 | ||
| 172 | @include bem.elem('body') { | 190 | @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- | |||
| 14 | 14 | ||
| 15 | $hover--offset-b: props.def(--o-card--hover--offset-b, calc(-1 * props.get(core.$size--65))) !default; | 15 | $hover--offset-b: props.def(--o-card--hover--offset-b, calc(-1 * props.get(core.$size--65))) !default; |
| 16 | 16 | ||
| 17 | $shadow-x: props.def(--o-card--shadow-x, props.get(core.$shadow--l2--x)) !default; | 17 | $shadow-x: props.def(--o-card--shadow-x, props.get(core.$shadow--l1--x)) !default; |
| 18 | $shadow-y: props.def(--o-card--shadow-y, props.get(core.$shadow--l2--y)) !default; | 18 | $shadow-y: props.def(--o-card--shadow-y, props.get(core.$shadow--l1--y)) !default; |
| 19 | $shadow-blur: props.def(--o-card--shadow-blur, props.get(core.$shadow--l2--blur)) !default; | 19 | $shadow-blur: props.def(--o-card--shadow-blur, props.get(core.$shadow--l1--blur)) !default; |
| 20 | $shadow-grow: props.def(--o-card--shadow-grow, props.get(core.$shadow--l2--grow)) !default; | 20 | $shadow-grow: props.def(--o-card--shadow-grow, props.get(core.$shadow--l1--grow)) !default; |
| 21 | 21 | ||
| 22 | $key-focus--border-width: props.def(--o-card--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; | 22 | $key-focus--border-width: props.def(--o-card--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; |
| 23 | $key-focus--border-offset: props.def(--o-card--key-focus--border-offset, props.get(core.$key-focus--border-offset)) !default; | 23 | $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 | |||
| 3 | let classes = { | 3 | let classes = { |
| 4 | 'o-card': true, | 4 | 'o-card': true, |
| 5 | 'o-card--borderless': !!attributes.borderless, | 5 | 'o-card--borderless': !!attributes.borderless, |
| 6 | 'o-card--merge': !!attributes.merge, | ||
| 6 | 'o-card--quiet': !!attributes.quiet, | 7 | 'o-card--quiet': !!attributes.quiet, |
| 7 | 'o-card--thumbnail': !!attributes.thumbnail, | 8 | 'o-card--thumbnail': !!attributes.thumbnail, |
| 8 | } | 9 | } |
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 | |||
| 9 | +card-body | 9 | +card-body |
| 10 | strong= 'Lorem ipsum dolor' | 10 | strong= 'Lorem ipsum dolor' |
| 11 | = 'sit amet' | 11 | = 'sit amet' |
| 12 | +card(href='#' class='l-card-list__card') | 12 | +card(href='#' class='l-card-list__card' borderless=true) |
| 13 | +card-body | 13 | +card-body |
| 14 | strong= 'Lorem ipsum dolor' | 14 | strong= 'Lorem ipsum dolor' |
| 15 | = 'sit amet' | 15 | = 'sit amet' |
| @@ -17,15 +17,15 @@ mixin view-card | |||
| 17 | +divider('faint')(class='u-mb-700') | 17 | +divider('faint')(class='u-mb-700') |
| 18 | 18 | ||
| 19 | .l-card-list.l-card-list--merge | 19 | .l-card-list.l-card-list--merge |
| 20 | +card(href='#' class='l-card-list__card' borderless=true) | 20 | +card(href='#' class='l-card-list__card' merge=true) |
| 21 | +card-body | 21 | +card-body |
| 22 | strong= 'Lorem ipsum dolor' | 22 | strong= 'Lorem ipsum dolor' |
| 23 | = 'sit amet' | 23 | = 'sit amet' |
| 24 | +card(href='#' class='l-card-list__card' borderless=true) | 24 | +card(href='#' class='l-card-list__card' merge=true) |
| 25 | +card-body | 25 | +card-body |
| 26 | strong= 'Lorem ipsum dolor' | 26 | strong= 'Lorem ipsum dolor' |
| 27 | = 'sit amet' | 27 | = 'sit amet' |
| 28 | +card(href='#' class='l-card-list__card' borderless=true) | 28 | +card(href='#' class='l-card-list__card' merge=true) |
| 29 | +card-body | 29 | +card-body |
| 30 | strong= 'Lorem ipsum dolor' | 30 | strong= 'Lorem ipsum dolor' |
| 31 | = 'sit amet' | 31 | = 'sit amet' |
