@fluentui/react-avatar 9.0.0-rc.9 → 9.0.2

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 (91) hide show
  1. package/CHANGELOG.json +544 -1
  2. package/CHANGELOG.md +131 -2
  3. package/MIGRATION-AvatarGroup.md +35 -0
  4. package/README-AvatarGroup.md +39 -0
  5. package/README.md +16 -11
  6. package/SPEC.md +1 -135
  7. package/dist/index.d.ts +90 -27
  8. package/lib/AvatarGroupItem.js +2 -0
  9. package/lib/AvatarGroupItem.js.map +1 -0
  10. package/lib/components/Avatar/Avatar.js.map +1 -1
  11. package/lib/components/Avatar/Avatar.types.js.map +1 -1
  12. package/lib/components/Avatar/renderAvatar.js.map +1 -1
  13. package/lib/components/Avatar/useAvatar.js +4 -7
  14. package/lib/components/Avatar/useAvatar.js.map +1 -1
  15. package/lib/components/Avatar/useAvatarStyles.js +63 -68
  16. package/lib/components/Avatar/useAvatarStyles.js.map +1 -1
  17. package/lib/components/AvatarGroup/AvatarGroup.js +2 -1
  18. package/lib/components/AvatarGroup/AvatarGroup.js.map +1 -1
  19. package/lib/components/AvatarGroup/AvatarGroup.types.js.map +1 -1
  20. package/lib/components/AvatarGroup/renderAvatarGroup.js +32 -4
  21. package/lib/components/AvatarGroup/renderAvatarGroup.js.map +1 -1
  22. package/lib/components/AvatarGroup/useAvatarGroup.js +67 -28
  23. package/lib/components/AvatarGroup/useAvatarGroup.js.map +1 -1
  24. package/lib/components/AvatarGroup/useAvatarGroupStyles.js +280 -15
  25. package/lib/components/AvatarGroup/useAvatarGroupStyles.js.map +1 -1
  26. package/lib/components/AvatarGroupItem/AvatarGroupItem.js +16 -0
  27. package/lib/components/AvatarGroupItem/AvatarGroupItem.js.map +1 -0
  28. package/lib/components/AvatarGroupItem/AvatarGroupItem.types.js +2 -0
  29. package/lib/components/AvatarGroupItem/AvatarGroupItem.types.js.map +1 -0
  30. package/lib/components/AvatarGroupItem/index.js +6 -0
  31. package/lib/components/AvatarGroupItem/index.js.map +1 -0
  32. package/lib/components/AvatarGroupItem/renderAvatarGroupItem.js +17 -0
  33. package/lib/components/AvatarGroupItem/renderAvatarGroupItem.js.map +1 -0
  34. package/lib/components/AvatarGroupItem/useAvatarGroupItem.js +70 -0
  35. package/lib/components/AvatarGroupItem/useAvatarGroupItem.js.map +1 -0
  36. package/lib/components/AvatarGroupItem/useAvatarGroupItemStyles.js +356 -0
  37. package/lib/components/AvatarGroupItem/useAvatarGroupItemStyles.js.map +1 -0
  38. package/lib/contexts/AvatarGroupContext.js +7 -0
  39. package/lib/contexts/AvatarGroupContext.js.map +1 -0
  40. package/lib/contexts/AvatarGroupContext.types.js +2 -0
  41. package/lib/contexts/AvatarGroupContext.types.js.map +1 -0
  42. package/lib/contexts/index.js +2 -0
  43. package/lib/contexts/index.js.map +1 -0
  44. package/lib/index.js +2 -2
  45. package/lib/index.js.map +1 -1
  46. package/lib/utils/getInitials.js +2 -0
  47. package/lib/utils/getInitials.js.map +1 -1
  48. package/lib-commonjs/AvatarGroupItem.js +10 -0
  49. package/lib-commonjs/AvatarGroupItem.js.map +1 -0
  50. package/lib-commonjs/components/Avatar/Avatar.js.map +1 -1
  51. package/lib-commonjs/components/Avatar/renderAvatar.js.map +1 -1
  52. package/lib-commonjs/components/Avatar/useAvatar.js +4 -7
  53. package/lib-commonjs/components/Avatar/useAvatar.js.map +1 -1
  54. package/lib-commonjs/components/Avatar/useAvatarStyles.js +65 -70
  55. package/lib-commonjs/components/Avatar/useAvatarStyles.js.map +1 -1
  56. package/lib-commonjs/components/AvatarGroup/AvatarGroup.js +2 -1
  57. package/lib-commonjs/components/AvatarGroup/AvatarGroup.js.map +1 -1
  58. package/lib-commonjs/components/AvatarGroup/renderAvatarGroup.js +35 -4
  59. package/lib-commonjs/components/AvatarGroup/renderAvatarGroup.js.map +1 -1
  60. package/lib-commonjs/components/AvatarGroup/useAvatarGroup.js +70 -31
  61. package/lib-commonjs/components/AvatarGroup/useAvatarGroup.js.map +1 -1
  62. package/lib-commonjs/components/AvatarGroup/useAvatarGroupStyles.js +284 -15
  63. package/lib-commonjs/components/AvatarGroup/useAvatarGroupStyles.js.map +1 -1
  64. package/lib-commonjs/components/AvatarGroupItem/AvatarGroupItem.js +27 -0
  65. package/lib-commonjs/components/AvatarGroupItem/AvatarGroupItem.js.map +1 -0
  66. package/lib-commonjs/components/AvatarGroupItem/AvatarGroupItem.types.js +6 -0
  67. package/lib-commonjs/components/AvatarGroupItem/AvatarGroupItem.types.js.map +1 -0
  68. package/lib-commonjs/components/AvatarGroupItem/index.js +18 -0
  69. package/lib-commonjs/components/AvatarGroupItem/index.js.map +1 -0
  70. package/lib-commonjs/components/AvatarGroupItem/renderAvatarGroupItem.js +28 -0
  71. package/lib-commonjs/components/AvatarGroupItem/renderAvatarGroupItem.js.map +1 -0
  72. package/lib-commonjs/components/AvatarGroupItem/useAvatarGroupItem.js +84 -0
  73. package/lib-commonjs/components/AvatarGroupItem/useAvatarGroupItem.js.map +1 -0
  74. package/lib-commonjs/components/AvatarGroupItem/useAvatarGroupItemStyles.js +370 -0
  75. package/lib-commonjs/components/AvatarGroupItem/useAvatarGroupItemStyles.js.map +1 -0
  76. package/lib-commonjs/contexts/AvatarGroupContext.js +15 -0
  77. package/lib-commonjs/contexts/AvatarGroupContext.js.map +1 -0
  78. package/lib-commonjs/contexts/AvatarGroupContext.types.js +6 -0
  79. package/lib-commonjs/contexts/AvatarGroupContext.types.js.map +1 -0
  80. package/lib-commonjs/contexts/index.js +10 -0
  81. package/lib-commonjs/contexts/index.js.map +1 -0
  82. package/lib-commonjs/index.js +34 -8
  83. package/lib-commonjs/index.js.map +1 -1
  84. package/lib-commonjs/utils/getInitials.js +2 -0
  85. package/lib-commonjs/utils/getInitials.js.map +1 -1
  86. package/lib-commonjs/utils/index.js.map +1 -1
  87. package/package.json +16 -16
  88. package/lib/components/AvatarGroup/AvatarGroup.strings.js +0 -4
  89. package/lib/components/AvatarGroup/AvatarGroup.strings.js.map +0 -1
  90. package/lib-commonjs/components/AvatarGroup/AvatarGroup.strings.js +0 -10
  91. package/lib-commonjs/components/AvatarGroup/AvatarGroup.strings.js.map +0 -1
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useAvatarGroup_unstable = void 0;
6
+ exports.defaultAvatarGroupSize = exports.useAvatarGroup_unstable = void 0;
7
7
 
