@revikornmann/muka-ui 0.27.1 → 0.27.3
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.
- package/dist/cjs/components/Avatar/Avatar.css +45 -11
- package/dist/cjs/components/Avatar/Avatar.js +4 -1
- package/dist/cjs/components/Avatar/Avatar.js.map +1 -1
- package/dist/cjs/components/Avatar/AvatarGroup.js +4 -2
- package/dist/cjs/components/Avatar/AvatarGroup.js.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.js +6 -3
- package/dist/cjs/components/Tabs/Tabs.js.map +1 -1
- package/dist/esm/components/Avatar/Avatar.css +45 -11
- package/dist/esm/components/Avatar/Avatar.js +4 -1
- package/dist/esm/components/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/Avatar/AvatarGroup.js +4 -2
- package/dist/esm/components/Avatar/AvatarGroup.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.js +6 -3
- package/dist/esm/components/Tabs/Tabs.js.map +1 -1
- package/dist/styles/components/Avatar.css +45 -11
- package/dist/styles/index.css +766 -724
- package/dist/styles/muka-dark.css +766 -724
- package/dist/styles/muka-light.css +766 -724
- package/dist/styles/tokens-bouwplan-dark.css +15 -7
- package/dist/styles/tokens-bouwplan-light.css +15 -7
- package/dist/styles/tokens-fscl-dark.css +15 -7
- package/dist/styles/tokens-fscl-light.css +15 -7
- package/dist/styles/tokens-grip-dark.css +15 -7
- package/dist/styles/tokens-grip-light.css +15 -7
- package/dist/styles/tokens-muka-dark.css +15 -7
- package/dist/styles/tokens-muka-light.css +15 -7
- package/dist/styles/tokens-wireframe-dark.css +15 -7
- package/dist/styles/tokens-wireframe-light.css +15 -7
- package/dist/styles/wireframe-dark.css +766 -724
- package/dist/styles/wireframe-light.css +766 -724
- package/dist/types/components/Avatar/Avatar.d.ts +4 -1
- package/dist/types/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/types/components/Avatar/AvatarGroup.d.ts +8 -0
- package/dist/types/components/Avatar/AvatarGroup.d.ts.map +1 -1
- package/dist/types/components/Tabs/Tabs.d.ts.map +1 -1
- package/docs/consumers/brand.md +6 -2
- package/docs/consumers/setup-instructions.md +35 -3
- package/package.json +1 -1
- package/skills/setup-muka/SKILL.md +36 -3
- package/tokens/t4-components/avatar.json +46 -8
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
align-items: center;
|
|
8
8
|
justify-content: center;
|
|
9
9
|
flex-shrink: 0;
|
|
10
|
-
overflow:
|
|
10
|
+
/* No overflow clipping: the status dot sits on the edge. The image and the
|
|
11
|
+
loading shimmer round themselves to the avatar shape instead. */
|
|
11
12
|
user-select: none;
|
|
12
13
|
vertical-align: middle;
|
|
13
14
|
background-color: var(--avatar-color-background-default);
|
|
@@ -80,9 +81,10 @@
|
|
|
80
81
|
border-radius: var(--avatar-radius-square-sm);
|
|
81
82
|
}
|
|
82
83
|
|
|
83
|
-
/* 4xs is too small for initials, the fallback icon or a status dot:
|
|
84
|
+
/* 4xs is too small for initials, an icon, the fallback icon or a status dot:
|
|
84
85
|
it shows the picture, or the plain background */
|
|
85
86
|
.muka-avatar--4xs .muka-avatar__initials,
|
|
87
|
+
.muka-avatar--4xs .muka-avatar__icon,
|
|
86
88
|
.muka-avatar--4xs .muka-avatar__fallback,
|
|
87
89
|
.muka-avatar--4xs .muka-avatar__status {
|
|
88
90
|
display: none;
|
|
@@ -118,38 +120,59 @@
|
|
|
118
120
|
.muka-avatar__skeleton {
|
|
119
121
|
position: absolute;
|
|
120
122
|
inset: 0;
|
|
123
|
+
border-radius: inherit;
|
|
121
124
|
background: linear-gradient(
|
|
122
125
|
90deg,
|
|
123
126
|
transparent 0%,
|
|
124
127
|
var(--color-surface-level1) 50%,
|
|
125
128
|
transparent 100%
|
|
126
|
-
);
|
|
129
|
+
) no-repeat;
|
|
130
|
+
background-size: 50% 100%;
|
|
127
131
|
animation: avatar-loading 1.5s ease-in-out infinite;
|
|
128
132
|
}
|
|
129
133
|
|
|
134
|
+
/* The highlight sweeps by background position, so it stays inside the
|
|
135
|
+
rounded shape without the avatar clipping its overflow */
|
|
130
136
|
@keyframes avatar-loading {
|
|
131
137
|
0% {
|
|
132
|
-
|
|
138
|
+
background-position: -100% 0;
|
|
133
139
|
}
|
|
134
140
|
100% {
|
|
135
|
-
|
|
141
|
+
background-position: 200% 0;
|
|
136
142
|
}
|
|
137
143
|
}
|
|
138
144
|
|
|
139
145
|
/* Avatar content */
|
|
140
146
|
.muka-avatar__image {
|
|
147
|
+
border-radius: inherit;
|
|
141
148
|
width: 100%;
|
|
142
149
|
height: 100%;
|
|
143
150
|
object-fit: cover;
|
|
144
151
|
display: block;
|
|
145
152
|
}
|
|
146
153
|
|
|
154
|
+
/* Icon slot: a fixed icon size per avatar size, in the initials colour
|
|
155
|
+
(subtle text) */
|
|
147
156
|
.muka-avatar__icon {
|
|
148
|
-
width: 60%;
|
|
149
|
-
height: 60%;
|
|
150
157
|
display: flex;
|
|
151
158
|
align-items: center;
|
|
152
159
|
justify-content: center;
|
|
160
|
+
color: var(--avatar-color-foreground-default);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.muka-avatar--3xs .muka-avatar__icon { width: var(--avatar-icon-size-3xs); height: var(--avatar-icon-size-3xs); }
|
|
164
|
+
.muka-avatar--2xs .muka-avatar__icon { width: var(--avatar-icon-size-2xs); height: var(--avatar-icon-size-2xs); }
|
|
165
|
+
.muka-avatar--xs .muka-avatar__icon { width: var(--avatar-icon-size-xs); height: var(--avatar-icon-size-xs); }
|
|
166
|
+
.muka-avatar--sm .muka-avatar__icon { width: var(--avatar-icon-size-sm); height: var(--avatar-icon-size-sm); }
|
|
167
|
+
.muka-avatar--md .muka-avatar__icon { width: var(--avatar-icon-size-md); height: var(--avatar-icon-size-md); }
|
|
168
|
+
.muka-avatar--lg .muka-avatar__icon { width: var(--avatar-icon-size-lg); height: var(--avatar-icon-size-lg); }
|
|
169
|
+
.muka-avatar--xl .muka-avatar__icon { width: var(--avatar-icon-size-xl); height: var(--avatar-icon-size-xl); }
|
|
170
|
+
|
|
171
|
+
/* A Muka Icon fills the slot and takes its colour (its own `color` prop still wins) */
|
|
172
|
+
.muka-avatar__icon .muka-icon {
|
|
173
|
+
width: 100%;
|
|
174
|
+
height: 100%;
|
|
175
|
+
color: inherit;
|
|
153
176
|
}
|
|
154
177
|
|
|
155
178
|
.muka-avatar__icon svg {
|
|
@@ -256,9 +279,12 @@
|
|
|
256
279
|
|
|
257
280
|
/* Avatar Group (Figma "Avatar Stack") */
|
|
258
281
|
.muka-avatar-group {
|
|
282
|
+
position: relative;
|
|
259
283
|
display: inline-flex;
|
|
260
284
|
align-items: center;
|
|
261
285
|
flex-direction: row;
|
|
286
|
+
/* Never stretch to a grid cell or column, so the badge stays on the last avatar */
|
|
287
|
+
width: fit-content;
|
|
262
288
|
}
|
|
263
289
|
|
|
264
290
|
/* Later avatars sit on top of earlier ones (DOM order); a hovered one comes to the front */
|
|
@@ -278,7 +304,7 @@
|
|
|
278
304
|
box-shadow: 0 0 0 var(--avatar-group-ring-width) var(--avatar-group-ring-color);
|
|
279
305
|
}
|
|
280
306
|
|
|
281
|
-
/* Overlap. Figma specifies exact values for
|
|
307
|
+
/* Overlap. Figma specifies exact values for 40 / 32 / 24px avatars (xs / 2xs / 3xs);
|
|
282
308
|
other sizes use the same proportions: tight 2/3, compact 1/2, spacious 1/3. */
|
|
283
309
|
.muka-avatar-group--4xs { --muka-avatar-group-size: var(--avatar-size-4xs); }
|
|
284
310
|
.muka-avatar-group--3xs { --muka-avatar-group-size: var(--avatar-size-3xs); }
|
|
@@ -293,13 +319,13 @@
|
|
|
293
319
|
.muka-avatar-group--compact { --muka-avatar-group-overlap: calc(var(--muka-avatar-group-size) / 2); }
|
|
294
320
|
.muka-avatar-group--spacious { --muka-avatar-group-overlap: calc(var(--muka-avatar-group-size) / 3); }
|
|
295
321
|
|
|
296
|
-
.muka-avatar-group--tight.muka-avatar-group--
|
|
322
|
+
.muka-avatar-group--tight.muka-avatar-group--xs { --muka-avatar-group-overlap: var(--avatar-group-overlap-tight-xs); }
|
|
297
323
|
.muka-avatar-group--tight.muka-avatar-group--2xs { --muka-avatar-group-overlap: var(--avatar-group-overlap-tight-2xs); }
|
|
298
324
|
.muka-avatar-group--tight.muka-avatar-group--3xs { --muka-avatar-group-overlap: var(--avatar-group-overlap-tight-3xs); }
|
|
299
|
-
.muka-avatar-group--compact.muka-avatar-group--
|
|
325
|
+
.muka-avatar-group--compact.muka-avatar-group--xs { --muka-avatar-group-overlap: var(--avatar-group-overlap-compact-xs); }
|
|
300
326
|
.muka-avatar-group--compact.muka-avatar-group--2xs { --muka-avatar-group-overlap: var(--avatar-group-overlap-compact-2xs); }
|
|
301
327
|
.muka-avatar-group--compact.muka-avatar-group--3xs { --muka-avatar-group-overlap: var(--avatar-group-overlap-compact-3xs); }
|
|
302
|
-
.muka-avatar-group--spacious.muka-avatar-group--
|
|
328
|
+
.muka-avatar-group--spacious.muka-avatar-group--xs { --muka-avatar-group-overlap: var(--avatar-group-overlap-spacious-xs); }
|
|
303
329
|
.muka-avatar-group--spacious.muka-avatar-group--2xs { --muka-avatar-group-overlap: var(--avatar-group-overlap-spacious-2xs); }
|
|
304
330
|
.muka-avatar-group--spacious.muka-avatar-group--3xs { --muka-avatar-group-overlap: var(--avatar-group-overlap-spacious-3xs); }
|
|
305
331
|
|
|
@@ -307,6 +333,14 @@
|
|
|
307
333
|
margin-left: calc(-1 * var(--muka-avatar-group-overlap));
|
|
308
334
|
}
|
|
309
335
|
|
|
336
|
+
/* Badge: a BadgeNumber on the top-right corner of the stack, above every avatar */
|
|
337
|
+
.muka-avatar-group__badge {
|
|
338
|
+
position: absolute;
|
|
339
|
+
top: calc(-1 * var(--avatar-group-badge-offset));
|
|
340
|
+
right: calc(-1 * var(--avatar-group-badge-offset));
|
|
341
|
+
z-index: 20;
|
|
342
|
+
}
|
|
343
|
+
|
|
310
344
|
/* Overflow avatar styling */
|
|
311
345
|
.muka-avatar--overflow {
|
|
312
346
|
background-color: var(--avatar-color-background-default);
|