@box/blueprint-web 18.7.1 → 18.8.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.
- package/dist/lib-esm/avatar/avatar-group/avatar-group.d.ts +2 -0
- package/dist/lib-esm/avatar/avatar-group/avatar-group.js +156 -0
- package/dist/lib-esm/avatar/avatar-group/avatar-group.module.js +4 -0
- package/dist/lib-esm/avatar/avatar-group/types.d.ts +27 -0
- package/dist/lib-esm/avatar/avatar-group/use-avatar-group-hover.d.ts +6 -0
- package/dist/lib-esm/avatar/avatar-group/use-avatar-group-hover.js +61 -0
- package/dist/lib-esm/avatar/avatar-group/utils.d.ts +5 -0
- package/dist/lib-esm/avatar/avatar-group/utils.js +31 -0
- package/dist/lib-esm/avatar/avatar.module.js +1 -1
- package/dist/lib-esm/avatar/index.d.ts +2 -0
- package/dist/lib-esm/components.css +168 -44
- package/dist/lib-esm/index.css +168 -44
- package/dist/lib-esm/index.js +1 -0
- package/dist/lib-esm/tooltip/travel-tooltip.d.ts +20 -0
- package/dist/lib-esm/tooltip/travel-tooltip.js +100 -0
- package/dist/lib-esm/tooltip/travel-tooltip.module.js +4 -0
- package/package.json +3 -3
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { bpGray10 } from '@box/blueprint-web-assets/tokens/tokens';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import { forwardRef, Children, cloneElement, isValidElement } from 'react';
|
|
5
|
+
import '../../blueprint-configuration-context/blueprint-configuration-context.js';
|
|
6
|
+
import '../../blueprint-configuration-context/consts.js';
|
|
7
|
+
import { useBlueprintConfiguration } from '../../blueprint-configuration-context/useBlueprintConfiguration.js';
|
|
8
|
+
import { Focusable } from '../../focusable/focusable.js';
|
|
9
|
+
import { useTravelTooltip, TravelTooltipBubble } from '../../tooltip/travel-tooltip.js';
|
|
10
|
+
import { composeEventHandlers } from '../../utils/composeEventHandlers.js';
|
|
11
|
+
import { useForkRef } from '../../utils/useForkRef.js';
|
|
12
|
+
import { useUniqueId } from '../../utils/useUniqueId.js';
|
|
13
|
+
import { Avatar } from '../avatar.js';
|
|
14
|
+
import styles from './avatar-group.module.js';
|
|
15
|
+
import { useAvatarGroupHover } from './use-avatar-group-hover.js';
|
|
16
|
+
import { getAvatarGroupVisibility } from './utils.js';
|
|
17
|
+
|
|
18
|
+
const overflowColor = bpGray10;
|
|
19
|
+
function isAvatarElement(child) {
|
|
20
|
+
return /*#__PURE__*/isValidElement(child) && child.type === Avatar;
|
|
21
|
+
}
|
|
22
|
+
const AvatarGroup = /*#__PURE__*/forwardRef((props, forwardedRef) => {
|
|
23
|
+
const {
|
|
24
|
+
children,
|
|
25
|
+
className,
|
|
26
|
+
getTooltipContent,
|
|
27
|
+
max,
|
|
28
|
+
overflowLabel,
|
|
29
|
+
overlap,
|
|
30
|
+
ringColor,
|
|
31
|
+
size,
|
|
32
|
+
style,
|
|
33
|
+
onMouseLeave,
|
|
34
|
+
onPointerLeave,
|
|
35
|
+
onBlur,
|
|
36
|
+
...rest
|
|
37
|
+
} = props;
|
|
38
|
+
const {
|
|
39
|
+
componentsWithAnimationEnabled
|
|
40
|
+
} = useBlueprintConfiguration();
|
|
41
|
+
const isAnimationEnabled = componentsWithAnimationEnabled.includes('AvatarGroup');
|
|
42
|
+
const {
|
|
43
|
+
groupRef: hoverGroupRef,
|
|
44
|
+
onGroupLeave,
|
|
45
|
+
onItemEnter
|
|
46
|
+
} = useAvatarGroupHover(isAnimationEnabled);
|
|
47
|
+
const {
|
|
48
|
+
activeTrigger,
|
|
49
|
+
groupRef: travelGroupRef,
|
|
50
|
+
hideFocusIfLeavingGroup,
|
|
51
|
+
hidePointerIfLeavingGroup,
|
|
52
|
+
label,
|
|
53
|
+
showForFocus,
|
|
54
|
+
showForPointer,
|
|
55
|
+
textRef,
|
|
56
|
+
tooltipRef
|
|
57
|
+
} = useTravelTooltip();
|
|
58
|
+
const ref = useForkRef(useForkRef(hoverGroupRef, travelGroupRef), forwardedRef);
|
|
59
|
+
const tooltipId = useUniqueId('avatar-group-tooltip');
|
|
60
|
+
const avatars = Children.toArray(children).filter(isAvatarElement);
|
|
61
|
+
const {
|
|
62
|
+
visibleCount,
|
|
63
|
+
overflowCount
|
|
64
|
+
} = getAvatarGroupVisibility(avatars.length, max);
|
|
65
|
+
const visibleAvatars = avatars.slice(0, visibleCount);
|
|
66
|
+
const hasTooltips = Boolean(getTooltipContent || overflowLabel);
|
|
67
|
+
const customProperties = {
|
|
68
|
+
...(overlap ? {
|
|
69
|
+
'--avatar-group-overlap': overlap
|
|
70
|
+
} : {}),
|
|
71
|
+
...(ringColor ? {
|
|
72
|
+
'--avatar-group-ring-color': ringColor
|
|
73
|
+
} : {})
|
|
74
|
+
};
|
|
75
|
+
const leaveFromPointer = event => {
|
|
76
|
+
if (hidePointerIfLeavingGroup(event)) {
|
|
77
|
+
onGroupLeave();
|
|
78
|
+
}
|
|
79
|
+
};
|
|
80
|
+
const leaveFromFocus = event => {
|
|
81
|
+
if (hideFocusIfLeavingGroup(event)) {
|
|
82
|
+
onGroupLeave();
|
|
83
|
+
}
|
|
84
|
+
};
|
|
85
|
+
const activateItem = (index, trigger, tooltip, show) => {
|
|
86
|
+
onItemEnter(index);
|
|
87
|
+
if (tooltip) {
|
|
88
|
+
show(trigger, tooltip);
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
return jsxs("div", {
|
|
92
|
+
...rest,
|
|
93
|
+
ref: ref,
|
|
94
|
+
className: clsx(styles.avatarGroup, className),
|
|
95
|
+
"data-bp-animated": isAnimationEnabled ? 'true' : 'false',
|
|
96
|
+
onBlur: composeEventHandlers(onBlur, leaveFromFocus),
|
|
97
|
+
onMouseLeave: onMouseLeave,
|
|
98
|
+
onPointerLeave: composeEventHandlers(onPointerLeave, leaveFromPointer),
|
|
99
|
+
role: "group",
|
|
100
|
+
style: overlap || ringColor || style ? {
|
|
101
|
+
...customProperties,
|
|
102
|
+
...style
|
|
103
|
+
} : undefined,
|
|
104
|
+
children: [visibleAvatars.map((child, index) => {
|
|
105
|
+
const tooltip = getTooltipContent?.(child.props.text, index);
|
|
106
|
+
return jsx(Focusable, {
|
|
107
|
+
"aria-describedby": tooltip ? tooltipId : undefined,
|
|
108
|
+
focusable: Boolean(tooltip),
|
|
109
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
110
|
+
onFocusVisible: event => activateItem(index, event.currentTarget, tooltip, showForFocus),
|
|
111
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
112
|
+
onPointerEnter: event => activateItem(index, event.currentTarget, tooltip, showForPointer),
|
|
113
|
+
children: jsx("div", {
|
|
114
|
+
className: styles.item,
|
|
115
|
+
"data-avatar-group-item": "",
|
|
116
|
+
children: jsx("div", {
|
|
117
|
+
className: styles.itemMotion,
|
|
118
|
+
children: size ? /*#__PURE__*/cloneElement(child, {
|
|
119
|
+
size
|
|
120
|
+
}) : child
|
|
121
|
+
})
|
|
122
|
+
})
|
|
123
|
+
}, child.key ?? index);
|
|
124
|
+
}), overflowCount > 0 && jsx(Focusable, {
|
|
125
|
+
"aria-describedby": overflowLabel ? tooltipId : undefined,
|
|
126
|
+
"aria-label": overflowLabel,
|
|
127
|
+
focusable: Boolean(overflowLabel),
|
|
128
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
129
|
+
onFocusVisible: event => activateItem(visibleAvatars.length, event.currentTarget, overflowLabel, showForFocus),
|
|
130
|
+
// eslint-disable-next-line react/jsx-no-bind
|
|
131
|
+
onPointerEnter: event => activateItem(visibleAvatars.length, event.currentTarget, overflowLabel, showForPointer),
|
|
132
|
+
children: jsx("div", {
|
|
133
|
+
className: styles.item,
|
|
134
|
+
"data-avatar-group-item": "",
|
|
135
|
+
children: jsx("div", {
|
|
136
|
+
className: styles.itemMotion,
|
|
137
|
+
children: jsx(Avatar, {
|
|
138
|
+
color: overflowColor,
|
|
139
|
+
size: size,
|
|
140
|
+
text: `+${overflowCount}`
|
|
141
|
+
})
|
|
142
|
+
})
|
|
143
|
+
})
|
|
144
|
+
}), hasTooltips ? jsx(TravelTooltipBubble, {
|
|
145
|
+
animated: isAnimationEnabled,
|
|
146
|
+
id: tooltipId,
|
|
147
|
+
label: label,
|
|
148
|
+
show: Boolean(activeTrigger),
|
|
149
|
+
textRef: textRef,
|
|
150
|
+
tooltipRef: tooltipRef
|
|
151
|
+
}) : null]
|
|
152
|
+
});
|
|
153
|
+
});
|
|
154
|
+
AvatarGroup.displayName = 'AvatarGroup';
|
|
155
|
+
|
|
156
|
+
export { AvatarGroup };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { type ComponentPropsWithoutRef, type ReactNode } from 'react';
|
|
2
|
+
import { type AvatarSize } from '../types';
|
|
3
|
+
export interface AvatarGroupProps extends Omit<ComponentPropsWithoutRef<'div'>, 'role'> {
|
|
4
|
+
/**
|
|
5
|
+
* Avatar children to display. Compose with `<Avatar>` nodes — the group clones
|
|
6
|
+
* them to apply `size` and the overlap/ring treatment.
|
|
7
|
+
*/
|
|
8
|
+
children?: ReactNode;
|
|
9
|
+
/** Maximum number of avatars shown before an overflow `+N` avatar is rendered. */
|
|
10
|
+
max?: number;
|
|
11
|
+
/** Size passed through to each Avatar, including the overflow avatar. */
|
|
12
|
+
size?: AvatarSize;
|
|
13
|
+
/**
|
|
14
|
+
* Overlap distance between adjacent avatars as a CSS length.
|
|
15
|
+
* @default `--bp-space-020` (8px).
|
|
16
|
+
*/
|
|
17
|
+
overlap?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Ring colour around each avatar as a CSS color.
|
|
20
|
+
* @default `--bp-gray-white`.
|
|
21
|
+
*/
|
|
22
|
+
ringColor?: string;
|
|
23
|
+
/** Accessible label for the overflow avatar. */
|
|
24
|
+
overflowLabel?: string;
|
|
25
|
+
/** Tooltip label for a visible avatar. Omit to skip tooltips. */
|
|
26
|
+
getTooltipContent?(text: string | undefined, index: number): string | undefined;
|
|
27
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare function applyAvatarGroupHover(items: HTMLElement[], activeIndex: number | null): void;
|
|
2
|
+
export declare function useAvatarGroupHover(enabled: boolean): {
|
|
3
|
+
groupRef: import("react").RefObject<HTMLDivElement>;
|
|
4
|
+
onGroupLeave: () => void;
|
|
5
|
+
onItemEnter: (index: number) => void;
|
|
6
|
+
};
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { useRef, useCallback } from 'react';
|
|
2
|
+
|
|
3
|
+
// Transitions.dev avatar hover. Lift is negative so the active item rises.
|
|
4
|
+
const LIFT = -4;
|
|
5
|
+
const SCALE = 1.05;
|
|
6
|
+
// TODO(ewang): confirm duration — 200/140 has no --bp-duration-* pair (medium=150, long=300)
|
|
7
|
+
const DUR_IN = '200ms';
|
|
8
|
+
const DUR_OUT = '140ms';
|
|
9
|
+
// TODO(ewang): confirm curve — Transitions.dev 0.22,1,0.36,1 vs --bp-curve-large-on
|
|
10
|
+
const EASE_IN = 'cubic-bezier(0.22, 1, 0.36, 1)';
|
|
11
|
+
// Leave is a plain ease-out — no spring overshoot.
|
|
12
|
+
const EASE_OUT = 'cubic-bezier(0.4, 0, 0.2, 1)';
|
|
13
|
+
function applyAvatarGroupHover(items, activeIndex) {
|
|
14
|
+
const isLeaving = activeIndex === null;
|
|
15
|
+
const ease = isLeaving ? EASE_OUT : EASE_IN;
|
|
16
|
+
const duration = isLeaving ? DUR_OUT : DUR_IN;
|
|
17
|
+
items.forEach(item => {
|
|
18
|
+
item.style.transitionDuration = duration;
|
|
19
|
+
item.style.transitionTimingFunction = ease;
|
|
20
|
+
});
|
|
21
|
+
items.forEach((item, index) => {
|
|
22
|
+
if (activeIndex === null) {
|
|
23
|
+
item.style.setProperty('--shift', '0px');
|
|
24
|
+
item.style.setProperty('--scale-active', '1');
|
|
25
|
+
item.style.zIndex = '';
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
const isActive = index === activeIndex;
|
|
29
|
+
item.style.setProperty('--shift', isActive ? `${LIFT}px` : '0px');
|
|
30
|
+
item.style.setProperty('--scale-active', isActive ? String(SCALE) : '1');
|
|
31
|
+
item.style.zIndex = isActive ? '3' : '';
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
function useAvatarGroupHover(enabled) {
|
|
35
|
+
const groupRef = useRef(null);
|
|
36
|
+
const getItems = useCallback(() => {
|
|
37
|
+
if (!groupRef.current) {
|
|
38
|
+
return [];
|
|
39
|
+
}
|
|
40
|
+
return [...groupRef.current.querySelectorAll('[data-avatar-group-item]')];
|
|
41
|
+
}, []);
|
|
42
|
+
const onItemEnter = useCallback(index => {
|
|
43
|
+
if (!enabled) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
applyAvatarGroupHover(getItems(), index);
|
|
47
|
+
}, [enabled, getItems]);
|
|
48
|
+
const onGroupLeave = useCallback(() => {
|
|
49
|
+
if (!enabled) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
applyAvatarGroupHover(getItems(), null);
|
|
53
|
+
}, [enabled, getItems]);
|
|
54
|
+
return {
|
|
55
|
+
groupRef,
|
|
56
|
+
onGroupLeave,
|
|
57
|
+
onItemEnter
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
export { applyAvatarGroupHover, useAvatarGroupHover };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Splits a group of avatars into the number shown and the leftover overflow count
|
|
3
|
+
* rendered as a `+N` avatar.
|
|
4
|
+
*
|
|
5
|
+
* `max` is the visible count before overflow. When omitted, every avatar is shown.
|
|
6
|
+
*/
|
|
7
|
+
function getVisibleCountForMax(totalCount, max) {
|
|
8
|
+
if (max === Number.POSITIVE_INFINITY) {
|
|
9
|
+
return totalCount;
|
|
10
|
+
}
|
|
11
|
+
if (!Number.isFinite(max)) {
|
|
12
|
+
return 0;
|
|
13
|
+
}
|
|
14
|
+
const normalizedMax = Math.max(0, Math.trunc(max));
|
|
15
|
+
return Math.min(totalCount, normalizedMax);
|
|
16
|
+
}
|
|
17
|
+
function getAvatarGroupVisibility(totalCount, max) {
|
|
18
|
+
if (max === undefined) {
|
|
19
|
+
return {
|
|
20
|
+
visibleCount: totalCount,
|
|
21
|
+
overflowCount: 0
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const visibleCount = getVisibleCountForMax(totalCount, max);
|
|
25
|
+
return {
|
|
26
|
+
visibleCount,
|
|
27
|
+
overflowCount: totalCount - visibleCount
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { getAvatarGroupVisibility };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import '../index.css';
|
|
2
|
-
var styles = {"avatar":"bp_avatar_module_avatar--
|
|
2
|
+
var styles = {"avatar":"bp_avatar_module_avatar--42c50","text":"bp_avatar_module_text--42c50","xsmall":"bp_avatar_module_xsmall--42c50","length-1":"bp_avatar_module_length-1--42c50","length-2":"bp_avatar_module_length-2--42c50","small":"bp_avatar_module_small--42c50","medium":"bp_avatar_module_medium--42c50","large":"bp_avatar_module_large--42c50","length-3":"bp_avatar_module_length-3--42c50","length-4":"bp_avatar_module_length-4--42c50","xlarge":"bp_avatar_module_xlarge--42c50","xxlarge":"bp_avatar_module_xxlarge--42c50","badge":"bp_avatar_module_badge--42c50","image":"bp_avatar_module_image--42c50","loading":"bp_avatar_module_loading--42c50","anonymousAvatar":"bp_avatar_module_anonymousAvatar--42c50","iconContainer":"bp_avatar_module_iconContainer--42c50"};
|
|
3
3
|
|
|
4
4
|
export { styles as default };
|
|
@@ -2160,7 +2160,7 @@
|
|
|
2160
2160
|
background-color:initial;
|
|
2161
2161
|
border:none;
|
|
2162
2162
|
}
|
|
2163
|
-
.bp_avatar_module_avatar--
|
|
2163
|
+
.bp_avatar_module_avatar--42c50{
|
|
2164
2164
|
--avatar-line-height:1;
|
|
2165
2165
|
all:unset;
|
|
2166
2166
|
align-items:center;
|
|
@@ -2178,7 +2178,7 @@
|
|
|
2178
2178
|
line-height:var(--bp-font-line-height-04);
|
|
2179
2179
|
position:relative;
|
|
2180
2180
|
}
|
|
2181
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2181
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50{
|
|
2182
2182
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2183
2183
|
font-size:.875rem;
|
|
2184
2184
|
font-style:normal;
|
|
@@ -2189,10 +2189,10 @@
|
|
|
2189
2189
|
text-transform:none;
|
|
2190
2190
|
}
|
|
2191
2191
|
|
|
2192
|
-
.bp_avatar_module_avatar--
|
|
2192
|
+
.bp_avatar_module_avatar--42c50{
|
|
2193
2193
|
line-height:var(--avatar-line-height);
|
|
2194
2194
|
}
|
|
2195
|
-
.bp_avatar_module_avatar--
|
|
2195
|
+
.bp_avatar_module_avatar--42c50 .bp_avatar_module_text--42c50{
|
|
2196
2196
|
align-items:center;
|
|
2197
2197
|
border-radius:50%;
|
|
2198
2198
|
display:flex;
|
|
@@ -2200,14 +2200,14 @@
|
|
|
2200
2200
|
justify-content:center;
|
|
2201
2201
|
width:100%;
|
|
2202
2202
|
}
|
|
2203
|
-
.bp_avatar_module_avatar--
|
|
2203
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50{
|
|
2204
2204
|
height:var(--bp-size-050);
|
|
2205
2205
|
width:var(--bp-size-050);
|
|
2206
2206
|
}
|
|
2207
|
-
.bp_avatar_module_avatar--
|
|
2207
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_text--42c50{
|
|
2208
2208
|
font-size:.375rem;
|
|
2209
2209
|
}
|
|
2210
|
-
.bp_avatar_module_avatar--
|
|
2210
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2211
2211
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2212
2212
|
font-size:var(--bp-font-size-02);
|
|
2213
2213
|
font-style:normal;
|
|
@@ -2215,7 +2215,7 @@
|
|
|
2215
2215
|
letter-spacing:var(--bp-font-letter-spacing-02);
|
|
2216
2216
|
line-height:var(--bp-font-line-height-03);
|
|
2217
2217
|
}
|
|
2218
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2218
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2219
2219
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2220
2220
|
font-size:.625rem;
|
|
2221
2221
|
font-style:normal;
|
|
@@ -2226,17 +2226,17 @@
|
|
|
2226
2226
|
text-transform:none;
|
|
2227
2227
|
}
|
|
2228
2228
|
|
|
2229
|
-
.bp_avatar_module_avatar--
|
|
2229
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2230
2230
|
line-height:var(--avatar-line-height);
|
|
2231
2231
|
}
|
|
2232
|
-
.bp_avatar_module_avatar--
|
|
2232
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50{
|
|
2233
2233
|
height:var(--bp-size-060);
|
|
2234
2234
|
width:var(--bp-size-060);
|
|
2235
2235
|
}
|
|
2236
|
-
.bp_avatar_module_avatar--
|
|
2236
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_text--42c50{
|
|
2237
2237
|
font-size:.5rem;
|
|
2238
2238
|
}
|
|
2239
|
-
.bp_avatar_module_avatar--
|
|
2239
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2240
2240
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2241
2241
|
font-size:var(--bp-font-size-02);
|
|
2242
2242
|
font-style:normal;
|
|
@@ -2244,7 +2244,7 @@
|
|
|
2244
2244
|
letter-spacing:var(--bp-font-letter-spacing-02);
|
|
2245
2245
|
line-height:var(--bp-font-line-height-03);
|
|
2246
2246
|
}
|
|
2247
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2247
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2248
2248
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2249
2249
|
font-size:.625rem;
|
|
2250
2250
|
font-style:normal;
|
|
@@ -2255,14 +2255,14 @@
|
|
|
2255
2255
|
text-transform:none;
|
|
2256
2256
|
}
|
|
2257
2257
|
|
|
2258
|
-
.bp_avatar_module_avatar--
|
|
2258
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2259
2259
|
line-height:var(--avatar-line-height);
|
|
2260
2260
|
}
|
|
2261
|
-
.bp_avatar_module_avatar--
|
|
2261
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50{
|
|
2262
2262
|
height:var(--bp-size-070);
|
|
2263
2263
|
width:var(--bp-size-070);
|
|
2264
2264
|
}
|
|
2265
|
-
.bp_avatar_module_avatar--
|
|
2265
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_text--42c50{
|
|
2266
2266
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2267
2267
|
font-size:var(--bp-font-size-02);
|
|
2268
2268
|
font-style:normal;
|
|
@@ -2270,7 +2270,7 @@
|
|
|
2270
2270
|
letter-spacing:var(--bp-font-letter-spacing-02);
|
|
2271
2271
|
line-height:var(--bp-font-line-height-03);
|
|
2272
2272
|
}
|
|
2273
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2273
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_text--42c50{
|
|
2274
2274
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2275
2275
|
font-size:.625rem;
|
|
2276
2276
|
font-style:normal;
|
|
@@ -2281,20 +2281,20 @@
|
|
|
2281
2281
|
text-transform:none;
|
|
2282
2282
|
}
|
|
2283
2283
|
|
|
2284
|
-
.bp_avatar_module_avatar--
|
|
2284
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_text--42c50{
|
|
2285
2285
|
line-height:var(--avatar-line-height);
|
|
2286
2286
|
}
|
|
2287
|
-
.bp_avatar_module_avatar--
|
|
2287
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2288
2288
|
font-size:.8125rem;
|
|
2289
2289
|
}
|
|
2290
|
-
.bp_avatar_module_avatar--
|
|
2290
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50{
|
|
2291
2291
|
height:var(--bp-size-080);
|
|
2292
2292
|
width:var(--bp-size-080);
|
|
2293
2293
|
}
|
|
2294
|
-
.bp_avatar_module_avatar--
|
|
2294
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_text--42c50{
|
|
2295
2295
|
font-size:.5rem;
|
|
2296
2296
|
}
|
|
2297
|
-
.bp_avatar_module_avatar--
|
|
2297
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2298
2298
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2299
2299
|
font-size:var(--bp-font-size-05);
|
|
2300
2300
|
font-style:normal;
|
|
@@ -2302,7 +2302,7 @@
|
|
|
2302
2302
|
letter-spacing:var(--bp-font-letter-spacing-01);
|
|
2303
2303
|
line-height:var(--bp-font-line-height-04);
|
|
2304
2304
|
}
|
|
2305
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2305
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2306
2306
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2307
2307
|
font-size:.875rem;
|
|
2308
2308
|
font-style:normal;
|
|
@@ -2313,14 +2313,14 @@
|
|
|
2313
2313
|
text-transform:none;
|
|
2314
2314
|
}
|
|
2315
2315
|
|
|
2316
|
-
.bp_avatar_module_avatar--
|
|
2316
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2317
2317
|
line-height:var(--avatar-line-height);
|
|
2318
2318
|
}
|
|
2319
|
-
.bp_avatar_module_avatar--
|
|
2319
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-3--42c50.bp_avatar_module_text--42c50{
|
|
2320
2320
|
font-size:.6875rem;
|
|
2321
2321
|
line-height:var(--avatar-line-height);
|
|
2322
2322
|
}
|
|
2323
|
-
.bp_avatar_module_avatar--
|
|
2323
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-4--42c50.bp_avatar_module_text--42c50{
|
|
2324
2324
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2325
2325
|
font-size:var(--bp-font-size-02);
|
|
2326
2326
|
font-style:normal;
|
|
@@ -2328,7 +2328,7 @@
|
|
|
2328
2328
|
letter-spacing:var(--bp-font-letter-spacing-02);
|
|
2329
2329
|
line-height:var(--bp-font-line-height-03);
|
|
2330
2330
|
}
|
|
2331
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2331
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-4--42c50.bp_avatar_module_text--42c50{
|
|
2332
2332
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2333
2333
|
font-size:.625rem;
|
|
2334
2334
|
font-style:normal;
|
|
@@ -2339,17 +2339,17 @@
|
|
|
2339
2339
|
text-transform:none;
|
|
2340
2340
|
}
|
|
2341
2341
|
|
|
2342
|
-
.bp_avatar_module_avatar--
|
|
2342
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-4--42c50.bp_avatar_module_text--42c50{
|
|
2343
2343
|
line-height:var(--avatar-line-height);
|
|
2344
2344
|
}
|
|
2345
|
-
.bp_avatar_module_avatar--
|
|
2345
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50{
|
|
2346
2346
|
height:var(--bp-size-110);
|
|
2347
2347
|
width:var(--bp-size-110);
|
|
2348
2348
|
}
|
|
2349
|
-
.bp_avatar_module_avatar--
|
|
2349
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_text--42c50{
|
|
2350
2350
|
font-size:1rem;
|
|
2351
2351
|
}
|
|
2352
|
-
.bp_avatar_module_avatar--
|
|
2352
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2353
2353
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2354
2354
|
font-size:var(--bp-font-size-10);
|
|
2355
2355
|
font-style:normal;
|
|
@@ -2357,7 +2357,7 @@
|
|
|
2357
2357
|
letter-spacing:var(--bp-font-letter-spacing-01);
|
|
2358
2358
|
line-height:var(--bp-font-line-height-06);
|
|
2359
2359
|
}
|
|
2360
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2360
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2361
2361
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2362
2362
|
font-size:1.3125rem;
|
|
2363
2363
|
font-style:normal;
|
|
@@ -2368,56 +2368,180 @@
|
|
|
2368
2368
|
text-transform:none;
|
|
2369
2369
|
}
|
|
2370
2370
|
|
|
2371
|
-
.bp_avatar_module_avatar--
|
|
2371
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2372
2372
|
line-height:var(--avatar-line-height);
|
|
2373
2373
|
}
|
|
2374
|
-
.bp_avatar_module_avatar--
|
|
2374
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50{
|
|
2375
2375
|
height:var(--bp-size-200);
|
|
2376
2376
|
line-height:var(--avatar-line-height);
|
|
2377
2377
|
width:var(--bp-size-200);
|
|
2378
2378
|
}
|
|
2379
|
-
.bp_avatar_module_avatar--
|
|
2379
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50 .bp_avatar_module_text--42c50{
|
|
2380
2380
|
font-size:1.25rem;
|
|
2381
2381
|
}
|
|
2382
|
-
.bp_avatar_module_avatar--
|
|
2382
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2383
2383
|
font-size:2rem;
|
|
2384
2384
|
}
|
|
2385
|
-
.bp_avatar_module_avatar--
|
|
2385
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50 .bp_avatar_module_badge--42c50{
|
|
2386
2386
|
right:-.375rem;
|
|
2387
2387
|
}
|
|
2388
|
-
.bp_avatar_module_avatar--
|
|
2388
|
+
.bp_avatar_module_avatar--42c50 .bp_avatar_module_image--42c50{
|
|
2389
2389
|
border-radius:50%;
|
|
2390
2390
|
height:100%;
|
|
2391
2391
|
object-fit:cover;
|
|
2392
2392
|
width:100%;
|
|
2393
2393
|
}
|
|
2394
|
-
.bp_avatar_module_avatar--
|
|
2394
|
+
.bp_avatar_module_avatar--42c50 .bp_avatar_module_image--42c50.bp_avatar_module_loading--42c50{
|
|
2395
2395
|
height:0;
|
|
2396
2396
|
width:0;
|
|
2397
2397
|
}
|
|
2398
2398
|
|
|
2399
|
-
.bp_avatar_module_anonymousAvatar--
|
|
2399
|
+
.bp_avatar_module_anonymousAvatar--42c50,.bp_avatar_module_iconContainer--42c50{
|
|
2400
2400
|
align-items:center;
|
|
2401
2401
|
display:flex;
|
|
2402
2402
|
justify-content:center;
|
|
2403
2403
|
}
|
|
2404
2404
|
|
|
2405
|
-
.bp_avatar_module_iconContainer--
|
|
2405
|
+
.bp_avatar_module_iconContainer--42c50{
|
|
2406
2406
|
border-radius:50%;
|
|
2407
2407
|
height:100%;
|
|
2408
2408
|
width:100%;
|
|
2409
2409
|
}
|
|
2410
2410
|
|
|
2411
|
-
[data-button-wrapper]:hover .bp_avatar_module_avatar--
|
|
2411
|
+
[data-button-wrapper]:hover .bp_avatar_module_avatar--42c50{
|
|
2412
2412
|
box-shadow:0 0 0 0 var(--background-background), 0 0 0 var(--border-3) var(--bp-border-avatar-border-hover);
|
|
2413
2413
|
cursor:pointer;
|
|
2414
2414
|
}
|
|
2415
|
-
[data-button-wrapper]:active .bp_avatar_module_avatar--
|
|
2415
|
+
[data-button-wrapper]:active .bp_avatar_module_avatar--42c50{
|
|
2416
2416
|
box-shadow:0 0 0 0 var(--background-background), 0 0 0 var(--border-3) var(--bp-border-avatar-border-pressed);
|
|
2417
2417
|
}
|
|
2418
|
-
|
|
2418
|
+
|
|
2419
|
+
[data-avatar-group-item][data-focus-visible] .bp_avatar_module_avatar--42c50,[data-button-wrapper][data-focus-visible] .bp_avatar_module_avatar--42c50{
|
|
2419
2420
|
box-shadow:0 0 0 var(--border-1, 1px) var(--background-background), 0 0 0 var(--border-3) var(--bp-outline-focus-on-light);
|
|
2420
2421
|
}
|
|
2422
|
+
.bp_travel_tooltip_module_tooltip--37a55{
|
|
2423
|
+
--travel-tooltip-x:0px;
|
|
2424
|
+
--travel-tooltip-appear-delay:400ms;
|
|
2425
|
+
align-items:center;
|
|
2426
|
+
backdrop-filter:blur(16px);
|
|
2427
|
+
background-color:var(--bp-surface-tooltip-surface);
|
|
2428
|
+
border:var(--bp-border-01) solid var(--bp-border-tooltip-border);
|
|
2429
|
+
border-radius:var(--bp-radius-04);
|
|
2430
|
+
bottom:calc(100% + var(--travel-tooltip-gap, var(--bp-space-020)));
|
|
2431
|
+
box-shadow:var(--dropshadow-3);
|
|
2432
|
+
box-sizing:border-box;
|
|
2433
|
+
color:var(--bp-text-text-on-dark);
|
|
2434
|
+
display:inline-flex;
|
|
2435
|
+
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2436
|
+
font-size:var(--bp-font-size-05);
|
|
2437
|
+
font-style:normal;
|
|
2438
|
+
font-weight:var(--bp-font-weight-regular);
|
|
2439
|
+
justify-content:center;
|
|
2440
|
+
left:0;
|
|
2441
|
+
letter-spacing:var(--bp-font-letter-spacing-01);
|
|
2442
|
+
line-height:var(--bp-font-line-height-04);
|
|
2443
|
+
opacity:0;
|
|
2444
|
+
overflow:hidden;
|
|
2445
|
+
padding:var(--bp-space-020) var(--bp-space-030);
|
|
2446
|
+
pointer-events:none;
|
|
2447
|
+
position:absolute;
|
|
2448
|
+
scale:var(--bp-scale-small);
|
|
2449
|
+
transform-origin:50% 100%;
|
|
2450
|
+
translate:var(--travel-tooltip-x) 0;
|
|
2451
|
+
white-space:nowrap;
|
|
2452
|
+
width:0;
|
|
2453
|
+
z-index:var(--z-index-tooltip);
|
|
2454
|
+
}
|
|
2455
|
+
:where(body.is-inter-font) .bp_travel_tooltip_module_tooltip--37a55{
|
|
2456
|
+
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2457
|
+
font-size:.875rem;
|
|
2458
|
+
font-style:normal;
|
|
2459
|
+
font-weight:450;
|
|
2460
|
+
letter-spacing:.00625rem;
|
|
2461
|
+
line-height:1.375rem;
|
|
2462
|
+
text-decoration:none;
|
|
2463
|
+
text-transform:none;
|
|
2464
|
+
}
|
|
2465
|
+
|
|
2466
|
+
.bp_travel_tooltip_module_tooltip--37a55{
|
|
2467
|
+
transition:none;
|
|
2468
|
+
}
|
|
2469
|
+
|
|
2470
|
+
.bp_travel_tooltip_module_tooltip--37a55[data-show=true][data-bp-animated=true]{
|
|
2471
|
+
opacity:var(--bp-opacity-visible);
|
|
2472
|
+
scale:1;
|
|
2473
|
+
transition:opacity var(--bp-duration-medium) var(--bp-curve-medium-on) var(--travel-tooltip-appear-delay), scale var(--bp-duration-medium) var(--bp-curve-medium-on) var(--travel-tooltip-appear-delay), translate var(--bp-duration-medium) var(--bp-curve-medium-on), width var(--bp-duration-medium) var(--bp-curve-medium-on);
|
|
2474
|
+
}
|
|
2475
|
+
|
|
2476
|
+
.bp_travel_tooltip_module_tooltip--37a55[data-show=true][data-bp-animated=false]{
|
|
2477
|
+
opacity:var(--bp-opacity-visible);
|
|
2478
|
+
scale:1;
|
|
2479
|
+
}
|
|
2480
|
+
|
|
2481
|
+
.bp_travel_tooltip_module_text--37a55{
|
|
2482
|
+
white-space:nowrap;
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
@media (prefers-reduced-motion: reduce){
|
|
2486
|
+
.bp_travel_tooltip_module_tooltip--37a55[data-show=true][data-bp-animated=true]{
|
|
2487
|
+
transition:none;
|
|
2488
|
+
}
|
|
2489
|
+
}
|
|
2490
|
+
.bp_avatar_group_module_avatarGroup--c775b{
|
|
2491
|
+
--avatar-group-overlap:var(--bp-space-020, 0.5rem);
|
|
2492
|
+
--avatar-group-ring-color:var(--bp-gray-white, #fff);
|
|
2493
|
+
--avatar-group-ring-width:var(--bp-border-03, 0.1875rem);
|
|
2494
|
+
--avatar-group-dur:200ms;
|
|
2495
|
+
--avatar-group-ease-in:cubic-bezier(0.22, 1, 0.36, 1);
|
|
2496
|
+
align-items:center;
|
|
2497
|
+
display:inline-flex;
|
|
2498
|
+
flex-direction:row;
|
|
2499
|
+
isolation:isolate;
|
|
2500
|
+
position:relative;
|
|
2501
|
+
}
|
|
2502
|
+
.bp_avatar_group_module_avatarGroup--c775b:has([data-focus-visible]){
|
|
2503
|
+
--travel-tooltip-gap:calc(var(--bp-space-020, 0.5rem) + var(--bp-border-03, 0.1875rem));
|
|
2504
|
+
}
|
|
2505
|
+
|
|
2506
|
+
.bp_avatar_group_module_item--c775b{
|
|
2507
|
+
border-radius:50%;
|
|
2508
|
+
display:flex;
|
|
2509
|
+
flex-shrink:0;
|
|
2510
|
+
position:relative;
|
|
2511
|
+
z-index:0;
|
|
2512
|
+
}
|
|
2513
|
+
.bp_avatar_group_module_item--c775b,.bp_avatar_group_module_item--c775b *{
|
|
2514
|
+
cursor:pointer;
|
|
2515
|
+
-webkit-user-select:none;
|
|
2516
|
+
user-select:none;
|
|
2517
|
+
}
|
|
2518
|
+
.bp_avatar_group_module_item--c775b:not(:first-child){
|
|
2519
|
+
margin-inline-start:calc(var(--avatar-group-overlap)*-1);
|
|
2520
|
+
}
|
|
2521
|
+
.bp_avatar_group_module_item--c775b:focus,.bp_avatar_group_module_item--c775b:focus-visible{
|
|
2522
|
+
outline:none;
|
|
2523
|
+
}
|
|
2524
|
+
|
|
2525
|
+
.bp_avatar_group_module_itemMotion--c775b{
|
|
2526
|
+
border-radius:50%;
|
|
2527
|
+
box-shadow:0 0 0 var(--avatar-group-ring-width) var(--avatar-group-ring-color);
|
|
2528
|
+
display:flex;
|
|
2529
|
+
}
|
|
2530
|
+
|
|
2531
|
+
.bp_avatar_group_module_avatarGroup--c775b[data-bp-animated=true] .bp_avatar_group_module_itemMotion--c775b{
|
|
2532
|
+
pointer-events:none;
|
|
2533
|
+
transform:translateY(var(--shift, 0)) scale(var(--scale-active, 1));
|
|
2534
|
+
transform-origin:center;
|
|
2535
|
+
transition:transform var(--avatar-group-dur) var(--avatar-group-ease-in);
|
|
2536
|
+
will-change:transform;
|
|
2537
|
+
}
|
|
2538
|
+
|
|
2539
|
+
@media (prefers-reduced-motion: reduce){
|
|
2540
|
+
.bp_avatar_group_module_avatarGroup--c775b[data-bp-animated=true] .bp_avatar_group_module_itemMotion--c775b{
|
|
2541
|
+
transform:none;
|
|
2542
|
+
transition:none;
|
|
2543
|
+
}
|
|
2544
|
+
}
|
|
2421
2545
|
.bp_base_badge_module_badgeContainer--cc070{
|
|
2422
2546
|
display:inline-flex;
|
|
2423
2547
|
position:relative;
|
package/dist/lib-esm/index.css
CHANGED
|
@@ -2160,7 +2160,7 @@
|
|
|
2160
2160
|
background-color:initial;
|
|
2161
2161
|
border:none;
|
|
2162
2162
|
}
|
|
2163
|
-
.bp_avatar_module_avatar--
|
|
2163
|
+
.bp_avatar_module_avatar--42c50{
|
|
2164
2164
|
--avatar-line-height:1;
|
|
2165
2165
|
all:unset;
|
|
2166
2166
|
align-items:center;
|
|
@@ -2178,7 +2178,7 @@
|
|
|
2178
2178
|
line-height:var(--bp-font-line-height-04);
|
|
2179
2179
|
position:relative;
|
|
2180
2180
|
}
|
|
2181
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2181
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50{
|
|
2182
2182
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2183
2183
|
font-size:.875rem;
|
|
2184
2184
|
font-style:normal;
|
|
@@ -2189,10 +2189,10 @@
|
|
|
2189
2189
|
text-transform:none;
|
|
2190
2190
|
}
|
|
2191
2191
|
|
|
2192
|
-
.bp_avatar_module_avatar--
|
|
2192
|
+
.bp_avatar_module_avatar--42c50{
|
|
2193
2193
|
line-height:var(--avatar-line-height);
|
|
2194
2194
|
}
|
|
2195
|
-
.bp_avatar_module_avatar--
|
|
2195
|
+
.bp_avatar_module_avatar--42c50 .bp_avatar_module_text--42c50{
|
|
2196
2196
|
align-items:center;
|
|
2197
2197
|
border-radius:50%;
|
|
2198
2198
|
display:flex;
|
|
@@ -2200,14 +2200,14 @@
|
|
|
2200
2200
|
justify-content:center;
|
|
2201
2201
|
width:100%;
|
|
2202
2202
|
}
|
|
2203
|
-
.bp_avatar_module_avatar--
|
|
2203
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50{
|
|
2204
2204
|
height:var(--bp-size-050);
|
|
2205
2205
|
width:var(--bp-size-050);
|
|
2206
2206
|
}
|
|
2207
|
-
.bp_avatar_module_avatar--
|
|
2207
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_text--42c50{
|
|
2208
2208
|
font-size:.375rem;
|
|
2209
2209
|
}
|
|
2210
|
-
.bp_avatar_module_avatar--
|
|
2210
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2211
2211
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2212
2212
|
font-size:var(--bp-font-size-02);
|
|
2213
2213
|
font-style:normal;
|
|
@@ -2215,7 +2215,7 @@
|
|
|
2215
2215
|
letter-spacing:var(--bp-font-letter-spacing-02);
|
|
2216
2216
|
line-height:var(--bp-font-line-height-03);
|
|
2217
2217
|
}
|
|
2218
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2218
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2219
2219
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2220
2220
|
font-size:.625rem;
|
|
2221
2221
|
font-style:normal;
|
|
@@ -2226,17 +2226,17 @@
|
|
|
2226
2226
|
text-transform:none;
|
|
2227
2227
|
}
|
|
2228
2228
|
|
|
2229
|
-
.bp_avatar_module_avatar--
|
|
2229
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xsmall--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2230
2230
|
line-height:var(--avatar-line-height);
|
|
2231
2231
|
}
|
|
2232
|
-
.bp_avatar_module_avatar--
|
|
2232
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50{
|
|
2233
2233
|
height:var(--bp-size-060);
|
|
2234
2234
|
width:var(--bp-size-060);
|
|
2235
2235
|
}
|
|
2236
|
-
.bp_avatar_module_avatar--
|
|
2236
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_text--42c50{
|
|
2237
2237
|
font-size:.5rem;
|
|
2238
2238
|
}
|
|
2239
|
-
.bp_avatar_module_avatar--
|
|
2239
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2240
2240
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2241
2241
|
font-size:var(--bp-font-size-02);
|
|
2242
2242
|
font-style:normal;
|
|
@@ -2244,7 +2244,7 @@
|
|
|
2244
2244
|
letter-spacing:var(--bp-font-letter-spacing-02);
|
|
2245
2245
|
line-height:var(--bp-font-line-height-03);
|
|
2246
2246
|
}
|
|
2247
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2247
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2248
2248
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2249
2249
|
font-size:.625rem;
|
|
2250
2250
|
font-style:normal;
|
|
@@ -2255,14 +2255,14 @@
|
|
|
2255
2255
|
text-transform:none;
|
|
2256
2256
|
}
|
|
2257
2257
|
|
|
2258
|
-
.bp_avatar_module_avatar--
|
|
2258
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_small--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2259
2259
|
line-height:var(--avatar-line-height);
|
|
2260
2260
|
}
|
|
2261
|
-
.bp_avatar_module_avatar--
|
|
2261
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50{
|
|
2262
2262
|
height:var(--bp-size-070);
|
|
2263
2263
|
width:var(--bp-size-070);
|
|
2264
2264
|
}
|
|
2265
|
-
.bp_avatar_module_avatar--
|
|
2265
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_text--42c50{
|
|
2266
2266
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2267
2267
|
font-size:var(--bp-font-size-02);
|
|
2268
2268
|
font-style:normal;
|
|
@@ -2270,7 +2270,7 @@
|
|
|
2270
2270
|
letter-spacing:var(--bp-font-letter-spacing-02);
|
|
2271
2271
|
line-height:var(--bp-font-line-height-03);
|
|
2272
2272
|
}
|
|
2273
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2273
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_text--42c50{
|
|
2274
2274
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2275
2275
|
font-size:.625rem;
|
|
2276
2276
|
font-style:normal;
|
|
@@ -2281,20 +2281,20 @@
|
|
|
2281
2281
|
text-transform:none;
|
|
2282
2282
|
}
|
|
2283
2283
|
|
|
2284
|
-
.bp_avatar_module_avatar--
|
|
2284
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_text--42c50{
|
|
2285
2285
|
line-height:var(--avatar-line-height);
|
|
2286
2286
|
}
|
|
2287
|
-
.bp_avatar_module_avatar--
|
|
2287
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_medium--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2288
2288
|
font-size:.8125rem;
|
|
2289
2289
|
}
|
|
2290
|
-
.bp_avatar_module_avatar--
|
|
2290
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50{
|
|
2291
2291
|
height:var(--bp-size-080);
|
|
2292
2292
|
width:var(--bp-size-080);
|
|
2293
2293
|
}
|
|
2294
|
-
.bp_avatar_module_avatar--
|
|
2294
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_text--42c50{
|
|
2295
2295
|
font-size:.5rem;
|
|
2296
2296
|
}
|
|
2297
|
-
.bp_avatar_module_avatar--
|
|
2297
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2298
2298
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2299
2299
|
font-size:var(--bp-font-size-05);
|
|
2300
2300
|
font-style:normal;
|
|
@@ -2302,7 +2302,7 @@
|
|
|
2302
2302
|
letter-spacing:var(--bp-font-letter-spacing-01);
|
|
2303
2303
|
line-height:var(--bp-font-line-height-04);
|
|
2304
2304
|
}
|
|
2305
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2305
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2306
2306
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2307
2307
|
font-size:.875rem;
|
|
2308
2308
|
font-style:normal;
|
|
@@ -2313,14 +2313,14 @@
|
|
|
2313
2313
|
text-transform:none;
|
|
2314
2314
|
}
|
|
2315
2315
|
|
|
2316
|
-
.bp_avatar_module_avatar--
|
|
2316
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2317
2317
|
line-height:var(--avatar-line-height);
|
|
2318
2318
|
}
|
|
2319
|
-
.bp_avatar_module_avatar--
|
|
2319
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-3--42c50.bp_avatar_module_text--42c50{
|
|
2320
2320
|
font-size:.6875rem;
|
|
2321
2321
|
line-height:var(--avatar-line-height);
|
|
2322
2322
|
}
|
|
2323
|
-
.bp_avatar_module_avatar--
|
|
2323
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-4--42c50.bp_avatar_module_text--42c50{
|
|
2324
2324
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2325
2325
|
font-size:var(--bp-font-size-02);
|
|
2326
2326
|
font-style:normal;
|
|
@@ -2328,7 +2328,7 @@
|
|
|
2328
2328
|
letter-spacing:var(--bp-font-letter-spacing-02);
|
|
2329
2329
|
line-height:var(--bp-font-line-height-03);
|
|
2330
2330
|
}
|
|
2331
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2331
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-4--42c50.bp_avatar_module_text--42c50{
|
|
2332
2332
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2333
2333
|
font-size:.625rem;
|
|
2334
2334
|
font-style:normal;
|
|
@@ -2339,17 +2339,17 @@
|
|
|
2339
2339
|
text-transform:none;
|
|
2340
2340
|
}
|
|
2341
2341
|
|
|
2342
|
-
.bp_avatar_module_avatar--
|
|
2342
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_large--42c50 .bp_avatar_module_length-4--42c50.bp_avatar_module_text--42c50{
|
|
2343
2343
|
line-height:var(--avatar-line-height);
|
|
2344
2344
|
}
|
|
2345
|
-
.bp_avatar_module_avatar--
|
|
2345
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50{
|
|
2346
2346
|
height:var(--bp-size-110);
|
|
2347
2347
|
width:var(--bp-size-110);
|
|
2348
2348
|
}
|
|
2349
|
-
.bp_avatar_module_avatar--
|
|
2349
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_text--42c50{
|
|
2350
2350
|
font-size:1rem;
|
|
2351
2351
|
}
|
|
2352
|
-
.bp_avatar_module_avatar--
|
|
2352
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2353
2353
|
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2354
2354
|
font-size:var(--bp-font-size-10);
|
|
2355
2355
|
font-style:normal;
|
|
@@ -2357,7 +2357,7 @@
|
|
|
2357
2357
|
letter-spacing:var(--bp-font-letter-spacing-01);
|
|
2358
2358
|
line-height:var(--bp-font-line-height-06);
|
|
2359
2359
|
}
|
|
2360
|
-
:where(body.is-inter-font) .bp_avatar_module_avatar--
|
|
2360
|
+
:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,:where(body.is-inter-font) .bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2361
2361
|
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2362
2362
|
font-size:1.3125rem;
|
|
2363
2363
|
font-style:normal;
|
|
@@ -2368,56 +2368,180 @@
|
|
|
2368
2368
|
text-transform:none;
|
|
2369
2369
|
}
|
|
2370
2370
|
|
|
2371
|
-
.bp_avatar_module_avatar--
|
|
2371
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xlarge--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2372
2372
|
line-height:var(--avatar-line-height);
|
|
2373
2373
|
}
|
|
2374
|
-
.bp_avatar_module_avatar--
|
|
2374
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50{
|
|
2375
2375
|
height:var(--bp-size-200);
|
|
2376
2376
|
line-height:var(--avatar-line-height);
|
|
2377
2377
|
width:var(--bp-size-200);
|
|
2378
2378
|
}
|
|
2379
|
-
.bp_avatar_module_avatar--
|
|
2379
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50 .bp_avatar_module_text--42c50{
|
|
2380
2380
|
font-size:1.25rem;
|
|
2381
2381
|
}
|
|
2382
|
-
.bp_avatar_module_avatar--
|
|
2382
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50 .bp_avatar_module_length-1--42c50.bp_avatar_module_text--42c50,.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50 .bp_avatar_module_length-2--42c50.bp_avatar_module_text--42c50{
|
|
2383
2383
|
font-size:2rem;
|
|
2384
2384
|
}
|
|
2385
|
-
.bp_avatar_module_avatar--
|
|
2385
|
+
.bp_avatar_module_avatar--42c50.bp_avatar_module_xxlarge--42c50 .bp_avatar_module_badge--42c50{
|
|
2386
2386
|
right:-.375rem;
|
|
2387
2387
|
}
|
|
2388
|
-
.bp_avatar_module_avatar--
|
|
2388
|
+
.bp_avatar_module_avatar--42c50 .bp_avatar_module_image--42c50{
|
|
2389
2389
|
border-radius:50%;
|
|
2390
2390
|
height:100%;
|
|
2391
2391
|
object-fit:cover;
|
|
2392
2392
|
width:100%;
|
|
2393
2393
|
}
|
|
2394
|
-
.bp_avatar_module_avatar--
|
|
2394
|
+
.bp_avatar_module_avatar--42c50 .bp_avatar_module_image--42c50.bp_avatar_module_loading--42c50{
|
|
2395
2395
|
height:0;
|
|
2396
2396
|
width:0;
|
|
2397
2397
|
}
|
|
2398
2398
|
|
|
2399
|
-
.bp_avatar_module_anonymousAvatar--
|
|
2399
|
+
.bp_avatar_module_anonymousAvatar--42c50,.bp_avatar_module_iconContainer--42c50{
|
|
2400
2400
|
align-items:center;
|
|
2401
2401
|
display:flex;
|
|
2402
2402
|
justify-content:center;
|
|
2403
2403
|
}
|
|
2404
2404
|
|
|
2405
|
-
.bp_avatar_module_iconContainer--
|
|
2405
|
+
.bp_avatar_module_iconContainer--42c50{
|
|
2406
2406
|
border-radius:50%;
|
|
2407
2407
|
height:100%;
|
|
2408
2408
|
width:100%;
|
|
2409
2409
|
}
|
|
2410
2410
|
|
|
2411
|
-
[data-button-wrapper]:hover .bp_avatar_module_avatar--
|
|
2411
|
+
[data-button-wrapper]:hover .bp_avatar_module_avatar--42c50{
|
|
2412
2412
|
box-shadow:0 0 0 0 var(--background-background), 0 0 0 var(--border-3) var(--bp-border-avatar-border-hover);
|
|
2413
2413
|
cursor:pointer;
|
|
2414
2414
|
}
|
|
2415
|
-
[data-button-wrapper]:active .bp_avatar_module_avatar--
|
|
2415
|
+
[data-button-wrapper]:active .bp_avatar_module_avatar--42c50{
|
|
2416
2416
|
box-shadow:0 0 0 0 var(--background-background), 0 0 0 var(--border-3) var(--bp-border-avatar-border-pressed);
|
|
2417
2417
|
}
|
|
2418
|
-
|
|
2418
|
+
|
|
2419
|
+
[data-avatar-group-item][data-focus-visible] .bp_avatar_module_avatar--42c50,[data-button-wrapper][data-focus-visible] .bp_avatar_module_avatar--42c50{
|
|
2419
2420
|
box-shadow:0 0 0 var(--border-1, 1px) var(--background-background), 0 0 0 var(--border-3) var(--bp-outline-focus-on-light);
|
|
2420
2421
|
}
|
|
2422
|
+
.bp_travel_tooltip_module_tooltip--37a55{
|
|
2423
|
+
--travel-tooltip-x:0px;
|
|
2424
|
+
--travel-tooltip-appear-delay:400ms;
|
|
2425
|
+
align-items:center;
|
|
2426
|
+
backdrop-filter:blur(16px);
|
|
2427
|
+
background-color:var(--bp-surface-tooltip-surface);
|
|
2428
|
+
border:var(--bp-border-01) solid var(--bp-border-tooltip-border);
|
|
2429
|
+
border-radius:var(--bp-radius-04);
|
|
2430
|
+
bottom:calc(100% + var(--travel-tooltip-gap, var(--bp-space-020)));
|
|
2431
|
+
box-shadow:var(--dropshadow-3);
|
|
2432
|
+
box-sizing:border-box;
|
|
2433
|
+
color:var(--bp-text-text-on-dark);
|
|
2434
|
+
display:inline-flex;
|
|
2435
|
+
font-family:var(--bp-font-font-family), -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2436
|
+
font-size:var(--bp-font-size-05);
|
|
2437
|
+
font-style:normal;
|
|
2438
|
+
font-weight:var(--bp-font-weight-regular);
|
|
2439
|
+
justify-content:center;
|
|
2440
|
+
left:0;
|
|
2441
|
+
letter-spacing:var(--bp-font-letter-spacing-01);
|
|
2442
|
+
line-height:var(--bp-font-line-height-04);
|
|
2443
|
+
opacity:0;
|
|
2444
|
+
overflow:hidden;
|
|
2445
|
+
padding:var(--bp-space-020) var(--bp-space-030);
|
|
2446
|
+
pointer-events:none;
|
|
2447
|
+
position:absolute;
|
|
2448
|
+
scale:var(--bp-scale-small);
|
|
2449
|
+
transform-origin:50% 100%;
|
|
2450
|
+
translate:var(--travel-tooltip-x) 0;
|
|
2451
|
+
white-space:nowrap;
|
|
2452
|
+
width:0;
|
|
2453
|
+
z-index:var(--z-index-tooltip);
|
|
2454
|
+
}
|
|
2455
|
+
:where(body.is-inter-font) .bp_travel_tooltip_module_tooltip--37a55{
|
|
2456
|
+
font-family:"Inter Variable", -apple-system, BlinkMacSystemFont, "San Francisco", "Segoe UI", Roboto, "Helvetica Neue", sans-serif;
|
|
2457
|
+
font-size:.875rem;
|
|
2458
|
+
font-style:normal;
|
|
2459
|
+
font-weight:450;
|
|
2460
|
+
letter-spacing:.00625rem;
|
|
2461
|
+
line-height:1.375rem;
|
|
2462
|
+
text-decoration:none;
|
|
2463
|
+
text-transform:none;
|
|
2464
|
+
}
|
|
2465
|
+
|
|
2466
|
+
.bp_travel_tooltip_module_tooltip--37a55{
|
|
2467
|
+
transition:none;
|
|
2468
|
+
}
|
|
2469
|
+
|
|
2470
|
+
.bp_travel_tooltip_module_tooltip--37a55[data-show=true][data-bp-animated=true]{
|
|
2471
|
+
opacity:var(--bp-opacity-visible);
|
|
2472
|
+
scale:1;
|
|
2473
|
+
transition:opacity var(--bp-duration-medium) var(--bp-curve-medium-on) var(--travel-tooltip-appear-delay), scale var(--bp-duration-medium) var(--bp-curve-medium-on) var(--travel-tooltip-appear-delay), translate var(--bp-duration-medium) var(--bp-curve-medium-on), width var(--bp-duration-medium) var(--bp-curve-medium-on);
|
|
2474
|
+
}
|
|
2475
|
+
|
|
2476
|
+
.bp_travel_tooltip_module_tooltip--37a55[data-show=true][data-bp-animated=false]{
|
|
2477
|
+
opacity:var(--bp-opacity-visible);
|
|
2478
|
+
scale:1;
|
|
2479
|
+
}
|
|
2480
|
+
|
|
2481
|
+
.bp_travel_tooltip_module_text--37a55{
|
|
2482
|
+
white-space:nowrap;
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
@media (prefers-reduced-motion: reduce){
|
|
2486
|
+
.bp_travel_tooltip_module_tooltip--37a55[data-show=true][data-bp-animated=true]{
|
|
2487
|
+
transition:none;
|
|
2488
|
+
}
|
|
2489
|
+
}
|
|
2490
|
+
.bp_avatar_group_module_avatarGroup--c775b{
|
|
2491
|
+
--avatar-group-overlap:var(--bp-space-020, 0.5rem);
|
|
2492
|
+
--avatar-group-ring-color:var(--bp-gray-white, #fff);
|
|
2493
|
+
--avatar-group-ring-width:var(--bp-border-03, 0.1875rem);
|
|
2494
|
+
--avatar-group-dur:200ms;
|
|
2495
|
+
--avatar-group-ease-in:cubic-bezier(0.22, 1, 0.36, 1);
|
|
2496
|
+
align-items:center;
|
|
2497
|
+
display:inline-flex;
|
|
2498
|
+
flex-direction:row;
|
|
2499
|
+
isolation:isolate;
|
|
2500
|
+
position:relative;
|
|
2501
|
+
}
|
|
2502
|
+
.bp_avatar_group_module_avatarGroup--c775b:has([data-focus-visible]){
|
|
2503
|
+
--travel-tooltip-gap:calc(var(--bp-space-020, 0.5rem) + var(--bp-border-03, 0.1875rem));
|
|
2504
|
+
}
|
|
2505
|
+
|
|
2506
|
+
.bp_avatar_group_module_item--c775b{
|
|
2507
|
+
border-radius:50%;
|
|
2508
|
+
display:flex;
|
|
2509
|
+
flex-shrink:0;
|
|
2510
|
+
position:relative;
|
|
2511
|
+
z-index:0;
|
|
2512
|
+
}
|
|
2513
|
+
.bp_avatar_group_module_item--c775b,.bp_avatar_group_module_item--c775b *{
|
|
2514
|
+
cursor:pointer;
|
|
2515
|
+
-webkit-user-select:none;
|
|
2516
|
+
user-select:none;
|
|
2517
|
+
}
|
|
2518
|
+
.bp_avatar_group_module_item--c775b:not(:first-child){
|
|
2519
|
+
margin-inline-start:calc(var(--avatar-group-overlap)*-1);
|
|
2520
|
+
}
|
|
2521
|
+
.bp_avatar_group_module_item--c775b:focus,.bp_avatar_group_module_item--c775b:focus-visible{
|
|
2522
|
+
outline:none;
|
|
2523
|
+
}
|
|
2524
|
+
|
|
2525
|
+
.bp_avatar_group_module_itemMotion--c775b{
|
|
2526
|
+
border-radius:50%;
|
|
2527
|
+
box-shadow:0 0 0 var(--avatar-group-ring-width) var(--avatar-group-ring-color);
|
|
2528
|
+
display:flex;
|
|
2529
|
+
}
|
|
2530
|
+
|
|
2531
|
+
.bp_avatar_group_module_avatarGroup--c775b[data-bp-animated=true] .bp_avatar_group_module_itemMotion--c775b{
|
|
2532
|
+
pointer-events:none;
|
|
2533
|
+
transform:translateY(var(--shift, 0)) scale(var(--scale-active, 1));
|
|
2534
|
+
transform-origin:center;
|
|
2535
|
+
transition:transform var(--avatar-group-dur) var(--avatar-group-ease-in);
|
|
2536
|
+
will-change:transform;
|
|
2537
|
+
}
|
|
2538
|
+
|
|
2539
|
+
@media (prefers-reduced-motion: reduce){
|
|
2540
|
+
.bp_avatar_group_module_avatarGroup--c775b[data-bp-animated=true] .bp_avatar_group_module_itemMotion--c775b{
|
|
2541
|
+
transform:none;
|
|
2542
|
+
transition:none;
|
|
2543
|
+
}
|
|
2544
|
+
}
|
|
2421
2545
|
.bp_base_badge_module_badgeContainer--cc070{
|
|
2422
2546
|
display:inline-flex;
|
|
2423
2547
|
position:relative;
|
package/dist/lib-esm/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { Accordion } from './accordion/accordion.js';
|
|
2
2
|
export { ActionableInlineNotice } from './actionable-inline-notice/index.js';
|
|
3
3
|
export { Avatar } from './avatar/avatar.js';
|
|
4
|
+
export { AvatarGroup } from './avatar/avatar-group/avatar-group.js';
|
|
4
5
|
export { IconBadge } from './badge/icon-badge.js';
|
|
5
6
|
export { NumericBadge } from './badge/numeric-badge.js';
|
|
6
7
|
export { StatusBadge } from './badge/status-badge.js';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type FocusEvent, type PointerEvent, type RefObject } from 'react';
|
|
2
|
+
export declare function useTravelTooltip(): {
|
|
3
|
+
activeTrigger: HTMLElement | null;
|
|
4
|
+
groupRef: RefObject<HTMLElement>;
|
|
5
|
+
hideFocusIfLeavingGroup: (event: FocusEvent<HTMLElement>) => boolean;
|
|
6
|
+
hidePointerIfLeavingGroup: (event: PointerEvent<HTMLElement>) => boolean;
|
|
7
|
+
label: string;
|
|
8
|
+
showForFocus: (trigger: HTMLElement, nextLabel?: string) => void;
|
|
9
|
+
showForPointer: (trigger: HTMLElement, nextLabel?: string) => void;
|
|
10
|
+
textRef: RefObject<HTMLSpanElement>;
|
|
11
|
+
tooltipRef: RefObject<HTMLSpanElement>;
|
|
12
|
+
};
|
|
13
|
+
export declare function TravelTooltipBubble({ animated, id, label, show, textRef, tooltipRef, }: {
|
|
14
|
+
animated: boolean;
|
|
15
|
+
id: string;
|
|
16
|
+
label: string;
|
|
17
|
+
show: boolean;
|
|
18
|
+
textRef: RefObject<HTMLSpanElement>;
|
|
19
|
+
tooltipRef: RefObject<HTMLSpanElement>;
|
|
20
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef, useState, useLayoutEffect } from 'react';
|
|
3
|
+
import styles from './travel-tooltip.module.js';
|
|
4
|
+
|
|
5
|
+
const arm = (trigger, nextLabel) => ({
|
|
6
|
+
element: trigger,
|
|
7
|
+
label: nextLabel ?? trigger.dataset.tooltip ?? ''
|
|
8
|
+
});
|
|
9
|
+
const leftTheGroup = event => {
|
|
10
|
+
const next = event.relatedTarget;
|
|
11
|
+
return !(next instanceof Node && event.currentTarget.contains(next));
|
|
12
|
+
};
|
|
13
|
+
function useTravelTooltip() {
|
|
14
|
+
const groupRef = useRef(null);
|
|
15
|
+
const tooltipRef = useRef(null);
|
|
16
|
+
const textRef = useRef(null);
|
|
17
|
+
const [hovered, setHovered] = useState(null);
|
|
18
|
+
const [focused, setFocused] = useState(null);
|
|
19
|
+
const [leader, setLeader] = useState('pointer');
|
|
20
|
+
// Latest modality leads. The other keeps the bubble open after that one leaves the group.
|
|
21
|
+
const leading = leader === 'pointer' ? hovered : focused;
|
|
22
|
+
const trailing = leader === 'pointer' ? focused : hovered;
|
|
23
|
+
const active = leading ?? trailing;
|
|
24
|
+
const activeTrigger = active?.element ?? null;
|
|
25
|
+
const label = active?.label ?? '';
|
|
26
|
+
useLayoutEffect(() => {
|
|
27
|
+
const group = groupRef.current;
|
|
28
|
+
const tooltip = tooltipRef.current;
|
|
29
|
+
const text = textRef.current;
|
|
30
|
+
if (!activeTrigger || !group || !tooltip || !text) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
const groupBox = group.getBoundingClientRect();
|
|
34
|
+
const triggerBox = activeTrigger.getBoundingClientRect();
|
|
35
|
+
const computed = getComputedStyle(tooltip);
|
|
36
|
+
const pad = Number.parseFloat(computed.paddingLeft) + Number.parseFloat(computed.paddingRight);
|
|
37
|
+
const width = Math.ceil(text.scrollWidth + pad);
|
|
38
|
+
const x = triggerBox.left - groupBox.left + triggerBox.width / 2 - width / 2;
|
|
39
|
+
tooltip.style.setProperty('--travel-tooltip-x', `${x}px`);
|
|
40
|
+
tooltip.style.width = `${width}px`;
|
|
41
|
+
}, [activeTrigger, label]);
|
|
42
|
+
const showForPointer = (trigger, nextLabel) => {
|
|
43
|
+
setHovered(arm(trigger, nextLabel));
|
|
44
|
+
setLeader('pointer');
|
|
45
|
+
};
|
|
46
|
+
const showForFocus = (trigger, nextLabel) => {
|
|
47
|
+
setFocused(arm(trigger, nextLabel));
|
|
48
|
+
setLeader('focus');
|
|
49
|
+
};
|
|
50
|
+
const hidePointerIfLeavingGroup = event => {
|
|
51
|
+
if (!leftTheGroup(event)) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
setHovered(null);
|
|
55
|
+
return true;
|
|
56
|
+
};
|
|
57
|
+
const hideFocusIfLeavingGroup = event => {
|
|
58
|
+
if (!leftTheGroup(event)) {
|
|
59
|
+
return false;
|
|
60
|
+
}
|
|
61
|
+
setFocused(null);
|
|
62
|
+
return true;
|
|
63
|
+
};
|
|
64
|
+
return {
|
|
65
|
+
activeTrigger,
|
|
66
|
+
groupRef,
|
|
67
|
+
hideFocusIfLeavingGroup,
|
|
68
|
+
hidePointerIfLeavingGroup,
|
|
69
|
+
label,
|
|
70
|
+
showForFocus,
|
|
71
|
+
showForPointer,
|
|
72
|
+
textRef,
|
|
73
|
+
tooltipRef
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function TravelTooltipBubble({
|
|
77
|
+
animated,
|
|
78
|
+
id,
|
|
79
|
+
label,
|
|
80
|
+
show,
|
|
81
|
+
textRef,
|
|
82
|
+
tooltipRef
|
|
83
|
+
}) {
|
|
84
|
+
return jsx("span", {
|
|
85
|
+
ref: tooltipRef,
|
|
86
|
+
"aria-hidden": show ? 'false' : 'true',
|
|
87
|
+
className: styles.tooltip,
|
|
88
|
+
"data-bp-animated": animated ? 'true' : 'false',
|
|
89
|
+
"data-show": show ? 'true' : 'false',
|
|
90
|
+
id: id,
|
|
91
|
+
role: "tooltip",
|
|
92
|
+
children: jsx("span", {
|
|
93
|
+
ref: textRef,
|
|
94
|
+
className: styles.text,
|
|
95
|
+
children: label
|
|
96
|
+
})
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
export { TravelTooltipBubble, useTravelTooltip };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@box/blueprint-web",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.8.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"publishConfig": {
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"dependencies": {
|
|
56
56
|
"@ariakit/react": "0.4.21",
|
|
57
57
|
"@ariakit/react-core": "0.4.21",
|
|
58
|
-
"@box/blueprint-web-assets": "^5.13.
|
|
58
|
+
"@box/blueprint-web-assets": "^5.13.7",
|
|
59
59
|
"@internationalized/date": "^3.12.0",
|
|
60
60
|
"@radix-ui/react-accordion": "1.1.2",
|
|
61
61
|
"@radix-ui/react-checkbox": "1.0.4",
|
|
@@ -85,7 +85,7 @@
|
|
|
85
85
|
"devDependencies": {
|
|
86
86
|
"@box/box-test-client": "^3.2.7",
|
|
87
87
|
"@box/playwright-utils": "^2.8.5",
|
|
88
|
-
"@box/storybook-utils": "^1.4.
|
|
88
|
+
"@box/storybook-utils": "^1.4.26",
|
|
89
89
|
"@figma/code-connect": "1.4.4",
|
|
90
90
|
"@playwright/test": "1.46.1",
|
|
91
91
|
"@types/js-yaml": "^4.0.9",
|