|
2 | 2 | @use 'styles/utilities' as *; |
3 | 3 |
|
4 | 4 | :host { |
5 | | - --_small-size: #{rem(16px)}; |
6 | | - --_small-font-size: #{rem(10px)}; |
7 | | - --_small-icon-size: #{rem(10px)}; |
8 | | - --_small-padding: #{rem(2px)}; |
9 | | - |
10 | | - --_medium-size: #{rem(22px)}; |
11 | | - --_medium-font-size: #{rem(12px)}; |
12 | | - --_medium-icon-size: #{rem(12px)}; |
13 | | - --_medium-padding: #{rem(4px)}; |
14 | | - |
15 | | - --_large-size: #{rem(28px)}; |
16 | | - --_large-font-size: #{rem(14px)}; |
17 | | - --_large-icon-size: #{rem(16px)}; |
18 | | - --_large-padding: #{rem(6px)}; |
19 | | - |
20 | | - --size: calc( |
21 | | - (var(--_small-size) * var(--is-small)) + |
22 | | - (var(--_medium-size) * var(--is-medium)) + |
23 | | - (var(--_large-size) * var(--is-large)) |
24 | | - ); |
25 | | - --_badge-size: var(--size); |
26 | | - --_badge-font-size: calc( |
27 | | - (var(--_small-font-size) * var(--is-small)) + |
28 | | - (var(--_medium-font-size) * var(--is-medium)) + |
29 | | - (var(--_large-font-size) * var(--is-large)) |
30 | | - ); |
31 | | - --_badge-icon-size: calc( |
32 | | - (var(--_small-icon-size) * var(--is-small)) + |
33 | | - (var(--_medium-icon-size) * var(--is-medium)) + |
34 | | - (var(--_large-icon-size) * var(--is-large)) |
35 | | - ); |
36 | | - --_badge-padding: calc( |
37 | | - (var(--_small-padding) * var(--is-small)) + |
38 | | - (var(--_medium-padding) * var(--is-medium)) + |
39 | | - (var(--_large-padding) * var(--is-large)) |
40 | | - ); |
41 | | - |
42 | 5 | width: fit-content; |
43 | 6 | height: fit-content; |
44 | 7 | display: inline-flex; |
45 | | - font-weight: 500; |
46 | 8 | vertical-align: top; |
47 | 9 | } |
48 | 10 |
|
49 | | -:host([dot]) { |
50 | | - --size: #{rem(8px)}; |
51 | | -} |
52 | | - |
53 | 11 | [part='base'] { |
54 | | - @include type-style('caption'); |
55 | | - |
56 | 12 | display: inline-flex; |
57 | | - min-width: var(--size); |
58 | | - min-height: var(--size); |
| 13 | + min-width: var(--_badge-size); |
| 14 | + min-height: var(--_badge-size); |
59 | 15 | justify-content: center; |
60 | 16 | align-items: center; |
61 | 17 | overflow: hidden; |
62 | 18 | white-space: nowrap; |
63 | | - font-size: var(--_badge-font-size); |
| 19 | + font-size: sizable(var(--ig-caption-font-size), var(--ig-body-2-font-size), var(--ig-body-2-font-size)); |
| 20 | + font-weight: sizable(var(--ig-caption-font-weight), var(--ig-body-2-font-weight), var(--ig-body-2-font-weight)); |
| 21 | + line-height: sizable(var(--ig-caption-line-height), var(--ig-body-2-line-height), var(--ig-body-2-line-height)); |
| 22 | + letter-spacing: sizable(var(--ig-caption-letter-spacing), var(--ig-body-2-letter-spacing), var(--ig-body-2-letter-spacing)); |
| 23 | + text-transform: sizable(var(--ig-caption-text-transform), var(--ig-body-2-text-transform), var(--ig-body-2-text-transform)); |
64 | 24 | } |
65 | 25 |
|
66 | | -::slotted(*) { |
67 | | - --size: var(--_badge-icon-size) !important; |
68 | | -} |
| 26 | +:host(:not(:empty, [dot])) [part='base'] { |
| 27 | + padding-inline: pad-inline(rem(4px), rem(6px), rem(8px)); |
69 | 28 |
|
70 | | -::slotted(igc-icon) { |
71 | | - --size: var(--_badge-icon-size) !important; |
72 | | - --ig-icon-size: var(--_badge-icon-size); |
73 | | - --igx-icon-size: var(--_badge-icon-size); |
74 | | -} |
75 | | - |
76 | | -:host(:not(:empty):not([dot])) [part='base'] { |
77 | | - padding-inline: var(--_badge-padding); |
78 | | -} |
79 | | - |
80 | | -:host([dot]) [part='base'] { |
81 | | - min-width: var(--size); |
82 | | - max-width: var(--size); |
83 | | - min-height: var(--size); |
84 | | - max-height: var(--size); |
85 | | - padding: 0; |
| 29 | + //should be fixed |
| 30 | + &:has(::slotted(igc-icon)) { |
| 31 | + padding: 0; |
| 32 | + } |
86 | 33 | } |
87 | 34 |
|
88 | 35 | :host([variant='info']) [part='base'] { |
|
95 | 42 |
|
96 | 43 | :host([variant='warning']) [part='base'] { |
97 | 44 | background: color(warn, 500); |
| 45 | + color: contrast-color(warn, 500); |
| 46 | + |
| 47 | + igc-icon, |
| 48 | + ::slotted(igc-icon) { |
| 49 | + color: contrast-color(warn, 500); |
| 50 | + } |
98 | 51 | } |
99 | 52 |
|
100 | 53 | :host([variant='danger']) [part='base'] { |
101 | 54 | background: color(error, 500); |
| 55 | + color: contrast-color(error, 900); |
102 | 56 | } |
103 | 57 |
|
104 | 58 | :host([shape='rounded']), |
105 | | -:host([shape='rounded']) [part='base'] { |
106 | | - border-radius: calc(var(--size) * 2); |
| 59 | +:host([shape='rounded']) [part='base'], |
| 60 | +:host([dot]) [part='base'] { |
| 61 | + border-radius: calc(var(--_badge-size) * 2); |
107 | 62 | } |
0 commit comments