@use 'iro-sass/src/index' as iro; @use '../functions' as fn; @use '../mixins' as mx; @include iro.props-namespace('tables') { @include iro.props-store(( --dims: ( --pad-i: fn.foreign-dim(--table, --pad-i), --pad-b: fn.foreign-dim(--table, --pad-b), --rounding: fn.foreign-dim(--table, --rounding), --border: fn.foreign-dim(--table, --border), --margin-bs: fn.global-dim(--paragraph --margin-bs), ), --colors: ( --border: fn.foreign-color(--table, --border), --heading: fn.foreign-color(--table, --heading), --box: ( --bg: fn.foreign-color(--table, --box --bg), ) ) )); @include iro.bem-scope(iro.props-namespace()) { table { margin-block-start: fn.dim(--margin-bs); border-spacing: 0; border-collapse: separate; } th { @include mx.set-font(--standard, ( --line-height: null, --size: fn.global-dim(--font-size --50), --weight: bold, --transform: uppercase, --spacing: .5px )); padding-block: fn.dim(--pad-b); padding-inline: fn.dim(--pad-i); color: fn.color(--heading); text-align: start; } td { padding-block: fn.dim(--pad-b); padding-inline: fn.dim(--pad-i); border-width: 0; border-block-start-width: fn.dim(--border); border-style: solid; border-color: fn.color(--border); } tr { &:last-child { td { border-block-end-width: fn.dim(--border); } } } @include iro.bem-modifier('flush') { th, td { &:first-child { padding-inline-start: 0; } &:last-child { padding-inline-end: 0; } } } @include iro.bem-modifier('box') { td { background-color: fn.color(--box --bg); &:first-child { border-inline-start-width: fn.dim(--border); } &:last-child { border-inline-end-width: fn.dim(--border); } } tr { &:first-child { td { &:first-child { border-start-start-radius: fn.dim(--rounding); } &:last-child { border-start-end-radius: fn.dim(--rounding); } } } &:last-child { td { &:first-child { border-end-start-radius: fn.dim(--rounding); } &:last-child { border-end-end-radius: fn.dim(--rounding); } } } } } } }