@fluentui/react-avatar 9.0.4 → 9.1.1

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 (131) hide show
  1. package/CHANGELOG.json +214 -6
  2. package/CHANGELOG.md +52 -7
  3. package/README-AvatarGroup.md +63 -39
  4. package/SPEC-AvatarGroup.md +103 -85
  5. package/dist/index.d.ts +97 -64
  6. package/lib/AvatarGroupPopover.js +2 -0
  7. package/lib/AvatarGroupPopover.js.map +1 -0
  8. package/lib/components/Avatar/useAvatar.js +3 -7
  9. package/lib/components/Avatar/useAvatar.js.map +1 -1
  10. package/lib/components/Avatar/useAvatarStyles.js +2 -2
  11. package/lib/components/Avatar/useAvatarStyles.js.map +1 -1
  12. package/lib/components/AvatarGroup/AvatarGroup.js +4 -2
  13. package/lib/components/AvatarGroup/AvatarGroup.js.map +1 -1
  14. package/lib/components/AvatarGroup/AvatarGroup.types.js.map +1 -1
  15. package/lib/components/AvatarGroup/index.js +1 -0
  16. package/lib/components/AvatarGroup/index.js.map +1 -1
  17. package/lib/components/AvatarGroup/renderAvatarGroup.js +5 -31
  18. package/lib/components/AvatarGroup/renderAvatarGroup.js.map +1 -1
  19. package/lib/components/AvatarGroup/useAvatarGroup.js +4 -62
  20. package/lib/components/AvatarGroup/useAvatarGroup.js.map +1 -1
  21. package/lib/components/AvatarGroup/useAvatarGroupContextValues.js +14 -0
  22. package/lib/components/AvatarGroup/useAvatarGroupContextValues.js.map +1 -0
  23. package/lib/components/AvatarGroup/useAvatarGroupStyles.js +5 -268
  24. package/lib/components/AvatarGroup/useAvatarGroupStyles.js.map +1 -1
  25. package/lib/components/AvatarGroupItem/AvatarGroupItem.js +1 -1
  26. package/lib/components/AvatarGroupItem/AvatarGroupItem.js.map +1 -1
  27. package/lib/components/AvatarGroupItem/AvatarGroupItem.types.js.map +1 -1
  28. package/lib/components/AvatarGroupItem/useAvatarGroupItem.js +10 -11
  29. package/lib/components/AvatarGroupItem/useAvatarGroupItem.js.map +1 -1
  30. package/lib/components/AvatarGroupItem/useAvatarGroupItemStyles.js +51 -59
  31. package/lib/components/AvatarGroupItem/useAvatarGroupItemStyles.js.map +1 -1
  32. package/lib/components/AvatarGroupPopover/AvatarGroupPopover.js +16 -0
  33. package/lib/components/AvatarGroupPopover/AvatarGroupPopover.js.map +1 -0
  34. package/lib/components/AvatarGroupPopover/AvatarGroupPopover.types.js +2 -0
  35. package/lib/components/AvatarGroupPopover/AvatarGroupPopover.types.js.map +1 -0
  36. package/lib/components/AvatarGroupPopover/index.js +6 -0
  37. package/lib/components/AvatarGroupPopover/index.js.map +1 -0
  38. package/lib/components/AvatarGroupPopover/renderAvatarGroupPopover.js +23 -0
  39. package/lib/components/AvatarGroupPopover/renderAvatarGroupPopover.js.map +1 -0
  40. package/lib/components/AvatarGroupPopover/useAvatarGroupPopover.js +102 -0
  41. package/lib/components/AvatarGroupPopover/useAvatarGroupPopover.js.map +1 -0
  42. package/lib/components/AvatarGroupPopover/useAvatarGroupPopoverContextValues.js +10 -0
  43. package/lib/components/AvatarGroupPopover/useAvatarGroupPopoverContextValues.js.map +1 -0
  44. package/lib/components/AvatarGroupPopover/useAvatarGroupPopoverStyles.js +307 -0
  45. package/lib/components/AvatarGroupPopover/useAvatarGroupPopoverStyles.js.map +1 -0
  46. package/lib/contexts/AvatarGroupContext.js +7 -4
  47. package/lib/contexts/AvatarGroupContext.js.map +1 -1
  48. package/lib/index.js +4 -3
  49. package/lib/index.js.map +1 -1
  50. package/lib/utils/index.js +1 -0
  51. package/lib/utils/index.js.map +1 -1
  52. package/lib/utils/partitionAvatarGroupItems.js +30 -0
  53. package/lib/utils/partitionAvatarGroupItems.js.map +1 -0
  54. package/lib-commonjs/{AvatarGroupOverflow.js → AvatarGroupPopover.js} +2 -2
  55. package/lib-commonjs/AvatarGroupPopover.js.map +1 -0
  56. package/lib-commonjs/components/Avatar/useAvatar.js +2 -7
  57. package/lib-commonjs/components/Avatar/useAvatar.js.map +1 -1
  58. package/lib-commonjs/components/Avatar/useAvatarStyles.js +2 -2
  59. package/lib-commonjs/components/Avatar/useAvatarStyles.js.map +1 -1
  60. package/lib-commonjs/components/AvatarGroup/AvatarGroup.js +5 -2
  61. package/lib-commonjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
  62. package/lib-commonjs/components/AvatarGroup/index.js +2 -0
  63. package/lib-commonjs/components/AvatarGroup/index.js.map +1 -1
  64. package/lib-commonjs/components/AvatarGroup/renderAvatarGroup.js +4 -32
  65. package/lib-commonjs/components/AvatarGroup/renderAvatarGroup.js.map +1 -1
  66. package/lib-commonjs/components/AvatarGroup/useAvatarGroup.js +3 -64
  67. package/lib-commonjs/components/AvatarGroup/useAvatarGroup.js.map +1 -1
  68. package/lib-commonjs/components/AvatarGroup/useAvatarGroupContextValues.js +23 -0
  69. package/lib-commonjs/components/AvatarGroup/useAvatarGroupContextValues.js.map +1 -0
  70. package/lib-commonjs/components/AvatarGroup/useAvatarGroupStyles.js +3 -268
  71. package/lib-commonjs/components/AvatarGroup/useAvatarGroupStyles.js.map +1 -1
  72. package/lib-commonjs/components/AvatarGroupItem/AvatarGroupItem.js +2 -2
  73. package/lib-commonjs/components/AvatarGroupItem/AvatarGroupItem.js.map +1 -1
  74. package/lib-commonjs/components/AvatarGroupItem/useAvatarGroupItem.js +8 -9
  75. package/lib-commonjs/components/AvatarGroupItem/useAvatarGroupItem.js.map +1 -1
  76. package/lib-commonjs/components/AvatarGroupItem/useAvatarGroupItemStyles.js +52 -60
  77. package/lib-commonjs/components/AvatarGroupItem/useAvatarGroupItemStyles.js.map +1 -1
  78. package/lib-commonjs/components/AvatarGroupPopover/AvatarGroupPopover.js +29 -0
  79. package/lib-commonjs/components/AvatarGroupPopover/AvatarGroupPopover.js.map +1 -0
  80. package/lib-commonjs/{contexts/AvatarGroupContext.types.js → components/AvatarGroupPopover/AvatarGroupPopover.types.js} +1 -1
  81. package/lib-commonjs/{contexts/AvatarGroupContext.types.js.map → components/AvatarGroupPopover/AvatarGroupPopover.types.js.map} +0 -0
  82. package/lib-commonjs/components/AvatarGroupPopover/index.js +18 -0
  83. package/lib-commonjs/components/AvatarGroupPopover/index.js.map +1 -0
  84. package/lib-commonjs/components/AvatarGroupPopover/renderAvatarGroupPopover.js +36 -0
  85. package/lib-commonjs/components/AvatarGroupPopover/renderAvatarGroupPopover.js.map +1 -0
  86. package/lib-commonjs/components/AvatarGroupPopover/useAvatarGroupPopover.js +118 -0
  87. package/lib-commonjs/components/AvatarGroupPopover/useAvatarGroupPopover.js.map +1 -0
  88. package/lib-commonjs/components/AvatarGroupPopover/useAvatarGroupPopoverContextValues.js +19 -0
  89. package/lib-commonjs/components/AvatarGroupPopover/useAvatarGroupPopoverContextValues.js.map +1 -0
  90. package/lib-commonjs/components/AvatarGroupPopover/useAvatarGroupPopoverStyles.js +321 -0
  91. package/lib-commonjs/components/AvatarGroupPopover/useAvatarGroupPopoverStyles.js.map +1 -0
  92. package/lib-commonjs/contexts/AvatarGroupContext.js +10 -4
  93. package/lib-commonjs/contexts/AvatarGroupContext.js.map +1 -1
  94. package/lib-commonjs/index.js +60 -4
  95. package/lib-commonjs/index.js.map +1 -1
  96. package/lib-commonjs/utils/index.js +10 -1
  97. package/lib-commonjs/utils/index.js.map +1 -1
  98. package/lib-commonjs/utils/partitionAvatarGroupItems.js +39 -0
  99. package/lib-commonjs/utils/partitionAvatarGroupItems.js.map +1 -0
  100. package/package.json +14 -12
  101. package/MIGRATION-AvatarGroup.md +0 -35
  102. package/dist/tsdoc-metadata.json +0 -11
  103. package/lib/AvatarGroupOverflow.js +0 -2
  104. package/lib/AvatarGroupOverflow.js.map +0 -1
  105. package/lib/components/AvatarGroupOverflow/AvatarGroupOverflow.js +0 -15
  106. package/lib/components/AvatarGroupOverflow/AvatarGroupOverflow.js.map +0 -1
  107. package/lib/components/AvatarGroupOverflow/AvatarGroupOverflow.types.js +0 -2
  108. package/lib/components/AvatarGroupOverflow/AvatarGroupOverflow.types.js.map +0 -1
  109. package/lib/components/AvatarGroupOverflow/index.js +0 -6
  110. package/lib/components/AvatarGroupOverflow/index.js.map +0 -1
  111. package/lib/components/AvatarGroupOverflow/renderAvatarGroupOverflow.js +0 -16
  112. package/lib/components/AvatarGroupOverflow/renderAvatarGroupOverflow.js.map +0 -1
  113. package/lib/components/AvatarGroupOverflow/useAvatarGroupOverflow.js +0 -27
  114. package/lib/components/AvatarGroupOverflow/useAvatarGroupOverflow.js.map +0 -1
  115. package/lib/components/AvatarGroupOverflow/useAvatarGroupOverflowStyles.js +0 -27
  116. package/lib/components/AvatarGroupOverflow/useAvatarGroupOverflowStyles.js.map +0 -1
  117. package/lib/contexts/AvatarGroupContext.types.js +0 -2
  118. package/lib/contexts/AvatarGroupContext.types.js.map +0 -1
  119. package/lib-commonjs/AvatarGroupOverflow.js.map +0 -1
  120. package/lib-commonjs/components/AvatarGroupOverflow/AvatarGroupOverflow.js +0 -26
  121. package/lib-commonjs/components/AvatarGroupOverflow/AvatarGroupOverflow.js.map +0 -1
  122. package/lib-commonjs/components/AvatarGroupOverflow/AvatarGroupOverflow.types.js +0 -6
  123. package/lib-commonjs/components/AvatarGroupOverflow/AvatarGroupOverflow.types.js.map +0 -1
  124. package/lib-commonjs/components/AvatarGroupOverflow/index.js +0 -18
  125. package/lib-commonjs/components/AvatarGroupOverflow/index.js.map +0 -1
  126. package/lib-commonjs/components/AvatarGroupOverflow/renderAvatarGroupOverflow.js +0 -27
  127. package/lib-commonjs/components/AvatarGroupOverflow/renderAvatarGroupOverflow.js.map +0 -1
  128. package/lib-commonjs/components/AvatarGroupOverflow/useAvatarGroupOverflow.js +0 -37
  129. package/lib-commonjs/components/AvatarGroupOverflow/useAvatarGroupOverflow.js.map +0 -1
  130. package/lib-commonjs/components/AvatarGroupOverflow/useAvatarGroupOverflowStyles.js +0 -37
  131. package/lib-commonjs/components/AvatarGroupOverflow/useAvatarGroupOverflowStyles.js.map +0 -1
