1
0
mirror of https://github.com/tabler/tabler.git synced 2026-06-19 13:50:06 +04:00

Unify size of avatar, flag and payment components (#1623)

This commit is contained in:
Paweł Kuna
2023-06-13 09:46:37 +02:00
committed by GitHub
parent fb659d4897
commit 7896562d2b
8 changed files with 95 additions and 70 deletions
+5
View File
@@ -0,0 +1,5 @@
---
"@tabler/core": patch
---
Unify size of avatar, flag and payment components
+1 -2
View File
@@ -45,8 +45,7 @@
<td><span class="text-secondary">00{{ forloop.index | plus: 1400 }}</span></td> <td><span class="text-secondary">00{{ forloop.index | plus: 1400 }}</span></td>
<td><a href="invoice.html" class="text-reset" tabindex="-1">{{ invoice.name }}</a></td> <td><a href="invoice.html" class="text-reset" tabindex="-1">{{ invoice.name }}</a></td>
<td> <td>
{% include ui/flag.html flag=invoice.country %} {% include ui/flag.html flag=invoice.country size="xs" class="me-2" %}{{ invoice.client }}
{{ invoice.client }}
</td> </td>
<td> <td>
{{ invoice.vat-no }} {{ invoice.vat-no }}
+7 -3
View File
@@ -1,10 +1,14 @@
<span class="tag"> <span class="tag">
{% if include.flag %} {% if include.flag %}
{% include ui/flag.html flag=include.flag size="xs" class="tag-flag" %} {% include ui/flag.html flag=include.flag size="xxs" class="tag-flag" %}
{% elsif include.icon %} {% elsif include.icon %}
{% include ui/icon.html icon=include.icon size="xs" class="tag-icon" %} {% include ui/icon.html icon=include.icon size="xxs" class="tag-icon" %}
{% elsif include.person %} {% elsif include.person %}
{% include ui/avatar.html person=include.person size="xs" class="tag-avatar" %} {% include ui/avatar.html person=include.person size="xxs" class="tag-avatar" %}
{% elsif include.person-id %}
{% include ui/avatar.html person-id=include.person-id size="xxs" class="tag-avatar" %}
{% elsif include.payment %}
{% include ui/payment.html provider=include.payment size="xxs" class="tag-payment" %}
{% elsif include.status %} {% elsif include.status %}
{% include ui/badge.html color=include.status class="tag-status badge-empty" text="" %} {% include ui/badge.html color=include.status class="tag-status badge-empty" text="" %}
{% elsif include.legend %} {% elsif include.legend %}
+60 -50
View File
@@ -202,15 +202,8 @@ $border-color-translucent: rgba(4, 32, 69, 0.14);
$border-dark-color: $gray-400 !default; $border-dark-color: $gray-400 !default;
$border-dark-color-translucent: rgba(4, 32, 69, 0.27); $border-dark-color-translucent: rgba(4, 32, 69, 0.27);
$border-active-color: mix( $border-active-color: mix($text-secondary, #ffffff, percentage($border-active-opacity)) !default;
$text-secondary, $border-active-color-translucent: rgba($text-secondary, $border-active-opacity) !default;
#ffffff,
percentage($border-active-opacity)
) !default;
$border-active-color-translucent: rgba(
$text-secondary,
$border-active-opacity
) !default;
$active-bg: rgba(var(--#{$prefix}primary-rgb), 0.04) !default; $active-bg: rgba(var(--#{$prefix}primary-rgb), 0.04) !default;
$active-color: var(--#{$prefix}primary) !default; $active-color: var(--#{$prefix}primary) !default;
@@ -288,10 +281,7 @@ $gray-colors: (
gray-900: $gray-900, gray-900: $gray-900,
) !default; ) !default;
$theme-colors: map-merge( $theme-colors: map-merge($theme-colors, map-merge($extra-colors, $social-colors));
$theme-colors,
map-merge($extra-colors, $social-colors)
);
// Borders // Borders
$border-width: 1px !default; $border-width: 1px !default;
@@ -319,27 +309,65 @@ $kbd-padding-x: 0.5rem !default;
$kbd-padding-y: 0.25rem !default; $kbd-padding-y: 0.25rem !default;
$kbd-font-weight: var(--#{$prefix}font-weight-medium) !default; $kbd-font-weight: var(--#{$prefix}font-weight-medium) !default;
$kbd-font-size: var(--#{$prefix}font-size-h5) !default; $kbd-font-size: var(--#{$prefix}font-size-h5) !default;
$kbd-border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $kbd-border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) var(--#{$prefix}border-color) !default;
var(--#{$prefix}border-color) !default;
$kbd-color: var(--#{$prefix}text-secondary-dark) !default; $kbd-color: var(--#{$prefix}text-secondary-dark) !default;
$kbd-bg: var(--#{$prefix}code-bg) !default; $kbd-bg: var(--#{$prefix}code-bg) !default;
$kbd-border-radius: var(--#{$prefix}border-radius) !default; $kbd-border-radius: var(--#{$prefix}border-radius) !default;
// Avatars // Avatars
$avatar-size: 2rem !default; $avatar-size: 2.5rem !default;
$avatar-status-size: .75rem !default;
$avatar-font-size: 1rem !default;
$avatar-icon-size: 1.5rem !default;
$avatar-bg: var(--#{$prefix}bg-surface-secondary) !default; $avatar-bg: var(--#{$prefix}bg-surface-secondary) !default;
$avatar-sizes: ( $avatar-sizes: (
"xs": 1rem, "xxs": (
"sm": 2rem, size: 1rem,
"md": 4rem, font-size: .5rem,
"lg": 5.5rem, icon-size: .75rem,
"xl": 7rem, status-size: .25rem
"2xl": 11rem, ),
"xs": (
size: 1.25rem,
font-size: $h6-font-size,
icon-size: 1rem,
status-size: .375rem
),
"sm": (
size: 2rem,
font-size: $h5-font-size,
icon-size: 1.25rem,
status-size: .5rem
),
"md": (
size: 2.5rem,
font-size: $h4-font-size,
icon-size: 1.5rem,
status-size: .75rem
),
"lg": (
size: 3rem,
font-size: $h2-font-size,
icon-size: 2rem,
status-size: .75rem
),
"xl": (
size: 5rem,
font-size: 2rem,
icon-size: 3rem,
status-size: 1rem
),
"2xl": (
size: 7rem,
font-size: 3rem,
icon-size: 5rem,
status-size: 1rem
),
) !default; ) !default;
$avatar-border-radius: var(--#{$prefix}border-radius) !default; $avatar-border-radius: var(--#{$prefix}border-radius) !default;
$avatar-font-size: $h4-font-size !default; $avatar-font-size: $h4-font-size !default;
$avatar-box-shadow: var(--#{$prefix}box-shadow-border) !default; $avatar-box-shadow: var(--#{$prefix}box-shadow-border) !default;
$avatar-list-spacing: -.5; $avatar-list-spacing: -0.5;
$link-decoration: none !default; $link-decoration: none !default;
$link-hover-decoration: underline !default; $link-hover-decoration: underline !default;
@@ -395,11 +423,7 @@ $spacers: (
8: $spacer-8, 8: $spacer-8,
) !default; ) !default;
$negative-spacers: if( $negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
$enable-negative-margins,
negativify-map($spacers),
null
) !default;
// Sizes // Sizes
$size-spacers: ( $size-spacers: (
@@ -469,11 +493,7 @@ $focus-ring-box-shadow: 0 0 $focus-ring-blur $focus-ring-width $focus-ring-color
$transition-time: 0.3s !default; $transition-time: 0.3s !default;
// Overlay // Overlay
$overlay-gradient: linear-gradient( $overlay-gradient: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.6) 100%) !default;
180deg,
rgba(0, 0, 0, 0) 0%,
rgba(0, 0, 0, 0.6) 100%
) !default;
// Accordion // Accordion
$accordion-bg: transparent !default; $accordion-bg: transparent !default;
@@ -488,7 +508,7 @@ $accordion-button-focus-border-color: $accordion-border-color !default;
// Alerts // Alerts
$alert-padding-x: 1rem !default; $alert-padding-x: 1rem !default;
$alert-padding-y: .75rem !default; $alert-padding-y: 0.75rem !default;
$alert-link-font-weight: var(--#{$prefix}font-weight-bold) !default; $alert-link-font-weight: var(--#{$prefix}font-weight-bold) !default;
$alert-border-width: var(--#{$prefix}border-width) !default; $alert-border-width: var(--#{$prefix}border-width) !default;
@@ -601,7 +621,6 @@ $btn-close-width: 1em !default;
$btn-close-opacity: 0.4 !default; $btn-close-opacity: 0.4 !default;
$btn-close-color: $body-color !default; $btn-close-color: $body-color !default;
// Datagrid // Datagrid
$datagrid-padding: 1.5rem !default; $datagrid-padding: 1.5rem !default;
$datagrid-item-width: 15rem !default; $datagrid-item-width: 15rem !default;
@@ -654,10 +673,7 @@ $modal-fade-transform: translate(0, -1rem) !default;
$modal-content-border-color: transparent !default; $modal-content-border-color: transparent !default;
$modal-content-bg: var(--#{$prefix}bg-surface) !default; $modal-content-bg: var(--#{$prefix}bg-surface) !default;
$modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default; $modal-content-border-radius: var(--#{$prefix}border-radius-lg) !default;
$modal-content-inner-border-radius: subtract( $modal-content-inner-border-radius: subtract(var(--#{$prefix}modal-border-radius), 1px) !default;
var(--#{$prefix}modal-border-radius),
1px
) !default;
$modal-header-padding: 1.5rem !default; $modal-header-padding: 1.5rem !default;
$modal-header-height: 3.5rem !default; $modal-header-height: 3.5rem !default;
@@ -697,8 +713,7 @@ $nav-bordered-margin-x: 1.25rem !default;
$nav-tabs-border-color: var(--#{$prefix}border-color) !default; $nav-tabs-border-color: var(--#{$prefix}border-color) !default;
$nav-tabs-border-radius: var(--#{$prefix}border-radius) !default; $nav-tabs-border-radius: var(--#{$prefix}border-radius) !default;
$nav-tabs-link-hover-border-color: $nav-tabs-border-color $nav-tabs-border-color $nav-tabs-link-hover-border-color: $nav-tabs-border-color $nav-tabs-border-color $nav-tabs-border-color !default;
$nav-tabs-border-color !default;
$nav-tabs-link-active-border-color: $nav-tabs-link-hover-border-color !default; $nav-tabs-link-active-border-color: $nav-tabs-link-hover-border-color !default;
$nav-tabs-link-active-color: var(--#{$prefix}body-color) !default; $nav-tabs-link-active-color: var(--#{$prefix}body-color) !default;
$nav-tabs-bg: var(--#{$prefix}bg-surface-tertiary) !default; $nav-tabs-bg: var(--#{$prefix}bg-surface-tertiary) !default;
@@ -803,9 +818,7 @@ $table-th-color: var(--#{$prefix}secondary) !default;
$table-th-bg: var(--#{$prefix}bg-surface-tertiary) !default; $table-th-bg: var(--#{$prefix}bg-surface-tertiary) !default;
$table-striped-order: even !default; $table-striped-order: even !default;
$table-striped-bg: var(--#{$prefix}bg-surface-tertiary) !default; $table-striped-bg: var(--#{$prefix}bg-surface-tertiary) !default;
$table-group-separator-color: var( $table-group-separator-color: var(--#{$prefix}border-color-translucent) !default;
--#{$prefix}border-color-translucent
) !default;
$table-sort-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'><path d='M5 7l3 -3l3 3'/><path d='M5 10l3 3l3 -3'/></svg>") !default; $table-sort-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16' fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1'><path d='M5 7l3 -3l3 3'/><path d='M5 10l3 3l3 -3'/></svg>") !default;
$table-sort-asc-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 7l3 3l3 -3'/></svg>") !default; $table-sort-asc-bg-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' width='16' height='16'><path fill='none' stroke='currentColor' stroke-linecap='round' stroke-linejoin='round' stroke-width='1' d='M5 7l3 3l3 -3'/></svg>") !default;
@@ -838,9 +851,7 @@ $list-group-active-color: inherit !default;
$input-bg: var(--#{$prefix}bg-forms) !default; $input-bg: var(--#{$prefix}bg-forms) !default;
$input-disabled-bg: $disabled-bg !default; $input-disabled-bg: $disabled-bg !default;
$input-border-color: var(--#{$prefix}border-color) !default; $input-border-color: var(--#{$prefix}border-color) !default;
$input-border-color-translucent: var( $input-border-color-translucent: var(--#{$prefix}border-color-translucent) !default;
--#{$prefix}border-color-translucent
) !default;
$input-placeholder-color: $text-secondary-light !default; $input-placeholder-color: $text-secondary-light !default;
$input-group-addon-bg: var(--#{$prefix}bg-surface-secondary) !default; $input-group-addon-bg: var(--#{$prefix}bg-surface-secondary) !default;
@@ -849,13 +860,12 @@ $input-group-addon-color: var(--#{$prefix}secondary) !default;
$input-border-radius: var(--#{$prefix}border-radius) !default; $input-border-radius: var(--#{$prefix}border-radius) !default;
// Forms // Forms
$form-check-margin-bottom: .75rem !default; $form-check-margin-bottom: 0.75rem !default;
$form-check-padding-start: 2rem !default; $form-check-padding-start: 2rem !default;
$form-check-input-width: 1.25rem !default; $form-check-input-width: 1.25rem !default;
$form-check-input-bg: var(--#{$prefix}bg-forms) !default; $form-check-input-bg: var(--#{$prefix}bg-forms) !default;
$form-check-input-border: var(--#{$prefix}border-width) $form-check-input-border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) $input-border-color-translucent !default;
var(--#{$prefix}border-style) $input-border-color-translucent !default;
$form-check-input-border-radius: var(--#{$prefix}border-radius) !default; $form-check-input-border-radius: var(--#{$prefix}border-radius) !default;
$form-check-input-box-shadow: $input-box-shadow !default; $form-check-input-box-shadow: $input-box-shadow !default;
+15 -8
View File
@@ -1,12 +1,16 @@
.avatar { .avatar {
--#{$prefix}avatar-size: #{$avatar-size}; --#{$prefix}avatar-size: #{$avatar-size};
--#{$prefix}avatar-status-size: #{$avatar-status-size};
--#{$prefix}avatar-bg: #{$avatar-bg}; --#{$prefix}avatar-bg: #{$avatar-bg};
--#{$prefix}avatar-box-shadow: #{$avatar-box-shadow}; --#{$prefix}avatar-box-shadow: #{$avatar-box-shadow};
--#{$prefix}avatar-font-size: #{$avatar-font-size};
--#{$prefix}avatar-icon-size: #{$avatar-icon-size};
position: relative; position: relative;
width: var(--#{$prefix}avatar-size); width: var(--#{$prefix}avatar-size);
height: var(--#{$prefix}avatar-size); height: var(--#{$prefix}avatar-size);
font-size: calc(var(--#{$prefix}avatar-size) / #{$line-height-base * 2}); font-size: var(--#{$prefix}avatar-font-size);
font-weight: var(--#{$prefix}font-weight-medium); font-weight: var(--#{$prefix}font-weight-medium);
line-height: 1;
display: inline-flex; display: inline-flex;
align-items: center; align-items: center;
justify-content: center; justify-content: center;
@@ -19,9 +23,9 @@
border-radius: $avatar-border-radius; border-radius: $avatar-border-radius;
box-shadow: var(--#{$prefix}avatar-box-shadow); box-shadow: var(--#{$prefix}avatar-box-shadow);
svg { .icon {
width: calc(var(--#{$prefix}avatar-size) / #{divide(40, 24)}); width: var(--#{$prefix}avatar-icon-size);
height: calc(var(--#{$prefix}avatar-size) / #{divide(40, 24)}); height: var(--#{$prefix}avatar-icon-size);
} }
.badge { .badge {
@@ -29,7 +33,7 @@
right: 0; right: 0;
bottom: 0; bottom: 0;
border-radius: $border-radius-pill; border-radius: $border-radius-pill;
box-shadow: 0 0 0 2px $card-bg; box-shadow: 0 0 0 calc(var(--#{$prefix}avatar-status-size) / 4) $card-bg;
} }
@at-root a#{&} { @at-root a#{&} {
@@ -43,12 +47,15 @@
@each $avatar-size, $size in $avatar-sizes { @each $avatar-size, $size in $avatar-sizes {
.avatar-#{$avatar-size} { .avatar-#{$avatar-size} {
--#{$prefix}avatar-size: #{$size}; --#{$prefix}avatar-size: #{map-get($size, size)};
--#{$prefix}avatar-status-size: #{map-get($size, status-size)};
--#{$prefix}avatar-font-size: #{map-get($size, font-size)};
--#{$prefix}avatar-icon-size: #{map-get($size, icon-size)};
} }
.avatar-#{$avatar-size} .badge:empty { .avatar-#{$avatar-size} .badge:empty {
width: $size * .25; width: map-get($size, status-size);
height: $size * .25; height: map-get($size, status-size);
} }
} }
+2 -2
View File
@@ -5,7 +5,7 @@ $countries: (
.flag { .flag {
position: relative; position: relative;
display: inline-block; display: inline-block;
height: 1.5rem; height: $avatar-size;
aspect-ratio: 1.33333; aspect-ratio: 1.33333;
background: no-repeat center/cover; background: no-repeat center/cover;
box-shadow: $flag-box-shadow; box-shadow: $flag-box-shadow;
@@ -26,6 +26,6 @@ $countries: (
@each $flag-size, $size in $flag-sizes { @each $flag-size, $size in $flag-sizes {
.flag-#{$flag-size} { .flag-#{$flag-size} {
height: $size; height: map-get($size, size);
} }
} }
+3 -4
View File
@@ -1,8 +1,8 @@
$payment-icons: ('2checkout', 'alipay', 'amazon', 'americanexpress', 'applepay', 'bancontact', 'bitcoin', 'bitpay', 'blik', 'cirrus', 'clickandbuy', 'coinkite', 'dinersclub', 'directdebit', 'discover', 'dotpay', 'dwolla', 'ebay', 'epayco', 'eway', 'giropay', 'googlewallet', 'ingenico', 'jcb', 'klarna', 'laser', 'maestro', 'mastercard', 'mir', 'monero', 'neteller', 'ogone', 'okpay', 'paybox', 'paymill', 'payone', 'payoneer', 'paypal', 'paysafecard', 'payu', 'payza', 'przelewy24', 'ripple', 'sage', 'sepa', 'shopify', 'skrill', 'solo', 'square', 'stripe', 'switch', 'tpay', 'ukash', 'unionpay', 'verifone', 'verisign', 'visa', 'webmoney', 'westernunion', 'worldpay'); $payment-icons: ('2checkout', 'alipay', 'amazon', 'americanexpress', 'applepay', 'bancontact', 'bitcoin', 'bitpay', 'blik', 'cirrus', 'clickandbuy', 'coinkite', 'dinersclub', 'directdebit', 'discover', 'dotpay', 'dwolla', 'ebay', 'epayco', 'eway', 'giropay', 'googlewallet', 'ingenico', 'jcb', 'klarna', 'laser', 'maestro', 'mastercard', 'mir', 'monero', 'neteller', 'ogone', 'okpay', 'paybox', 'paymill', 'payone', 'payoneer', 'paypal', 'paysafecard', 'payu', 'payza', 'przelewy24', 'ripple', 'sage', 'sepa', 'shopify', 'skrill', 'solo', 'square', 'stripe', 'switch', 'tpay', 'ukash', 'unionpay', 'verifone', 'verisign', 'visa', 'webmoney', 'westernunion', 'worldpay');
.payment { .payment {
width: 2rem * 1.66666; height: $avatar-size;
height: 2rem; aspect-ratio: 1.66666;
display: inline-block; display: inline-block;
background: no-repeat center/100% 100%; background: no-repeat center/100% 100%;
vertical-align: bottom; vertical-align: bottom;
@@ -23,7 +23,6 @@ $payment-icons: ('2checkout', 'alipay', 'amazon', 'americanexpress', 'applepay',
@each $payment-size, $size in $payment-sizes { @each $payment-size, $size in $payment-sizes {
.payment-#{$payment-size} { .payment-#{$payment-size} {
width: $size * 1.66666; height: map-get($size, size);
height: $size;
} }
} }
+2 -1
View File
@@ -1,7 +1,7 @@
.tag { .tag {
--#{$prefix}tag-height: 1.5rem; --#{$prefix}tag-height: 1.5rem;
border: $border-width solid var(--#{$prefix}border-color); border: $border-width solid var(--#{$prefix}border-color);
display: flex; display: inline-flex;
align-items: center; align-items: center;
height: var(--#{$prefix}tag-height); height: var(--#{$prefix}tag-height);
border-radius: var(--#{$prefix}border-radius); border-radius: var(--#{$prefix}border-radius);
@@ -29,6 +29,7 @@
.tag-avatar, .tag-avatar,
.tag-flag, .tag-flag,
.tag-payment,
.tag-icon, .tag-icon,
.tag-check { .tag-check {
margin-left: -.25rem; margin-left: -.25rem;