@oxyhq/bloom 0.8.6 → 0.9.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/lib/commonjs/avatar-group/AvatarGroup.js +26 -0
- package/lib/commonjs/avatar-group/AvatarGroup.js.map +1 -0
- package/lib/commonjs/avatar-group/AvatarGroup.web.js +116 -0
- package/lib/commonjs/avatar-group/AvatarGroup.web.js.map +1 -0
- package/lib/commonjs/avatar-group/AvatarGroupBase.js +184 -0
- package/lib/commonjs/avatar-group/AvatarGroupBase.js.map +1 -0
- package/lib/commonjs/avatar-group/index.js +13 -0
- package/lib/commonjs/avatar-group/index.js.map +1 -0
- package/lib/commonjs/avatar-group/index.web.js +13 -0
- package/lib/commonjs/avatar-group/index.web.js.map +1 -0
- package/lib/commonjs/avatar-group/types.js +6 -0
- package/lib/commonjs/avatar-group/types.js.map +1 -0
- package/lib/commonjs/index.js +60 -44
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/index.web.js +74 -58
- package/lib/commonjs/index.web.js.map +1 -1
- package/lib/commonjs/user-hover-card/UserHoverCard.js +193 -0
- package/lib/commonjs/user-hover-card/UserHoverCard.js.map +1 -0
- package/lib/commonjs/user-hover-card/index.js +13 -0
- package/lib/commonjs/user-hover-card/index.js.map +1 -0
- package/lib/commonjs/user-hover-card/types.js +6 -0
- package/lib/commonjs/user-hover-card/types.js.map +1 -0
- package/lib/module/avatar-group/AvatarGroup.js +21 -0
- package/lib/module/avatar-group/AvatarGroup.js.map +1 -0
- package/lib/module/avatar-group/AvatarGroup.web.js +111 -0
- package/lib/module/avatar-group/AvatarGroup.web.js.map +1 -0
- package/lib/module/avatar-group/AvatarGroupBase.js +179 -0
- package/lib/module/avatar-group/AvatarGroupBase.js.map +1 -0
- package/lib/module/avatar-group/index.js +4 -0
- package/lib/module/avatar-group/index.js.map +1 -0
- package/lib/module/avatar-group/index.web.js +4 -0
- package/lib/module/avatar-group/index.web.js.map +1 -0
- package/lib/module/avatar-group/types.js +4 -0
- package/lib/module/avatar-group/types.js.map +1 -0
- package/lib/module/index.js +2 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.web.js +2 -0
- package/lib/module/index.web.js.map +1 -1
- package/lib/module/user-hover-card/UserHoverCard.js +188 -0
- package/lib/module/user-hover-card/UserHoverCard.js.map +1 -0
- package/lib/module/user-hover-card/index.js +4 -0
- package/lib/module/user-hover-card/index.js.map +1 -0
- package/lib/module/user-hover-card/types.js +4 -0
- package/lib/module/user-hover-card/types.js.map +1 -0
- package/lib/typescript/commonjs/avatar-group/AvatarGroup.d.ts +4 -0
- package/lib/typescript/commonjs/avatar-group/AvatarGroup.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar-group/AvatarGroup.web.d.ts +4 -0
- package/lib/typescript/commonjs/avatar-group/AvatarGroup.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar-group/AvatarGroupBase.d.ts +16 -0
- package/lib/typescript/commonjs/avatar-group/AvatarGroupBase.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar-group/index.d.ts +3 -0
- package/lib/typescript/commonjs/avatar-group/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar-group/index.web.d.ts +3 -0
- package/lib/typescript/commonjs/avatar-group/index.web.d.ts.map +1 -0
- package/lib/typescript/commonjs/avatar-group/types.d.ts +63 -0
- package/lib/typescript/commonjs/avatar-group/types.d.ts.map +1 -0
- package/lib/typescript/commonjs/index.d.ts +4 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.web.d.ts +4 -0
- package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
- package/lib/typescript/commonjs/user-hover-card/UserHoverCard.d.ts +4 -0
- package/lib/typescript/commonjs/user-hover-card/UserHoverCard.d.ts.map +1 -0
- package/lib/typescript/commonjs/user-hover-card/index.d.ts +3 -0
- package/lib/typescript/commonjs/user-hover-card/index.d.ts.map +1 -0
- package/lib/typescript/commonjs/user-hover-card/types.d.ts +37 -0
- package/lib/typescript/commonjs/user-hover-card/types.d.ts.map +1 -0
- package/lib/typescript/module/avatar-group/AvatarGroup.d.ts +4 -0
- package/lib/typescript/module/avatar-group/AvatarGroup.d.ts.map +1 -0
- package/lib/typescript/module/avatar-group/AvatarGroup.web.d.ts +4 -0
- package/lib/typescript/module/avatar-group/AvatarGroup.web.d.ts.map +1 -0
- package/lib/typescript/module/avatar-group/AvatarGroupBase.d.ts +16 -0
- package/lib/typescript/module/avatar-group/AvatarGroupBase.d.ts.map +1 -0
- package/lib/typescript/module/avatar-group/index.d.ts +3 -0
- package/lib/typescript/module/avatar-group/index.d.ts.map +1 -0
- package/lib/typescript/module/avatar-group/index.web.d.ts +3 -0
- package/lib/typescript/module/avatar-group/index.web.d.ts.map +1 -0
- package/lib/typescript/module/avatar-group/types.d.ts +63 -0
- package/lib/typescript/module/avatar-group/types.d.ts.map +1 -0
- package/lib/typescript/module/index.d.ts +4 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/index.web.d.ts +4 -0
- package/lib/typescript/module/index.web.d.ts.map +1 -1
- package/lib/typescript/module/user-hover-card/UserHoverCard.d.ts +4 -0
- package/lib/typescript/module/user-hover-card/UserHoverCard.d.ts.map +1 -0
- package/lib/typescript/module/user-hover-card/index.d.ts +3 -0
- package/lib/typescript/module/user-hover-card/index.d.ts.map +1 -0
- package/lib/typescript/module/user-hover-card/types.d.ts +37 -0
- package/lib/typescript/module/user-hover-card/types.d.ts.map +1 -0
- package/package.json +30 -1
- package/src/avatar-group/AvatarGroup.stories.tsx +135 -0
- package/src/avatar-group/AvatarGroup.tsx +19 -0
- package/src/avatar-group/AvatarGroup.web.tsx +145 -0
- package/src/avatar-group/AvatarGroupBase.tsx +249 -0
- package/src/avatar-group/index.ts +2 -0
- package/src/avatar-group/index.web.tsx +2 -0
- package/src/avatar-group/types.ts +64 -0
- package/src/index.ts +4 -0
- package/src/index.web.ts +4 -0
- package/src/user-hover-card/UserHoverCard.stories.tsx +113 -0
- package/src/user-hover-card/UserHoverCard.tsx +204 -0
- package/src/user-hover-card/index.ts +2 -0
- package/src/user-hover-card/types.ts +38 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AvatarGroup = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _AvatarGroupBase = require("./AvatarGroupBase.js");
|
|
9
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
10
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
11
|
+
/**
|
|
12
|
+
* Native `AvatarGroup` — an overlapping, ringed stack of {@link Avatar}s with a
|
|
13
|
+
* trailing `+N` overflow chip.
|
|
14
|
+
*
|
|
15
|
+
* Hover behavior is web-only; on native the `hoverCard` / `renderItemAction`
|
|
16
|
+
* props are accepted for API parity but intentionally do nothing (no hover on
|
|
17
|
+
* touch devices). The web fork (`AvatarGroup.web.tsx`) wires up the hover card.
|
|
18
|
+
*/
|
|
19
|
+
const AvatarGroupComponent = props => {
|
|
20
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_AvatarGroupBase.AvatarGroupBase, {
|
|
21
|
+
...props
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
const AvatarGroup = exports.AvatarGroup = /*#__PURE__*/(0, _react.memo)(AvatarGroupComponent);
|
|
25
|
+
AvatarGroup.displayName = 'AvatarGroup';
|
|
26
|
+
//# sourceMappingURL=AvatarGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_AvatarGroupBase","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","AvatarGroupComponent","props","jsx","AvatarGroupBase","AvatarGroup","exports","memo","displayName"],"sourceRoot":"../../../src","sources":["avatar-group/AvatarGroup.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AAAoD,IAAAE,WAAA,GAAAF,OAAA;AAAA,SAAAD,wBAAAI,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAN,uBAAA,YAAAA,CAAAI,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMkB,oBAAgD,GAAIC,KAAK,IAAK;EAClE,oBAAO,IAAArB,WAAA,CAAAsB,GAAA,EAACvB,gBAAA,CAAAwB,eAAe;IAAA,GAAKF;EAAK,CAAG,CAAC;AACvC,CAAC;AAEM,MAAMG,WAAW,GAAAC,OAAA,CAAAD,WAAA,gBAAG,IAAAE,WAAI,EAACN,oBAAoB,CAAC;AACrDI,WAAW,CAACG,WAAW,GAAG,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AvatarGroup = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _portal = require("../portal");
|
|
10
|
+
var _zIndex = require("../styles/z-index.js");
|
|
11
|
+
var _index = require("../user-hover-card/index.js");
|
|
12
|
+
var _AvatarGroupBase = require("./AvatarGroupBase.js");
|
|
13
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
|
+
/** Delay before dismissing the card so the cursor can travel into it. */
|
|
16
|
+
const CLOSE_DELAY_MS = 120;
|
|
17
|
+
/** Gap between the anchored avatar and the floating card. */
|
|
18
|
+
const CARD_GAP = 8;
|
|
19
|
+
const CARD_WIDTH = 280;
|
|
20
|
+
function getItemName(item) {
|
|
21
|
+
return item.displayName ?? item.name ?? item.username ?? '';
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Web `AvatarGroup`. Identical stack rendering to native via
|
|
26
|
+
* {@link AvatarGroupBase}, plus an optional hover card: when `hoverCard` is
|
|
27
|
+
* enabled, hovering an avatar reveals a {@link UserHoverCard} positioned beneath
|
|
28
|
+
* it. The card receives the per-item `renderItemAction` slot so the app can drop
|
|
29
|
+
* its SDK FollowButton inside.
|
|
30
|
+
*/
|
|
31
|
+
const AvatarGroupWebComponent = props => {
|
|
32
|
+
const {
|
|
33
|
+
hoverCard,
|
|
34
|
+
renderItemAction,
|
|
35
|
+
onPressItem
|
|
36
|
+
} = props;
|
|
37
|
+
const [hover, setHover] = (0, _react.useState)(null);
|
|
38
|
+
const cellRefs = (0, _react.useRef)(new Map());
|
|
39
|
+
const closeTimer = (0, _react.useRef)(null);
|
|
40
|
+
const cancelClose = (0, _react.useCallback)(() => {
|
|
41
|
+
if (closeTimer.current) {
|
|
42
|
+
clearTimeout(closeTimer.current);
|
|
43
|
+
closeTimer.current = null;
|
|
44
|
+
}
|
|
45
|
+
}, []);
|
|
46
|
+
const scheduleClose = (0, _react.useCallback)(() => {
|
|
47
|
+
cancelClose();
|
|
48
|
+
closeTimer.current = setTimeout(() => setHover(null), CLOSE_DELAY_MS);
|
|
49
|
+
}, [cancelClose]);
|
|
50
|
+
const registerCellRef = (0, _react.useCallback)((index, node) => {
|
|
51
|
+
if (node) cellRefs.current.set(index, node);else cellRefs.current.delete(index);
|
|
52
|
+
}, []);
|
|
53
|
+
const handleHoverIn = (0, _react.useCallback)((item, index) => {
|
|
54
|
+
cancelClose();
|
|
55
|
+
const node = cellRefs.current.get(index);
|
|
56
|
+
if (!node) return;
|
|
57
|
+
node.measureInWindow((x, y, width, height) => {
|
|
58
|
+
// Center the card under the avatar, clamped to the viewport.
|
|
59
|
+
const viewportWidth = typeof window !== 'undefined' ? window.innerWidth : CARD_WIDTH;
|
|
60
|
+
let left = x + width / 2 - CARD_WIDTH / 2;
|
|
61
|
+
left = Math.max(CARD_GAP, Math.min(left, viewportWidth - CARD_WIDTH - CARD_GAP));
|
|
62
|
+
setHover({
|
|
63
|
+
item,
|
|
64
|
+
index,
|
|
65
|
+
top: y + height + CARD_GAP,
|
|
66
|
+
left
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}, [cancelClose]);
|
|
70
|
+
const hoverHandlers = (0, _react.useMemo)(() => {
|
|
71
|
+
if (!hoverCard) return undefined;
|
|
72
|
+
return {
|
|
73
|
+
onHoverIn: handleHoverIn,
|
|
74
|
+
onHoverOut: scheduleClose,
|
|
75
|
+
registerCellRef
|
|
76
|
+
};
|
|
77
|
+
}, [hoverCard, handleHoverIn, scheduleClose, registerCellRef]);
|
|
78
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
79
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_AvatarGroupBase.AvatarGroupBase, {
|
|
80
|
+
...props,
|
|
81
|
+
hoverHandlers: hoverHandlers
|
|
82
|
+
}), hoverCard && hover && /*#__PURE__*/(0, _jsxRuntime.jsx)(_portal.Portal, {
|
|
83
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
84
|
+
onHoverIn: cancelClose,
|
|
85
|
+
onHoverOut: scheduleClose,
|
|
86
|
+
accessibilityRole: "none",
|
|
87
|
+
pointerEvents: "auto",
|
|
88
|
+
style: [webStyles.floating, {
|
|
89
|
+
top: hover.top,
|
|
90
|
+
left: hover.left,
|
|
91
|
+
width: CARD_WIDTH
|
|
92
|
+
}],
|
|
93
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.UserHoverCard, {
|
|
94
|
+
avatar: hover.item.uri ?? undefined,
|
|
95
|
+
displayName: getItemName(hover.item),
|
|
96
|
+
username: hover.item.username,
|
|
97
|
+
onPressProfile: onPressItem ? () => onPressItem(hover.item, hover.index) : undefined,
|
|
98
|
+
action: renderItemAction?.(hover.item, hover.index),
|
|
99
|
+
style: webStyles.card
|
|
100
|
+
})
|
|
101
|
+
})
|
|
102
|
+
})]
|
|
103
|
+
});
|
|
104
|
+
};
|
|
105
|
+
const webStyles = _reactNative.StyleSheet.create({
|
|
106
|
+
floating: {
|
|
107
|
+
position: 'fixed',
|
|
108
|
+
zIndex: _zIndex.Z_INDEX.tooltip
|
|
109
|
+
},
|
|
110
|
+
card: {
|
|
111
|
+
width: CARD_WIDTH
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
const AvatarGroup = exports.AvatarGroup = /*#__PURE__*/(0, _react.memo)(AvatarGroupWebComponent);
|
|
115
|
+
AvatarGroup.displayName = 'AvatarGroup';
|
|
116
|
+
//# sourceMappingURL=AvatarGroup.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_portal","_zIndex","_index","_AvatarGroupBase","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CLOSE_DELAY_MS","CARD_GAP","CARD_WIDTH","getItemName","item","displayName","name","username","AvatarGroupWebComponent","props","hoverCard","renderItemAction","onPressItem","hover","setHover","useState","cellRefs","useRef","Map","closeTimer","cancelClose","useCallback","current","clearTimeout","scheduleClose","setTimeout","registerCellRef","index","node","delete","handleHoverIn","measureInWindow","x","y","width","height","viewportWidth","window","innerWidth","left","Math","max","min","top","hoverHandlers","useMemo","undefined","onHoverIn","onHoverOut","jsxs","Fragment","children","jsx","AvatarGroupBase","Portal","Pressable","accessibilityRole","pointerEvents","style","webStyles","floating","UserHoverCard","avatar","uri","onPressProfile","action","card","StyleSheet","create","position","zIndex","Z_INDEX","tooltip","AvatarGroup","exports","memo"],"sourceRoot":"../../../src","sources":["avatar-group/AvatarGroup.web.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAJ,OAAA;AACA,IAAAK,gBAAA,GAAAL,OAAA;AAG2B,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,wBAAAQ,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAV,uBAAA,YAAAA,CAAAQ,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAG3B;AACA,MAAMkB,cAAc,GAAG,GAAG;AAC1B;AACA,MAAMC,QAAQ,GAAG,CAAC;AAClB,MAAMC,UAAU,GAAG,GAAG;AAStB,SAASC,WAAWA,CAACC,IAAqB,EAAU;EAClD,OAAOA,IAAI,CAACC,WAAW,IAAID,IAAI,CAACE,IAAI,IAAIF,IAAI,CAACG,QAAQ,IAAI,EAAE;AAC7D;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,uBAAmD,GAAIC,KAAK,IAAK;EACrE,MAAM;IAAEC,SAAS;IAAEC,gBAAgB;IAAEC;EAAY,CAAC,GAAGH,KAAK;EAC1D,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAC,eAAQ,EAAoB,IAAI,CAAC;EAC3D,MAAMC,QAAQ,GAAG,IAAAC,aAAM,EAAoB,IAAIC,GAAG,CAAC,CAAC,CAAC;EACrD,MAAMC,UAAU,GAAG,IAAAF,aAAM,EAAuC,IAAI,CAAC;EAErE,MAAMG,WAAW,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACpC,IAAIF,UAAU,CAACG,OAAO,EAAE;MACtBC,YAAY,CAACJ,UAAU,CAACG,OAAO,CAAC;MAChCH,UAAU,CAACG,OAAO,GAAG,IAAI;IAC3B;EACF,CAAC,EAAE,EAAE,CAAC;EAEN,MAAME,aAAa,GAAG,IAAAH,kBAAW,EAAC,MAAM;IACtCD,WAAW,CAAC,CAAC;IACbD,UAAU,CAACG,OAAO,GAAGG,UAAU,CAAC,MAAMX,QAAQ,CAAC,IAAI,CAAC,EAAEd,cAAc,CAAC;EACvE,CAAC,EAAE,CAACoB,WAAW,CAAC,CAAC;EAEjB,MAAMM,eAAe,GAAG,IAAAL,kBAAW,EAAC,CAACM,KAAa,EAAEC,IAAiB,KAAK;IACxE,IAAIA,IAAI,EAAEZ,QAAQ,CAACM,OAAO,CAAC5B,GAAG,CAACiC,KAAK,EAAEC,IAAI,CAAC,CAAC,KACvCZ,QAAQ,CAACM,OAAO,CAACO,MAAM,CAACF,KAAK,CAAC;EACrC,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,aAAa,GAAG,IAAAT,kBAAW,EAC/B,CAACjB,IAAqB,EAAEuB,KAAa,KAAK;IACxCP,WAAW,CAAC,CAAC;IACb,MAAMQ,IAAI,GAAGZ,QAAQ,CAACM,OAAO,CAAC7B,GAAG,CAACkC,KAAK,CAAC;IACxC,IAAI,CAACC,IAAI,EAAE;IACXA,IAAI,CAACG,eAAe,CAAC,CAACC,CAAC,EAAEC,CAAC,EAAEC,KAAK,EAAEC,MAAM,KAAK;MAC5C;MACA,MAAMC,aAAa,GACjB,OAAOC,MAAM,KAAK,WAAW,GAAGA,MAAM,CAACC,UAAU,GAAGpC,UAAU;MAChE,IAAIqC,IAAI,GAAGP,CAAC,GAAGE,KAAK,GAAG,CAAC,GAAGhC,UAAU,GAAG,CAAC;MACzCqC,IAAI,GAAGC,IAAI,CAACC,GAAG,CACbxC,QAAQ,EACRuC,IAAI,CAACE,GAAG,CAACH,IAAI,EAAEH,aAAa,GAAGlC,UAAU,GAAGD,QAAQ,CACtD,CAAC;MACDa,QAAQ,CAAC;QACPV,IAAI;QACJuB,KAAK;QACLgB,GAAG,EAAEV,CAAC,GAAGE,MAAM,GAAGlC,QAAQ;QAC1BsC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,EACD,CAACnB,WAAW,CACd,CAAC;EAED,MAAMwB,aAAa,GAAG,IAAAC,cAAO,EAA2C,MAAM;IAC5E,IAAI,CAACnC,SAAS,EAAE,OAAOoC,SAAS;IAChC,OAAO;MACLC,SAAS,EAAEjB,aAAa;MACxBkB,UAAU,EAAExB,aAAa;MACzBE;IACF,CAAC;EACH,CAAC,EAAE,CAAChB,SAAS,EAAEoB,aAAa,EAAEN,aAAa,EAAEE,eAAe,CAAC,CAAC;EAE9D,oBACE,IAAA9C,WAAA,CAAAqE,IAAA,EAAArE,WAAA,CAAAsE,QAAA;IAAAC,QAAA,gBACE,IAAAvE,WAAA,CAAAwE,GAAA,EAACzE,gBAAA,CAAA0E,eAAe;MAAA,GAAK5C,KAAK;MAAEmC,aAAa,EAAEA;IAAc,CAAE,CAAC,EAC3DlC,SAAS,IAAIG,KAAK,iBACjB,IAAAjC,WAAA,CAAAwE,GAAA,EAAC5E,OAAA,CAAA8E,MAAM;MAAAH,QAAA,eAOL,IAAAvE,WAAA,CAAAwE,GAAA,EAAC7E,YAAA,CAAAgF,SAAS;QACRR,SAAS,EAAE3B,WAAY;QACvB4B,UAAU,EAAExB,aAAc;QAC1BgC,iBAAiB,EAAC,MAAM;QACxBC,aAAa,EAAC,MAAM;QACpBC,KAAK,EAAE,CACLC,SAAS,CAACC,QAAQ,EAClB;UAAEjB,GAAG,EAAE9B,KAAK,CAAC8B,GAAG;UAAEJ,IAAI,EAAE1B,KAAK,CAAC0B,IAAI;UAAEL,KAAK,EAAEhC;QAAW,CAAC,CACvD;QAAAiD,QAAA,eAEF,IAAAvE,WAAA,CAAAwE,GAAA,EAAC1E,MAAA,CAAAmF,aAAa;UACZC,MAAM,EAAEjD,KAAK,CAACT,IAAI,CAAC2D,GAAG,IAAIjB,SAAU;UACpCzC,WAAW,EAAEF,WAAW,CAACU,KAAK,CAACT,IAAI,CAAE;UACrCG,QAAQ,EAAEM,KAAK,CAACT,IAAI,CAACG,QAAS;UAC9ByD,cAAc,EACZpD,WAAW,GACP,MAAMA,WAAW,CAACC,KAAK,CAACT,IAAI,EAAES,KAAK,CAACc,KAAK,CAAC,GAC1CmB,SACL;UACDmB,MAAM,EAAEtD,gBAAgB,GAAGE,KAAK,CAACT,IAAI,EAAES,KAAK,CAACc,KAAK,CAAE;UACpD+B,KAAK,EAAEC,SAAS,CAACO;QAAK,CACvB;MAAC,CACO;IAAC,CACN,CACT;EAAA,CACD,CAAC;AAEP,CAAC;AAED,MAAMP,SAAS,GAAGQ,uBAAU,CAACC,MAAM,CAAC;EAClCR,QAAQ,EAAE;IACRS,QAAQ,EAAE,OAAqB;IAC/BC,MAAM,EAAEC,eAAO,CAACC;EAClB,CAAC;EACDN,IAAI,EAAE;IACJhC,KAAK,EAAEhC;EACT;AACF,CAAC,CAAC;AAEK,MAAMuE,WAAW,GAAAC,OAAA,CAAAD,WAAA,gBAAG,IAAAE,WAAI,EAACnE,uBAAuB,CAAC;AACxDiE,WAAW,CAACpE,WAAW,GAAG,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.AvatarGroupBase = void 0;
|
|
7
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
|
+
var _reactNative = require("react-native");
|
|
9
|
+
var _index = require("../avatar/index.js");
|
|
10
|
+
var _useTheme = require("../theme/use-theme.js");
|
|
11
|
+
var _tokens = require("../styles/tokens.js");
|
|
12
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
+
/** Ring thickness as a fraction of avatar size. */
|
|
15
|
+
const RING_RATIO = 0.08;
|
|
16
|
+
/** Minimum ring thickness so small avatars still separate cleanly. */
|
|
17
|
+
const MIN_RING = 2;
|
|
18
|
+
/** Default horizontal overlap as a fraction of avatar size. */
|
|
19
|
+
const DEFAULT_OVERLAP_RATIO = 0.35;
|
|
20
|
+
function getItemName(item) {
|
|
21
|
+
return item.displayName ?? item.name ?? item.username;
|
|
22
|
+
}
|
|
23
|
+
function getItemKey(item, index) {
|
|
24
|
+
return item.id ?? item.username ?? item.uri ?? `avatar-${index}`;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/** Hover callbacks injected by the web fork; undefined (no-op) on native. */
|
|
28
|
+
|
|
29
|
+
const AvatarGroupBaseComponent = ({
|
|
30
|
+
items,
|
|
31
|
+
size = 32,
|
|
32
|
+
max = 5,
|
|
33
|
+
total,
|
|
34
|
+
overlap,
|
|
35
|
+
ringColor,
|
|
36
|
+
onPressItem,
|
|
37
|
+
style,
|
|
38
|
+
testID,
|
|
39
|
+
hoverHandlers
|
|
40
|
+
}) => {
|
|
41
|
+
const theme = (0, _useTheme.useTheme)();
|
|
42
|
+
const ring = ringColor ?? theme.colors.card;
|
|
43
|
+
const ringWidth = Math.max(MIN_RING, Math.round(size * RING_RATIO));
|
|
44
|
+
const effectiveOverlap = overlap ?? Math.round(size * DEFAULT_OVERLAP_RATIO);
|
|
45
|
+
// Each avatar after the first is pulled left by `overlap`, but the ring adds
|
|
46
|
+
// visual width on both sides, so the negative margin accounts for the ring.
|
|
47
|
+
const negativeMargin = -(effectiveOverlap + ringWidth);
|
|
48
|
+
const shown = (0, _react.useMemo)(() => items.slice(0, Math.max(0, max)), [items, max]);
|
|
49
|
+
const realTotal = total ?? items.length;
|
|
50
|
+
const overflow = Math.max(0, realTotal - shown.length);
|
|
51
|
+
const cellStyle = (0, _react.useMemo)(() => {
|
|
52
|
+
return {
|
|
53
|
+
width: size + ringWidth * 2,
|
|
54
|
+
height: size + ringWidth * 2,
|
|
55
|
+
borderRadius: (size + ringWidth * 2) / 2,
|
|
56
|
+
backgroundColor: ring,
|
|
57
|
+
alignItems: 'center',
|
|
58
|
+
justifyContent: 'center'
|
|
59
|
+
};
|
|
60
|
+
}, [size, ringWidth, ring]);
|
|
61
|
+
const overflowTextStyle = (0, _react.useMemo)(() => ({
|
|
62
|
+
color: theme.colors.textSecondary,
|
|
63
|
+
fontSize: Math.max(_tokens.fontSize._2xs, Math.round(size * 0.4)),
|
|
64
|
+
fontWeight: '600'
|
|
65
|
+
}), [theme.colors.textSecondary, size]);
|
|
66
|
+
const interactive = typeof onPressItem === 'function';
|
|
67
|
+
const hoverable = typeof hoverHandlers?.onHoverIn === 'function' || typeof hoverHandlers?.onHoverOut === 'function';
|
|
68
|
+
|
|
69
|
+
// Pressing the "+N" chip surfaces the first hidden member (if any), so
|
|
70
|
+
// consumers can route it to a full member list.
|
|
71
|
+
const firstHidden = items[shown.length];
|
|
72
|
+
const overflowOnPress = interactive && firstHidden ? () => onPressItem?.(firstHidden, shown.length) : undefined;
|
|
73
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
74
|
+
style: [styles.row, style],
|
|
75
|
+
testID: testID,
|
|
76
|
+
children: [shown.map((item, index) => {
|
|
77
|
+
const name = getItemName(item);
|
|
78
|
+
const accessibilityLabel = item.username ? `${name ?? item.username} (@${item.username})` : name;
|
|
79
|
+
|
|
80
|
+
// The negative margin and stacking order live on the outermost
|
|
81
|
+
// row element so layout and hit-testing stay aligned with the visual
|
|
82
|
+
// overlap. Earlier siblings render on top of later ones.
|
|
83
|
+
const wrapperStyle = {
|
|
84
|
+
...(index > 0 && {
|
|
85
|
+
marginLeft: negativeMargin
|
|
86
|
+
}),
|
|
87
|
+
zIndex: shown.length - index
|
|
88
|
+
};
|
|
89
|
+
const cell = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
90
|
+
ref: hoverHandlers?.registerCellRef ? node => hoverHandlers.registerCellRef?.(index, node) : undefined,
|
|
91
|
+
collapsable: false,
|
|
92
|
+
style: cellStyle,
|
|
93
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_index.Avatar, {
|
|
94
|
+
uri: item.uri ?? undefined,
|
|
95
|
+
name: name,
|
|
96
|
+
size: size
|
|
97
|
+
})
|
|
98
|
+
});
|
|
99
|
+
if (interactive || hoverable) {
|
|
100
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
101
|
+
onPress: interactive ? () => onPressItem?.(item, index) : undefined,
|
|
102
|
+
onHoverIn: hoverHandlers?.onHoverIn ? () => hoverHandlers.onHoverIn?.(item, index) : undefined,
|
|
103
|
+
onHoverOut: hoverHandlers?.onHoverOut ? () => hoverHandlers.onHoverOut?.(item, index) : undefined,
|
|
104
|
+
accessibilityRole: interactive ? 'button' : undefined,
|
|
105
|
+
accessibilityLabel: accessibilityLabel,
|
|
106
|
+
style: wrapperStyle,
|
|
107
|
+
children: cell
|
|
108
|
+
}, getItemKey(item, index));
|
|
109
|
+
}
|
|
110
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
111
|
+
style: wrapperStyle,
|
|
112
|
+
children: cell
|
|
113
|
+
}, getItemKey(item, index));
|
|
114
|
+
}), overflow > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(OverflowChip, {
|
|
115
|
+
count: overflow,
|
|
116
|
+
cellStyle: cellStyle,
|
|
117
|
+
negativeMargin: shown.length > 0 ? negativeMargin : 0,
|
|
118
|
+
textStyle: overflowTextStyle,
|
|
119
|
+
onPress: overflowOnPress
|
|
120
|
+
})]
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
function OverflowChip({
|
|
124
|
+
count,
|
|
125
|
+
cellStyle,
|
|
126
|
+
negativeMargin,
|
|
127
|
+
textStyle,
|
|
128
|
+
onPress
|
|
129
|
+
}) {
|
|
130
|
+
const theme = (0, _useTheme.useTheme)();
|
|
131
|
+
// The chip is anchored at the lowest stacking order so it tucks behind the
|
|
132
|
+
// last avatar's ring. The margin lives on the outer element to keep layout
|
|
133
|
+
// aligned with the overlap.
|
|
134
|
+
const wrapperStyle = {
|
|
135
|
+
...(negativeMargin !== 0 && {
|
|
136
|
+
marginLeft: negativeMargin
|
|
137
|
+
}),
|
|
138
|
+
zIndex: 0
|
|
139
|
+
};
|
|
140
|
+
const chip = /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
141
|
+
style: [cellStyle, {
|
|
142
|
+
backgroundColor: theme.colors.card
|
|
143
|
+
}],
|
|
144
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
145
|
+
style: [styles.chipInner, {
|
|
146
|
+
backgroundColor: theme.colors.backgroundTertiary
|
|
147
|
+
}],
|
|
148
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
|
|
149
|
+
allowFontScaling: false,
|
|
150
|
+
style: textStyle,
|
|
151
|
+
children: ["+", count]
|
|
152
|
+
})
|
|
153
|
+
})
|
|
154
|
+
});
|
|
155
|
+
if (onPress) {
|
|
156
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
|
|
157
|
+
onPress: onPress,
|
|
158
|
+
accessibilityRole: "button",
|
|
159
|
+
accessibilityLabel: `${count} more`,
|
|
160
|
+
style: wrapperStyle,
|
|
161
|
+
children: chip
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
165
|
+
style: wrapperStyle,
|
|
166
|
+
children: chip
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
const styles = _reactNative.StyleSheet.create({
|
|
170
|
+
row: {
|
|
171
|
+
flexDirection: 'row',
|
|
172
|
+
alignItems: 'center'
|
|
173
|
+
},
|
|
174
|
+
chipInner: {
|
|
175
|
+
width: '100%',
|
|
176
|
+
height: '100%',
|
|
177
|
+
borderRadius: 999,
|
|
178
|
+
alignItems: 'center',
|
|
179
|
+
justifyContent: 'center'
|
|
180
|
+
}
|
|
181
|
+
});
|
|
182
|
+
const AvatarGroupBase = exports.AvatarGroupBase = /*#__PURE__*/(0, _react.memo)(AvatarGroupBaseComponent);
|
|
183
|
+
AvatarGroupBase.displayName = 'AvatarGroupBase';
|
|
184
|
+
//# sourceMappingURL=AvatarGroupBase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_index","_useTheme","_tokens","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","RING_RATIO","MIN_RING","DEFAULT_OVERLAP_RATIO","getItemName","item","displayName","name","username","getItemKey","index","id","uri","AvatarGroupBaseComponent","items","size","max","total","overlap","ringColor","onPressItem","style","testID","hoverHandlers","theme","useTheme","ring","colors","card","ringWidth","Math","round","effectiveOverlap","negativeMargin","shown","useMemo","slice","realTotal","length","overflow","cellStyle","width","height","borderRadius","backgroundColor","alignItems","justifyContent","overflowTextStyle","color","textSecondary","fontSize","_2xs","fontWeight","interactive","hoverable","onHoverIn","onHoverOut","firstHidden","overflowOnPress","undefined","jsxs","View","styles","row","children","map","accessibilityLabel","wrapperStyle","marginLeft","zIndex","cell","jsx","ref","registerCellRef","node","collapsable","Avatar","Pressable","onPress","accessibilityRole","OverflowChip","count","textStyle","chip","chipInner","backgroundTertiary","Text","allowFontScaling","StyleSheet","create","flexDirection","AvatarGroupBase","exports","memo"],"sourceRoot":"../../../src","sources":["avatar-group/AvatarGroupBase.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "AvatarGroup", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _AvatarGroup.AvatarGroup;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _AvatarGroup = require("./AvatarGroup");
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_AvatarGroup","require"],"sourceRoot":"../../../src","sources":["avatar-group/index.ts"],"mappings":";;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
Object.defineProperty(exports, "AvatarGroup", {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
get: function () {
|
|
9
|
+
return _AvatarGroupWeb.AvatarGroup;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
var _AvatarGroupWeb = require("./AvatarGroup.web.js");
|
|
13
|
+
//# sourceMappingURL=index.web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_AvatarGroupWeb","require"],"sourceRoot":"../../../src","sources":["avatar-group/index.web.tsx"],"mappings":";;;;;;;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["avatar-group/types.ts"],"mappings":"","ignoreList":[]}
|