@@ -1,13 +1,8 @@
1
- import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';
2
- import { __styles, mergeClasses, shorthands } from '@griffel/react';
3
- import { tokens, typographyStyles } from '@fluentui/react-theme';
1
+ import { __styles, mergeClasses } from '@griffel/react';
2
+ import { tokens } from '@fluentui/react-theme';
4
3
  import { useSizeStyles } from '../Avatar/useAvatarStyles';
5
- import { useGroupChildClassName } from '../../AvatarGroupItem';
6
4
  export const avatarGroupClassNames = {
7
- root: 'fui-AvatarGroup',
8
- overflowContent: 'fui-AvatarGroup__overflowContent',
9
- overflowButton: 'fui-AvatarGroup__overflowButton',
10
- overflowSurface: 'fui-AvatarGroup__overflowSurface'
5
+ root: 'fui-AvatarGroup'
11
6
  };
12
7
  /**
13
8
  * Styles for the root slot.
@@ -22,211 +17,13 @@ const useStyles = /*#__PURE__*/__styles({
22
17
  "Bgl5zvf": "f1uz6ud1",
23
18
  "De3pzq": "f1ganh6p",
24
19
  "Bsw6fvg": "fe2ae1k"
25
- },
26
- "overflowSurface": {
27
- "z8tnut": "f1g0x7ka",
28
- "z189sj": ["fhxju0i", "f1cnd47f"],
29
- "Byoj8tv": "f1qch9an",
30
- "uwmqm3": ["f1cnd47f", "fhxju0i"]
31
- },
32
- "overflowContent": {
33
- "Bxyxcbc": "fopcw2o",
34
- "sshi5w": "f1n5o1gx",
35
- "B68tc82": "f1p9o1ba",
36
- "Bmxbyg5": "fqkkaap",
37
- "z8tnut": "f17mpqex",
38
- "z189sj": ["f1vdfbxk", "f1f5gg8d"],
39
- "Byoj8tv": "fdvome7",
40
- "uwmqm3": ["f1f5gg8d", "f1vdfbxk"],
41
- "a9b677": "f13dwy2t"
42
20
  }
43
21
  }, {
44
- "d": [".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".f10pi13n{position:relative;}", ".f1uz6ud1{-webkit-clip-path:circle(50%);clip-path:circle(50%);}", ".f1ganh6p{background-color:var(--colorTransparentStroke);}", ".f1g0x7ka{padding-top:0;}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f1qch9an{padding-bottom:0;}", ".fopcw2o{max-height:220px;}", ".f1n5o1gx{min-height:80px;}", ".f1p9o1ba{overflow-x:hidden;}", ".fqkkaap{overflow-y:scroll;}", ".f17mpqex{padding-top:var(--spacingHorizontalS);}", ".f1vdfbxk{padding-right:var(--spacingHorizontalS);}", ".f1f5gg8d{padding-left:var(--spacingHorizontalS);}", ".fdvome7{padding-bottom:var(--spacingHorizontalS);}", ".f13dwy2t{width:220px;}"],
22
+ "d": [".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".f10pi13n{position:relative;}", ".f1uz6ud1{-webkit-clip-path:circle(50%);clip-path:circle(50%);}", ".f1ganh6p{background-color:var(--colorTransparentStroke);}"],
45
23
  "m": [["@media (forced-colors: active){.fe2ae1k{background-color:CanvasText;}}", {
46
24
  "m": "(forced-colors: active)"
47
25
  }]]
48
26
  });
49
- /**
50
- * Styles for overflow button slot.
51
- */
52
-
53
-
54
- const useOverflowButtonStyles = /*#__PURE__*/__styles({
55
- "base": {
56
- "mc9l5x": "ftuwxu6",
57
- "qhf8xq": "f10pi13n",
58
- "Bnnss6s": "fi64zpg",
59
- "Brf1p80": "f4d9j23",
60
- "Bt984gj": "f122n59",
61
- "sj55zd": "f19n0e5",
62
- "De3pzq": "fxugw4r",
63
- "g2u3we": "fj3muxo",
64
- "h3c5rm": ["f1akhkt", "f1lxtadh"],
65
- "B9xav0g": "f1aperda",
66
- "zhjwy3": ["f1lxtadh", "f1akhkt"],
67
- "Bbmb7ep": ["f8fbkgy", "f1nfllo7"],
68
- "Beyfa6y": ["f1nfllo7", "f8fbkgy"],
69
- "B7oj6ja": ["f1djnp8u", "f1s8kh49"],
70
- "Btl43ni": ["f1s8kh49", "f1djnp8u"],
71
- "icvyot": "fzkkow9",
72
- "vrafjx": ["fcdblym", "fjik90z"],
73
- "oivjwe": "fg706s2",
74
- "wvpqe5": ["fjik90z", "fcdblym"],
75
- "z8tnut": "f1g0x7ka",
76
- "z189sj": ["fhxju0i", "f1cnd47f"],
77
- "Byoj8tv": "f1qch9an",
78
- "uwmqm3": ["f1cnd47f", "fhxju0i"],
79
- "Bjwas2f": "fw33nwi",
80
- "Bn1d65q": ["f1ptkjjm", "fmzzjfk"],
81
- "Bxeuatn": "f15j0dln",
82
- "n51gp8": ["fmzzjfk", "f1ptkjjm"]
83
- },
84
- "focusIndicator": {
85
- "Brovlpu": "ftqa4ok",
86
- "B486eqv": "f2hkw1w",
87
- "Bvjrn4i": "fvvvjju",
88
- "Bfjx6ro": ["f1j42xvt", "ftiyk5j"],
89
- "vkx7if": "f3za06g",
90
- "Bhdpb9s": ["ftiyk5j", "f1j42xvt"],
91
- "H7go31": "flnhq9f",
92
- "ns4vmj": "f149st4k",
93
- "me5axj": "f1tn340u"
94
- },
95
- "pieFocusIndicator": {
96
- "Brovlpu": "ftqa4ok",
97
- "B486eqv": "f2hkw1w",
98
- "B7vjy6w": "f16bl5ra",
99
- "k9s1gq": ["fdi6dq0", "f1tjf6rm"],
100
- "hhz4md": "fexdhnp",
101
- "B282cnq": ["f1tjf6rm", "fdi6dq0"],
102
- "Bhrp7kx": "frdu0z4",
103
- "jt52do": ["ftyr16m", "f6wv3wq"],
104
- "qyg4kl": "fmjz5p8",
105
- "aw8gdl": ["f6wv3wq", "ftyr16m"],
106
- "Bvjrn4i": "ftvba00",
107
- "Bfjx6ro": ["fqg29le", "f1io5jdi"],
108
- "vkx7if": "fak3yh7",
109
- "Bhdpb9s": ["f1io5jdi", "fqg29le"]
110
- },
111
- "states": {
112
- "Bi91k9c": "feu1g3u",
113
- "Jwef8y": "f1knas48",
114
- "Bgoe8wy": "fvcxoqz",
115
- "Bwzppfd": ["f1ub3y4t", "f1m52nbi"],
116
- "oetu4i": "f1xlaoq0",
117
- "gg5e9n": ["f1m52nbi", "f1ub3y4t"],
118
- "lj723h": "f1g4hkjv",
119
- "ecr2s2": "fb40n2d",
120
- "B6oc9vd": "fvs00aa",
121
- "ak43y8": ["f1assf6x", "f4ruux4"],
122
- "wmxk5l": "fumykes",
123
- "B50zh58": ["f4ruux4", "f1assf6x"]
124
- },
125
- "pie": {
126
- "De3pzq": "f1c21dwh",
127
- "g2u3we": "fghlq4f",
128
- "h3c5rm": ["f1gn591s", "fjscplz"],
129
- "B9xav0g": "fb073pr",
130
- "zhjwy3": ["fjscplz", "f1gn591s"],
131
- "sj55zd": "f44pa96"
132
- },
133
- "icon12": {
134
- "Be2twd7": "f1ugzwwg"
135
- },
136
- "icon16": {
137
- "Be2twd7": "f4ybsrx"
138
- },
139
- "icon20": {
140
- "Be2twd7": "fe5j1ua"
141
- },
142
- "icon24": {
143
- "Be2twd7": "f1rt2boy"
144
- },
145
- "icon28": {
146
- "Be2twd7": "f24l1pt"
147
- },
148
- "icon32": {
149
- "Be2twd7": "ffl51b"
150
- },
151
- "icon48": {
152
- "Be2twd7": "f18m8u13"
153
- },
154
- "caption2Strong": {
155
- "Bahqtrf": "fk6fouc",
156
- "Be2twd7": "f13mqy1h",
157
- "Bhrd7zp": "fl43uef",
158
- "Bg96gwp": "fcpl73t"
159
- },
160
- "caption1Strong": {
161
- "Bahqtrf": "fk6fouc",
162
- "Be2twd7": "fy9rknc",
163
- "Bhrd7zp": "fl43uef",
164
- "Bg96gwp": "fwrc4pm"
165
- },
166
- "body1Strong": {
167
- "Bahqtrf": "fk6fouc",
168
- "Be2twd7": "fkhj508",
169
- "Bhrd7zp": "fl43uef",
170
- "Bg96gwp": "f1i3iumi"
171
- },
172
- "subtitle2": {
173
- "Bahqtrf": "fk6fouc",
174
- "Be2twd7": "fod5ikn",
175
- "Bhrd7zp": "fl43uef",
176
- "Bg96gwp": "faaz57k"
177
- },
178
- "subtitle1": {
179
- "Bahqtrf": "fk6fouc",
180
- "Be2twd7": "f1pp30po",
181
- "Bhrd7zp": "fl43uef",
182
- "Bg96gwp": "f106mvju"
183
- },
184
- "title3": {
185
- "Bahqtrf": "fk6fouc",
186
- "Be2twd7": "f1x0m3f5",
187
- "Bhrd7zp": "fl43uef",
188
- "Bg96gwp": "fb86gi6"
189
- },
190
- "borderThin": {
191
- "B4j52fo": "f192inf7",
192
- "Bekrc4i": ["f5tn483", "f1ojsxk5"],
193
- "Bn0qgzm": "f1vxd6vx",
194
- "ibv6hh": ["f1ojsxk5", "f5tn483"]
195
- },
196
- "borderThick": {
197
- "B4j52fo": "f18zi460",
198
- "Bekrc4i": ["f1wpluaz", "fsfsuhs"],
199
- "Bn0qgzm": "fmklw6v",
200
- "ibv6hh": ["fsfsuhs", "f1wpluaz"]
201
- },
202
- "borderThicker": {
203
- "B4j52fo": "fgx37oo",
204
- "Bekrc4i": ["f130t4y6", "f1efpmoh"],
205
- "Bn0qgzm": "fv51ejd",
206
- "ibv6hh": ["f1efpmoh", "f130t4y6"]
207
- },
208
- "borderThickest": {
209
- "B4j52fo": "fwn6jck",
210
- "Bekrc4i": ["figl7jc", "f1g0iy8l"],
211
- "Bn0qgzm": "f1b8shu7",
212
- "ibv6hh": ["f1g0iy8l", "figl7jc"]
213
- }
214
- }, {
215
- "d": [".ftuwxu6{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;}", ".f10pi13n{position:relative;}", ".fi64zpg{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0;}", ".f4d9j23{-webkit-box-pack:center;-ms-flex-pack:center;-webkit-justify-content:center;justify-content:center;}", ".f122n59{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}", ".f19n0e5{color:var(--colorNeutralForeground1);}", ".fxugw4r{background-color:var(--colorNeutralBackground1);}", ".fj3muxo{border-top-color:var(--colorNeutralStroke1);}", ".f1akhkt{border-right-color:var(--colorNeutralStroke1);}", ".f1lxtadh{border-left-color:var(--colorNeutralStroke1);}", ".f1aperda{border-bottom-color:var(--colorNeutralStroke1);}", ".f8fbkgy{border-bottom-right-radius:var(--borderRadiusCircular);}", ".f1nfllo7{border-bottom-left-radius:var(--borderRadiusCircular);}", ".f1djnp8u{border-top-right-radius:var(--borderRadiusCircular);}", ".f1s8kh49{border-top-left-radius:var(--borderRadiusCircular);}", ".fzkkow9{border-top-style:solid;}", ".fcdblym{border-right-style:solid;}", ".fjik90z{border-left-style:solid;}", ".fg706s2{border-bottom-style:solid;}", ".f1g0x7ka{padding-top:0;}", ".fhxju0i{padding-right:0;}", ".f1cnd47f{padding-left:0;}", ".f1qch9an{padding-bottom:0;}", ".fui-FluentProvider .fvvvjju.fui-focus-visible{border-top-color:transparent;}", ".fui-FluentProvider .f1j42xvt.fui-focus-visible{border-right-color:transparent;}", ".fui-FluentProvider .ftiyk5j.fui-focus-visible{border-left-color:transparent;}", ".fui-FluentProvider .f3za06g.fui-focus-visible{border-bottom-color:transparent;}", ".fui-FluentProvider .flnhq9f.fui-focus-visible{outline-color:var(--colorStrokeFocus2);}", ".fui-FluentProvider .f149st4k.fui-focus-visible{outline-width:var(--strokeWidthThick);}", ".fui-FluentProvider .f1tn340u.fui-focus-visible{outline-style:solid;}", ".fui-FluentProvider .f16bl5ra.fui-focus-visible{border-top-width:var(--strokeWidthThick);}", ".fui-FluentProvider .fdi6dq0.fui-focus-visible{border-right-width:var(--strokeWidthThick);}", ".fui-FluentProvider .f1tjf6rm.fui-focus-visible{border-left-width:var(--strokeWidthThick);}", ".fui-FluentProvider .fexdhnp.fui-focus-visible{border-bottom-width:var(--strokeWidthThick);}", ".fui-FluentProvider .frdu0z4.fui-focus-visible{border-top-style:solid;}", ".fui-FluentProvider .ftyr16m.fui-focus-visible{border-right-style:solid;}", ".fui-FluentProvider .f6wv3wq.fui-focus-visible{border-left-style:solid;}", ".fui-FluentProvider .fmjz5p8.fui-focus-visible{border-bottom-style:solid;}", ".fui-FluentProvider .ftvba00.fui-focus-visible{border-top-color:var(--colorStrokeFocus2);}", ".fui-FluentProvider .fqg29le.fui-focus-visible{border-right-color:var(--colorStrokeFocus2);}", ".fui-FluentProvider .f1io5jdi.fui-focus-visible{border-left-color:var(--colorStrokeFocus2);}", ".fui-FluentProvider .fak3yh7.fui-focus-visible{border-bottom-color:var(--colorStrokeFocus2);}", ".f1c21dwh{background-color:var(--colorTransparentBackground);}", ".fghlq4f{border-top-color:var(--colorTransparentStroke);}", ".f1gn591s{border-right-color:var(--colorTransparentStroke);}", ".fjscplz{border-left-color:var(--colorTransparentStroke);}", ".fb073pr{border-bottom-color:var(--colorTransparentStroke);}", ".f44pa96{color:transparent;}", ".f1ugzwwg{font-size:12px;}", ".f4ybsrx{font-size:16px;}", ".fe5j1ua{font-size:20px;}", ".f1rt2boy{font-size:24px;}", ".f24l1pt{font-size:28px;}", ".ffl51b{font-size:32px;}", ".f18m8u13{font-size:48px;}", ".fk6fouc{font-family:var(--fontFamilyBase);}", ".f13mqy1h{font-size:var(--fontSizeBase100);}", ".fl43uef{font-weight:var(--fontWeightSemibold);}", ".fcpl73t{line-height:var(--lineHeightBase100);}", ".fy9rknc{font-size:var(--fontSizeBase200);}", ".fwrc4pm{line-height:var(--lineHeightBase200);}", ".fkhj508{font-size:var(--fontSizeBase300);}", ".f1i3iumi{line-height:var(--lineHeightBase300);}", ".fod5ikn{font-size:var(--fontSizeBase400);}", ".faaz57k{line-height:var(--lineHeightBase400);}", ".f1pp30po{font-size:var(--fontSizeBase500);}", ".f106mvju{line-height:var(--lineHeightBase500);}", ".f1x0m3f5{font-size:var(--fontSizeBase600);}", ".fb86gi6{line-height:var(--lineHeightBase600);}", ".f192inf7{border-top-width:var(--strokeWidthThin);}", ".f5tn483{border-right-width:var(--strokeWidthThin);}", ".f1ojsxk5{border-left-width:var(--strokeWidthThin);}", ".f1vxd6vx{border-bottom-width:var(--strokeWidthThin);}", ".f18zi460{border-top-width:var(--strokeWidthThick);}", ".f1wpluaz{border-right-width:var(--strokeWidthThick);}", ".fsfsuhs{border-left-width:var(--strokeWidthThick);}", ".fmklw6v{border-bottom-width:var(--strokeWidthThick);}", ".fgx37oo{border-top-width:var(--strokeWidthThicker);}", ".f130t4y6{border-right-width:var(--strokeWidthThicker);}", ".f1efpmoh{border-left-width:var(--strokeWidthThicker);}", ".fv51ejd{border-bottom-width:var(--strokeWidthThicker);}", ".fwn6jck{border-top-width:var(--strokeWidthThickest);}", ".figl7jc{border-right-width:var(--strokeWidthThickest);}", ".f1g0iy8l{border-left-width:var(--strokeWidthThickest);}", ".f1b8shu7{border-bottom-width:var(--strokeWidthThickest);}"],
216
- "m": [["@media (forced-colors: active){.fw33nwi{border-top-color:CanvasText;}}", {
217
- "m": "(forced-colors: active)"
218
- }], ["@media (forced-colors: active){.f1ptkjjm{border-right-color:CanvasText;}.fmzzjfk{border-left-color:CanvasText;}}", {
219
- "m": "(forced-colors: active)"
220
- }], ["@media (forced-colors: active){.f15j0dln{border-bottom-color:CanvasText;}}", {
221
- "m": "(forced-colors: active)"
222
- }], ["@media (forced-colors: active){.fmzzjfk{border-left-color:CanvasText;}.f1ptkjjm{border-right-color:CanvasText;}}", {
223
- "m": "(forced-colors: active)"
224
- }]],
225
- "f": [".ftqa4ok:focus{outline-style:none;}"],
226
- "i": [".f2hkw1w:focus-visible{outline-style:none;}"],
227
- "h": [".feu1g3u:hover{color:var(--colorNeutralForeground1Hover);}", ".f1knas48:hover{background-color:var(--colorNeutralBackground1Hover);}", ".fvcxoqz:hover{border-top-color:var(--colorNeutralStroke1Hover);}", ".f1ub3y4t:hover{border-right-color:var(--colorNeutralStroke1Hover);}", ".f1m52nbi:hover{border-left-color:var(--colorNeutralStroke1Hover);}", ".f1xlaoq0:hover{border-bottom-color:var(--colorNeutralStroke1Hover);}"],
228
- "a": [".f1g4hkjv:active{color:var(--colorNeutralForeground1Pressed);}", ".fb40n2d:active{background-color:var(--colorNeutralBackground1Pressed);}", ".fvs00aa:active{border-top-color:var(--colorNeutralStroke1Pressed);}", ".f1assf6x:active{border-right-color:var(--colorNeutralStroke1Pressed);}", ".f4ruux4:active{border-left-color:var(--colorNeutralStroke1Pressed);}", ".fumykes:active{border-bottom-color:var(--colorNeutralStroke1Pressed);}"]
229
- });
230
27
  /**
231
28
  * Apply styling to the AvatarGroup slots based on the state
232
29
  */
@@ -235,71 +32,11 @@ const useOverflowButtonStyles = /*#__PURE__*/__styles({
235
32
  export const useAvatarGroupStyles_unstable = state => {
236
33
  const {
237
34
  layout,
238
- overflowIndicator,
239
35
  size
240
36
  } = state;
241
37
  const styles = useStyles();
242
38
  const sizeStyles = useSizeStyles();
243
- const overflowButtonStyles = useOverflowButtonStyles();
244
- const groupChildClassName = useGroupChildClassName(layout, size, true);
245
- state.root.className = mergeClasses(avatarGroupClassNames.root, styles.base, layout === 'pie' && styles.pie, layout === 'pie' && sizeStyles[size], state.root.className);
246
-
247
- if (state.overflowContent) {
248
- state.overflowContent.className = mergeClasses(avatarGroupClassNames.overflowContent, styles.overflowContent, state.overflowContent.className);
249
- }
250
-
251
- if (state.overflowSurface) {
252
- state.overflowSurface.className = mergeClasses(avatarGroupClassNames.overflowSurface, styles.overflowSurface, state.overflowSurface.className);
253
- }
254
-
255
- const overflowButtonClasses = [];
256
-
257
- if (size < 36) {
258
- overflowButtonClasses.push(overflowButtonStyles.borderThin);
259
- } else if (size < 56) {
260
- overflowButtonClasses.push(overflowButtonStyles.borderThick);
261
- } else if (size < 72) {
262
- overflowButtonClasses.push(overflowButtonStyles.borderThicker);
263
- } else {
264
- overflowButtonClasses.push(overflowButtonStyles.borderThickest);
265
- }
266
-
267
- if (overflowIndicator === 'count') {
268
- if (size <= 24) {
269
- overflowButtonClasses.push(overflowButtonStyles.caption2Strong);
270
- } else if (size <= 28) {
271
- overflowButtonClasses.push(overflowButtonStyles.caption1Strong);
272
- } else if (size <= 40) {
273
- overflowButtonClasses.push(overflowButtonStyles.body1Strong);
274
- } else if (size <= 56) {
275
- overflowButtonClasses.push(overflowButtonStyles.subtitle2);
276
- } else if (size <= 96) {
277
- overflowButtonClasses.push(overflowButtonStyles.subtitle1);
278
- } else {
279
- overflowButtonClasses.push(overflowButtonStyles.title3);
280
- }
281
- } else {
282
- if (size <= 16) {
283
- overflowButtonClasses.push(overflowButtonStyles.icon12);
284
- } else if (size <= 24) {
285
- overflowButtonClasses.push(overflowButtonStyles.icon16);
286
- } else if (size <= 40) {
287
- overflowButtonClasses.push(overflowButtonStyles.icon20);
288
- } else if (size <= 48) {
289
- overflowButtonClasses.push(overflowButtonStyles.icon24);
290
- } else if (size <= 56) {
291
- overflowButtonClasses.push(overflowButtonStyles.icon28);
292
- } else if (size <= 72) {
293
- overflowButtonClasses.push(overflowButtonStyles.icon32);
294
- } else {
295
- overflowButtonClasses.push(overflowButtonStyles.icon48);
296
- }
297
- }
298
-
299
- if (state.overflowButton) {
300
- state.overflowButton.className = mergeClasses(avatarGroupClassNames.overflowButton, sizeStyles[size], overflowButtonStyles.base, ...overflowButtonClasses, layout !== 'pie' && overflowButtonStyles.states, layout !== 'pie' && overflowButtonStyles.focusIndicator, layout === 'pie' && overflowButtonStyles.pieFocusIndicator, layout === 'pie' && overflowButtonStyles.pie, groupChildClassName, state.overflowButton.className);
301
- }
302
-
39
+ state.root.className = mergeClasses(avatarGroupClassNames.root, styles.base, layout === 'pie' && sizeStyles[size], layout === 'pie' && styles.pie, state.root.className);
303
40
  return state;
304
41
  };
305
42
  //# sourceMappingURL=useAvatarGroupStyles.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["components/AvatarGroup/useAvatarGroupStyles.ts"],"names":[],"mappings":"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","sourcesContent":["import { createCustomFocusIndicatorStyle } from '@fluentui/react-tabster';\nimport { makeStyles, mergeClasses, shorthands } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport { useSizeStyles } from '../Avatar/useAvatarStyles';\nimport type { AvatarGroupSlots, AvatarGroupState } from './AvatarGroup.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\nimport { useGroupChildClassName } from '../../AvatarGroupItem';\n\nexport const avatarGroupClassNames: SlotClassNames<AvatarGroupSlots> = {\n root: 'fui-AvatarGroup',\n overflowContent: 'fui-AvatarGroup__overflowContent',\n overflowButton: 'fui-AvatarGroup__overflowButton',\n overflowSurface: 'fui-AvatarGroup__overflowSurface',\n};\n\n/**\n * Styles for the root slot.\n */\nconst useStyles = makeStyles({\n base: {\n display: 'inline-flex',\n position: 'relative',\n },\n pie: {\n clipPath: 'circle(50%)',\n backgroundColor: tokens.colorTransparentStroke,\n '@media (forced-colors: active)': {\n backgroundColor: 'CanvasText',\n },\n },\n overflowSurface: {\n ...shorthands.padding(0),\n },\n overflowContent: {\n maxHeight: '220px',\n minHeight: '80px',\n ...shorthands.overflow('hidden', 'scroll'),\n ...shorthands.padding(tokens.spacingHorizontalS),\n width: '220px',\n },\n});\n\n/**\n * Styles for overflow button slot.\n */\nconst useOverflowButtonStyles = makeStyles({\n base: {\n display: 'inline-flex',\n position: 'relative',\n flexShrink: 0,\n justifyContent: 'center',\n alignItems: 'center',\n color: tokens.colorNeutralForeground1,\n backgroundColor: tokens.colorNeutralBackground1,\n ...shorthands.borderColor(tokens.colorNeutralStroke1),\n ...shorthands.borderRadius(tokens.borderRadiusCircular),\n ...shorthands.borderStyle('solid'),\n ...shorthands.padding(0),\n\n // match color to Avatar's outline color\n '@media (forced-colors: active)': {\n ...shorthands.borderColor('CanvasText'),\n },\n },\n\n // These styles match the default button styles\n focusIndicator: createCustomFocusIndicatorStyle({\n ...shorthands.borderColor('transparent'),\n outlineColor: tokens.colorStrokeFocus2,\n outlineWidth: tokens.strokeWidthThick,\n outlineStyle: 'solid',\n }),\n\n // This custom focus indicator is required for the pie layout due to the clip-path applied to the root\n pieFocusIndicator: createCustomFocusIndicatorStyle({\n ...shorthands.border(tokens.strokeWidthThick, 'solid', tokens.colorStrokeFocus2),\n }),\n\n states: {\n ':hover': {\n color: tokens.colorNeutralForeground1Hover,\n backgroundColor: tokens.colorNeutralBackground1Hover,\n ...shorthands.borderColor(tokens.colorNeutralStroke1Hover),\n },\n ':active': {\n color: tokens.colorNeutralForeground1Pressed,\n backgroundColor: tokens.colorNeutralBackground1Pressed,\n ...shorthands.borderColor(tokens.colorNeutralStroke1Pressed),\n },\n },\n\n pie: {\n backgroundColor: tokens.colorTransparentBackground,\n ...shorthands.borderColor(tokens.colorTransparentStroke),\n color: 'transparent',\n },\n\n icon12: { fontSize: '12px' },\n icon16: { fontSize: '16px' },\n icon20: { fontSize: '20px' },\n icon24: { fontSize: '24px' },\n icon28: { fontSize: '28px' },\n icon32: { fontSize: '32px' },\n icon48: { fontSize: '48px' },\n caption2Strong: { ...typographyStyles.caption2Strong },\n caption1Strong: { ...typographyStyles.caption1Strong },\n body1Strong: { ...typographyStyles.body1Strong },\n subtitle2: { ...typographyStyles.subtitle2 },\n subtitle1: { ...typographyStyles.subtitle1 },\n title3: { ...typographyStyles.title3 },\n borderThin: { ...shorthands.borderWidth(tokens.strokeWidthThin) },\n borderThick: { ...shorthands.borderWidth(tokens.strokeWidthThick) },\n borderThicker: { ...shorthands.borderWidth(tokens.strokeWidthThicker) },\n borderThickest: { ...shorthands.borderWidth(tokens.strokeWidthThickest) },\n});\n\n/**\n * Apply styling to the AvatarGroup slots based on the state\n */\nexport const useAvatarGroupStyles_unstable = (state: AvatarGroupState): AvatarGroupState => {\n const { layout, overflowIndicator, size } = state;\n const styles = useStyles();\n const sizeStyles = useSizeStyles();\n const overflowButtonStyles = useOverflowButtonStyles();\n\n const groupChildClassName = useGroupChildClassName(layout, size, true);\n\n state.root.className = mergeClasses(\n avatarGroupClassNames.root,\n styles.base,\n layout === 'pie' && styles.pie,\n layout === 'pie' && sizeStyles[size],\n state.root.className,\n );\n\n if (state.overflowContent) {\n state.overflowContent.className = mergeClasses(\n avatarGroupClassNames.overflowContent,\n styles.overflowContent,\n state.overflowContent.className,\n );\n }\n\n if (state.overflowSurface) {\n state.overflowSurface.className = mergeClasses(\n avatarGroupClassNames.overflowSurface,\n styles.overflowSurface,\n state.overflowSurface.className,\n );\n }\n\n const overflowButtonClasses = [];\n\n if (size < 36) {\n overflowButtonClasses.push(overflowButtonStyles.borderThin);\n } else if (size < 56) {\n overflowButtonClasses.push(overflowButtonStyles.borderThick);\n } else if (size < 72) {\n overflowButtonClasses.push(overflowButtonStyles.borderThicker);\n } else {\n overflowButtonClasses.push(overflowButtonStyles.borderThickest);\n }\n\n if (overflowIndicator === 'count') {\n if (size <= 24) {\n overflowButtonClasses.push(overflowButtonStyles.caption2Strong);\n } else if (size <= 28) {\n overflowButtonClasses.push(overflowButtonStyles.caption1Strong);\n } else if (size <= 40) {\n overflowButtonClasses.push(overflowButtonStyles.body1Strong);\n } else if (size <= 56) {\n overflowButtonClasses.push(overflowButtonStyles.subtitle2);\n } else if (size <= 96) {\n overflowButtonClasses.push(overflowButtonStyles.subtitle1);\n } else {\n overflowButtonClasses.push(overflowButtonStyles.title3);\n }\n } else {\n if (size <= 16) {\n overflowButtonClasses.push(overflowButtonStyles.icon12);\n } else if (size <= 24) {\n overflowButtonClasses.push(overflowButtonStyles.icon16);\n } else if (size <= 40) {\n overflowButtonClasses.push(overflowButtonStyles.icon20);\n } else if (size <= 48) {\n overflowButtonClasses.push(overflowButtonStyles.icon24);\n } else if (size <= 56) {\n overflowButtonClasses.push(overflowButtonStyles.icon28);\n } else if (size <= 72) {\n overflowButtonClasses.push(overflowButtonStyles.icon32);\n } else {\n overflowButtonClasses.push(overflowButtonStyles.icon48);\n }\n }\n\n if (state.overflowButton) {\n state.overflowButton.className = mergeClasses(\n avatarGroupClassNames.overflowButton,\n sizeStyles[size],\n overflowButtonStyles.base,\n ...overflowButtonClasses,\n layout !== 'pie' && overflowButtonStyles.states,\n layout !== 'pie' && overflowButtonStyles.focusIndicator,\n layout === 'pie' && overflowButtonStyles.pieFocusIndicator,\n layout === 'pie' && overflowButtonStyles.pie,\n groupChildClassName,\n state.overflowButton.className,\n );\n }\n\n return state;\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["components/AvatarGroup/useAvatarGroupStyles.ts"],"names":[],"mappings":"AAAA,mBAAqB,YAArB,QAAyC,gBAAzC;AACA,SAAS,MAAT,QAAuB,uBAAvB;AACA,SAAS,aAAT,QAA8B,2BAA9B;AAIA,OAAO,MAAM,qBAAqB,GAAqC;EACrE,IAAI,EAAE;AAD+D,CAAhE;AAIP;;AAEG;;AACH,MAAM,SAAS,gBAAG;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;AAAA;EAAA;EAAA;IAAA;EAAA;AAAA,EAAlB;AAcA;;AAEG;;;AACH,OAAO,MAAM,6BAA6B,GAAI,KAAD,IAA8C;EACzF,MAAM;IAAE,MAAF;IAAU;EAAV,IAAmB,KAAzB;EACA,MAAM,MAAM,GAAG,SAAS,EAAxB;EACA,MAAM,UAAU,GAAG,aAAa,EAAhC;EAEA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,YAAY,CACjC,qBAAqB,CAAC,IADW,EAEjC,MAAM,CAAC,IAF0B,EAGjC,MAAM,KAAK,KAAX,IAAoB,UAAU,CAAC,IAAD,CAHG,EAIjC,MAAM,KAAK,KAAX,IAAoB,MAAM,CAAC,GAJM,EAKjC,KAAK,CAAC,IAAN,CAAW,SALsB,CAAnC;EAQA,OAAO,KAAP;AACD,CAdM","sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens } from '@fluentui/react-theme';\nimport { useSizeStyles } from '../Avatar/useAvatarStyles';\nimport type { AvatarGroupSlots, AvatarGroupState } from './AvatarGroup.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const avatarGroupClassNames: SlotClassNames<AvatarGroupSlots> = {\n root: 'fui-AvatarGroup',\n};\n\n/**\n * Styles for the root slot.\n */\nconst useStyles = makeStyles({\n base: {\n display: 'inline-flex',\n position: 'relative',\n },\n pie: {\n clipPath: 'circle(50%)',\n backgroundColor: tokens.colorTransparentStroke,\n '@media (forced-colors: active)': {\n backgroundColor: 'CanvasText',\n },\n },\n});\n\n/**\n * Apply styling to the AvatarGroup slots based on the state\n */\nexport const useAvatarGroupStyles_unstable = (state: AvatarGroupState): AvatarGroupState => {\n const { layout, size } = state;\n const styles = useStyles();\n const sizeStyles = useSizeStyles();\n\n state.root.className = mergeClasses(\n avatarGroupClassNames.root,\n styles.base,\n layout === 'pie' && sizeStyles[size],\n layout === 'pie' && styles.pie,\n state.root.className,\n );\n\n return state;\n};\n"],"sourceRoot":"../src/"}
@@ -1,6 +1,6 @@
1
1
  import * as React from 'react';
2
- import { useAvatarGroupItem_unstable } from './useAvatarGroupItem';
3
2
  import { renderAvatarGroupItem_unstable } from './renderAvatarGroupItem';
3
+ import { useAvatarGroupItem_unstable } from './useAvatarGroupItem';
4
4
  import { useAvatarGroupItemStyles_unstable } from './useAvatarGroupItemStyles';
5
5
  /**
6
6
  * The AvatarGroupItem component represents a single person or entity.
@@ -1 +1 @@
1
- {"version":3,"sources":["components/AvatarGroupItem/AvatarGroupItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,2BAAT,QAA4C,sBAA5C;AACA,SAAS,8BAAT,QAA+C,yBAA/C;AACA,SAAS,iCAAT,QAAkD,4BAAlD;AAIA;;;AAGG;;AACH,OAAO,MAAM,eAAe,gBAA8C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;EACxG,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAD,EAAQ,GAAR,CAAzC;EAEA,iCAAiC,CAAC,KAAD,CAAjC;EACA,OAAO,8BAA8B,CAAC,KAAD,CAArC;AACD,CALyE,CAAnE;AAOP,eAAe,CAAC,WAAhB,GAA8B,iBAA9B","sourcesContent":["import * as React from 'react';\nimport { useAvatarGroupItem_unstable } from './useAvatarGroupItem';\nimport { renderAvatarGroupItem_unstable } from './renderAvatarGroupItem';\nimport { useAvatarGroupItemStyles_unstable } from './useAvatarGroupItemStyles';\nimport type { AvatarGroupItemProps } from './AvatarGroupItem.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * The AvatarGroupItem component represents a single person or entity.\n * AvatarGroupItem should only be used in an AvatarGroup component.\n */\nexport const AvatarGroupItem: ForwardRefComponent<AvatarGroupItemProps> = React.forwardRef((props, ref) => {\n const state = useAvatarGroupItem_unstable(props, ref);\n\n useAvatarGroupItemStyles_unstable(state);\n return renderAvatarGroupItem_unstable(state);\n});\n\nAvatarGroupItem.displayName = 'AvatarGroupItem';\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["components/AvatarGroupItem/AvatarGroupItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAZ,MAAuB,OAAvB;AACA,SAAS,8BAAT,QAA+C,yBAA/C;AACA,SAAS,2BAAT,QAA4C,sBAA5C;AACA,SAAS,iCAAT,QAAkD,4BAAlD;AAIA;;;AAGG;;AACH,OAAO,MAAM,eAAe,gBAA8C,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;EACxG,MAAM,KAAK,GAAG,2BAA2B,CAAC,KAAD,EAAQ,GAAR,CAAzC;EAEA,iCAAiC,CAAC,KAAD,CAAjC;EACA,OAAO,8BAA8B,CAAC,KAAD,CAArC;AACD,CALyE,CAAnE;AAOP,eAAe,CAAC,WAAhB,GAA8B,iBAA9B","sourcesContent":["import * as React from 'react';\nimport { renderAvatarGroupItem_unstable } from './renderAvatarGroupItem';\nimport { useAvatarGroupItem_unstable } from './useAvatarGroupItem';\nimport { useAvatarGroupItemStyles_unstable } from './useAvatarGroupItemStyles';\nimport type { AvatarGroupItemProps } from './AvatarGroupItem.types';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\n\n/**\n * The AvatarGroupItem component represents a single person or entity.\n * AvatarGroupItem should only be used in an AvatarGroup component.\n */\nexport const AvatarGroupItem: ForwardRefComponent<AvatarGroupItemProps> = React.forwardRef((props, ref) => {\n const state = useAvatarGroupItem_unstable(props, ref);\n\n useAvatarGroupItemStyles_unstable(state);\n return renderAvatarGroupItem_unstable(state);\n});\n\nAvatarGroupItem.displayName = 'AvatarGroupItem';\n"],"sourceRoot":"../src/"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroupItem.types.js","sourceRoot":"../src/","sources":["components/AvatarGroupItem/AvatarGroupItem.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\nimport type { Avatar, AvatarSizes } from '../../Avatar';\nimport { AvatarGroupProps } from '../AvatarGroup/AvatarGroup.types';\n\nexport type AvatarGroupItemSlots = {\n root: NonNullable<Slot<'div'>>;\n\n /**\n * Avatar that represents a person or entity.\n */\n avatar: NonNullable<Slot<typeof Avatar>>;\n\n /**\n * Label used for the name of the AvatarGroupItem when rendered as an overflow item.\n * The content of the label, by default, is the `name` prop from the `avatar` slot.\n */\n overflowLabel: NonNullable<Slot<'span'>>;\n};\n\n/**\n * AvatarGroupItem Props\n */\nexport type AvatarGroupItemProps = Omit<ComponentProps<Partial<AvatarGroupItemSlots>, 'avatar'>, 'size' | 'shape'>;\n\n/**\n * State used in rendering AvatarGroupItem\n */\nexport type AvatarGroupItemState = ComponentState<AvatarGroupItemSlots> & {\n /**\n * Whether the Avatar is an overflow item.\n *\n * @default false\n */\n isOverflowItem?: boolean;\n\n nonOverflowAvatarsCount: number;\n layout: AvatarGroupProps['layout'];\n size: AvatarSizes;\n};\n"]}
1
+ {"version":3,"file":"AvatarGroupItem.types.js","sourceRoot":"../src/","sources":["components/AvatarGroupItem/AvatarGroupItem.types.ts"],"names":[],"mappings":"","sourcesContent":["import { AvatarGroupProps } from '../AvatarGroup/AvatarGroup.types';\nimport type { Avatar, AvatarSizes } from '../../Avatar';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type AvatarGroupItemSlots = {\n root: NonNullable<Slot<'div', 'li'>>;\n\n /**\n * Avatar that represents a person or entity.\n */\n avatar: NonNullable<Slot<typeof Avatar>>;\n\n /**\n * Label used for the name of the AvatarGroupItem when rendered as an overflow item.\n * The content of the label, by default, is the `name` prop from the `avatar` slot.\n */\n overflowLabel: NonNullable<Slot<'span'>>;\n};\n\n/**\n * AvatarGroupItem Props\n */\nexport type AvatarGroupItemProps = Omit<ComponentProps<Partial<AvatarGroupItemSlots>, 'avatar'>, 'size' | 'shape'>;\n\n/**\n * State used in rendering AvatarGroupItem\n */\nexport type AvatarGroupItemState = ComponentState<AvatarGroupItemSlots> & {\n /**\n * Whether the Avatar is an overflow item.\n *\n * @default false\n */\n isOverflowItem?: boolean;\n\n layout: AvatarGroupProps['layout'];\n size: AvatarSizes;\n};\n"]}
@@ -1,8 +1,8 @@
1
1
  import { Avatar } from '../Avatar/Avatar';
2
- import { AvatarGroupContext } from '../../contexts/AvatarGroupContext';
2
+ import { AvatarGroupContext, useAvatarGroupContext_unstable } from '../../contexts/AvatarGroupContext';
3
3
  import { defaultAvatarGroupSize } from '../AvatarGroup/useAvatarGroup';
4
4
  import { resolveShorthand } from '@fluentui/react-utilities';
5
- import { useContextSelector, useHasParentContext } from '@fluentui/react-context-selector';
5
+ import { useHasParentContext } from '@fluentui/react-context-selector';
6
6
  /**
7
7
  * Create the state required to render AvatarGroupItem.
8
8
  *
@@ -14,10 +14,9 @@ import { useContextSelector, useHasParentContext } from '@fluentui/react-context
14
14
  */
15
15
 
16
16
  export const useAvatarGroupItem_unstable = (props, ref) => {
17
- const nonOverflowAvatarsCount = useContextSelector(AvatarGroupContext, ctx => ctx.nonOverflowAvatarsCount);
18
- const groupIsOverflow = useContextSelector(AvatarGroupContext, ctx => ctx.isOverflow);
19
- const layout = useContextSelector(AvatarGroupContext, ctx => ctx.layout);
20
- const groupSize = useContextSelector(AvatarGroupContext, ctx => ctx.size); // Since the primary slot is not an intrinsic element, getPartitionedNativeProps cannot be used here.
17
+ const groupIsOverflow = useAvatarGroupContext_unstable(ctx => ctx.isOverflow);
18
+ const groupSize = useAvatarGroupContext_unstable(ctx => ctx.size);
19
+ const layout = useAvatarGroupContext_unstable(ctx => ctx.layout); // Since the primary slot is not an intrinsic element, getPartitionedNativeProps cannot be used here.
21
20
 
22
21
  const {
23
22
  style,
@@ -33,12 +32,11 @@ export const useAvatarGroupItem_unstable = (props, ref) => {
33
32
  }
34
33
 
35
34
  return {
36
- nonOverflowAvatarsCount: nonOverflowAvatarsCount !== null && nonOverflowAvatarsCount !== void 0 ? nonOverflowAvatarsCount : 1,
35
+ isOverflowItem: groupIsOverflow,
37
36
  layout,
38
37
  size,
39
- isOverflowItem: groupIsOverflow,
40
38
  components: {
41
- root: 'div',
39
+ root: groupIsOverflow ? 'li' : 'div',
42
40
  avatar: Avatar,
43
41
  overflowLabel: 'span'
44
42
  },
@@ -46,8 +44,7 @@ export const useAvatarGroupItem_unstable = (props, ref) => {
46
44
  required: true,
47
45
  defaultProps: {
48
46
  style,
49
- className,
50
- role: groupIsOverflow ? 'listitem' : undefined
47
+ className
51
48
  }
52
49
  }),
53
50
  avatar: resolveShorthand(props.avatar, {
@@ -62,6 +59,8 @@ export const useAvatarGroupItem_unstable = (props, ref) => {
62
59
  overflowLabel: resolveShorthand(props.overflowLabel, {
63
60
  required: true,
64
61
  defaultProps: {
62
+ // Avatar already has its aria-label set to the name, this will prevent the name to be read twice.
63
+ 'aria-hidden': true,
65
64
  children: props.name
66
65
  }
67
66
  })
@@ -1 +1 @@
1
- {"version":3,"sources":["components/AvatarGroupItem/useAvatarGroupItem.ts"],"names":[],"mappings":"AACA,SAAS,MAAT,QAAuB,kBAAvB;AACA,SAAS,kBAAT,QAAmC,mCAAnC;AACA,SAAS,sBAAT,QAAuC,+BAAvC;AACA,SAAS,gBAAT,QAAiC,2BAAjC;AACA,SAAS,kBAAT,EAA6B,mBAA7B,QAAwD,kCAAxD;AAGA;;;;;;;;AAQG;;AACH,OAAO,MAAM,2BAA2B,GAAG,CACzC,KADyC,EAEzC,GAFyC,KAGjB;EACxB,MAAM,uBAAuB,GAAG,kBAAkB,CAAC,kBAAD,EAAqB,GAAG,IAAI,GAAG,CAAC,uBAAhC,CAAlD;EACA,MAAM,eAAe,GAAG,kBAAkB,CAAC,kBAAD,EAAqB,GAAG,IAAI,GAAG,CAAC,UAAhC,CAA1C;EACA,MAAM,MAAM,GAAG,kBAAkB,CAAC,kBAAD,EAAqB,GAAG,IAAI,GAAG,CAAC,MAAhC,CAAjC;EACA,MAAM,SAAS,GAAG,kBAAkB,CAAC,kBAAD,EAAqB,GAAG,IAAI,GAAG,CAAC,IAAhC,CAApC,CAJwB,CAKxB;;EACA,MAAM;IAAE,KAAF;IAAS,SAAT;IAAoB,GAAG;EAAvB,IAA2C,KAAjD;EACA,MAAM,IAAI,GAAG,SAAS,KAAA,IAAT,IAAA,SAAS,KAAA,KAAA,CAAT,GAAA,SAAA,GAAa,sBAA1B;EACA,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,kBAAD,CAAjD;;EAEA,IAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAAzB,IAAyC,CAAC,qBAA9C,EAAqE;IACnE;IACA,OAAO,CAAC,IAAR,CAAa,oEAAb;EACD;;EAED,OAAO;IACL,uBAAuB,EAAE,uBAAuB,KAAA,IAAvB,IAAA,uBAAuB,KAAA,KAAA,CAAvB,GAAA,uBAAA,GAA2B,CAD/C;IAEL,MAFK;IAGL,IAHK;IAIL,cAAc,EAAE,eAJX;IAKL,UAAU,EAAE;MACV,IAAI,EAAE,KADI;MAEV,MAAM,EAAE,MAFE;MAGV,aAAa,EAAE;IAHL,CALP;IAUL,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAP,EAAa;MACjC,QAAQ,EAAE,IADuB;MAEjC,YAAY,EAAE;QACZ,KADY;QAEZ,SAFY;QAGZ,IAAI,EAAE,eAAe,GAAG,UAAH,GAAgB;MAHzB;IAFmB,CAAb,CAVjB;IAkBL,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAP,EAAe;MACrC,QAAQ,EAAE,IAD2B;MAErC,YAAY,EAAE;QACZ,GADY;QAEZ,IAFY;QAGZ,KAAK,EAAE,UAHK;QAIZ,GAAG;MAJS;IAFuB,CAAf,CAlBnB;IA2BL,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC,aAAP,EAAsB;MACnD,QAAQ,EAAE,IADyC;MAEnD,YAAY,EAAE;QACZ,QAAQ,EAAE,KAAK,CAAC;MADJ;IAFqC,CAAtB;EA3B1B,CAAP;AAkCD,CApDM","sourcesContent":["import * as React from 'react';\nimport { Avatar } from '../Avatar/Avatar';\nimport { AvatarGroupContext } from '../../contexts/AvatarGroupContext';\nimport { defaultAvatarGroupSize } from '../AvatarGroup/useAvatarGroup';\nimport { resolveShorthand } from '@fluentui/react-utilities';\nimport { useContextSelector, useHasParentContext } from '@fluentui/react-context-selector';\nimport type { AvatarGroupItemProps, AvatarGroupItemState } from './AvatarGroupItem.types';\n\n/**\n * Create the state required to render AvatarGroupItem.\n *\n * The returned state can be modified with hooks such as useAvatarGroupItemStyles_unstable,\n * before being passed to renderAvatarGroupItem_unstable.\n *\n * @param props - props from this instance of AvatarGroupItem\n * @param ref - reference to root HTMLElement of AvatarGroupItem\n */\nexport const useAvatarGroupItem_unstable = (\n props: AvatarGroupItemProps,\n ref: React.Ref<HTMLElement>,\n): AvatarGroupItemState => {\n const nonOverflowAvatarsCount = useContextSelector(AvatarGroupContext, ctx => ctx.nonOverflowAvatarsCount);\n const groupIsOverflow = useContextSelector(AvatarGroupContext, ctx => ctx.isOverflow);\n const layout = useContextSelector(AvatarGroupContext, ctx => ctx.layout);\n const groupSize = useContextSelector(AvatarGroupContext, ctx => ctx.size);\n // Since the primary slot is not an intrinsic element, getPartitionedNativeProps cannot be used here.\n const { style, className, ...avatarSlotProps } = props;\n const size = groupSize ?? defaultAvatarGroupSize;\n const hasAvatarGroupContext = useHasParentContext(AvatarGroupContext);\n\n if (process.env.NODE_ENV !== 'production' && !hasAvatarGroupContext) {\n // eslint-disable-next-line no-console\n console.warn('AvatarGroupItem must only be used inside an AvatarGroup component.');\n }\n\n return {\n nonOverflowAvatarsCount: nonOverflowAvatarsCount ?? 1,\n layout,\n size,\n isOverflowItem: groupIsOverflow,\n components: {\n root: 'div',\n avatar: Avatar,\n overflowLabel: 'span',\n },\n root: resolveShorthand(props.root, {\n required: true,\n defaultProps: {\n style,\n className,\n role: groupIsOverflow ? 'listitem' : undefined,\n },\n }),\n avatar: resolveShorthand(props.avatar, {\n required: true,\n defaultProps: {\n ref,\n size,\n color: 'colorful',\n ...avatarSlotProps,\n },\n }),\n overflowLabel: resolveShorthand(props.overflowLabel, {\n required: true,\n defaultProps: {\n children: props.name,\n },\n }),\n };\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["components/AvatarGroupItem/useAvatarGroupItem.ts"],"names":[],"mappings":"AACA,SAAS,MAAT,QAAuB,kBAAvB;AACA,SAAS,kBAAT,EAA6B,8BAA7B,QAAmE,mCAAnE;AACA,SAAS,sBAAT,QAAuC,+BAAvC;AACA,SAAS,gBAAT,QAAiC,2BAAjC;AACA,SAAS,mBAAT,QAAoC,kCAApC;AAGA;;;;;;;;AAQG;;AACH,OAAO,MAAM,2BAA2B,GAAG,CACzC,KADyC,EAEzC,GAFyC,KAGjB;EACxB,MAAM,eAAe,GAAG,8BAA8B,CAAC,GAAG,IAAI,GAAG,CAAC,UAAZ,CAAtD;EACA,MAAM,SAAS,GAAG,8BAA8B,CAAC,GAAG,IAAI,GAAG,CAAC,IAAZ,CAAhD;EACA,MAAM,MAAM,GAAG,8BAA8B,CAAC,GAAG,IAAI,GAAG,CAAC,MAAZ,CAA7C,CAHwB,CAIxB;;EACA,MAAM;IAAE,KAAF;IAAS,SAAT;IAAoB,GAAG;EAAvB,IAA2C,KAAjD;EACA,MAAM,IAAI,GAAG,SAAS,KAAA,IAAT,IAAA,SAAS,KAAA,KAAA,CAAT,GAAA,SAAA,GAAa,sBAA1B;EACA,MAAM,qBAAqB,GAAG,mBAAmB,CAAC,kBAAD,CAAjD;;EAEA,IAAI,OAAO,CAAC,GAAR,CAAY,QAAZ,KAAyB,YAAzB,IAAyC,CAAC,qBAA9C,EAAqE;IACnE;IACA,OAAO,CAAC,IAAR,CAAa,oEAAb;EACD;;EAED,OAAO;IACL,cAAc,EAAE,eADX;IAEL,MAFK;IAGL,IAHK;IAIL,UAAU,EAAE;MACV,IAAI,EAAE,eAAe,GAAG,IAAH,GAAU,KADrB;MAEV,MAAM,EAAE,MAFE;MAGV,aAAa,EAAE;IAHL,CAJP;IASL,IAAI,EAAE,gBAAgB,CAAC,KAAK,CAAC,IAAP,EAAa;MACjC,QAAQ,EAAE,IADuB;MAEjC,YAAY,EAAE;QACZ,KADY;QAEZ;MAFY;IAFmB,CAAb,CATjB;IAgBL,MAAM,EAAE,gBAAgB,CAAC,KAAK,CAAC,MAAP,EAAe;MACrC,QAAQ,EAAE,IAD2B;MAErC,YAAY,EAAE;QACZ,GADY;QAEZ,IAFY;QAGZ,KAAK,EAAE,UAHK;QAIZ,GAAG;MAJS;IAFuB,CAAf,CAhBnB;IAyBL,aAAa,EAAE,gBAAgB,CAAC,KAAK,CAAC,aAAP,EAAsB;MACnD,QAAQ,EAAE,IADyC;MAEnD,YAAY,EAAE;QACZ;QACA,eAAe,IAFH;QAGZ,QAAQ,EAAE,KAAK,CAAC;MAHJ;IAFqC,CAAtB;EAzB1B,CAAP;AAkCD,CAnDM","sourcesContent":["import * as React from 'react';\nimport { Avatar } from '../Avatar/Avatar';\nimport { AvatarGroupContext, useAvatarGroupContext_unstable } from '../../contexts/AvatarGroupContext';\nimport { defaultAvatarGroupSize } from '../AvatarGroup/useAvatarGroup';\nimport { resolveShorthand } from '@fluentui/react-utilities';\nimport { useHasParentContext } from '@fluentui/react-context-selector';\nimport type { AvatarGroupItemProps, AvatarGroupItemState } from './AvatarGroupItem.types';\n\n/**\n * Create the state required to render AvatarGroupItem.\n *\n * The returned state can be modified with hooks such as useAvatarGroupItemStyles_unstable,\n * before being passed to renderAvatarGroupItem_unstable.\n *\n * @param props - props from this instance of AvatarGroupItem\n * @param ref - reference to root HTMLElement of AvatarGroupItem\n */\nexport const useAvatarGroupItem_unstable = (\n props: AvatarGroupItemProps,\n ref: React.Ref<HTMLElement>,\n): AvatarGroupItemState => {\n const groupIsOverflow = useAvatarGroupContext_unstable(ctx => ctx.isOverflow);\n const groupSize = useAvatarGroupContext_unstable(ctx => ctx.size);\n const layout = useAvatarGroupContext_unstable(ctx => ctx.layout);\n // Since the primary slot is not an intrinsic element, getPartitionedNativeProps cannot be used here.\n const { style, className, ...avatarSlotProps } = props;\n const size = groupSize ?? defaultAvatarGroupSize;\n const hasAvatarGroupContext = useHasParentContext(AvatarGroupContext);\n\n if (process.env.NODE_ENV !== 'production' && !hasAvatarGroupContext) {\n // eslint-disable-next-line no-console\n console.warn('AvatarGroupItem must only be used inside an AvatarGroup component.');\n }\n\n return {\n isOverflowItem: groupIsOverflow,\n layout,\n size,\n components: {\n root: groupIsOverflow ? 'li' : 'div',\n avatar: Avatar,\n overflowLabel: 'span',\n },\n root: resolveShorthand(props.root, {\n required: true,\n defaultProps: {\n style,\n className,\n },\n }),\n avatar: resolveShorthand(props.avatar, {\n required: true,\n defaultProps: {\n ref,\n size,\n color: 'colorful',\n ...avatarSlotProps,\n },\n }),\n overflowLabel: resolveShorthand(props.overflowLabel, {\n required: true,\n defaultProps: {\n // Avatar already has its aria-label set to the name, this will prevent the name to be read twice.\n 'aria-hidden': true,\n children: props.name,\n },\n }),\n };\n};\n"],"sourceRoot":"../src/"}