8
- const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
8
+ const React = /*#__PURE__*/require("react");
9
9
 
10
- const react_popover_1 = /*#__PURE__*/require("@fluentui/react-popover");
10
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
11
 
12
- const react_button_1 = /*#__PURE__*/require("@fluentui/react-button");
12
+ const react_icons_1 = /*#__PURE__*/require("@fluentui/react-icons");
13
13
 
14
- const AvatarGroup_strings_1 = /*#__PURE__*/require("./AvatarGroup.strings");
14
+ const react_popover_1 = /*#__PURE__*/require("@fluentui/react-popover");
15
15
  /**
16
16
  * Create the state required to render AvatarGroup.
17
17
  *
@@ -26,39 +26,78 @@ const AvatarGroup_strings_1 = /*#__PURE__*/require("./AvatarGroup.strings");
26
26
  const useAvatarGroup_unstable = (props, ref) => {
27
27
  const {
28
28
  children,
29
- strings = AvatarGroup_strings_1.avatarGroupDefaultStrings
29
+ layout = 'spread',
30
+ maxAvatars = 5,
31
+ size = exports.defaultAvatarGroupSize
30
32
  } = props;
33
+ const {
34
+ overflowIndicator = size < 24 ? 'icon' : 'count'
35
+ } = props;
36
+ const childrenArray = React.Children.toArray(children);
37
+ let rootChildren = childrenArray;
38
+ let overflowChildren;
39
+ let overflowButtonChildren;
40
+
41
+ if (layout === 'pie') {
42
+ rootChildren = childrenArray.slice(0, 3);
43
+ overflowChildren = childrenArray;
44
+ } else if (childrenArray.length > maxAvatars) {
45
+ const numOfAvatarsToHide = childrenArray.length - maxAvatars + 1;
46
+ rootChildren = childrenArray.slice(numOfAvatarsToHide);
47
+ overflowChildren = childrenArray.slice(0, numOfAvatarsToHide);
48
+
49
+ if (overflowIndicator === 'icon') {
50
+ overflowButtonChildren = React.createElement(react_icons_1.MoreHorizontalRegular, null);
51
+ } else {
52
+ overflowButtonChildren = numOfAvatarsToHide > 99 ? '99+' : `+${numOfAvatarsToHide}`;
53
+ }
54
+ }
55
+
56
+ const root = react_utilities_1.getNativeElementProps('div', {
57
+ role: 'group',
58
+ ...props,
59
+ ref,
60
+ children: rootChildren
61
+ }, ['size']);
62
+ const overflowButton = react_utilities_1.resolveShorthand(props.overflowButton, {
63
+ required: true,
64
+ defaultProps: {
65
+ children: overflowButtonChildren,
66
+ type: 'button'
67
+ }
68
+ });
69
+ const overflowContent = react_utilities_1.resolveShorthand(props.overflowContent, {
70
+ required: true,
71
+ defaultProps: {
72
+ 'aria-label': 'Overflow',
73
+ children: overflowChildren,
74
+ role: 'list',
75
+ tabIndex: 0
76
+ }
77
+ });
78
+ const overflowSurface = react_utilities_1.resolveShorthand(props.overflowSurface, {
79
+ required: true
80
+ });
31
81
  return {
32
- // TODO: Replace with actual logic.
33
- tooltipContent: strings.tooltipContent.replace('{numOverflowedAvatars}', String(10)),
82
+ nonOverflowAvatarsCount: rootChildren.length,
83
+ hasOverflow: !!overflowChildren,
84
+ layout,
85
+ overflowIndicator,
86
+ size,
87
+ tooltipContent: 'View more people.',
34
88
  components: {
35
- // TODO add each slot's element type or component
36
89
  root: 'div',
37
- popoverSurface: react_popover_1.PopoverSurface,
38
- popoverTrigger: react_button_1.Button
90
+ overflowContent: 'div',
91
+ overflowButton: 'button',
92
+ overflowSurface: react_popover_1.PopoverSurface
39
93
  },
40
- // TODO add appropriate slots, for example:
41
- // mySlot: resolveShorthand(props.mySlot),
42
- root: react_utilities_1.getNativeElementProps('div', {
43
- ref,
44
- ...props
45
- }),
46
- popoverTrigger: react_utilities_1.resolveShorthand(props.popoverTrigger, {
47
- required: true,
48
- defaultProps: {
49
- // TODO: Update children
50
- children: '+10'
51
- }
52
- }),
53
- popoverSurface: react_utilities_1.resolveShorthand(props.popoverSurface, {
54
- required: true,
55
- defaultProps: {
56
- // TODO: Update children
57
- children: children
58
- }
59
- })
94
+ root,
95
+ overflowButton,
96
+ overflowContent,
97
+ overflowSurface
60
98
  };
61
99
  };
62
100
 
63
101
  exports.useAvatarGroup_unstable = useAvatarGroup_unstable;
