bootstrap-italia 2.17.2 → 3.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (155) hide show
  1. package/README.EN.md +1 -1
  2. package/README.md +1 -1
  3. package/dist/css/bootstrap-italia.min.css +1 -9
  4. package/dist/css/bootstrap-italia.min.css.map +1 -1
  5. package/dist/fonts/Titillium_Sans_Pro/OFL.txt +92 -0
  6. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff +0 -0
  7. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff2 +0 -0
  8. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff +0 -0
  9. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff2 +0 -0
  10. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff +0 -0
  11. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff2 +0 -0
  12. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff +0 -0
  13. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff2 +0 -0
  14. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff +0 -0
  15. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff2 +0 -0
  16. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff +0 -0
  17. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff2 +0 -0
  18. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff +0 -0
  19. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff2 +0 -0
  20. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff +0 -0
  21. package/dist/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff2 +0 -0
  22. package/dist/js/bootstrap-italia.bundle.min.js +10 -10
  23. package/dist/js/bootstrap-italia.min.js +4 -4
  24. package/dist/plugins/dropdown.js +1 -1
  25. package/dist/plugins/dropdown.js.map +1 -1
  26. package/dist/plugins/fonts-loader.js +340 -111
  27. package/dist/plugins/fonts-loader.js.map +1 -1
  28. package/dist/version.js +1 -1
  29. package/dist/version.js.map +1 -1
  30. package/package.json +3 -3
  31. package/src/fonts/Titillium_Sans_Pro/OFL.txt +92 -0
  32. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff +0 -0
  33. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Bold.woff2 +0 -0
  34. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff +0 -0
  35. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-BoldItalic.woff2 +0 -0
  36. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff +0 -0
  37. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Italic.woff2 +0 -0
  38. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff +0 -0
  39. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Light.woff2 +0 -0
  40. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff +0 -0
  41. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-LightItalic.woff2 +0 -0
  42. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff +0 -0
  43. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Regular.woff2 +0 -0
  44. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff +0 -0
  45. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-Semibold.woff2 +0 -0
  46. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff +0 -0
  47. package/src/fonts/Titillium_Sans_Pro/TitilliumSansPro-SemiboldItalic.woff2 +0 -0
  48. package/src/js/plugins/dropdown.js +1 -1
  49. package/src/js/plugins/fonts-loader.js +340 -111
  50. package/src/js/version.js +1 -1
  51. package/src/scss/base/_maps.scss +11 -0
  52. package/src/scss/base/_mixins.scss +2 -1
  53. package/src/scss/base/_reboot.scss +15 -147
  54. package/src/scss/base/_root.scss +272 -45
  55. package/src/scss/base/_utilities.scss +3 -3
  56. package/src/scss/base/_variables.scss +44 -55
  57. package/src/scss/base/_version.scss +1 -1
  58. package/src/scss/base/mixins/_banner.scss +7 -9
  59. package/src/scss/base/mixins/_focus.scss +14 -0
  60. package/src/scss/bootstrap-italia.scss +29 -32
  61. package/src/scss/components/_accept-overlay.scss +74 -50
  62. package/src/scss/components/_accordion.scss +120 -97
  63. package/src/scss/components/_affix.scss +14 -0
  64. package/src/scss/components/_alert.scss +60 -45
  65. package/src/scss/components/_anchor.scss +14 -0
  66. package/src/scss/components/_avatar.scss +236 -369
  67. package/src/scss/components/_back-to-top.scss +70 -54
  68. package/src/scss/components/_badge.scss +69 -36
  69. package/src/scss/components/_bottomnav.scss +14 -0
  70. package/src/scss/components/_breadcrumb.scss +78 -71
  71. package/src/scss/components/_button-group.scss +21 -7
  72. package/src/scss/components/_buttons.scss +289 -318
  73. package/src/scss/components/_calendar.scss +22 -8
  74. package/src/scss/components/_callout.scss +133 -125
  75. package/src/scss/components/_card-old.scss +14 -0
  76. package/src/scss/components/_card.scss +476 -518
  77. package/src/scss/components/_carousel.scss +14 -0
  78. package/src/scss/components/_chips.scss +150 -209
  79. package/src/scss/components/_code.scss +31 -6
  80. package/src/scss/components/_cookiebar.scss +14 -0
  81. package/src/scss/components/_dimmer.scss +14 -0
  82. package/src/scss/components/_dropdown.scss +144 -179
  83. package/src/scss/components/_figcaption.scss +14 -0
  84. package/src/scss/components/_font.scss +14 -0
  85. package/src/scss/components/_footer.scss +99 -75
  86. package/src/scss/components/_forward.scss +14 -0
  87. package/src/scss/components/_grid.scss +31 -22
  88. package/src/scss/components/_gridlist.scss +41 -19
  89. package/src/scss/components/_header.scss +150 -142
  90. package/src/scss/components/_headercenter.scss +129 -193
  91. package/src/scss/components/_headercentertheme.scss +14 -0
  92. package/src/scss/components/_headernavbar.scss +22 -14
  93. package/src/scss/components/_headernavbartheme.scss +16 -2
  94. package/src/scss/components/_headerslim.scss +133 -137
  95. package/src/scss/components/_headerslimtheme.scss +14 -0
  96. package/src/scss/components/_hero.scss +93 -202
  97. package/src/scss/components/_images.scss +14 -0
  98. package/src/scss/components/_imgresponsive.scss +14 -0
  99. package/src/scss/components/_linklist.scss +241 -262
  100. package/src/scss/components/_list-group.scss +26 -14
  101. package/src/scss/components/_list.scss +66 -123
  102. package/src/scss/components/_map.scss +14 -0
  103. package/src/scss/components/_masonry-loader.scss +14 -0
  104. package/src/scss/components/_megamenu.scss +191 -256
  105. package/src/scss/components/_modal.scss +115 -204
  106. package/src/scss/components/_nav.scss +43 -41
  107. package/src/scss/components/_navbar.scss +408 -91
  108. package/src/scss/components/_navigation.scss +56 -459
  109. package/src/scss/components/_navigationtheme.scss +109 -171
  110. package/src/scss/components/_navscroll.scss +210 -208
  111. package/src/scss/components/_navscrolltheme.scss +14 -0
  112. package/src/scss/components/_notifications.scss +14 -0
  113. package/src/scss/components/_offcanvas.scss +14 -0
  114. package/src/scss/components/_overlay-panel.scss +14 -0
  115. package/src/scss/components/_page-scroll.scss +14 -0
  116. package/src/scss/components/_pagination.scss +135 -80
  117. package/src/scss/components/_placeholders.scss +14 -0
  118. package/src/scss/components/_point-list.scss +15 -0
  119. package/src/scss/components/_popover.scss +29 -19
  120. package/src/scss/components/_print.scss +14 -0
  121. package/src/scss/components/_progress-bars.scss +14 -0
  122. package/src/scss/components/_progress-donuts.scss +14 -0
  123. package/src/scss/components/_progress-spinners.scss +14 -0
  124. package/src/scss/components/_rating-list.scss +14 -0
  125. package/src/scss/components/_rating.scss +76 -45
  126. package/src/scss/components/_sections.scss +51 -30
  127. package/src/scss/components/_sidebar.scss +119 -121
  128. package/src/scss/components/_sidebarthemes.scss +14 -0
  129. package/src/scss/components/_skiplinks.scss +14 -0
  130. package/src/scss/components/_steppers.scss +14 -0
  131. package/src/scss/components/_sticky.scss +14 -0
  132. package/src/scss/components/_tab.scss +14 -0
  133. package/src/scss/components/_tables.scss +14 -0
  134. package/src/scss/components/_thumbnav.scss +14 -0
  135. package/src/scss/components/_timeline.scss +14 -0
  136. package/src/scss/components/_toasts.scss +14 -0
  137. package/src/scss/components/_toolbar.scss +14 -0
  138. package/src/scss/components/_tooltip.scss +23 -9
  139. package/src/scss/components/_type.scss +176 -176
  140. package/src/scss/components/_videoplayer.scss +25 -5
  141. package/src/scss/forms/_accessible-autocomplete.scss +25 -27
  142. package/src/scss/forms/_autocomplete.scss +99 -144
  143. package/src/scss/forms/_form-control.scss +47 -116
  144. package/src/scss/forms/_form-input-file.scss +7 -6
  145. package/src/scss/forms/_form-input-number.scss +38 -22
  146. package/src/scss/forms/_form-input-upload.scss +149 -147
  147. package/src/scss/forms/_form-password.scss +14 -11
  148. package/src/scss/forms/_form-select.scss +3 -92
  149. package/src/scss/forms/_forms.scss +304 -247
  150. package/src/scss/forms/_input-group.scss +23 -36
  151. package/src/scss/forms/_just-validate.scss +11 -12
  152. package/src/scss/utilities/focus.scss +3 -12
  153. package/src/scss/utilities/icons.scss +59 -13
  154. package/src/scss/components/_pager.scss +0 -166
  155. package/src/scss/forms/_form-text.scss +0 -11
