From 6448b40f6224b271acb6010cac0672dec4755341 Mon Sep 17 00:00:00 2001 From: Volpeon Date: Sat, 19 Oct 2024 08:51:30 +0200 Subject: Update --- src/objects/_emoji.scss | 72 +++++++++++++++++-------------------------------- 1 file changed, 24 insertions(+), 48 deletions(-) (limited to 'src/objects/_emoji.scss') diff --git a/src/objects/_emoji.scss b/src/objects/_emoji.scss index 41c614c..7747bbf 100644 --- a/src/objects/_emoji.scss +++ b/src/objects/_emoji.scss @@ -1,72 +1,48 @@ +@use 'sass:meta'; @use 'iro-sass/src/iro-sass' as iro; -@use '../functions' as fn; -@use 'sass:math'; +@use '../props'; +@use 'icon.vars' as icon; -@use 'icon'; +@forward 'emoji.vars'; +@use 'emoji.vars' as vars; -@include iro.props-namespace('emoji') { - @include iro.props-store(( - --dims: ( - --size: calc(1 / 14 * 18em), - --pad: .3em, - --rounding: fn.global-dim(--rounding), - --zoom: 3, - --valign: -.25em, +@mixin styles { + @include props.materialize(meta.module-variables('vars')); - --125: ( - --size: calc(1 / 14 * 23em), - --valign: -.45em, - ), - - --150: ( - --size: calc(1 / 14 * 28em), - --valign: -.65em, - ), - - --200: ( - --size: calc(1 / 14 * 38em), - --valign: -1em, - ) - ), - --colors: ( - --bg: fn.global-color(--border-mute), - ) - )); - - @include iro.bem-object(iro.props-namespace()) { + @include iro.bem-object('emoji') { position: relative; display: inline-block; - inline-size: calc(fn.dim(--size)); - block-size: calc(fn.dim(--size)); - padding: calc(fn.dim(--pad)); - margin: calc(-1 * fn.dim(--pad)); - vertical-align: fn.dim(--valign); + inline-size: calc(props.get(vars.$size)); + block-size: calc(props.get(vars.$size)); + padding: calc(props.get(vars.$pad)); + margin: calc(-1 * props.get(vars.$pad)); + vertical-align: props.get(vars.$valign); object-fit: contain; @include iro.bem-modifier('icon') { - margin: calc(-1 * fn.dim(--pad) - .5 * (fn.dim(--size) - fn.foreign-dim(--icon, --size))); - vertical-align: fn.foreign-dim(--icon, --valign); + margin: calc(-1 * props.get(vars.$pad) - .5 * (props.get(vars.$size) - props.get(icon.$size))); + vertical-align: props.get(icon.$valign); } - @each $size in '125' '150' '200' { - @include iro.bem-modifier($size) { - inline-size: fn.dim(--#{$size} --size); - block-size: fn.dim(--#{$size} --size); - vertical-align: fn.dim(--#{$size} --valign); + @each $mod, $size, $valign in vars.$sizes { + @include iro.bem-modifier($mod) { + inline-size: props.get($size); + block-size: props.get($size); + vertical-align: props.get($valign); @include iro.bem-modifier('icon') { - margin: calc(-1 * fn.dim(--pad) - .5 * (fn.dim(--#{$size} --size) - fn.foreign-dim(--icon, --size))); + margin: calc(-1 * props.get(vars.$pad) - .5 * (props.get($size) - props.get(icon.$size))); } } } @include iro.bem-modifier('zoomable') { - border-radius: calc(fn.dim(--rounding) / fn.dim(--zoom)); + border-radius: calc(props.get(vars.$rounding) / props.get(vars.$zoom)); transition: transform .2s ease, background-color .2s ease; &:hover { - background-color: fn.color(--bg); - transform: scale(fn.dim(--zoom)); + background-color: props.get(vars.$bg-color); + transform: scale(props.get(vars.$zoom)); } } } -- cgit v1.3.1