102
+ exports.defaultAvatarGroupSize = 32;
64
103
  //# sourceMappingURL=useAvatarGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["components/AvatarGroup/useAvatarGroup.ts"],"names":[],"mappings":";;;;;;;AAEA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;;AACA,MAAA,cAAA,gBAAA,OAAA,CAAA,wBAAA,CAAA;;AACA,MAAA,qBAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;AAEA;;;;;;;;AAQG;;;AACI,MAAM,uBAAuB,GAAG,CAAC,KAAD,EAA0B,GAA1B,KAA2E;AAChH,QAAM;AAAE,IAAA,QAAF;AAAY,IAAA,OAAO,GAAG,qBAAA,CAAA;AAAtB,MAAoD,KAA1D;AAEA,SAAO;AACL;AACA,IAAA,cAAc,EAAE,OAAO,CAAC,cAAR,CAAuB,OAAvB,CAA+B,wBAA/B,EAAyD,MAAM,CAAC,EAAD,CAA/D,CAFX;AAGL,IAAA,UAAU,EAAE;AACV;AACA,MAAA,IAAI,EAAE,KAFI;AAGV,MAAA,cAAc,EAAE,eAAA,CAAA,cAHN;AAIV,MAAA,cAAc,EAAE,cAAA,CAAA;AAJN,KAHP;AASL;AACA;AACA,IAAA,IAAI,EAAE,iBAAA,CAAA,qBAAA,CAAsB,KAAtB,EAA6B;AACjC,MAAA,GADiC;AAEjC,SAAG;AAF8B,KAA7B,CAXD;AAeL,IAAA,cAAc,EAAE,iBAAA,CAAA,gBAAA,CAAiB,KAAK,CAAC,cAAvB,EAAuC;AACrD,MAAA,QAAQ,EAAE,IAD2C;AAErD,MAAA,YAAY,EAAE;AACZ;AACA,QAAA,QAAQ,EAAE;AAFE;AAFuC,KAAvC,CAfX;AAsBL,IAAA,cAAc,EAAE,iBAAA,CAAA,gBAAA,CAAiB,KAAK,CAAC,cAAvB,EAAuC;AACrD,MAAA,QAAQ,EAAE,IAD2C;AAErD,MAAA,YAAY,EAAE;AACZ;AACA,QAAA,QAAQ,EAAE;AAFE;AAFuC,KAAvC;AAtBX,GAAP;AA8BD,CAjCM;;AAAM,OAAA,CAAA,uBAAA,GAAuB,uBAAvB","sourcesContent":["import * as React from 'react';\nimport type { AvatarGroupProps, AvatarGroupState } from './AvatarGroup.types';\nimport { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';\nimport { PopoverSurface } from '@fluentui/react-popover';\nimport { Button } from '@fluentui/react-button';\nimport { avatarGroupDefaultStrings } from './AvatarGroup.strings';\n\n/**\n * Create the state required to render AvatarGroup.\n *\n * The returned state can be modified with hooks such as useAvatarGroupStyles_unstable,\n * before being passed to renderAvatarGroup_unstable.\n *\n * @param props - props from this instance of AvatarGroup\n * @param ref - reference to root HTMLElement of AvatarGroup\n */\nexport const useAvatarGroup_unstable = (props: AvatarGroupProps, ref: React.Ref<HTMLElement>): AvatarGroupState => {\n const { children, strings = avatarGroupDefaultStrings } = props;\n\n return {\n // TODO: Replace with actual logic.\n tooltipContent: strings.tooltipContent.replace('{numOverflowedAvatars}', String(10)),\n components: {\n // TODO add each slot's element type or component\n root: 'div',\n popoverSurface: PopoverSurface,\n popoverTrigger: Button,\n },\n // TODO add appropriate slots, for example:\n // mySlot: resolveShorthand(props.mySlot),\n root: getNativeElementProps('div', {\n ref,\n ...props,\n }),\n popoverTrigger: resolveShorthand(props.popoverTrigger, {\n required: true,\n defaultProps: {\n // TODO: Update children\n children: '+10',\n },\n }),\n popoverSurface: resolveShorthand(props.popoverSurface, {\n required: true,\n defaultProps: {\n // TODO: Update children\n children: children,\n },\n }),\n };\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["components/AvatarGroup/useAvatarGroup.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AACA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;AAGA;;;;;;;;AAQG;;;AACI,MAAM,uBAAuB,GAAG,CAAC,KAAD,EAA0B,GAA1B,KAA2E;EAChH,MAAM;IAAE,QAAF;IAAY,MAAM,GAAG,QAArB;IAA+B,UAAU,GAAG,CAA5C;IAA+C,IAAI,GAAG,OAAA,CAAA;EAAtD,IAAiF,KAAvF;EACA,MAAM;IAAE,iBAAiB,GAAG,IAAI,GAAG,EAAP,GAAY,MAAZ,GAAqB;EAA3C,IAAuD,KAA7D;EACA,MAAM,aAAa,GAAG,KAAK,CAAC,QAAN,CAAe,OAAf,CAAuB,QAAvB,CAAtB;EAEA,IAAI,YAAY,GAAG,aAAnB;EACA,IAAI,gBAAJ;EACA,IAAI,sBAAJ;;EAEA,IAAI,MAAM,KAAK,KAAf,EAAsB;IACpB,YAAY,GAAG,aAAa,CAAC,KAAd,CAAoB,CAApB,EAAuB,CAAvB,CAAf;IACA,gBAAgB,GAAG,aAAnB;EACD,CAHD,MAGO,IAAI,aAAa,CAAC,MAAd,GAAuB,UAA3B,EAAuC;IAC5C,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAd,GAAuB,UAAvB,GAAoC,CAA/D;IAEA,YAAY,GAAG,aAAa,CAAC,KAAd,CAAoB,kBAApB,CAAf;IACA,gBAAgB,GAAG,aAAa,CAAC,KAAd,CAAoB,CAApB,EAAuB,kBAAvB,CAAnB;;IAEA,IAAI,iBAAiB,KAAK,MAA1B,EAAkC;MAChC,sBAAsB,GAAG,KAAA,CAAA,aAAA,CAAC,aAAA,CAAA,qBAAD,EAAsB,IAAtB,CAAzB;IACD,CAFD,MAEO;MACL,sBAAsB,GAAG,kBAAkB,GAAG,EAArB,GAA0B,KAA1B,GAAkC,IAAI,kBAAkB,EAAjF;IACD;EACF;;EAED,MAAM,IAAI,GAAG,iBAAA,CAAA,qBAAA,CACX,KADW,EAEX;IACE,IAAI,EAAE,OADR;IAEE,GAAG,KAFL;IAGE,GAHF;IAIE,QAAQ,EAAE;EAJZ,CAFW,EAQX,CAAC,MAAD,CARW,CAAb;EAWA,MAAM,cAAc,GAAG,iBAAA,CAAA,gBAAA,CAAiB,KAAK,CAAC,cAAvB,EAAuC;IAC5D,QAAQ,EAAE,IADkD;IAE5D,YAAY,EAAE;MACZ,QAAQ,EAAE,sBADE;MAEZ,IAAI,EAAE;IAFM;EAF8C,CAAvC,CAAvB;EAQA,MAAM,eAAe,GAAG,iBAAA,CAAA,gBAAA,CAAiB,KAAK,CAAC,eAAvB,EAAwC;IAC9D,QAAQ,EAAE,IADoD;IAE9D,YAAY,EAAE;MACZ,cAAc,UADF;MAEZ,QAAQ,EAAE,gBAFE;MAGZ,IAAI,EAAE,MAHM;MAIZ,QAAQ,EAAE;IAJE;EAFgD,CAAxC,CAAxB;EAUA,MAAM,eAAe,GAAG,iBAAA,CAAA,gBAAA,CAAiB,KAAK,CAAC,eAAvB,EAAwC;IAC9D,QAAQ,EAAE;EADoD,CAAxC,CAAxB;EAIA,OAAO;IACL,uBAAuB,EAAE,YAAY,CAAC,MADjC;IAEL,WAAW,EAAE,CAAC,CAAC,gBAFV;IAGL,MAHK;IAIL,iBAJK;IAKL,IALK;IAML,cAAc,EAAE,mBANX;IAQL,UAAU,EAAE;MACV,IAAI,EAAE,KADI;MAEV,eAAe,EAAE,KAFP;MAGV,cAAc,EAAE,QAHN;MAIV,eAAe,EAAE,eAAA,CAAA;IAJP,CARP;IAeL,IAfK;IAgBL,cAhBK;IAiBL,eAjBK;IAkBL;EAlBK,CAAP;AAoBD,CA9EM;;AAAM,OAAA,CAAA,uBAAA,GAAuB,uBAAvB;AAgFA,OAAA,CAAA,sBAAA,GAAyB,EAAzB","sourcesContent":["import * as React from 'react';\nimport { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';\nimport { MoreHorizontalRegular } from '@fluentui/react-icons';\nimport { PopoverSurface } from '@fluentui/react-popover';\nimport type { AvatarGroupProps, AvatarGroupState } from './AvatarGroup.types';\n\n/**\n * Create the state required to render AvatarGroup.\n *\n * The returned state can be modified with hooks such as useAvatarGroupStyles_unstable,\n * before being passed to renderAvatarGroup_unstable.\n *\n * @param props - props from this instance of AvatarGroup\n * @param ref - reference to root HTMLElement of AvatarGroup\n */\nexport const useAvatarGroup_unstable = (props: AvatarGroupProps, ref: React.Ref<HTMLElement>): AvatarGroupState => {\n const { children, layout = 'spread', maxAvatars = 5, size = defaultAvatarGroupSize } = props;\n const { overflowIndicator = size < 24 ? 'icon' : 'count' } = props;\n const childrenArray = React.Children.toArray(children);\n\n let rootChildren = childrenArray;\n let overflowChildren;\n let overflowButtonChildren;\n\n if (layout === 'pie') {\n rootChildren = childrenArray.slice(0, 3);\n overflowChildren = childrenArray;\n } else if (childrenArray.length > maxAvatars) {\n const numOfAvatarsToHide = childrenArray.length - maxAvatars + 1;\n\n rootChildren = childrenArray.slice(numOfAvatarsToHide);\n overflowChildren = childrenArray.slice(0, numOfAvatarsToHide);\n\n if (overflowIndicator === 'icon') {\n overflowButtonChildren = <MoreHorizontalRegular />;\n } else {\n overflowButtonChildren = numOfAvatarsToHide > 99 ? '99+' : `+${numOfAvatarsToHide}`;\n }\n }\n\n const root = getNativeElementProps(\n 'div',\n {\n role: 'group',\n ...props,\n ref,\n children: rootChildren,\n },\n ['size'],\n );\n\n const overflowButton = resolveShorthand(props.overflowButton, {\n required: true,\n defaultProps: {\n children: overflowButtonChildren,\n type: 'button',\n },\n });\n\n const overflowContent = resolveShorthand(props.overflowContent, {\n required: true,\n defaultProps: {\n 'aria-label': 'Overflow',\n children: overflowChildren,\n role: 'list',\n tabIndex: 0,\n },\n });\n\n const overflowSurface = resolveShorthand(props.overflowSurface, {\n required: true,\n });\n\n return {\n nonOverflowAvatarsCount: rootChildren.length,\n hasOverflow: !!overflowChildren,\n layout,\n overflowIndicator,\n size,\n tooltipContent: 'View more people.',\n\n components: {\n root: 'div',\n overflowContent: 'div',\n overflowButton: 'button',\n overflowSurface: PopoverSurface,\n },\n\n root,\n overflowButton,\n overflowContent,\n overflowSurface,\n };\n};\n\nexport const defaultAvatarGroupSize = 32;\n"],"sourceRoot":"../src/"}