@@ -1,419 +1,313 @@
1
- @use 'sass:math';
1
+ // Component: avatar
2
+ //
3
+ // Description: Component styles for avatar
4
+ //
5
+
6
+ // Variables
7
+ //
8
+
9
+ // Properties
10
+ //
2
11
 
3
12
  .avatar {
4
- display: inline-flex;
5
- overflow: hidden;
6
- border-radius: 50%;
7
- width: $avatar-base-size * 4; // default size equals to md
8
- height: $avatar-base-size * 4; // default size equals to md
9
- justify-content: center;
10
- align-items: center;
11
- background: $color-background-secondary-lighter; // UI kit
12
- color: $color-text-secondary; // UI kit
13
- box-sizing: content-box;
14
- transition: background-color 0.2s;
13
+ --#{$prefix}avatar-background: var(--#{$prefix}color-background-secondary-lighter); // Controls the background for the avatar, using color tokens.
14
+ --#{$prefix}avatar-dot-border-color: var(--#{$prefix}color-border-inverse); // Controls the dot border color for the avatar, using color tokens.
15
+ --#{$prefix}avatar-dot-border-size: 2px; // Controls the dot border size for the avatar.
16
+ --#{$prefix}avatar-dot-offset-bottom: 0; // Controls the bottom offset for the avatar dot.
17
+ --#{$prefix}avatar-dot-offset-right: 0; // Controls the right offset for the avatar dot.
18
+ --#{$prefix}avatar-dot-offset-top: 4px; // Controls the top offset for the avatar dot.
19
+ --#{$prefix}avatar-dot-size: 12px; // Controls the size of the avatar dot.
20
+ --#{$prefix}avatar-font-size: var(--#{$prefix}font-size-3); // Controls the font size for the avatar, using font tokens.
21
+ --#{$prefix}avatar-font-weight: var(--#{$prefix}font-weight-solid); // Controls the font weight for the avatar, using font tokens.
22
+ --#{$prefix}avatar-icon-size: var(--#{$prefix}icon-size-s); // Controls the icon size for the avatar, using icon tokens.
23
+ --#{$prefix}avatar-overlay-background: var(--#{$prefix}color-background-emphasis); // Controls the overlay background for the avatar, using color tokens.
24
+ --#{$prefix}avatar-radius: var(--#{$prefix}radius-circle); // Controls the border radius for the avatar, using radius tokens.
25
+ --#{$prefix}avatar-size: 2.5rem; // Controls the default size for the avatar.
26
+ --#{$prefix}avatar-text-color: var(--#{$prefix}color-text-secondary); // Controls the text color for the avatar, using color tokens.
27
+ }
15
28
 
