@oxyhq/bloom 0.8.5 → 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.
Files changed (119) hide show
  1. package/lib/commonjs/avatar-group/AvatarGroup.js +26 -0
  2. package/lib/commonjs/avatar-group/AvatarGroup.js.map +1 -0
  3. package/lib/commonjs/avatar-group/AvatarGroup.web.js +116 -0
  4. package/lib/commonjs/avatar-group/AvatarGroup.web.js.map +1 -0
  5. package/lib/commonjs/avatar-group/AvatarGroupBase.js +184 -0
  6. package/lib/commonjs/avatar-group/AvatarGroupBase.js.map +1 -0
  7. package/lib/commonjs/avatar-group/index.js +13 -0
  8. package/lib/commonjs/avatar-group/index.js.map +1 -0
  9. package/lib/commonjs/avatar-group/index.web.js +13 -0
  10. package/lib/commonjs/avatar-group/index.web.js.map +1 -0
  11. package/lib/commonjs/avatar-group/types.js +6 -0
  12. package/lib/commonjs/avatar-group/types.js.map +1 -0
  13. package/lib/commonjs/index.js +60 -44
  14. package/lib/commonjs/index.js.map +1 -1
  15. package/lib/commonjs/index.web.js +74 -58
  16. package/lib/commonjs/index.web.js.map +1 -1
  17. package/lib/commonjs/theme/color-scope/index.web.js +6 -7
  18. package/lib/commonjs/theme/color-scope/index.web.js.map +1 -1
  19. package/lib/commonjs/theme/color-scope/style-builder.js +18 -6
  20. package/lib/commonjs/theme/color-scope/style-builder.js.map +1 -1
  21. package/lib/commonjs/user-hover-card/UserHoverCard.js +193 -0
  22. package/lib/commonjs/user-hover-card/UserHoverCard.js.map +1 -0
  23. package/lib/commonjs/user-hover-card/index.js +13 -0
  24. package/lib/commonjs/user-hover-card/index.js.map +1 -0
  25. package/lib/commonjs/user-hover-card/types.js +6 -0
  26. package/lib/commonjs/user-hover-card/types.js.map +1 -0
  27. package/lib/module/avatar-group/AvatarGroup.js +21 -0
  28. package/lib/module/avatar-group/AvatarGroup.js.map +1 -0
  29. package/lib/module/avatar-group/AvatarGroup.web.js +111 -0
  30. package/lib/module/avatar-group/AvatarGroup.web.js.map +1 -0
  31. package/lib/module/avatar-group/AvatarGroupBase.js +179 -0
  32. package/lib/module/avatar-group/AvatarGroupBase.js.map +1 -0
  33. package/lib/module/avatar-group/index.js +4 -0
  34. package/lib/module/avatar-group/index.js.map +1 -0
  35. package/lib/module/avatar-group/index.web.js +4 -0
  36. package/lib/module/avatar-group/index.web.js.map +1 -0
  37. package/lib/module/avatar-group/types.js +4 -0
  38. package/lib/module/avatar-group/types.js.map +1 -0
  39. package/lib/module/index.js +2 -0
  40. package/lib/module/index.js.map +1 -1
  41. package/lib/module/index.web.js +2 -0
  42. package/lib/module/index.web.js.map +1 -1
  43. package/lib/module/theme/color-scope/index.web.js +6 -7
  44. package/lib/module/theme/color-scope/index.web.js.map +1 -1
  45. package/lib/module/theme/color-scope/style-builder.js +19 -7
  46. package/lib/module/theme/color-scope/style-builder.js.map +1 -1
  47. package/lib/module/user-hover-card/UserHoverCard.js +188 -0
  48. package/lib/module/user-hover-card/UserHoverCard.js.map +1 -0
  49. package/lib/module/user-hover-card/index.js +4 -0
  50. package/lib/module/user-hover-card/index.js.map +1 -0
  51. package/lib/module/user-hover-card/types.js +4 -0
  52. package/lib/module/user-hover-card/types.js.map +1 -0
  53. package/lib/typescript/commonjs/avatar-group/AvatarGroup.d.ts +4 -0
  54. package/lib/typescript/commonjs/avatar-group/AvatarGroup.d.ts.map +1 -0
  55. package/lib/typescript/commonjs/avatar-group/AvatarGroup.web.d.ts +4 -0
  56. package/lib/typescript/commonjs/avatar-group/AvatarGroup.web.d.ts.map +1 -0
  57. package/lib/typescript/commonjs/avatar-group/AvatarGroupBase.d.ts +16 -0
  58. package/lib/typescript/commonjs/avatar-group/AvatarGroupBase.d.ts.map +1 -0
  59. package/lib/typescript/commonjs/avatar-group/index.d.ts +3 -0
  60. package/lib/typescript/commonjs/avatar-group/index.d.ts.map +1 -0
  61. package/lib/typescript/commonjs/avatar-group/index.web.d.ts +3 -0
  62. package/lib/typescript/commonjs/avatar-group/index.web.d.ts.map +1 -0
  63. package/lib/typescript/commonjs/avatar-group/types.d.ts +63 -0
  64. package/lib/typescript/commonjs/avatar-group/types.d.ts.map +1 -0
  65. package/lib/typescript/commonjs/index.d.ts +4 -0
  66. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  67. package/lib/typescript/commonjs/index.web.d.ts +4 -0
  68. package/lib/typescript/commonjs/index.web.d.ts.map +1 -1
  69. package/lib/typescript/commonjs/theme/color-scope/index.web.d.ts.map +1 -1
  70. package/lib/typescript/commonjs/theme/color-scope/style-builder.d.ts +7 -5
  71. package/lib/typescript/commonjs/theme/color-scope/style-builder.d.ts.map +1 -1
  72. package/lib/typescript/commonjs/user-hover-card/UserHoverCard.d.ts +4 -0
  73. package/lib/typescript/commonjs/user-hover-card/UserHoverCard.d.ts.map +1 -0
  74. package/lib/typescript/commonjs/user-hover-card/index.d.ts +3 -0
  75. package/lib/typescript/commonjs/user-hover-card/index.d.ts.map +1 -0
  76. package/lib/typescript/commonjs/user-hover-card/types.d.ts +37 -0
  77. package/lib/typescript/commonjs/user-hover-card/types.d.ts.map +1 -0
  78. package/lib/typescript/module/avatar-group/AvatarGroup.d.ts +4 -0
  79. package/lib/typescript/module/avatar-group/AvatarGroup.d.ts.map +1 -0
  80. package/lib/typescript/module/avatar-group/AvatarGroup.web.d.ts +4 -0
  81. package/lib/typescript/module/avatar-group/AvatarGroup.web.d.ts.map +1 -0
  82. package/lib/typescript/module/avatar-group/AvatarGroupBase.d.ts +16 -0
  83. package/lib/typescript/module/avatar-group/AvatarGroupBase.d.ts.map +1 -0
  84. package/lib/typescript/module/avatar-group/index.d.ts +3 -0
  85. package/lib/typescript/module/avatar-group/index.d.ts.map +1 -0
  86. package/lib/typescript/module/avatar-group/index.web.d.ts +3 -0
  87. package/lib/typescript/module/avatar-group/index.web.d.ts.map +1 -0
  88. package/lib/typescript/module/avatar-group/types.d.ts +63 -0
  89. package/lib/typescript/module/avatar-group/types.d.ts.map +1 -0
  90. package/lib/typescript/module/index.d.ts +4 -0
  91. package/lib/typescript/module/index.d.ts.map +1 -1
  92. package/lib/typescript/module/index.web.d.ts +4 -0
  93. package/lib/typescript/module/index.web.d.ts.map +1 -1
  94. package/lib/typescript/module/theme/color-scope/index.web.d.ts.map +1 -1
  95. package/lib/typescript/module/theme/color-scope/style-builder.d.ts +7 -5
  96. package/lib/typescript/module/theme/color-scope/style-builder.d.ts.map +1 -1
  97. package/lib/typescript/module/user-hover-card/UserHoverCard.d.ts +4 -0
  98. package/lib/typescript/module/user-hover-card/UserHoverCard.d.ts.map +1 -0
  99. package/lib/typescript/module/user-hover-card/index.d.ts +3 -0
  100. package/lib/typescript/module/user-hover-card/index.d.ts.map +1 -0
  101. package/lib/typescript/module/user-hover-card/types.d.ts +37 -0
  102. package/lib/typescript/module/user-hover-card/types.d.ts.map +1 -0
  103. package/package.json +30 -1
  104. package/src/__tests__/BloomColorScope.test.tsx +12 -4
  105. package/src/avatar-group/AvatarGroup.stories.tsx +135 -0
  106. package/src/avatar-group/AvatarGroup.tsx +19 -0
  107. package/src/avatar-group/AvatarGroup.web.tsx +145 -0
  108. package/src/avatar-group/AvatarGroupBase.tsx +249 -0
  109. package/src/avatar-group/index.ts +2 -0
  110. package/src/avatar-group/index.web.tsx +2 -0
  111. package/src/avatar-group/types.ts +64 -0
  112. package/src/index.ts +4 -0
  113. package/src/index.web.ts +4 -0
  114. package/src/theme/color-scope/index.web.tsx +6 -7
  115. package/src/theme/color-scope/style-builder.ts +19 -7
  116. package/src/user-hover-card/UserHoverCard.stories.tsx +113 -0
  117. package/src/user-hover-card/UserHoverCard.tsx +204 -0
  118. package/src/user-hover-card/index.ts +2 -0
  119. 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":"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","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,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sourceRoot":"../../../src","sources":["avatar-group/types.ts"],"mappings":"","ignoreList":[]}