@@ -3,41 +3,310 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.useAvatarGroupStyles_unstable = exports.extraAvatarGroupClassNames = exports.avatarGroupClassNames = void 0;
6
+ exports.useAvatarGroupStyles_unstable = exports.avatarGroupClassNames = void 0;
7
+
8
+ const react_tabster_1 = /*#__PURE__*/require("@fluentui/react-tabster");
7
9
 
8
10
  const react_1 = /*#__PURE__*/require("@griffel/react");
9
11
 
12
+ const react_theme_1 = /*#__PURE__*/require("@fluentui/react-theme");
13
+
14
+ const useAvatarStyles_1 = /*#__PURE__*/require("../Avatar/useAvatarStyles");
15
+
16
+ const AvatarGroupItem_1 = /*#__PURE__*/require("../../AvatarGroupItem");
17
+
10
18
  exports.avatarGroupClassNames = {
11
19
  root: 'fui-AvatarGroup',
12
- popoverSurface: 'fui-AvatarGroup__popoverSurface',
13
- popoverTrigger: 'fui-AvatarGroup__popoverTrigger'
14
- };
15
- exports.extraAvatarGroupClassNames = {
16
- popoverSurfaceItem: 'fui-AvatarGroup__popoverSurfaceItem'
20
+ overflowContent: 'fui-AvatarGroup__overflowContent',
21
+ overflowButton: 'fui-AvatarGroup__overflowButton',
22
+ overflowSurface: 'fui-AvatarGroup__overflowSurface'
17
23
  };
18
24
  /**
19
- * Styles for the root slot
25
+ * Styles for the root slot.
20
26
  */
21
27
 