16
- img {
17
- width: 100%;
18
- height: 100%;
19
- object-fit: cover;
20
- object-position: center;
21
- transition: filter 0.2s;
22
- border-radius: 50%;
23
- }
29
+ // Styles
30
+ //
24
31
 
25
- p {
26
- font-size: 1rem; // default size equals to md
27
- margin: 0;
28
- text-align: center;
29
- line-height: 1em;
30
- position: absolute;
31
- }
32
+ // Avatar variants map
33
+ // Edit the colors to match your theme or add more variants
34
+ $avatar-variants: (
35
+ primary: $color-primary,
36
+ secondary: $color-secondary,
37
+ );
32
38
 
33
- .icon {
34
- height: 16px; // default size equals to md
35
- width: 16px;
39
+ /* stylelint-disable-next-line no-duplicate-selectors */
40
+ .avatar {
41
+ position: relative;
42
+ z-index: 1;
43
+ display: inline-flex;
44
+ align-items: center;
45
+ justify-content: center;
46
+ width: var(--#{$prefix}avatar-size);
47
+ height: var(--#{$prefix}avatar-size);
48
+ border-radius: var(--#{$prefix}avatar-radius);
49
+ background: var(--#{$prefix}avatar-background);
50
+ color: var(--#{$prefix}avatar-text-color);
51
+ transition: background-color var(--#{$prefix}transition-instant);
52
+
53
+ // Avatar color variants
54
+ @each $avatar-variant, $avatar-variant-color in $avatar-variants {
55
+ &.avatar-#{$avatar-variant} {
56
+ --#{$prefix}avatar-background: #{$avatar-variant-color};
57
+ --#{$prefix}avatar-text-color: var(--#{$prefix}color-text-inverse);
58
+ }
36
59
  }
37
60
 
38
- &.avatar-primary {
39
- background: $primary;
61
+ &.size-xs {
62
+ --#{$prefix}avatar-dot-border-size: 1px;
63
+ --#{$prefix}avatar-font-size: 0.625rem;
64
+ --#{$prefix}avatar-size: 1rem;
65
+ --#{$prefix}avatar-icon-size: 0.625rem;
40
66
  }
41
67
 
42
- &.avatar-secondary {
43
- background: $secondary;
68
+ &.size-sm {
69
+ --#{$prefix}avatar-dot-border-size: 1px;
70
+ --#{$prefix}avatar-font-size: var(--#{$prefix}font-size-1);
71
+ --#{$prefix}avatar-size: 1.5rem;
72
+ --#{$prefix}avatar-icon-size: var(--#{$prefix}icon-size-xs);
44
73
  }
45
74
 
46
- &.avatar-green {
47
- background: $green;
75
+ &.size-md {
76
+ --#{$prefix}avatar-font-size: var(--#{$prefix}font-size-4);
77
+ --#{$prefix}avatar-size: 2.5rem;
78
+ --#{$prefix}avatar-icon-size: var(--#{$prefix}icon-size-s);
79
+ --#{$prefix}avatar-dot-offset-right: -2px;
48
80
  }
49
81
 
50
- &.avatar-orange {
51
- background: $orange;
82
+ &.size-lg {
83
+ --#{$prefix}avatar-font-size: var(--#{$prefix}font-size-6);
84
+ --#{$prefix}avatar-size: 3.5rem;
85
+ --#{$prefix}avatar-icon-size: var(--#{$prefix}icon-size-m);
86
+ --#{$prefix}avatar-dot-offset-right: -2px;
87
+ --#{$prefix}avatar-dot-size: 14px;
52
88
  }
53
89
 
54
- &.avatar-red {
55
- background: $red;
90
+ &.size-xl {
91
+ --#{$prefix}avatar-font-size: var(--#{$prefix}font-size-9);
92
+ --#{$prefix}avatar-size: 5rem;
93
+ --#{$prefix}avatar-icon-size: var(--#{$prefix}icon-size-l);
94
+ --#{$prefix}avatar-dot-size: 16px;
56
95
  }
57
96
 
58
- &.avatar-primary,
59
- &.avatar-secondary,
60
- &.avatar-green,
61
- &.avatar-orange,
62
- &.avatar-red {
63
- color: $white;
97
+ &.size-xxl {
98
+ --#{$prefix}avatar-font-size: var(--#{$prefix}font-size-11);
99
+ --#{$prefix}avatar-size: 7rem;
100
+ --#{$prefix}avatar-icon-size: var(--#{$prefix}icon-size-xl);
101
+ --#{$prefix}avatar-dot-size: 20px;
102
+ --#{$prefix}avatar-dot-offset-right: 4px;
64
103
  }
65
104
 
66
- &.avatar-dropdown {
67
- overflow: visible;
105
+ &-wrapper {
68
106
  position: relative;
69
-
70
- .dropdown {
71
- position: absolute;
72
- top: 0;
73
- left: 0;
74
- right: 0;
75
- border: 0;
76
- display: flex;
77
- justify-content: center;
78
- align-items: center;
79
- height: 100%;
80
- }
81
-
82
- .btn-dropdown {
83
- color: inherit;
84
- padding: 0;
85
- line-height: 0;
86
- font-size: 0.75rem;
87
- }
88
-
89
- .list-item {
90
- display: flex;
91
- align-items: center;
92
- padding: 0 16px;
93
- font-size: 0.875rem;
94
- }
95
-
96
- .link-list {
97
- white-space: nowrap;
98
-
99
- span {
100
- line-height: 1em;
101
- }
102
-
103
- li {
104
- margin-bottom: 16px;
105
- &:last-child {
106
- margin-bottom: 0;
107
- }
108
- }
109
-
110
- .avatar {
111
- margin-right: 16px;
112
-
113
- &.size-sm {
114
- margin-right: 12px;
115
- }
116
-
117
- p {
118
- color: $white !important;
119
- }
120
- }
121
- }
122
-
123
- .dropdown-menu {
124
- margin-left: -27px !important;
125
- }
107
+ z-index: 1;
126
108
  }
127
109
 
128
- &.size-xs {
129
- width: $avatar-base-size * 2;
130
- height: $avatar-base-size * 2;
131
-
132
- p {
133
- font-size: 0.625rem;
134
- }
110
+ &-presence,
111
+ &-status {
112
+ position: absolute;
113
+ right: var(--#{$prefix}avatar-dot-offset-right);
114
+ z-index: 10;
115
+ display: flex;
116
+ align-items: center;
117
+ justify-content: center;
118
+ width: var(--#{$prefix}avatar-dot-size);
119
+ height: var(--#{$prefix}avatar-dot-size);
120
+ border: var(--#{$prefix}avatar-dot-border-size) solid var(--#{$prefix}avatar-dot-border-color);
121
+ border-radius: var(--#{$prefix}avatar-radius);
122
+ background: $color-background-secondary-lighter;
123
+ color: var(--#{$prefix}color-text-inverse);
135
124
 
136
125
  .icon {
137
- height: 10px;
138
- width: 10px;
126
+ stroke-width: 2px;
127
+ stroke: var(--#{$prefix}icon-inverse);
139
128
  }
140
129
  }
141
130
 
142
- &.size-sm {
143
- width: $avatar-base-size * 3;
144
- height: $avatar-base-size * 3;
145
-
146
- p {
147
- font-size: 0.875rem;
148
- }
149
-
150
- .icon {
151
- height: 12px;
152
- width: 12px;
153
- }
131
+ &-presence.active,
132
+ &-status.approved {
133
+ background: var(--#{$prefix}color-background-success);
154
134
  }
155
135
 
156
- &.size-md {
157
- width: $avatar-base-size * 4;
158
- height: $avatar-base-size * 4;
159
-
160
- p {
161
- font-size: 1rem;
162
- }
163
-
164
- .icon {
165
- height: 16px;
166
- width: 16px;
167
- }
168
-
169
- .avatar-presence,
170
- .avatar-status {
171
- border-width: 1px;
172
-
173
- .icon {
174
- display: none;
175
- }
176
- }
136
+ &-presence.busy,
137
+ &-status.declined {
138
+ background: $red;
177
139
  }
178
140
 
179
- &.size-lg {
180
- width: $avatar-base-size * 5;
181
- height: $avatar-base-size * 5;
182
-
183
- p {
184
- font-size: 1.125rem;
185
- }
186
-
187
- .icon {
188
- height: 20px;
189
- width: 20px;
190
- }
191
-
192
- .avatar-presence,
193
- .avatar-status {
194
- right: -2px;
195
- width: 15px;
196
- height: 15px;
197
- }
198
-
199
- .avatar-status {
200
- top: math.div($avatar-base-size, 48);
201
- }
141
+ &-presence {
142
+ bottom: 8px;
202
143
  }
203
144
 
204
- &.size-xl {
205
- width: $avatar-base-size * 10;
206
- height: $avatar-base-size * 10;
207
-
208
- p {
209
- font-size: 2.25rem;
210
- }
211
-
212
- .icon {
213
- height: 40px;
214
- width: 40px;
215
- }
216
-
217
- .avatar-presence,
218
- .avatar-status {
219
- right: 6px;
220
- width: 18px;
221
- height: 18px;
222
- }
223
-
224
- .avatar-presence {
225
- bottom: $avatar-base-size;
226
- }
227
-
228
- .avatar-status {
229
- top: $avatar-base-size * 0.25;
145
+ &-presence.hidden {
146
+ &:after {
147
+ position: absolute;
148
+ top: 50%;
149
+ left: 50%;
150
+ content: '';
151
+ width: calc(100% - 4px);
152
+ height: calc(100% - 4px);
153
+ border-radius: 50%;
154
+ background: var(--#{$prefix}color-background-inverse);
155
+ transform: translateX(-50%) translateY(-50%);
230
156
  }
231
157
  }
232
158
 
233
- &.size-xxl {
234
- width: $avatar-base-size * 16;
235
- height: $avatar-base-size * 16;
236
-
237
- p {
238
- font-size: 58px;
239
- }
159
+ &-status {
160
+ top: var(--#{$prefix}avatar-dot-offset-top);
161
+ }
240
162
 
241
- .icon {
242
- height: 62px;
243
- width: 62px;
244
- }
163
+ &-status.notify {
164
+ background: var(--#{$prefix}theme-primary);
165
+ }
245
166
 
246
- .avatar-presence,
247
- .avatar-status {
248
- right: 4px;
249
- width: 24px;
250
- height: 24px;
167
+ // Avatar image
168
+ img {
169
+ width: 100%;
170
+ height: 100%;
171
+ border-radius: var(--#{$prefix}avatar-radius);
172
+ object-fit: cover;
173
+ object-position: center;
174
+ }
251
175
 
252
- .icon {
253
- width: 20px;
254
- height: 20px;
255
- }
256
- }
176
+ // Avatar first letters
177
+ p {
178
+ margin: 0;
179
+ color: var(--#{$prefix}avatar-text-color);
180
+ font-size: var(--#{$prefix}avatar-font-size);
181
+ font-weight: var(--#{$prefix}avatar-font-weight);
182
+ line-height: 1;
183
+ }
257
184
 
258
- .avatar-presence {
259
- bottom: $avatar-base-size * 2;
260
- }
185
+ // Avatar icon
186
+ .icon {
187
+ width: var(--#{$prefix}avatar-icon-size);
188
+ height: var(--#{$prefix}avatar-icon-size);
189
+ }
261
190
 
262
- .avatar-status {
263
- top: $avatar-base-size;
264
- }
191
+ // Avatar sibling span text
192
+ & ~ span {
193
+ margin-left: var(--#{$prefix}spacing-xxs);
265
194
  }
266
195
  }
267
196
 
268
- a.avatar {
269
- filter: brightness(100%);
270
-
271
- &:hover {
272
- background: shade-color($color-background-secondary-lighter, 5%);
273
-
274
- img {
275
- filter: brightness(90%);
276
- }
277
-
278
- &.avatar-primary {
279
- background: shade-color($primary, 5%);
280
- }
281
-
282
- &.avatar-secondary {
283
- background: shade-color($secondary, 5%);
284
- }
285
-
286
- &.avatar-green {
287
- background: shade-color($green, 5%);
288
- }
289
-
290
- &.avatar-orange {
291
- background: shade-color($orange, 5%);
292
- }
197
+ //
198
+ // Avatar with link
293
199
 
294
- &.avatar-red {
295
- background: shade-color($red, 12%);
296
- }
200
+ a.avatar,
201
+ a .avatar {
202
+ &::after {
203
+ position: absolute;
204
+ top: 0;
205
+ right: 0;
206
+ z-index: 10;
207
+ content: '';
208
+ display: block;
209
+ width: 100%;
210
+ height: 100%;
211
+ border-radius: var(--#{$prefix}avatar-radius);
212
+ opacity: 0;
213
+ background: var(--#{$prefix}color-background-emphasis);
214
+ transition: opacity 0.2s;
297
215
  }
298
- }
299
216
 
300
- .avatar-dropdown {
301
- &:hover,
302
- &:focus-within {
303
- background: shade-color($color-background-secondary-lighter, 5%);
217
+ &:hover::after {
218
+ opacity: 0.25;
304
219
  }
220
+ }
305
221
 
306
- .btn-dropdown:focus {
307
- box-shadow: none;
308
- }
222
+ a.avatar,
223
+ a.avatar:hover,
224
+ a.avatar:hover p,
225
+ a .avatar:hover,
226
+ a .avatar:hover p {
227
+ text-decoration: none;
309
228
  }
310
229
 
311
- .avatar-wrapper {
230
+ // Avatar dropdown
231
+ .avatar-dropdown {
312
232
  position: relative;
233
+ overflow: visible;
313
234
 
314
- .avatar-presence,
315
- .avatar-status {
235
+ .dropdown {
316
236
  position: absolute;
237
+ top: 0;
317
238
  right: 0;
318
- width: 10px;
319
- height: 10px;
320
- border: 2px solid $white;
321
- background: $color-background-secondary-lighter;
322
- color: $white;
323
- border-radius: 50%;
239
+ left: 0;
324
240
  display: flex;
325
- justify-content: center;
326
241
  align-items: center;
327
-
328
- .icon {
329
- width: 18px;
330
- height: 18px;
331
- stroke-width: 1px;
332
- stroke: $white;
333
- }
242
+ justify-content: center;
243
+ height: 100%;
244
+ border: 0;
334
245
  }
335
246
 
336
- .avatar-presence {
337
- bottom: $avatar-base-size;
338
-
339
- &.active {
340
- background: $green;
341
- }
342
-
343
- &.busy {
344
- background: $red;
345
- }
346
-
347
- &.hidden {
348
- &:after {
349
- content: '';
350
- position: absolute;
351
- width: calc(100% - 4px);
352
- height: calc(100% - 4px);
353
- background: $white;
354
- transform: translateX(-50%) translateY(-50%);
355
- top: 50%;
356
- left: 50%;
357
- border-radius: 50%;
358
- }
359
- }
247
+ .dropdown-menu {
248
+ margin-left: -27px;
360
249
  }
361
250
 
362
- .avatar-status {
363
- top: 0;
251
+ .btn-dropdown {
252
+ padding: 0;
253
+ color: inherit;
254
+ font-size: var(--#{$prefix}label-font-size-xs);
255
+ line-height: 0;
364
256
 
365
- &.approved {
366
- background: $green;
257
+ &:focus {
258
+ box-shadow: none;
367
259
  }
260
+ }
368
261
 
369
- &.declined {
370
- background: $red;
371
- }
262
+ .list-item {
263
+ display: flex;
264
+ align-items: center;
265
+ // font-size: var(--#{$prefix}font-size-1);
266
+ }
372
267
 
373
- &.notify {
374
- background: $primary-b1;
375
- }
268
+ .link-list {
269
+ white-space: nowrap;
376
270
  }
271
+ }
377
272
 
378
- &.avatar-extra-text {
379
- display: inline-flex;
380
- justify-content: flex-start;
381
- align-items: center;
382
- margin-bottom: 16px;
273
+ .avatar-extra-text {
274
+ display: inline-flex;
275
+ align-items: center;
276
+ justify-content: flex-start;
277
+ margin-bottom: 16px;
383
278
 
384
- .avatar {
385
- flex-shrink: 0;
386
- }
279
+ .avatar {
280
+ flex-shrink: 0;
281
+ }
387
282
 
388
- .extra-text {
389
- line-height: 1.2em;
390
- margin-left: 16px;
283
+ .extra-text {
284
+ margin-left: var(--#{$prefix}spacing-s);
391
285
 
392
- h3,
393
- h4 {
394
- font-weight: 600;
395
- margin: 0;
396
- font-size: 1.125rem;
286
+ h3,
287
+ h4 {
288
+ margin: 0;
289
+ font-size: var(--#{$prefix}heading-6-font-size);
397
290
 
398
- a {
399
- display: inline-block;
400
- }
291
+ a {
292
+ display: inline-block;
401
293
  }
294
+ }
402
295
 
403
- p,
404
- time {
405
- margin: 0;
406
- text-transform: uppercase;
407
- font-size: 0.75rem;
408
- }
296
+ p,
297
+ time {
298
+ margin: 0;
299
+ color: var(--#{$prefix}color-text-secondary);
300
+ font-size: var(--#{$prefix}caption-font-size);
301
+ text-transform: uppercase;
409
302
  }
410
303
  }
411
304
  }
412
305
 
413
306
  .avatar-group {
414
307
  & > li {
415
- margin-bottom: 16px;
416
- line-height: 1;
308
+ margin-bottom: var(--#{$prefix}spacing-s);
309
+ display: flex;
310
+
417
311
  &:last-child {
418
312
  margin-bottom: 0;
419
313
  }
@@ -422,52 +316,25 @@ a.avatar {
422
316
  display: inline-flex;
423
317
  align-items: center;
424
318
  padding: 0;
425
- line-height: 1em;
426
- .avatar {
427
- margin-right: 12px;
428
-
429
- p {
430
- font-size: 1rem;
431
- }
432
-
433
- &.avatar-primary,
434
- &.avatar-secondary,
435
- &.avatar-green,
436
- &.avatar-orange,
437
- &.avatar-red {
438
- p {
439
- color: $white;
440
- line-height: 0;
441
- }
442
- }
443
- }
444
-
445
- span {
446
- margin: 0;
447
- font-size: 0.875rem;
448
- font-weight: 600;
449
- }
450
- }
451
-
452
- a.list-item span {
453
- text-decoration: underline;
454
319
  }
455
320
  }
456
321
  }
457
322
 
458
323
  .avatar-group-stacked {
459
324
  display: flex;
460
- justify-content: flex-start;
325
+ flex-direction: row;
461
326
  align-items: flex-start;
327
+ justify-content: flex-start;
462
328
  margin: 0;
463
329
  padding: 0;
464
- flex-direction: row;
330
+
465
331
  li {
466
332
  list-style-type: none;
467
333
  line-height: 0;
334
+
468
335
  & > .avatar {
469
336
  margin-left: -6px;
470
- border: 2px solid $white;
337
+ border: 2px solid var(--#{$prefix}color-border-inverse);
471
338
  }
472
339
  }
473
340
  }