mirror of
https://github.com/tabler/tabler.git
synced 2026-06-17 21:00:15 +04:00
Refactor badge styles, remove Bootstrap styles (#2169)
This commit is contained in:
@@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
"@tabler/core": patch
|
||||||
|
"preview": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Refactor badge styles, remove Bootstrap styles
|
||||||
@@ -17,7 +17,6 @@
|
|||||||
@import "bootstrap/scss/accordion";
|
@import "bootstrap/scss/accordion";
|
||||||
@import "bootstrap/scss/breadcrumb";
|
@import "bootstrap/scss/breadcrumb";
|
||||||
@import "bootstrap/scss/pagination";
|
@import "bootstrap/scss/pagination";
|
||||||
@import "bootstrap/scss/badge";
|
|
||||||
@import "bootstrap/scss/alert";
|
@import "bootstrap/scss/alert";
|
||||||
@import "bootstrap/scss/progress";
|
@import "bootstrap/scss/progress";
|
||||||
@import "bootstrap/scss/list-group";
|
@import "bootstrap/scss/list-group";
|
||||||
|
|||||||
@@ -97,7 +97,9 @@ $h5-line-height: 1rem !default;
|
|||||||
$h6-font-size: 0.625rem !default;
|
$h6-font-size: 0.625rem !default;
|
||||||
$h6-line-height: 1rem !default;
|
$h6-line-height: 1rem !default;
|
||||||
|
|
||||||
$small-font-size: 85.714285% !default;
|
$font-size-reative-xs: .71428571em !default;
|
||||||
|
$font-size-reative-sm: .85714285em !default;
|
||||||
|
$font-size-reative-md: 1em !default;
|
||||||
|
|
||||||
$font-sizes: (
|
$font-sizes: (
|
||||||
1: $h1-font-size,
|
1: $h1-font-size,
|
||||||
@@ -309,7 +311,7 @@ $icon-color: var(--#{$prefix}gray-400) !default;
|
|||||||
|
|
||||||
// Code
|
// Code
|
||||||
$code-color: var(--#{$prefix}gray-600) !default;
|
$code-color: var(--#{$prefix}gray-600) !default;
|
||||||
$code-font-size: $small-font-size !default;
|
$code-font-size: $font-size-reative-sm !default;
|
||||||
$code-line-height: 1.25rem !default;
|
$code-line-height: 1.25rem !default;
|
||||||
$code-bg: var(--#{$prefix}bg-surface-secondary) !default;
|
$code-bg: var(--#{$prefix}bg-surface-secondary) !default;
|
||||||
|
|
||||||
@@ -553,13 +555,15 @@ $breadcrumb-variants: (
|
|||||||
) !default;
|
) !default;
|
||||||
|
|
||||||
// Badges
|
// Badges
|
||||||
$badge-font-size: $code-font-size !default;
|
$badge-font-size: $font-size-reative-sm !default;
|
||||||
|
$badge-font-size-sm: $font-size-reative-xs !default;
|
||||||
|
$badge-font-size-lg: $font-size-reative-md !default;
|
||||||
$badge-line-height: $code-line-height !default;
|
$badge-line-height: $code-line-height !default;
|
||||||
$badge-font-weight: var(--#{$prefix}font-weight-medium) !default;
|
$badge-font-weight: var(--#{$prefix}font-weight-medium) !default;
|
||||||
$badge-padding-y: 0.25em !default;
|
$badge-padding-y: 0.25em !default;
|
||||||
$badge-padding-x: 0.5em !default;
|
$badge-padding-x: 0.5em !default;
|
||||||
$badge-empty-size: 0.5rem !default;
|
$badge-empty-size: 10px !default;
|
||||||
$badge-color: var(--#{$prefix}gray-500) !default;
|
$badge-color: var(--#{$prefix}secondary) !default;
|
||||||
$badge-bg-color: var(--#{$prefix}bg-surface-secondary) !default;
|
$badge-bg-color: var(--#{$prefix}bg-surface-secondary) !default;
|
||||||
|
|
||||||
// Buttons
|
// Buttons
|
||||||
@@ -605,8 +609,8 @@ $btn-box-shadow: var(--#{$prefix}box-shadow-input) !default;
|
|||||||
|
|
||||||
// Cards
|
// Cards
|
||||||
$card-title-spacer-y: 1.25rem !default;
|
$card-title-spacer-y: 1.25rem !default;
|
||||||
$card-box-shadow: var(--#{$prefix}shadow-card) !default;
|
$card-box-shadow: var(--#{$prefix}box-shadow-card) !default;
|
||||||
$card-hover-box-shadow: var(--#{$prefix}shadow-card-hover) !default;
|
$card-hover-box-shadow: var(--#{$prefix}box-shadow-card-hover) !default;
|
||||||
|
|
||||||
$card-bg: var(--#{$prefix}bg-surface) !default;
|
$card-bg: var(--#{$prefix}bg-surface) !default;
|
||||||
$card-bg-hover: $white !default;
|
$card-bg-hover: $white !default;
|
||||||
|
|||||||
+47
-13
@@ -1,36 +1,46 @@
|
|||||||
.badge {
|
.badge {
|
||||||
|
--#{$prefix}badge-padding-x: #{$badge-padding-x};
|
||||||
|
--#{$prefix}badge-padding-y: #{$badge-padding-y};
|
||||||
|
--#{$prefix}badge-font-size: #{$badge-font-size};
|
||||||
|
--#{$prefix}badge-font-weight: #{$badge-font-weight};
|
||||||
|
--#{$prefix}badge-color: #{$badge-color};
|
||||||
|
--#{$prefix}badge-border-radius: #{$badge-border-radius};
|
||||||
|
--#{$prefix}badge-icon-size: 1em;
|
||||||
|
--#{$prefix}badge-line-height: 1;
|
||||||
|
display: inline-flex;
|
||||||
|
padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x);
|
||||||
|
font-weight: var(--#{$prefix}badge-font-weight);
|
||||||
|
font-size: var(--#{$prefix}badge-font-size);
|
||||||
|
color: var(--#{$prefix}badge-color);
|
||||||
|
text-align: center;
|
||||||
|
white-space: nowrap;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
gap: .25rem;
|
||||||
background: $badge-bg-color;
|
background: $badge-bg-color;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) transparent;
|
border: var(--#{$prefix}border-width) var(--#{$prefix}border-style) transparent;
|
||||||
min-width: 1.25rem;
|
border-radius: var(--#{$prefix}badge-border-radius);
|
||||||
font-weight: $headings-font-weight;
|
min-width: calc(1em + var(--#{$prefix}badge-padding-y) * 2 + 2px);
|
||||||
letter-spacing: .04em;
|
letter-spacing: 0.04em;
|
||||||
vertical-align: bottom;
|
vertical-align: bottom;
|
||||||
|
line-height: var(--#{$prefix}badge-line-height);
|
||||||
|
|
||||||
@at-root a#{&} {
|
@at-root a#{&} {
|
||||||
color: $card-bg;
|
color: $card-bg;
|
||||||
}
|
}
|
||||||
|
|
||||||
.avatar {
|
|
||||||
box-sizing: content-box;
|
|
||||||
width: 1.25rem;
|
|
||||||
height: 1.25rem;
|
|
||||||
margin: 0 .5rem 0 -.5rem;
|
|
||||||
}
|
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: 1em;
|
width: 1em;
|
||||||
height: 1em;
|
height: 1em;
|
||||||
font-size: 1rem;
|
font-size: var(--#{$prefix}badge-icon-size);
|
||||||
stroke-width: 2;
|
stroke-width: 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.badge:empty,
|
.badge:empty,
|
||||||
.badge-empty {
|
.badge-dot {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: $badge-empty-size;
|
width: $badge-empty-size;
|
||||||
height: $badge-empty-size;
|
height: $badge-empty-size;
|
||||||
@@ -76,4 +86,28 @@
|
|||||||
|
|
||||||
.badge-blink {
|
.badge-blink {
|
||||||
animation: blink 2s infinite;
|
animation: blink 2s infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Badge sizes
|
||||||
|
//
|
||||||
|
.badge-sm {
|
||||||
|
--#{$prefix}badge-font-size: #{$badge-font-size-sm};
|
||||||
|
--#{$prefix}badge-icon-size: 1em;
|
||||||
|
--#{$prefix}badge-padding-y: 2px;
|
||||||
|
--#{$prefix}badge-padding-x: 0.25rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.badge-lg {
|
||||||
|
--#{$prefix}badge-font-size: #{$badge-font-size-lg};
|
||||||
|
--#{$prefix}badge-icon-size: 1em;
|
||||||
|
--#{$prefix}badge-padding-y: 0.25rem;
|
||||||
|
--#{$prefix}badge-padding-x: 0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Badge with only icon
|
||||||
|
//
|
||||||
|
.badge-icononly {
|
||||||
|
--#{$prefix}badge-padding-x: 0;
|
||||||
}
|
}
|
||||||
@@ -20,6 +20,7 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
box-shadow: var(--#{$prefix}btn-box-shadow);
|
box-shadow: var(--#{$prefix}btn-box-shadow);
|
||||||
|
position: relative;
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
width: var(--#{$prefix}btn-icon-size);
|
width: var(--#{$prefix}btn-icon-size);
|
||||||
@@ -224,6 +225,7 @@
|
|||||||
// Action button
|
// Action button
|
||||||
//
|
//
|
||||||
.btn-action {
|
.btn-action {
|
||||||
|
--#{$prefix}border-color: transparent;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
border: 0;
|
border: 0;
|
||||||
color: var(--#{$prefix}secondary);
|
color: var(--#{$prefix}secondary);
|
||||||
@@ -234,6 +236,7 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
border-radius: var(--#{$prefix}border-radius);
|
border-radius: var(--#{$prefix}border-radius);
|
||||||
background: transparent;
|
background: transparent;
|
||||||
|
box-shadow: none;
|
||||||
|
|
||||||
&:after {
|
&:after {
|
||||||
content: none;
|
content: none;
|
||||||
@@ -253,14 +256,6 @@
|
|||||||
&.show {
|
&.show {
|
||||||
color: var(--#{$prefix}primary);
|
color: var(--#{$prefix}primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
.icon {
|
|
||||||
margin: 0;
|
|
||||||
width: 1.25rem;
|
|
||||||
height: 1.25rem;
|
|
||||||
font-size: 1.25rem;
|
|
||||||
stroke-width: 1;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.btn-actions {
|
.btn-actions {
|
||||||
|
|||||||
@@ -19,6 +19,7 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
line-height: $line-height-base;
|
line-height: $line-height-base;
|
||||||
|
gap: .5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dropdown-item-icon {
|
.dropdown-item-icon {
|
||||||
|
|||||||
@@ -522,6 +522,10 @@ export default function (eleventyConfig) {
|
|||||||
return string.split(' ').map(word => word.charAt(0)).join('');
|
return string.split(' ').map(word => word.charAt(0)).join('');
|
||||||
})
|
})
|
||||||
|
|
||||||
|
eleventyConfig.addFilter("uc_first", function capitalizeFirstLetter(string) {
|
||||||
|
return string.charAt(0).toUpperCase() + string.slice(1);
|
||||||
|
})
|
||||||
|
|
||||||
eleventyConfig.addFilter("size", function (elem) {
|
eleventyConfig.addFilter("size", function (elem) {
|
||||||
if (elem instanceof Object) {
|
if (elem instanceof Object) {
|
||||||
return Object.keys(elem).length;
|
return Object.keys(elem).length;
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
{% elsif include.payment %}
|
{% elsif include.payment %}
|
||||||
{% include "ui/payment.html" provider=include.payment size="xxs" class="tag-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-dot" text="" %}
|
||||||
{% elsif include.legend %}
|
{% elsif include.legend %}
|
||||||
<span class="legend bg-{{ include.legend }}"></span>
|
<span class="legend bg-{{ include.legend }}"></span>
|
||||||
{% elsif include.checkbox %}
|
{% elsif include.checkbox %}
|
||||||
|
|||||||
+173
-90
@@ -6,94 +6,177 @@ layout: default
|
|||||||
permalink: badges.html
|
permalink: badges.html
|
||||||
---
|
---
|
||||||
|
|
||||||
|
{% assign colors = "" | split: "," %} {% assign colors = colors | push: "default" %} {% for color in site.colors %} {% assign colors = colors | push: color[0]
|
||||||
|
%} {% endfor %} {% assign colors = colors | push: "dark" | push: "light" %}
|
||||||
|
|
||||||
<div class="row row-cards">
|
<div class="row row-cards">
|
||||||
<div class="col-4">
|
<div class="col-4">
|
||||||
<div class="card">
|
<div class="row row-cards">
|
||||||
<div class="card-body">
|
<div class="col-12">
|
||||||
<h1>Example heading <span class="badge">New</span></h1>
|
<div class="card">
|
||||||
<h2>Example heading <span class="badge">New</span></h2>
|
<div class="card-body">
|
||||||
<h3>Example heading <span class="badge">New</span></h3>
|
<h1>Example heading <span class="badge">New</span></h1>
|
||||||
<h4>Example heading <span class="badge">New</span></h4>
|
<h2>Example heading <span class="badge">New</span></h2>
|
||||||
<h5>Example heading <span class="badge">New</span></h5>
|
<h3>Example heading <span class="badge">New</span></h3>
|
||||||
<h6>Example heading <span class="badge">New</span></h6>
|
<h4>Example heading <span class="badge">New</span></h4>
|
||||||
</div>
|
<h5>Example heading <span class="badge">New</span></h5>
|
||||||
</div>
|
<h6>Example heading <span class="badge">New</span></h6>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-8">
|
</div>
|
||||||
<div class="row row-cards">
|
</div>
|
||||||
<div class="col-12">
|
<div class="col-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="badges-list">
|
<h3 class="card-title">Badge sizes</h3>
|
||||||
{% for color in site.colors %}
|
|
||||||
<span class="badge bg-{{ color[0] }} text-{{ color[0] }}-fg">{{ color[1].title }}</span>
|
<div class="space-y">
|
||||||
{% endfor %}
|
{% assign sizes = "sm,md,lg" | split: "," %} {% for size in sizes %}
|
||||||
</div>
|
<div class="badges-list">
|
||||||
</div>
|
<span class="badge{% if size != 'md' %} badge-{{ size }}{% endif %}">Default</span>
|
||||||
</div>
|
<span class="badge{% if size != 'md' %} badge-{{ size }}{% endif %}">{% include "ui/icon.html" icon="check" %} Left icon</span>
|
||||||
</div>
|
<span class="badge{% if size != 'md' %} badge-{{ size }}{% endif %}">Right icon{% include "ui/icon.html" icon="arrow-right" %}</span>
|
||||||
<div class="col-12">
|
<span class="badge badge-icononly{% if size != 'md' %} badge-{{ size }}{% endif %}"
|
||||||
<div class="card">
|
>{% include "ui/icon.html" icon="star" type="filled" %}</span
|
||||||
<div class="card-body">
|
>
|
||||||
<div class="badges-list">
|
</div>
|
||||||
{% for color in site.colors %}
|
{% endfor %}
|
||||||
<span class="badge bg-{{ color[0] }}-lt">{{ color[1].title }}</span>
|
</div>
|
||||||
{% endfor %}
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-12">
|
||||||
</div>
|
<div class="card">
|
||||||
<div class="col-12">
|
<div class="card-body">
|
||||||
<div class="card">
|
<h3 class="card-title">Positioned badges</h3>
|
||||||
<div class="card-body">
|
|
||||||
<div class="badges-list">
|
<div class="btn-list">
|
||||||
{% for color in site.colors %}
|
<button type="button" class="btn">Notifications <span class="badge text-bg-secondary ms-2">4</span></button>
|
||||||
<span class="badge badge-outline text-{{ color[0] }}">{{ color[1].title }}</span>
|
|
||||||
{% endfor %}
|
<button type="button" class="btn">
|
||||||
</div>
|
Inbox
|
||||||
</div>
|
<span class="badge bg-red badge-notification text-red-fg">
|
||||||
</div>
|
9+
|
||||||
</div>
|
<span class="visually-hidden">unread messages</span>
|
||||||
</div>
|
</span>
|
||||||
</div>
|
</button>
|
||||||
<div class="col-sm-6 col-lg-3">
|
|
||||||
{% include "ui/dropdown-menu.html" show=true badge=true arrow=true %}
|
<button type="button" class="btn">
|
||||||
</div>
|
Profile
|
||||||
<div class="col-sm-6 col-lg-9">
|
<span class="badge badge-dot bg-red badge-notification"></span>
|
||||||
<div class="row row-cards">
|
</button>
|
||||||
<div class="col-12">
|
|
||||||
<div class="card">
|
<button type="button" class="btn">
|
||||||
<div class="card-body">
|
Settings
|
||||||
<div class="btn-list">
|
<span class="badge badge-dot bg-red badge-notification badge-blink"></span>
|
||||||
{% for color in site.colors %}
|
</button>
|
||||||
<button class="btn">{{ color[1].title }} badge <span class="badge bg-{{ color[0] }} text-{{ color[0] }}-fg ms-2">{{ forloop.index }}</span></button>
|
|
||||||
{% endfor %}
|
<button type="button" class="btn btn-icon">
|
||||||
</div>
|
{% include "ui/icon.html" icon="bell" %}
|
||||||
</div>
|
<span class="badge badge-dot bg-red badge-notification badge-blink"></span>
|
||||||
</div>
|
</button>
|
||||||
</div>
|
|
||||||
<div class="col-12">
|
<button type="button" class="btn btn-icon btn-action">
|
||||||
<div class="card">
|
{% include "ui/icon.html" icon="bell" %}
|
||||||
<div class="card-body">
|
<span class="badge badge-dot bg-red badge-notification"></span>
|
||||||
<div class="btn-list">
|
</button>
|
||||||
{% for color in site.colors %}
|
</div>
|
||||||
<button class="btn position-relative">{{ color[1].title }} badge <span class="badge bg-{{ color[0] }} text-{{ color[0] }}-fg badge-notification badge-pill">{{ forloop.index }}</span></button>
|
</div>
|
||||||
{% endfor %}
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-8">
|
||||||
<div class="col-12">
|
<div class="row row-cards">
|
||||||
<div class="card">
|
<div class="col-12">
|
||||||
<div class="card-body">
|
<div class="card">
|
||||||
<div class="btn-list">
|
<div class="card-body">
|
||||||
{% for color in site.colors %}
|
<h3 class="card-title">Basic badges</h3>
|
||||||
<button class="btn position-relative">{{ color[1].title }} badge <span class="badge bg-{{ color[0] }} badge-notification badge-blink"></span></button>
|
<div class="badges-list">
|
||||||
{% endfor %}
|
{% for color in colors %}
|
||||||
</div>
|
<span class="badge bg-{{ color }} text-{{ color }}-fg">{{ color | uc_first }}</span>
|
||||||
</div>
|
{% endfor %}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<div class="col-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h3 class="card-title">Light badges</h3>
|
||||||
|
<div class="badges-list">
|
||||||
|
{% for color in colors %}
|
||||||
|
<span class="badge bg-{{ color }}-lt">{{ color | uc_first }}</span>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h3 class="card-title">Outline badges</h3>
|
||||||
|
<div class="badges-list">
|
||||||
|
{% for color in colors %}
|
||||||
|
<span class="badge badge-outline text-{{ color }}">{{ color | uc_first }}</span>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<h3 class="card-title">Badges with icons</h3>
|
||||||
|
<div class="badges-list">
|
||||||
|
{% for color in colors %}
|
||||||
|
<span class="badge bg-{{ color }} text-{{ color }}-fg"> {% include "ui/icon.html" icon="star" type="filled" %} {{ color | uc_first }} </span>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 col-lg-3">{% include "ui/dropdown-menu.html" show=true badge=true arrow=true %}</div>
|
||||||
|
<div class="col-sm-6 col-lg-9">
|
||||||
|
<div class="row row-cards">
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="btn-list">
|
||||||
|
{% for color in colors %}
|
||||||
|
<button class="btn">{{ color | uc_first }} badge <span class="badge bg-{{ color }} text-{{ color }}-fg ms-2">{{ forloop.index }}</span></button>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="btn-list">
|
||||||
|
{% for color in colors %}
|
||||||
|
<button class="btn position-relative">
|
||||||
|
{{ color | uc_first }} badge <span class="badge bg-{{ color }} text-{{ color }}-fg badge-notification badge-pill">{{ forloop.index }}</span>
|
||||||
|
</button>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-12">
|
||||||
|
<div class="card">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="btn-list">
|
||||||
|
{% for color in colors %}
|
||||||
|
<button class="btn position-relative">
|
||||||
|
{{ color | uc_first }} badge <span class="badge bg-{{ color }} badge-notification badge-blink"></span>
|
||||||
|
</button>
|
||||||
|
{% endfor %}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user