22
28
  const useStyles = /*#__PURE__*/react_1.__styles({
23
- "root": {}
24
- }, {});
29
+ "base": {
30
+ "mc9l5x": "ftuwxu6",
31
+ "qhf8xq": "f10pi13n"
32
+ },
33
+ "pie": {
34
+ "Bgl5zvf": "f1uz6ud1",
35
+ "De3pzq": "f1ganh6p",
36
+ "Bsw6fvg": "fe2ae1k"
37
+ },
38
+ "overflowSurface": {
39
+ "z8tnut": "f1g0x7ka",
40
+ "z189sj": ["fhxju0i", "f1cnd47f"],
41
+ "Byoj8tv": "f1qch9an",
42
+ "uwmqm3": ["f1cnd47f", "fhxju0i"]
43
+ },
44
+ "overflowContent": {
45
+ "Bxyxcbc": "fopcw2o",
46
+ "sshi5w": "f1n5o1gx",
47
+ "B68tc82": "f1p9o1ba",
48
+ "Bmxbyg5": "fqkkaap",
49
+ "z8tnut": "f17mpqex",
50
+ "z189sj": ["f1vdfbxk", "f1f5gg8d"],
51
+ "Byoj8tv": "fdvome7",
52
+ "uwmqm3": ["f1f5gg8d", "f1vdfbxk"],
53
+ "a9b677": "f13dwy2t"
54
+ }
55
+ }, {
56
+ "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;}"],
57
+ "m": [["@media (forced-colors: active){.fe2ae1k{background-color:CanvasText;}}", {
58
+ "m": "(forced-colors: active)"
59
+ }]]
60
+ });
61
+ /**
62
+ * Styles for overflow button slot.
63
+ */
64
+
65
+
66
+ const useOverflowButtonStyles = /*#__PURE__*/react_1.__styles({
67
+ "base": {
68
+ "mc9l5x": "ftuwxu6",
69
+ "qhf8xq": "f10pi13n",
70
+ "Bnnss6s": "fi64zpg",
71
+ "Brf1p80": "f4d9j23",
72
+ "Bt984gj": "f122n59",
73
+ "sj55zd": "f19n0e5",
74
+ "De3pzq": "fxugw4r",
75
+ "g2u3we": "fj3muxo",
76
+ "h3c5rm": ["f1akhkt", "f1lxtadh"],
77
+ "B9xav0g": "f1aperda",
78
+ "zhjwy3": ["f1lxtadh", "f1akhkt"],
79
+ "Bbmb7ep": ["f8fbkgy", "f1nfllo7"],
80
+ "Beyfa6y": ["f1nfllo7", "f8fbkgy"],
81
+ "B7oj6ja": ["f1djnp8u", "f1s8kh49"],
82
+ "Btl43ni": ["f1s8kh49", "f1djnp8u"],
83
+ "icvyot": "fzkkow9",
84
+ "vrafjx": ["fcdblym", "fjik90z"],
85
+ "oivjwe": "fg706s2",
86
+ "wvpqe5": ["fjik90z", "fcdblym"],
87
+ "z8tnut": "f1g0x7ka",
88
+ "z189sj": ["fhxju0i", "f1cnd47f"],
89
+ "Byoj8tv": "f1qch9an",
90
+ "uwmqm3": ["f1cnd47f", "fhxju0i"],
91
+ "Bjwas2f": "fw33nwi",
92
+ "Bn1d65q": ["f1ptkjjm", "fmzzjfk"],
93
+ "Bxeuatn": "f15j0dln",
94
+ "n51gp8": ["fmzzjfk", "f1ptkjjm"]
95
+ },
96
+ "focusIndicator": {
97
+ "Brovlpu": "ftqa4ok",
98
+ "Bnmjwt4": "flfsvnh",
99
+ "Jopkrh": ["f1781m5e", "flvaaa9"],
100
+ "hhrs2v": "f50u1b5",
101
+ "B7jbng7": ["flvaaa9", "f1781m5e"],
102
+ "Bh48x57": "foqs3zz",
103
+ "B32s92o": "fgeg2qa",
104
+ "B5hngm5": "fhcq1yo"
105
+ },
106
+ "pieFocusIndicator": {
107
+ "Brovlpu": "ftqa4ok",
108
+ "rkqiyj": "f1gx8lax",
109
+ "Bs3nqqt": ["f1as8ps8", "f17o1ya2"],
110
+ "B4mky7d": "f1amggu6",
111
+ "Bviepcv": ["f17o1ya2", "f1as8ps8"],
112
+ "Bc28wk5": "flnfwa4",
113
+ "w1edd7": ["fuav46a", "fcnogh1"],
114
+ "Ba8awiv": "f19zilzp",
115
+ "I50xcx": ["fcnogh1", "fuav46a"],
116
+ "Bnmjwt4": "f119w1j1",
117
+ "Jopkrh": ["f1wlf18u", "fcqg1ja"],
118
+ "hhrs2v": "ft77uen",
119
+ "B7jbng7": ["fcqg1ja", "f1wlf18u"]
120
+ },
121
+ "states": {
122
+ "Bi91k9c": "feu1g3u",
123
+ "Jwef8y": "f1knas48",
124
+ "Bgoe8wy": "fvcxoqz",
125
+ "Bwzppfd": ["f1ub3y4t", "f1m52nbi"],
126
+ "oetu4i": "f1xlaoq0",
127
+ "gg5e9n": ["f1m52nbi", "f1ub3y4t"],
128
+ "lj723h": "f1g4hkjv",
129
+ "ecr2s2": "fb40n2d",
130
+ "B6oc9vd": "fvs00aa",
131
+ "ak43y8": ["f1assf6x", "f4ruux4"],
132
+ "wmxk5l": "fumykes",
133
+ "B50zh58": ["f4ruux4", "f1assf6x"]
134
+ },
135
+ "pie": {
136
+ "De3pzq": "f1c21dwh",
137
+ "g2u3we": "fghlq4f",
138
+ "h3c5rm": ["f1gn591s", "fjscplz"],
139
+ "B9xav0g": "fb073pr",
140
+ "zhjwy3": ["fjscplz", "f1gn591s"],
141
+ "sj55zd": "f44pa96"
142
+ },
143
+ "icon12": {
144
+ "Be2twd7": "f1ugzwwg"
145
+ },
146
+ "icon16": {
147
+ "Be2twd7": "f4ybsrx"
148
+ },
149
+ "icon20": {
150
+ "Be2twd7": "fe5j1ua"
151
+ },
152
+ "icon24": {
153
+ "Be2twd7": "f1rt2boy"
154
+ },
155
+ "icon28": {
156
+ "Be2twd7": "f24l1pt"
157
+ },
158
+ "icon32": {
159
+ "Be2twd7": "ffl51b"
160
+ },
161
+ "icon48": {
162
+ "Be2twd7": "f18m8u13"
163
+ },
164
+ "caption2Strong": {
165
+ "Bahqtrf": "fk6fouc",
166
+ "Be2twd7": "f13mqy1h",
167
+ "Bhrd7zp": "fl43uef",
168
+ "Bg96gwp": "fcpl73t"
169
+ },
170
+ "caption1Strong": {
171
+ "Bahqtrf": "fk6fouc",
172
+ "Be2twd7": "fy9rknc",
173
+ "Bhrd7zp": "fl43uef",
174
+ "Bg96gwp": "fwrc4pm"
175
+ },
176
+ "body1Strong": {
177
+ "Bahqtrf": "fk6fouc",
178
+ "Be2twd7": "fkhj508",
179
+ "Bhrd7zp": "fl43uef",
180
+ "Bg96gwp": "f1i3iumi"
181
+ },
182
+ "subtitle2": {
183
+ "Bahqtrf": "fk6fouc",
184
+ "Be2twd7": "fod5ikn",
185
+ "Bhrd7zp": "fl43uef",
186
+ "Bg96gwp": "faaz57k"
187
+ },
188
+ "subtitle1": {
189
+ "Bahqtrf": "fk6fouc",
190
+ "Be2twd7": "f1pp30po",
191
+ "Bhrd7zp": "fl43uef",
192
+ "Bg96gwp": "f106mvju"
193
+ },
194
+ "title3": {
195
+ "Bahqtrf": "fk6fouc",
196
+ "Be2twd7": "f1x0m3f5",
197
+ "Bhrd7zp": "fl43uef",
198
+ "Bg96gwp": "fb86gi6"
199
+ },
200
+ "borderThin": {
201
+ "B4j52fo": "f192inf7",
202
+ "Bekrc4i": ["f5tn483", "f1ojsxk5"],
203
+ "Bn0qgzm": "f1vxd6vx",
204
+ "ibv6hh": ["f1ojsxk5", "f5tn483"]
205
+ },
206
+ "borderThick": {
207
+ "B4j52fo": "f18zi460",
208
+ "Bekrc4i": ["f1wpluaz", "fsfsuhs"],
209
+ "Bn0qgzm": "fmklw6v",
210
+ "ibv6hh": ["fsfsuhs", "f1wpluaz"]
211
+ },
212
+ "borderThicker": {
213
+ "B4j52fo": "fgx37oo",
214
+ "Bekrc4i": ["f130t4y6", "f1efpmoh"],
215
+ "Bn0qgzm": "fv51ejd",
216
+ "ibv6hh": ["f1efpmoh", "f130t4y6"]
217
+ },
218
+ "borderThickest": {
219
+ "B4j52fo": "fwn6jck",
220
+ "Bekrc4i": ["figl7jc", "f1g0iy8l"],
221
+ "Bn0qgzm": "f1b8shu7",
222
+ "ibv6hh": ["f1g0iy8l", "figl7jc"]
223
+ }
224
+ }, {
225
+ "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;}", "[data-keyboard-nav] .flfsvnh:focus{border-top-color:transparent;}", "[data-keyboard-nav] .f1781m5e:focus{border-right-color:transparent;}", "[data-keyboard-nav] .flvaaa9:focus{border-left-color:transparent;}", "[data-keyboard-nav] .f50u1b5:focus{border-bottom-color:transparent;}", "[data-keyboard-nav] .foqs3zz:focus{outline-color:var(--colorStrokeFocus2);}", "[data-keyboard-nav] .fgeg2qa:focus{outline-width:var(--strokeWidthThick);}", "[data-keyboard-nav] .fhcq1yo:focus{outline-style:solid;}", "[data-keyboard-nav] .f1gx8lax:focus{border-top-width:var(--strokeWidthThick);}", "[data-keyboard-nav] .f1as8ps8:focus{border-right-width:var(--strokeWidthThick);}", "[data-keyboard-nav] .f17o1ya2:focus{border-left-width:var(--strokeWidthThick);}", "[data-keyboard-nav] .f1amggu6:focus{border-bottom-width:var(--strokeWidthThick);}", "[data-keyboard-nav] .flnfwa4:focus{border-top-style:solid;}", "[data-keyboard-nav] .fuav46a:focus{border-right-style:solid;}", "[data-keyboard-nav] .fcnogh1:focus{border-left-style:solid;}", "[data-keyboard-nav] .f19zilzp:focus{border-bottom-style:solid;}", "[data-keyboard-nav] .f119w1j1:focus{border-top-color:var(--colorStrokeFocus2);}", "[data-keyboard-nav] .f1wlf18u:focus{border-right-color:var(--colorStrokeFocus2);}", "[data-keyboard-nav] .fcqg1ja:focus{border-left-color:var(--colorStrokeFocus2);}", "[data-keyboard-nav] .ft77uen:focus{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);}"],
226
+ "m": [["@media (forced-colors: active){.fw33nwi{border-top-color:CanvasText;}}", {
227
+ "m": "(forced-colors: active)"
228
+ }], ["@media (forced-colors: active){.f1ptkjjm{border-right-color:CanvasText;}.fmzzjfk{border-left-color:CanvasText;}}", {
229
+ "m": "(forced-colors: active)"
230
+ }], ["@media (forced-colors: active){.f15j0dln{border-bottom-color:CanvasText;}}", {
231
+ "m": "(forced-colors: active)"
232
+ }], ["@media (forced-colors: active){.fmzzjfk{border-left-color:CanvasText;}.f1ptkjjm{border-right-color:CanvasText;}}", {
233
+ "m": "(forced-colors: active)"
234
+ }]],
235
+ "f": [".ftqa4ok:focus{outline-style:none;}"],
236
+ "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);}"],
237
+ "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);}"]
238
+ });
25
239
  /**
26
240
  * Apply styling to the AvatarGroup slots based on the state
27
241
  */
28
242
 
29
243
 
30
244
  const useAvatarGroupStyles_unstable = state => {
245
+ const {
246
+ layout,
247
+ overflowIndicator,
248
+ size
249
+ } = state;
31
250
  const styles = useStyles();
32
- state.root.className = react_1.mergeClasses(exports.avatarGroupClassNames.root, styles.root, state.root.className); // TODO Add class names to slots, for example:
33
- // state.mySlot.className = mergeClasses(styles.mySlot, state.mySlot.className);
251
+ const sizeStyles = useAvatarStyles_1.useSizeStyles();
252
+ const overflowButtonStyles = useOverflowButtonStyles();
253
+ const groupChildClassName = AvatarGroupItem_1.useGroupChildClassName(layout, size, true);
254
+ state.root.className = react_1.mergeClasses(exports.avatarGroupClassNames.root, styles.base, layout === 'pie' && styles.pie, layout === 'pie' && sizeStyles[size], state.root.className);
255
+
256
+ if (state.overflowContent) {
257
+ state.overflowContent.className = react_1.mergeClasses(exports.avatarGroupClassNames.overflowContent, styles.overflowContent, state.overflowContent.className);
258
+ }
259
+
260
+ if (state.overflowSurface) {
261
+ state.overflowSurface.className = react_1.mergeClasses(exports.avatarGroupClassNames.overflowSurface, styles.overflowSurface, state.overflowSurface.className);
262
+ }
263
+
264
+ const overflowButtonClasses = [];
265
+
266
+ if (size < 36) {
267
+ overflowButtonClasses.push(overflowButtonStyles.borderThin);
268
+ } else if (size < 56) {
269
+ overflowButtonClasses.push(overflowButtonStyles.borderThick);
270
+ } else if (size < 72) {
271
+ overflowButtonClasses.push(overflowButtonStyles.borderThicker);
272
+ } else {
273
+ overflowButtonClasses.push(overflowButtonStyles.borderThickest);
274
+ }
34
275
 
35
- if (state.popoverSurface) {
36
- state.popoverSurface.className = react_1.mergeClasses(exports.avatarGroupClassNames.popoverSurface, state.popoverSurface.className);
276
+ if (overflowIndicator === 'count') {
277
+ if (size <= 24) {
278
+ overflowButtonClasses.push(overflowButtonStyles.caption2Strong);
279
+ } else if (size <= 28) {
280
+ overflowButtonClasses.push(overflowButtonStyles.caption1Strong);
281
+ } else if (size <= 40) {
282
+ overflowButtonClasses.push(overflowButtonStyles.body1Strong);
283
+ } else if (size <= 56) {
284
+ overflowButtonClasses.push(overflowButtonStyles.subtitle2);
285
+ } else if (size <= 96) {
286
+ overflowButtonClasses.push(overflowButtonStyles.subtitle1);
287
+ } else {
288
+ overflowButtonClasses.push(overflowButtonStyles.title3);
289
+ }
290
+ } else {
291
+ if (size <= 16) {
292
+ overflowButtonClasses.push(overflowButtonStyles.icon12);
293
+ } else if (size <= 24) {
294
+ overflowButtonClasses.push(overflowButtonStyles.icon16);
295
+ } else if (size <= 40) {
296
+ overflowButtonClasses.push(overflowButtonStyles.icon20);
297
+ } else if (size <= 48) {
298
+ overflowButtonClasses.push(overflowButtonStyles.icon24);
299
+ } else if (size <= 56) {
300
+ overflowButtonClasses.push(overflowButtonStyles.icon28);
301
+ } else if (size <= 72) {
302
+ overflowButtonClasses.push(overflowButtonStyles.icon32);
303
+ } else {
304
+ overflowButtonClasses.push(overflowButtonStyles.icon48);
305
+ }
37
306
  }
38
307
 
39
- if (state.popoverTrigger) {
40
- state.popoverTrigger.className = react_1.mergeClasses(exports.avatarGroupClassNames.popoverTrigger, state.popoverTrigger.className);
308
+ if (state.overflowButton) {
309
+ state.overflowButton.className = react_1.mergeClasses(exports.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);
41
310
  }
42
311
 
43
312
  return state;
@@ -1 +1 @@
1
- {"version":3,"sources":["components/AvatarGroup/useAvatarGroupStyles.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,OAAA,gBAAA,OAAA,CAAA,gBAAA,CAAA;;AAIa,OAAA,CAAA,qBAAA,GAA0D;AACrE,EAAA,IAAI,EAAE,iBAD+D;AAErE,EAAA,cAAc,EAAE,iCAFqD;AAGrE,EAAA,cAAc,EAAE;AAHqD,CAA1D;AAMA,OAAA,CAAA,0BAAA,GAA6B;AACxC,EAAA,kBAAkB,EAAE;AADoB,CAA7B;AAIb;;AAEG;;AACH,MAAM,SAAS,gBAAG,OAAA,SAAA;AAAA;AAAA,MAAlB;AAQA;;AAEG;;;AACI,MAAM,6BAA6B,GAAI,KAAD,IAA8C;AACzF,QAAM,MAAM,GAAG,SAAS,EAAxB;AACA,EAAA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,OAAA,CAAA,YAAA,CAAa,OAAA,CAAA,qBAAA,CAAsB,IAAnC,EAAyC,MAAM,CAAC,IAAhD,EAAsD,KAAK,CAAC,IAAN,CAAW,SAAjE,CAAvB,CAFyF,CAIzF;AACA;;AAEA,MAAI,KAAK,CAAC,cAAV,EAA0B;AACxB,IAAA,KAAK,CAAC,cAAN,CAAqB,SAArB,GAAiC,OAAA,CAAA,YAAA,CAAa,OAAA,CAAA,qBAAA,CAAsB,cAAnC,EAAmD,KAAK,CAAC,cAAN,CAAqB,SAAxE,CAAjC;AACD;;AAED,MAAI,KAAK,CAAC,cAAV,EAA0B;AACxB,IAAA,KAAK,CAAC,cAAN,CAAqB,SAArB,GAAiC,OAAA,CAAA,YAAA,CAAa,OAAA,CAAA,qBAAA,CAAsB,cAAnC,EAAmD,KAAK,CAAC,cAAN,CAAqB,SAAxE,CAAjC;AACD;;AAED,SAAO,KAAP;AACD,CAhBM;;AAAM,OAAA,CAAA,6BAAA,GAA6B,6BAA7B","sourcesContent":["import { makeStyles, mergeClasses } from '@griffel/react';\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 popoverSurface: 'fui-AvatarGroup__popoverSurface',\n popoverTrigger: 'fui-AvatarGroup__popoverTrigger',\n};\n\nexport const extraAvatarGroupClassNames = {\n popoverSurfaceItem: 'fui-AvatarGroup__popoverSurfaceItem',\n};\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n root: {\n // TODO Add default styles for the root element\n },\n\n // TODO add additional classes for different states and/or slots\n});\n\n/**\n * Apply styling to the AvatarGroup slots based on the state\n */\nexport const useAvatarGroupStyles_unstable = (state: AvatarGroupState): AvatarGroupState => {\n const styles = useStyles();\n state.root.className = mergeClasses(avatarGroupClassNames.root, styles.root, state.root.className);\n\n // TODO Add class names to slots, for example:\n // state.mySlot.className = mergeClasses(styles.mySlot, state.mySlot.className);\n\n if (state.popoverSurface) {\n state.popoverSurface.className = mergeClasses(avatarGroupClassNames.popoverSurface, state.popoverSurface.className);\n }\n\n if (state.popoverTrigger) {\n state.popoverTrigger.className = mergeClasses(avatarGroupClassNames.popoverTrigger, state.popoverTrigger.className);\n }\n\n return state;\n};\n"],"sourceRoot":"../src/"}
1
+ {"version":3,"sources":["components/AvatarGroup/useAvatarGroupStyles.ts"],"names":[],"mappings":";;;;;;;AAAA,MAAA,eAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;;AACA,MAAA,OAAA,gBAAA,OAAA,CAAA,gBAAA,CAAA;;AACA,MAAA,aAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;;AAGA,MAAA,iBAAA,gBAAA,OAAA,CAAA,uBAAA,CAAA;;AAEa,OAAA,CAAA,qBAAA,GAA0D;EACrE,IAAI,EAAE,iBAD+D;EAErE,eAAe,EAAE,kCAFoD;EAGrE,cAAc,EAAE,iCAHqD;EAIrE,eAAe,EAAE;AAJoD,CAA1D;AAOb;;AAEG;;AACH,MAAM,SAAS,gBAAG,OAAA,SAAA;EAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;AAAA;EAAA;EAAA;IAAA;EAAA;AAAA,EAAlB;AAwBA;;AAEG;;;AACH,MAAM,uBAAuB,gBAAG,OAAA,SAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;EAAA;IAAA;IAAA;IAAA;IAAA;EAAA;AAAA;EAAA;EAAA;IAAA;EAAA;IAAA;EAAA;IAAA;EAAA;IAAA;EAAA;EAAA;EAAA;EAAA;AAAA,EAAhC;AAuEA;;AAEG;;;AACI,MAAM,6BAA6B,GAAI,KAAD,IAA8C;EACzF,MAAM;IAAE,MAAF;IAAU,iBAAV;IAA6B;EAA7B,IAAsC,KAA5C;EACA,MAAM,MAAM,GAAG,SAAS,EAAxB;EACA,MAAM,UAAU,GAAG,iBAAA,CAAA,aAAA,EAAnB;EACA,MAAM,oBAAoB,GAAG,uBAAuB,EAApD;EAEA,MAAM,mBAAmB,GAAG,iBAAA,CAAA,sBAAA,CAAuB,MAAvB,EAA+B,IAA/B,EAAqC,IAArC,CAA5B;EAEA,KAAK,CAAC,IAAN,CAAW,SAAX,GAAuB,OAAA,CAAA,YAAA,CACrB,OAAA,CAAA,qBAAA,CAAsB,IADD,EAErB,MAAM,CAAC,IAFc,EAGrB,MAAM,KAAK,KAAX,IAAoB,MAAM,CAAC,GAHN,EAIrB,MAAM,KAAK,KAAX,IAAoB,UAAU,CAAC,IAAD,CAJT,EAKrB,KAAK,CAAC,IAAN,CAAW,SALU,CAAvB;;EAQA,IAAI,KAAK,CAAC,eAAV,EAA2B;IACzB,KAAK,CAAC,eAAN,CAAsB,SAAtB,GAAkC,OAAA,CAAA,YAAA,CAChC,OAAA,CAAA,qBAAA,CAAsB,eADU,EAEhC,MAAM,CAAC,eAFyB,EAGhC,KAAK,CAAC,eAAN,CAAsB,SAHU,CAAlC;EAKD;;EAED,IAAI,KAAK,CAAC,eAAV,EAA2B;IACzB,KAAK,CAAC,eAAN,CAAsB,SAAtB,GAAkC,OAAA,CAAA,YAAA,CAChC,OAAA,CAAA,qBAAA,CAAsB,eADU,EAEhC,MAAM,CAAC,eAFyB,EAGhC,KAAK,CAAC,eAAN,CAAsB,SAHU,CAAlC;EAKD;;EAED,MAAM,qBAAqB,GAAG,EAA9B;;EAEA,IAAI,IAAI,GAAG,EAAX,EAAe;IACb,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,UAAhD;EACD,CAFD,MAEO,IAAI,IAAI,GAAG,EAAX,EAAe;IACpB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,WAAhD;EACD,CAFM,MAEA,IAAI,IAAI,GAAG,EAAX,EAAe;IACpB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,aAAhD;EACD,CAFM,MAEA;IACL,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,cAAhD;EACD;;EAED,IAAI,iBAAiB,KAAK,OAA1B,EAAmC;IACjC,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACd,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,cAAhD;IACD,CAFD,MAEO,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACrB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,cAAhD;IACD,CAFM,MAEA,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACrB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,WAAhD;IACD,CAFM,MAEA,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACrB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,SAAhD;IACD,CAFM,MAEA,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACrB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,SAAhD;IACD,CAFM,MAEA;MACL,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,MAAhD;IACD;EACF,CAdD,MAcO;IACL,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACd,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,MAAhD;IACD,CAFD,MAEO,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACrB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,MAAhD;IACD,CAFM,MAEA,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACrB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,MAAhD;IACD,CAFM,MAEA,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACrB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,MAAhD;IACD,CAFM,MAEA,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACrB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,MAAhD;IACD,CAFM,MAEA,IAAI,IAAI,IAAI,EAAZ,EAAgB;MACrB,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,MAAhD;IACD,CAFM,MAEA;MACL,qBAAqB,CAAC,IAAtB,CAA2B,oBAAoB,CAAC,MAAhD;IACD;EACF;;EAED,IAAI,KAAK,CAAC,cAAV,EAA0B;IACxB,KAAK,CAAC,cAAN,CAAqB,SAArB,GAAiC,OAAA,CAAA,YAAA,CAC/B,OAAA,CAAA,qBAAA,CAAsB,cADS,EAE/B,UAAU,CAAC,IAAD,CAFqB,EAG/B,oBAAoB,CAAC,IAHU,EAI/B,GAAG,qBAJ4B,EAK/B,MAAM,KAAK,KAAX,IAAoB,oBAAoB,CAAC,MALV,EAM/B,MAAM,KAAK,KAAX,IAAoB,oBAAoB,CAAC,cANV,EAO/B,MAAM,KAAK,KAAX,IAAoB,oBAAoB,CAAC,iBAPV,EAQ/B,MAAM,KAAK,KAAX,IAAoB,oBAAoB,CAAC,GARV,EAS/B,mBAT+B,EAU/B,KAAK,CAAC,cAAN,CAAqB,SAVU,CAAjC;EAYD;;EAED,OAAO,KAAP;AACD,CA5FM;;AAAM,OAAA,CAAA,6BAAA,GAA6B,6BAA7B","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/"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.AvatarGroupItem = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const useAvatarGroupItem_1 = /*#__PURE__*/require("./useAvatarGroupItem");
11
+
12
+ const renderAvatarGroupItem_1 = /*#__PURE__*/require("./renderAvatarGroupItem");
13
+
14
+ const useAvatarGroupItemStyles_1 = /*#__PURE__*/require("./useAvatarGroupItemStyles");
15
+ /**
16
+ * The AvatarGroupItem component represents a single person or entity.
17
+ * AvatarGroupItem should only be used in an AvatarGroup component.
18
+ */
19
+
20
+
21
+ exports.AvatarGroupItem = /*#__PURE__*/React.forwardRef((props, ref) => {
22
+ const state = useAvatarGroupItem_1.useAvatarGroupItem_unstable(props, ref);
23
+ useAvatarGroupItemStyles_1.useAvatarGroupItemStyles_unstable(state);
24
+ return renderAvatarGroupItem_1.renderAvatarGroupItem_unstable(state);
25
+ });
26
+ exports.AvatarGroupItem.displayName = 'AvatarGroupItem';
27
+ //# sourceMappingURL=AvatarGroupItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/AvatarGroupItem/AvatarGroupItem.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,oBAAA,gBAAA,OAAA,CAAA,sBAAA,CAAA;;AACA,MAAA,uBAAA,gBAAA,OAAA,CAAA,yBAAA,CAAA;;AACA,MAAA,0BAAA,gBAAA,OAAA,CAAA,4BAAA,CAAA;AAIA;;;AAGG;;;AACU,OAAA,CAAA,eAAA,gBAA6D,KAAK,CAAC,UAAN,CAAiB,CAAC,KAAD,EAAQ,GAAR,KAAe;EACxG,MAAM,KAAK,GAAG,oBAAA,CAAA,2BAAA,CAA4B,KAA5B,EAAmC,GAAnC,CAAd;EAEA,0BAAA,CAAA,iCAAA,CAAkC,KAAlC;EACA,OAAO,uBAAA,CAAA,8BAAA,CAA+B,KAA/B,CAAP;AACD,CALyE,CAA7D;AAOb,OAAA,CAAA,eAAA,CAAgB,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/"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ //# sourceMappingURL=AvatarGroupItem.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","sourceRoot":"../src/"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ const tslib_1 = /*#__PURE__*/require("tslib");
8
+
9
+ tslib_1.__exportStar(require("./AvatarGroupItem"), exports);
10
+
11
+ tslib_1.__exportStar(require("./AvatarGroupItem.types"), exports);
12
+
13
+ tslib_1.__exportStar(require("./renderAvatarGroupItem"), exports);
14
+
15
+ tslib_1.__exportStar(require("./useAvatarGroupItem"), exports);
16
+
17
+ tslib_1.__exportStar(require("./useAvatarGroupItemStyles"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/AvatarGroupItem/index.ts"],"names":[],"mappings":";;;;;;;;AAAA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,mBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,yBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,yBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,sBAAA,CAAA,EAAA,OAAA;;AACA,OAAA,CAAA,YAAA,CAAA,OAAA,CAAA,4BAAA,CAAA,EAAA,OAAA","sourcesContent":["export * from './AvatarGroupItem';\nexport * from './AvatarGroupItem.types';\nexport * from './renderAvatarGroupItem';\nexport * from './useAvatarGroupItem';\nexport * from './useAvatarGroupItemStyles';\n"],"sourceRoot":"../src/"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.renderAvatarGroupItem_unstable = void 0;
7
+
8
+ const React = /*#__PURE__*/require("react");
9
+
10
+ const react_utilities_1 = /*#__PURE__*/require("@fluentui/react-utilities");
11
+ /**
12
+ * Render the final JSX of AvatarGroupItem
13
+ */
14
+
15
+
16
+ const renderAvatarGroupItem_unstable = state => {
17
+ const {
18
+ slots,
19
+ slotProps
20
+ } = react_utilities_1.getSlots(state);
21
+ return React.createElement(slots.root, { ...slotProps.root
22
+ }, React.createElement(slots.avatar, { ...slotProps.avatar
23
+ }), state.isOverflowItem && React.createElement(slots.overflowLabel, { ...slotProps.overflowLabel
24
+ }));
25
+ };
26
+
27
+ exports.renderAvatarGroupItem_unstable = renderAvatarGroupItem_unstable;
28
+ //# sourceMappingURL=renderAvatarGroupItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["components/AvatarGroupItem/renderAvatarGroupItem.tsx"],"names":[],"mappings":";;;;;;;AAAA,MAAA,KAAA,gBAAA,OAAA,CAAA,OAAA,CAAA;;AACA,MAAA,iBAAA,gBAAA,OAAA,CAAA,2BAAA,CAAA;AAGA;;AAEG;;;AACI,MAAM,8BAA8B,GAAI,KAAD,IAAgC;EAC5E,MAAM;IAAE,KAAF;IAAS;EAAT,IAAuB,iBAAA,CAAA,QAAA,CAA+B,KAA/B,CAA7B;EAEA,OACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,IAAP,EAAW,EAAA,GAAK,SAAS,CAAC;EAAf,CAAX,EACE,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,MAAP,EAAa,EAAA,GAAK,SAAS,CAAC;EAAf,CAAb,CADF,EAEG,KAAK,CAAC,cAAN,IAAwB,KAAA,CAAA,aAAA,CAAC,KAAK,CAAC,aAAP,EAAoB,EAAA,GAAK,SAAS,CAAC;EAAf,CAApB,CAF3B,CADF;AAMD,CATM;;AAAM,OAAA,CAAA,8BAAA,GAA8B,8BAA9B","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { AvatarGroupItemState, AvatarGroupItemSlots } from './AvatarGroupItem.types';\n\n/**\n * Render the final JSX of AvatarGroupItem\n */\nexport const renderAvatarGroupItem_unstable = (state: AvatarGroupItemState) => {\n const { slots, slotProps } = getSlots<AvatarGroupItemSlots>(state);\n\n return (\n <slots.root {...slotProps.root}>\n <slots.avatar {...slotProps.avatar} />\n {state.isOverflowItem && <slots.overflowLabel {...slotProps.overflowLabel} />}\n </slots.root>\n );\n};\n"],"sourceRoot":"../src/"}