@fluentui/react-persona 0.0.0-nightly-20250703-1103.1 → 0.0.0-nightly-20250704-0407.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.
package/CHANGELOG.md CHANGED
@@ -1,25 +1,25 @@
1
1
  # Change Log - @fluentui/react-persona
2
2
 
3
- This log was last generated on Thu, 03 Jul 2025 11:19:23 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 04 Jul 2025 04:23:44 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
- ## [0.0.0-nightly-20250703-1103.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-persona_v0.0.0-nightly-20250703-1103.1)
7
+ ## [0.0.0-nightly-20250704-0407.1](https://github.com/microsoft/fluentui/tree/@fluentui/react-persona_v0.0.0-nightly-20250704-0407.1)
8
8
 
9
- Thu, 03 Jul 2025 11:19:23 GMT
10
- [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-persona_v9.4.5..@fluentui/react-persona_v0.0.0-nightly-20250703-1103.1)
9
+ Fri, 04 Jul 2025 04:23:44 GMT
10
+ [Compare changes](https://github.com/microsoft/fluentui/compare/@fluentui/react-persona_v9.4.5..@fluentui/react-persona_v0.0.0-nightly-20250704-0407.1)
11
11
 
12
12
  ### Changes
13
13
 
14
14
  - Release nightly v9 ([commit](https://github.com/microsoft/fluentui/commit/not available) by fluentui-internal@service.microsoft.com)
15
- - Bump @fluentui/react-avatar to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
16
- - Bump @fluentui/react-badge to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
17
- - Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
18
- - Bump @fluentui/react-theme to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
19
- - Bump @fluentui/react-utilities to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
20
- - Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
21
- - Bump @fluentui/react-conformance to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
22
- - Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20250703-1103.1 ([commit](https://github.com/microsoft/fluentui/commit/526d249cdcd844e3f173f9163b3ce779fe6035e8) by beachball)
15
+ - Bump @fluentui/react-avatar to v0.0.0-nightly-20250704-0407.1 ([commit](https://github.com/microsoft/fluentui/commit/3c4698d79cc2b57bd02e8dadb393007150178c18) by beachball)
16
+ - Bump @fluentui/react-badge to v0.0.0-nightly-20250704-0407.1 ([commit](https://github.com/microsoft/fluentui/commit/3c4698d79cc2b57bd02e8dadb393007150178c18) by beachball)
17
+ - Bump @fluentui/react-shared-contexts to v0.0.0-nightly-20250704-0407.1 ([commit](https://github.com/microsoft/fluentui/commit/3c4698d79cc2b57bd02e8dadb393007150178c18) by beachball)
18
+ - Bump @fluentui/react-theme to v0.0.0-nightly-20250704-0407.1 ([commit](https://github.com/microsoft/fluentui/commit/3c4698d79cc2b57bd02e8dadb393007150178c18) by beachball)
19
+ - Bump @fluentui/react-utilities to v0.0.0-nightly-20250704-0407.1 ([commit](https://github.com/microsoft/fluentui/commit/3c4698d79cc2b57bd02e8dadb393007150178c18) by beachball)
20
+ - Bump @fluentui/react-jsx-runtime to v0.0.0-nightly-20250704-0407.1 ([commit](https://github.com/microsoft/fluentui/commit/3c4698d79cc2b57bd02e8dadb393007150178c18) by beachball)
21
+ - Bump @fluentui/react-conformance to v0.0.0-nightly-20250704-0407.1 ([commit](https://github.com/microsoft/fluentui/commit/3c4698d79cc2b57bd02e8dadb393007150178c18) by beachball)
22
+ - Bump @fluentui/react-conformance-griffel to v0.0.0-nightly-20250704-0407.1 ([commit](https://github.com/microsoft/fluentui/commit/3c4698d79cc2b57bd02e8dadb393007150178c18) by beachball)
23
23
 
24
24
  ## [9.4.5](https://github.com/microsoft/fluentui/tree/@fluentui/react-persona_v9.4.5)
25
25
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluentui/react-persona",
3
- "version": "0.0.0-nightly-20250703-1103.1",
3
+ "version": "0.0.0-nightly-20250704-0407.1",
4
4
  "description": "React components for building web experiences",
5
5
  "main": "lib-commonjs/index.js",
6
6
  "module": "lib/index.js",
@@ -13,17 +13,17 @@
13
13
  "license": "MIT",
14
14
  "devDependencies": {
15
15
  "@fluentui/eslint-plugin": "*",
16
- "@fluentui/react-conformance": "0.0.0-nightly-20250703-1103.1",
17
- "@fluentui/react-conformance-griffel": "0.0.0-nightly-20250703-1103.1",
16
+ "@fluentui/react-conformance": "0.0.0-nightly-20250704-0407.1",
17
+ "@fluentui/react-conformance-griffel": "0.0.0-nightly-20250704-0407.1",
18
18
  "@fluentui/scripts-api-extractor": "*"
19
19
  },
20
20
  "dependencies": {
21
- "@fluentui/react-avatar": "0.0.0-nightly-20250703-1103.1",
22
- "@fluentui/react-badge": "0.0.0-nightly-20250703-1103.1",
23
- "@fluentui/react-shared-contexts": "0.0.0-nightly-20250703-1103.1",
24
- "@fluentui/react-theme": "0.0.0-nightly-20250703-1103.1",
25
- "@fluentui/react-utilities": "0.0.0-nightly-20250703-1103.1",
26
- "@fluentui/react-jsx-runtime": "0.0.0-nightly-20250703-1103.1",
21
+ "@fluentui/react-avatar": "0.0.0-nightly-20250704-0407.1",
22
+ "@fluentui/react-badge": "0.0.0-nightly-20250704-0407.1",
23
+ "@fluentui/react-shared-contexts": "0.0.0-nightly-20250704-0407.1",
24
+ "@fluentui/react-theme": "0.0.0-nightly-20250704-0407.1",
25
+ "@fluentui/react-utilities": "0.0.0-nightly-20250704-0407.1",
26
+ "@fluentui/react-jsx-runtime": "0.0.0-nightly-20250704-0407.1",
27
27
  "@griffel/react": "^1.5.22",
28
28
  "@swc/helpers": "^0.5.1"
29
29
  },
@@ -1,198 +0,0 @@
1
- import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';
2
- import { tokens, typographyStyles } from '@fluentui/react-theme';
3
- export const personaClassNames = {
4
- root: 'fui-Persona',
5
- avatar: 'fui-Persona__avatar',
6
- presence: 'fui-Persona__presence',
7
- primaryText: 'fui-Persona__primaryText',
8
- secondaryText: 'fui-Persona__secondaryText',
9
- tertiaryText: 'fui-Persona__tertiaryText',
10
- quaternaryText: 'fui-Persona__quaternaryText'
11
- };
12
- const avatarSpacing = `--fui-Persona__avatar--spacing`;
13
- const useRootClassName = makeResetStyles({
14
- display: 'inline-grid',
15
- gridAutoRows: 'max-content',
16
- gridAutoFlow: 'column',
17
- justifyItems: 'start',
18
- gridTemplateColumns: 'max-content [middle] auto'
19
- });
20
- /**
21
- * Styles for the root slot
22
- */ const useStyles = makeStyles({
23
- beforeAfterCenter: {
24
- // This template is needed to make sure the Avatar is centered when it takes up more space than the text lines
25
- gridTemplateRows: '1fr [primary] max-content [secondary] max-content [tertiary] max-content [quaternary] max-content 1fr'
26
- },
27
- after: {
28
- },
29
- before: {
30
- justifyItems: 'end',
31
- gridTemplateColumns: 'auto [middle] max-content'
32
- },
33
- below: {
34
- gridAutoFlow: 'unset',
35
- justifyItems: 'center',
36
- gridTemplateColumns: 'unset'
37
- },
38
- media: {
39
- gridRowStart: 'span 5'
40
- },
41
- mediaBeforeAfterCenter: {
42
- gridRowStart: 'span 6'
43
- },
44
- start: {
45
- alignSelf: 'start'
46
- },
47
- center: {
48
- alignSelf: 'center'
49
- },
50
- afterAlignToPrimary: {
51
- alignSelf: 'center',
52
- gridRowStart: 'unset',
53
- gridColumnEnd: 'middle'
54
- },
55
- beforeAlignToPrimary: {
56
- alignSelf: 'center',
57
- gridRowStart: 'unset',
58
- gridColumnStart: 'middle'
59
- },
60
- secondLineSpacing: {
61
- marginTop: '-2px'
62
- },
63
- primary: {
64
- gridRowStart: 'primary'
65
- },
66
- secondary: {
67
- gridRowStart: 'secondary'
68
- },
69
- tertiary: {
70
- gridRowStart: 'tertiary'
71
- },
72
- quaternary: {
73
- gridRowStart: 'quaternary'
74
- }
75
- });
76
- const useAvatarSpacingStyles = makeStyles({
77
- 'extra-small': {
78
- [avatarSpacing]: tokens.spacingHorizontalSNudge
79
- },
80
- small: {
81
- [avatarSpacing]: tokens.spacingHorizontalS
82
- },
83
- medium: {
84
- [avatarSpacing]: tokens.spacingHorizontalS
85
- },
86
- large: {
87
- [avatarSpacing]: tokens.spacingHorizontalMNudge
88
- },
89
- 'extra-large': {
90
- [avatarSpacing]: tokens.spacingHorizontalMNudge
91
- },
92
- huge: {
93
- [avatarSpacing]: tokens.spacingHorizontalM
94
- },
95
- after: {
96
- marginRight: `var(${avatarSpacing})`
97
- },
98
- below: {
99
- marginBottom: `var(${avatarSpacing})`
100
- },
101
- before: {
102
- marginLeft: `var(${avatarSpacing})`
103
- }
104
- });
105
- const usePresenceSpacingStyles = makeStyles({
106
- small: {
107
- [avatarSpacing]: tokens.spacingHorizontalSNudge
108
- }
109
- });
110
- /**
111
- * Apply styling to the Persona slots based on the state
112
- */ export const usePersonaStyles_unstable = (state)=>{
113
- 'use no memo';
114
- const { presenceOnly, size, textAlignment, textPosition } = state;
115
- const alignToPrimary = presenceOnly && textAlignment === 'start' && size !== 'extra-large' && size !== 'huge';
116
- const alignBeforeAfterCenter = textPosition !== 'below' && textAlignment === 'center';
117
- const { primaryTextClassName, optionalTextClassName } = useTextClassNames(state, alignToPrimary);
118
- const rootClassName = useRootClassName();
119
- const styles = useStyles();
120
- const avatarSpacingStyles = useAvatarSpacingStyles();
121
- const presenceSpacingStyles = {
122
- ...avatarSpacingStyles,
123
- ...usePresenceSpacingStyles()
124
- };
125
- state.root.className = mergeClasses(personaClassNames.root, rootClassName, alignBeforeAfterCenter && styles.beforeAfterCenter, styles[textPosition], state.root.className);
126
- if (state.avatar) {
127
- state.avatar.className = mergeClasses(personaClassNames.avatar, textPosition !== 'below' && styles.media, alignBeforeAfterCenter && styles.mediaBeforeAfterCenter, styles[textAlignment], avatarSpacingStyles[size], avatarSpacingStyles[textPosition], state.avatar.className);
128
- }
129
- if (state.presence) {
130
- state.presence.className = mergeClasses(personaClassNames.presence, textPosition !== 'below' && styles.media, alignBeforeAfterCenter && styles.mediaBeforeAfterCenter, styles[textAlignment], presenceSpacingStyles[size], presenceSpacingStyles[textPosition], textPosition === 'after' && alignToPrimary && styles.afterAlignToPrimary, textPosition === 'before' && alignToPrimary && styles.beforeAlignToPrimary, state.presence.className);
131
- }
132
- if (state.primaryText) {
133
- state.primaryText.className = mergeClasses(personaClassNames.primaryText, alignBeforeAfterCenter && styles.primary, primaryTextClassName, state.primaryText.className);
134
- }
135
- if (state.secondaryText) {
136
- state.secondaryText.className = mergeClasses(personaClassNames.secondaryText, alignBeforeAfterCenter && styles.secondary, optionalTextClassName, styles.secondLineSpacing, state.secondaryText.className);
137
- }
138
- if (state.tertiaryText) {
139
- state.tertiaryText.className = mergeClasses(personaClassNames.tertiaryText, alignBeforeAfterCenter && styles.tertiary, optionalTextClassName, state.tertiaryText.className);
140
- }
141
- if (state.quaternaryText) {
142
- state.quaternaryText.className = mergeClasses(personaClassNames.quaternaryText, alignBeforeAfterCenter && styles.quaternary, optionalTextClassName, state.quaternaryText.className);
143
- }
144
- return state;
145
- };
146
- const usePrimaryTextBaseClassName = makeResetStyles({
147
- display: 'block',
148
- color: tokens.colorNeutralForeground1,
149
- ...typographyStyles.body1
150
- });
151
- const useOptionalTextBaseClassName = makeResetStyles({
152
- display: 'block',
153
- color: tokens.colorNeutralForeground2,
154
- ...typographyStyles.caption1
155
- });
156
- const useTextStyles = makeStyles({
157
- beforeAlignToPrimary: {
158
- gridColumnEnd: 'middle'
159
- },
160
- afterAlignToPrimary: {
161
- gridColumnStart: 'middle'
162
- },
163
- body1: typographyStyles.body1,
164
- caption1: typographyStyles.caption1,
165
- subtitle2: typographyStyles.subtitle2
166
- });
167
- const useTextClassNames = (state, alignToPrimary)=>{
168
- const { presenceOnly, size, textPosition } = state;
169
- const primaryTextBaseClassName = usePrimaryTextBaseClassName();
170
- const optionalTextBaseClassName = useOptionalTextBaseClassName();
171
- const textStyles = useTextStyles();
172
- let primaryTextSize;
173
- let alignToPrimaryClassName;
174
- if (presenceOnly) {
175
- if (size === 'extra-small') {
176
- primaryTextSize = state.numTextLines <= 1 && textStyles.caption1;
177
- } else if (size === 'extra-large' || size === 'huge') {
178
- primaryTextSize = textStyles.subtitle2;
179
- }
180
- if (alignToPrimary) {
181
- if (textPosition === 'before') {
182
- alignToPrimaryClassName = textStyles.beforeAlignToPrimary;
183
- } else if (textPosition === 'after') {
184
- alignToPrimaryClassName = textStyles.afterAlignToPrimary;
185
- }
186
- }
187
- } else {
188
- if (size === 'huge') {
189
- primaryTextSize = textStyles.subtitle2;
190
- } else if (size === 'extra-large') {
191
- primaryTextSize = textStyles.subtitle2;
192
- }
193
- }
194
- return {
195
- primaryTextClassName: mergeClasses(primaryTextBaseClassName, primaryTextSize, alignToPrimaryClassName),
196
- optionalTextClassName: mergeClasses(optionalTextBaseClassName, !presenceOnly && size === 'huge' && textStyles.body1, alignToPrimaryClassName)
197
- };
198
- };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Persona/usePersonaStyles.styles.ts"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport type { PersonaSlots, PersonaState } from './Persona.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const personaClassNames: SlotClassNames<PersonaSlots> = {\n root: 'fui-Persona',\n avatar: 'fui-Persona__avatar',\n presence: 'fui-Persona__presence',\n primaryText: 'fui-Persona__primaryText',\n secondaryText: 'fui-Persona__secondaryText',\n tertiaryText: 'fui-Persona__tertiaryText',\n quaternaryText: 'fui-Persona__quaternaryText',\n};\n\nconst avatarSpacing = `--fui-Persona__avatar--spacing`;\n\nconst useRootClassName = makeResetStyles({\n display: 'inline-grid',\n gridAutoRows: 'max-content',\n gridAutoFlow: 'column',\n justifyItems: 'start',\n gridTemplateColumns: 'max-content [middle] auto',\n});\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n beforeAfterCenter: {\n // This template is needed to make sure the Avatar is centered when it takes up more space than the text lines\n gridTemplateRows:\n '1fr [primary] max-content [secondary] max-content [tertiary] max-content [quaternary] max-content 1fr',\n },\n\n after: {\n // Intentionally empty\n },\n before: {\n justifyItems: 'end',\n gridTemplateColumns: 'auto [middle] max-content',\n },\n below: {\n gridAutoFlow: 'unset',\n justifyItems: 'center',\n gridTemplateColumns: 'unset',\n },\n\n media: {\n gridRowStart: 'span 5',\n },\n\n mediaBeforeAfterCenter: {\n gridRowStart: 'span 6',\n },\n\n start: {\n alignSelf: 'start',\n },\n center: {\n alignSelf: 'center',\n },\n\n afterAlignToPrimary: {\n alignSelf: 'center',\n gridRowStart: 'unset',\n gridColumnEnd: 'middle',\n },\n beforeAlignToPrimary: {\n alignSelf: 'center',\n gridRowStart: 'unset',\n gridColumnStart: 'middle',\n },\n\n secondLineSpacing: {\n marginTop: '-2px',\n },\n\n primary: { gridRowStart: 'primary' },\n secondary: { gridRowStart: 'secondary' },\n tertiary: { gridRowStart: 'tertiary' },\n quaternary: { gridRowStart: 'quaternary' },\n});\n\nconst useAvatarSpacingStyles = makeStyles({\n 'extra-small': {\n [avatarSpacing]: tokens.spacingHorizontalSNudge,\n },\n small: {\n [avatarSpacing]: tokens.spacingHorizontalS,\n },\n medium: {\n [avatarSpacing]: tokens.spacingHorizontalS,\n },\n large: {\n [avatarSpacing]: tokens.spacingHorizontalMNudge,\n },\n 'extra-large': {\n [avatarSpacing]: tokens.spacingHorizontalMNudge,\n },\n huge: {\n [avatarSpacing]: tokens.spacingHorizontalM,\n },\n after: {\n marginRight: `var(${avatarSpacing})`,\n },\n below: {\n marginBottom: `var(${avatarSpacing})`,\n },\n before: {\n marginLeft: `var(${avatarSpacing})`,\n },\n});\n\nconst usePresenceSpacingStyles = makeStyles({\n small: {\n [avatarSpacing]: tokens.spacingHorizontalSNudge,\n },\n});\n\n/**\n * Apply styling to the Persona slots based on the state\n */\nexport const usePersonaStyles_unstable = (state: PersonaState): PersonaState => {\n 'use no memo';\n\n const { presenceOnly, size, textAlignment, textPosition } = state;\n\n const alignToPrimary = presenceOnly && textAlignment === 'start' && size !== 'extra-large' && size !== 'huge';\n const alignBeforeAfterCenter = textPosition !== 'below' && textAlignment === 'center';\n const { primaryTextClassName, optionalTextClassName } = useTextClassNames(state, alignToPrimary);\n\n const rootClassName = useRootClassName();\n const styles = useStyles();\n const avatarSpacingStyles = useAvatarSpacingStyles();\n const presenceSpacingStyles = { ...avatarSpacingStyles, ...usePresenceSpacingStyles() };\n\n state.root.className = mergeClasses(\n personaClassNames.root,\n rootClassName,\n alignBeforeAfterCenter && styles.beforeAfterCenter,\n styles[textPosition],\n state.root.className,\n );\n\n if (state.avatar) {\n state.avatar.className = mergeClasses(\n personaClassNames.avatar,\n textPosition !== 'below' && styles.media,\n alignBeforeAfterCenter && styles.mediaBeforeAfterCenter,\n styles[textAlignment],\n avatarSpacingStyles[size],\n avatarSpacingStyles[textPosition],\n state.avatar.className,\n );\n }\n\n if (state.presence) {\n state.presence.className = mergeClasses(\n personaClassNames.presence,\n textPosition !== 'below' && styles.media,\n alignBeforeAfterCenter && styles.mediaBeforeAfterCenter,\n styles[textAlignment],\n presenceSpacingStyles[size],\n presenceSpacingStyles[textPosition],\n textPosition === 'after' && alignToPrimary && styles.afterAlignToPrimary,\n textPosition === 'before' && alignToPrimary && styles.beforeAlignToPrimary,\n state.presence.className,\n );\n }\n\n if (state.primaryText) {\n state.primaryText.className = mergeClasses(\n personaClassNames.primaryText,\n alignBeforeAfterCenter && styles.primary,\n primaryTextClassName,\n state.primaryText.className,\n );\n }\n\n if (state.secondaryText) {\n state.secondaryText.className = mergeClasses(\n personaClassNames.secondaryText,\n alignBeforeAfterCenter && styles.secondary,\n optionalTextClassName,\n styles.secondLineSpacing,\n state.secondaryText.className,\n );\n }\n\n if (state.tertiaryText) {\n state.tertiaryText.className = mergeClasses(\n personaClassNames.tertiaryText,\n alignBeforeAfterCenter && styles.tertiary,\n optionalTextClassName,\n state.tertiaryText.className,\n );\n }\n\n if (state.quaternaryText) {\n state.quaternaryText.className = mergeClasses(\n personaClassNames.quaternaryText,\n alignBeforeAfterCenter && styles.quaternary,\n optionalTextClassName,\n state.quaternaryText.className,\n );\n }\n\n return state;\n};\n\nconst usePrimaryTextBaseClassName = makeResetStyles({\n display: 'block',\n color: tokens.colorNeutralForeground1,\n ...typographyStyles.body1,\n});\n\nconst useOptionalTextBaseClassName = makeResetStyles({\n display: 'block',\n color: tokens.colorNeutralForeground2,\n ...typographyStyles.caption1,\n});\n\nconst useTextStyles = makeStyles({\n beforeAlignToPrimary: {\n gridColumnEnd: 'middle',\n },\n afterAlignToPrimary: {\n gridColumnStart: 'middle',\n },\n\n body1: typographyStyles.body1,\n caption1: typographyStyles.caption1,\n subtitle2: typographyStyles.subtitle2,\n});\n\nconst useTextClassNames = (\n state: PersonaState,\n alignToPrimary: boolean,\n): {\n primaryTextClassName: string;\n optionalTextClassName: string;\n} => {\n const { presenceOnly, size, textPosition } = state;\n const primaryTextBaseClassName = usePrimaryTextBaseClassName();\n const optionalTextBaseClassName = useOptionalTextBaseClassName();\n const textStyles = useTextStyles();\n\n let primaryTextSize;\n let alignToPrimaryClassName;\n\n if (presenceOnly) {\n if (size === 'extra-small') {\n primaryTextSize = state.numTextLines <= 1 && textStyles.caption1;\n } else if (size === 'extra-large' || size === 'huge') {\n primaryTextSize = textStyles.subtitle2;\n }\n\n if (alignToPrimary) {\n if (textPosition === 'before') {\n alignToPrimaryClassName = textStyles.beforeAlignToPrimary;\n } else if (textPosition === 'after') {\n alignToPrimaryClassName = textStyles.afterAlignToPrimary;\n }\n }\n } else {\n if (size === 'huge') {\n primaryTextSize = textStyles.subtitle2;\n } else if (size === 'extra-large') {\n primaryTextSize = textStyles.subtitle2;\n }\n }\n\n return {\n primaryTextClassName: mergeClasses(primaryTextBaseClassName, primaryTextSize, alignToPrimaryClassName),\n optionalTextClassName: mergeClasses(\n optionalTextBaseClassName,\n !presenceOnly && size === 'huge' && textStyles.body1,\n alignToPrimaryClassName,\n ),\n };\n};\n"],"names":["makeResetStyles","makeStyles","mergeClasses","tokens","typographyStyles","personaClassNames","root","avatar","presence","primaryText","secondaryText","tertiaryText","quaternaryText","avatarSpacing","useRootClassName","display","gridAutoRows","gridAutoFlow","justifyItems","gridTemplateColumns","useStyles","beforeAfterCenter","gridTemplateRows","after","before","below","media","gridRowStart","mediaBeforeAfterCenter","start","alignSelf","center","afterAlignToPrimary","gridColumnEnd","beforeAlignToPrimary","gridColumnStart","secondLineSpacing","marginTop","primary","secondary","tertiary","quaternary","useAvatarSpacingStyles","spacingHorizontalSNudge","small","spacingHorizontalS","medium","large","spacingHorizontalMNudge","huge","spacingHorizontalM","marginRight","marginBottom","marginLeft","usePresenceSpacingStyles","usePersonaStyles_unstable","state","presenceOnly","size","textAlignment","textPosition","alignToPrimary","alignBeforeAfterCenter","primaryTextClassName","optionalTextClassName","useTextClassNames","rootClassName","styles","avatarSpacingStyles","presenceSpacingStyles","className","usePrimaryTextBaseClassName","color","colorNeutralForeground1","body1","useOptionalTextBaseClassName","colorNeutralForeground2","caption1","useTextStyles","subtitle2","primaryTextBaseClassName","optionalTextBaseClassName","textStyles","primaryTextSize","alignToPrimaryClassName","numTextLines"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,213 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- function _export(target, all) {
6
- for(var name in all)Object.defineProperty(target, name, {
7
- enumerable: true,
8
- get: all[name]
9
- });
10
- }
11
- _export(exports, {
12
- personaClassNames: function() {
13
- return personaClassNames;
14
- },
15
- usePersonaStyles_unstable: function() {
16
- return usePersonaStyles_unstable;
17
- }
18
- });
19
- const _react = require("@griffel/react");
20
- const _reacttheme = require("@fluentui/react-theme");
21
- const personaClassNames = {
22
- root: 'fui-Persona',
23
- avatar: 'fui-Persona__avatar',
24
- presence: 'fui-Persona__presence',
25
- primaryText: 'fui-Persona__primaryText',
26
- secondaryText: 'fui-Persona__secondaryText',
27
- tertiaryText: 'fui-Persona__tertiaryText',
28
- quaternaryText: 'fui-Persona__quaternaryText'
29
- };
30
- const avatarSpacing = `--fui-Persona__avatar--spacing`;
31
- const useRootClassName = (0, _react.makeResetStyles)({
32
- display: 'inline-grid',
33
- gridAutoRows: 'max-content',
34
- gridAutoFlow: 'column',
35
- justifyItems: 'start',
36
- gridTemplateColumns: 'max-content [middle] auto'
37
- });
38
- /**
39
- * Styles for the root slot
40
- */ const useStyles = (0, _react.makeStyles)({
41
- beforeAfterCenter: {
42
- // This template is needed to make sure the Avatar is centered when it takes up more space than the text lines
43
- gridTemplateRows: '1fr [primary] max-content [secondary] max-content [tertiary] max-content [quaternary] max-content 1fr'
44
- },
45
- after: {},
46
- before: {
47
- justifyItems: 'end',
48
- gridTemplateColumns: 'auto [middle] max-content'
49
- },
50
- below: {
51
- gridAutoFlow: 'unset',
52
- justifyItems: 'center',
53
- gridTemplateColumns: 'unset'
54
- },
55
- media: {
56
- gridRowStart: 'span 5'
57
- },
58
- mediaBeforeAfterCenter: {
59
- gridRowStart: 'span 6'
60
- },
61
- start: {
62
- alignSelf: 'start'
63
- },
64
- center: {
65
- alignSelf: 'center'
66
- },
67
- afterAlignToPrimary: {
68
- alignSelf: 'center',
69
- gridRowStart: 'unset',
70
- gridColumnEnd: 'middle'
71
- },
72
- beforeAlignToPrimary: {
73
- alignSelf: 'center',
74
- gridRowStart: 'unset',
75
- gridColumnStart: 'middle'
76
- },
77
- secondLineSpacing: {
78
- marginTop: '-2px'
79
- },
80
- primary: {
81
- gridRowStart: 'primary'
82
- },
83
- secondary: {
84
- gridRowStart: 'secondary'
85
- },
86
- tertiary: {
87
- gridRowStart: 'tertiary'
88
- },
89
- quaternary: {
90
- gridRowStart: 'quaternary'
91
- }
92
- });
93
- const useAvatarSpacingStyles = (0, _react.makeStyles)({
94
- 'extra-small': {
95
- [avatarSpacing]: _reacttheme.tokens.spacingHorizontalSNudge
96
- },
97
- small: {
98
- [avatarSpacing]: _reacttheme.tokens.spacingHorizontalS
99
- },
100
- medium: {
101
- [avatarSpacing]: _reacttheme.tokens.spacingHorizontalS
102
- },
103
- large: {
104
- [avatarSpacing]: _reacttheme.tokens.spacingHorizontalMNudge
105
- },
106
- 'extra-large': {
107
- [avatarSpacing]: _reacttheme.tokens.spacingHorizontalMNudge
108
- },
109
- huge: {
110
- [avatarSpacing]: _reacttheme.tokens.spacingHorizontalM
111
- },
112
- after: {
113
- marginRight: `var(${avatarSpacing})`
114
- },
115
- below: {
116
- marginBottom: `var(${avatarSpacing})`
117
- },
118
- before: {
119
- marginLeft: `var(${avatarSpacing})`
120
- }
121
- });
122
- const usePresenceSpacingStyles = (0, _react.makeStyles)({
123
- small: {
124
- [avatarSpacing]: _reacttheme.tokens.spacingHorizontalSNudge
125
- }
126
- });
127
- const usePersonaStyles_unstable = (state)=>{
128
- 'use no memo';
129
- const { presenceOnly, size, textAlignment, textPosition } = state;
130
- const alignToPrimary = presenceOnly && textAlignment === 'start' && size !== 'extra-large' && size !== 'huge';
131
- const alignBeforeAfterCenter = textPosition !== 'below' && textAlignment === 'center';
132
- const { primaryTextClassName, optionalTextClassName } = useTextClassNames(state, alignToPrimary);
133
- const rootClassName = useRootClassName();
134
- const styles = useStyles();
135
- const avatarSpacingStyles = useAvatarSpacingStyles();
136
- const presenceSpacingStyles = {
137
- ...avatarSpacingStyles,
138
- ...usePresenceSpacingStyles()
139
- };
140
- state.root.className = (0, _react.mergeClasses)(personaClassNames.root, rootClassName, alignBeforeAfterCenter && styles.beforeAfterCenter, styles[textPosition], state.root.className);
141
- if (state.avatar) {
142
- state.avatar.className = (0, _react.mergeClasses)(personaClassNames.avatar, textPosition !== 'below' && styles.media, alignBeforeAfterCenter && styles.mediaBeforeAfterCenter, styles[textAlignment], avatarSpacingStyles[size], avatarSpacingStyles[textPosition], state.avatar.className);
143
- }
144
- if (state.presence) {
145
- state.presence.className = (0, _react.mergeClasses)(personaClassNames.presence, textPosition !== 'below' && styles.media, alignBeforeAfterCenter && styles.mediaBeforeAfterCenter, styles[textAlignment], presenceSpacingStyles[size], presenceSpacingStyles[textPosition], textPosition === 'after' && alignToPrimary && styles.afterAlignToPrimary, textPosition === 'before' && alignToPrimary && styles.beforeAlignToPrimary, state.presence.className);
146
- }
147
- if (state.primaryText) {
148
- state.primaryText.className = (0, _react.mergeClasses)(personaClassNames.primaryText, alignBeforeAfterCenter && styles.primary, primaryTextClassName, state.primaryText.className);
149
- }
150
- if (state.secondaryText) {
151
- state.secondaryText.className = (0, _react.mergeClasses)(personaClassNames.secondaryText, alignBeforeAfterCenter && styles.secondary, optionalTextClassName, styles.secondLineSpacing, state.secondaryText.className);
152
- }
153
- if (state.tertiaryText) {
154
- state.tertiaryText.className = (0, _react.mergeClasses)(personaClassNames.tertiaryText, alignBeforeAfterCenter && styles.tertiary, optionalTextClassName, state.tertiaryText.className);
155
- }
156
- if (state.quaternaryText) {
157
- state.quaternaryText.className = (0, _react.mergeClasses)(personaClassNames.quaternaryText, alignBeforeAfterCenter && styles.quaternary, optionalTextClassName, state.quaternaryText.className);
158
- }
159
- return state;
160
- };
161
- const usePrimaryTextBaseClassName = (0, _react.makeResetStyles)({
162
- display: 'block',
163
- color: _reacttheme.tokens.colorNeutralForeground1,
164
- ..._reacttheme.typographyStyles.body1
165
- });
166
- const useOptionalTextBaseClassName = (0, _react.makeResetStyles)({
167
- display: 'block',
168
- color: _reacttheme.tokens.colorNeutralForeground2,
169
- ..._reacttheme.typographyStyles.caption1
170
- });
171
- const useTextStyles = (0, _react.makeStyles)({
172
- beforeAlignToPrimary: {
173
- gridColumnEnd: 'middle'
174
- },
175
- afterAlignToPrimary: {
176
- gridColumnStart: 'middle'
177
- },
178
- body1: _reacttheme.typographyStyles.body1,
179
- caption1: _reacttheme.typographyStyles.caption1,
180
- subtitle2: _reacttheme.typographyStyles.subtitle2
181
- });
182
- const useTextClassNames = (state, alignToPrimary)=>{
183
- const { presenceOnly, size, textPosition } = state;
184
- const primaryTextBaseClassName = usePrimaryTextBaseClassName();
185
- const optionalTextBaseClassName = useOptionalTextBaseClassName();
186
- const textStyles = useTextStyles();
187
- let primaryTextSize;
188
- let alignToPrimaryClassName;
189
- if (presenceOnly) {
190
- if (size === 'extra-small') {
191
- primaryTextSize = state.numTextLines <= 1 && textStyles.caption1;
192
- } else if (size === 'extra-large' || size === 'huge') {
193
- primaryTextSize = textStyles.subtitle2;
194
- }
195
- if (alignToPrimary) {
196
- if (textPosition === 'before') {
197
- alignToPrimaryClassName = textStyles.beforeAlignToPrimary;
198
- } else if (textPosition === 'after') {
199
- alignToPrimaryClassName = textStyles.afterAlignToPrimary;
200
- }
201
- }
202
- } else {
203
- if (size === 'huge') {
204
- primaryTextSize = textStyles.subtitle2;
205
- } else if (size === 'extra-large') {
206
- primaryTextSize = textStyles.subtitle2;
207
- }
208
- }
209
- return {
210
- primaryTextClassName: (0, _react.mergeClasses)(primaryTextBaseClassName, primaryTextSize, alignToPrimaryClassName),
211
- optionalTextClassName: (0, _react.mergeClasses)(optionalTextBaseClassName, !presenceOnly && size === 'huge' && textStyles.body1, alignToPrimaryClassName)
212
- };
213
- };
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Persona/usePersonaStyles.styles.ts"],"sourcesContent":["import { makeResetStyles, makeStyles, mergeClasses } from '@griffel/react';\nimport { tokens, typographyStyles } from '@fluentui/react-theme';\nimport type { PersonaSlots, PersonaState } from './Persona.types';\nimport type { SlotClassNames } from '@fluentui/react-utilities';\n\nexport const personaClassNames: SlotClassNames<PersonaSlots> = {\n root: 'fui-Persona',\n avatar: 'fui-Persona__avatar',\n presence: 'fui-Persona__presence',\n primaryText: 'fui-Persona__primaryText',\n secondaryText: 'fui-Persona__secondaryText',\n tertiaryText: 'fui-Persona__tertiaryText',\n quaternaryText: 'fui-Persona__quaternaryText',\n};\n\nconst avatarSpacing = `--fui-Persona__avatar--spacing`;\n\nconst useRootClassName = makeResetStyles({\n display: 'inline-grid',\n gridAutoRows: 'max-content',\n gridAutoFlow: 'column',\n justifyItems: 'start',\n gridTemplateColumns: 'max-content [middle] auto',\n});\n\n/**\n * Styles for the root slot\n */\nconst useStyles = makeStyles({\n beforeAfterCenter: {\n // This template is needed to make sure the Avatar is centered when it takes up more space than the text lines\n gridTemplateRows:\n '1fr [primary] max-content [secondary] max-content [tertiary] max-content [quaternary] max-content 1fr',\n },\n\n after: {\n // Intentionally empty\n },\n before: {\n justifyItems: 'end',\n gridTemplateColumns: 'auto [middle] max-content',\n },\n below: {\n gridAutoFlow: 'unset',\n justifyItems: 'center',\n gridTemplateColumns: 'unset',\n },\n\n media: {\n gridRowStart: 'span 5',\n },\n\n mediaBeforeAfterCenter: {\n gridRowStart: 'span 6',\n },\n\n start: {\n alignSelf: 'start',\n },\n center: {\n alignSelf: 'center',\n },\n\n afterAlignToPrimary: {\n alignSelf: 'center',\n gridRowStart: 'unset',\n gridColumnEnd: 'middle',\n },\n beforeAlignToPrimary: {\n alignSelf: 'center',\n gridRowStart: 'unset',\n gridColumnStart: 'middle',\n },\n\n secondLineSpacing: {\n marginTop: '-2px',\n },\n\n primary: { gridRowStart: 'primary' },\n secondary: { gridRowStart: 'secondary' },\n tertiary: { gridRowStart: 'tertiary' },\n quaternary: { gridRowStart: 'quaternary' },\n});\n\nconst useAvatarSpacingStyles = makeStyles({\n 'extra-small': {\n [avatarSpacing]: tokens.spacingHorizontalSNudge,\n },\n small: {\n [avatarSpacing]: tokens.spacingHorizontalS,\n },\n medium: {\n [avatarSpacing]: tokens.spacingHorizontalS,\n },\n large: {\n [avatarSpacing]: tokens.spacingHorizontalMNudge,\n },\n 'extra-large': {\n [avatarSpacing]: tokens.spacingHorizontalMNudge,\n },\n huge: {\n [avatarSpacing]: tokens.spacingHorizontalM,\n },\n after: {\n marginRight: `var(${avatarSpacing})`,\n },\n below: {\n marginBottom: `var(${avatarSpacing})`,\n },\n before: {\n marginLeft: `var(${avatarSpacing})`,\n },\n});\n\nconst usePresenceSpacingStyles = makeStyles({\n small: {\n [avatarSpacing]: tokens.spacingHorizontalSNudge,\n },\n});\n\n/**\n * Apply styling to the Persona slots based on the state\n */\nexport const usePersonaStyles_unstable = (state: PersonaState): PersonaState => {\n 'use no memo';\n\n const { presenceOnly, size, textAlignment, textPosition } = state;\n\n const alignToPrimary = presenceOnly && textAlignment === 'start' && size !== 'extra-large' && size !== 'huge';\n const alignBeforeAfterCenter = textPosition !== 'below' && textAlignment === 'center';\n const { primaryTextClassName, optionalTextClassName } = useTextClassNames(state, alignToPrimary);\n\n const rootClassName = useRootClassName();\n const styles = useStyles();\n const avatarSpacingStyles = useAvatarSpacingStyles();\n const presenceSpacingStyles = { ...avatarSpacingStyles, ...usePresenceSpacingStyles() };\n\n state.root.className = mergeClasses(\n personaClassNames.root,\n rootClassName,\n alignBeforeAfterCenter && styles.beforeAfterCenter,\n styles[textPosition],\n state.root.className,\n );\n\n if (state.avatar) {\n state.avatar.className = mergeClasses(\n personaClassNames.avatar,\n textPosition !== 'below' && styles.media,\n alignBeforeAfterCenter && styles.mediaBeforeAfterCenter,\n styles[textAlignment],\n avatarSpacingStyles[size],\n avatarSpacingStyles[textPosition],\n state.avatar.className,\n );\n }\n\n if (state.presence) {\n state.presence.className = mergeClasses(\n personaClassNames.presence,\n textPosition !== 'below' && styles.media,\n alignBeforeAfterCenter && styles.mediaBeforeAfterCenter,\n styles[textAlignment],\n presenceSpacingStyles[size],\n presenceSpacingStyles[textPosition],\n textPosition === 'after' && alignToPrimary && styles.afterAlignToPrimary,\n textPosition === 'before' && alignToPrimary && styles.beforeAlignToPrimary,\n state.presence.className,\n );\n }\n\n if (state.primaryText) {\n state.primaryText.className = mergeClasses(\n personaClassNames.primaryText,\n alignBeforeAfterCenter && styles.primary,\n primaryTextClassName,\n state.primaryText.className,\n );\n }\n\n if (state.secondaryText) {\n state.secondaryText.className = mergeClasses(\n personaClassNames.secondaryText,\n alignBeforeAfterCenter && styles.secondary,\n optionalTextClassName,\n styles.secondLineSpacing,\n state.secondaryText.className,\n );\n }\n\n if (state.tertiaryText) {\n state.tertiaryText.className = mergeClasses(\n personaClassNames.tertiaryText,\n alignBeforeAfterCenter && styles.tertiary,\n optionalTextClassName,\n state.tertiaryText.className,\n );\n }\n\n if (state.quaternaryText) {\n state.quaternaryText.className = mergeClasses(\n personaClassNames.quaternaryText,\n alignBeforeAfterCenter && styles.quaternary,\n optionalTextClassName,\n state.quaternaryText.className,\n );\n }\n\n return state;\n};\n\nconst usePrimaryTextBaseClassName = makeResetStyles({\n display: 'block',\n color: tokens.colorNeutralForeground1,\n ...typographyStyles.body1,\n});\n\nconst useOptionalTextBaseClassName = makeResetStyles({\n display: 'block',\n color: tokens.colorNeutralForeground2,\n ...typographyStyles.caption1,\n});\n\nconst useTextStyles = makeStyles({\n beforeAlignToPrimary: {\n gridColumnEnd: 'middle',\n },\n afterAlignToPrimary: {\n gridColumnStart: 'middle',\n },\n\n body1: typographyStyles.body1,\n caption1: typographyStyles.caption1,\n subtitle2: typographyStyles.subtitle2,\n});\n\nconst useTextClassNames = (\n state: PersonaState,\n alignToPrimary: boolean,\n): {\n primaryTextClassName: string;\n optionalTextClassName: string;\n} => {\n const { presenceOnly, size, textPosition } = state;\n const primaryTextBaseClassName = usePrimaryTextBaseClassName();\n const optionalTextBaseClassName = useOptionalTextBaseClassName();\n const textStyles = useTextStyles();\n\n let primaryTextSize;\n let alignToPrimaryClassName;\n\n if (presenceOnly) {\n if (size === 'extra-small') {\n primaryTextSize = state.numTextLines <= 1 && textStyles.caption1;\n } else if (size === 'extra-large' || size === 'huge') {\n primaryTextSize = textStyles.subtitle2;\n }\n\n if (alignToPrimary) {\n if (textPosition === 'before') {\n alignToPrimaryClassName = textStyles.beforeAlignToPrimary;\n } else if (textPosition === 'after') {\n alignToPrimaryClassName = textStyles.afterAlignToPrimary;\n }\n }\n } else {\n if (size === 'huge') {\n primaryTextSize = textStyles.subtitle2;\n } else if (size === 'extra-large') {\n primaryTextSize = textStyles.subtitle2;\n }\n }\n\n return {\n primaryTextClassName: mergeClasses(primaryTextBaseClassName, primaryTextSize, alignToPrimaryClassName),\n optionalTextClassName: mergeClasses(\n optionalTextBaseClassName,\n !presenceOnly && size === 'huge' && textStyles.body1,\n alignToPrimaryClassName,\n ),\n };\n};\n"],"names":["personaClassNames","usePersonaStyles_unstable","root","avatar","presence","primaryText","secondaryText","tertiaryText","quaternaryText","avatarSpacing","useRootClassName","makeResetStyles","display","gridAutoRows","gridAutoFlow","justifyItems","gridTemplateColumns","useStyles","makeStyles","beforeAfterCenter","gridTemplateRows","after","before","below","media","gridRowStart","mediaBeforeAfterCenter","start","alignSelf","center","afterAlignToPrimary","gridColumnEnd","beforeAlignToPrimary","gridColumnStart","secondLineSpacing","marginTop","primary","secondary","tertiary","quaternary","useAvatarSpacingStyles","tokens","spacingHorizontalSNudge","small","spacingHorizontalS","medium","large","spacingHorizontalMNudge","huge","spacingHorizontalM","marginRight","marginBottom","marginLeft","usePresenceSpacingStyles","state","presenceOnly","size","textAlignment","textPosition","alignToPrimary","alignBeforeAfterCenter","primaryTextClassName","optionalTextClassName","useTextClassNames","rootClassName","styles","avatarSpacingStyles","presenceSpacingStyles","className","mergeClasses","usePrimaryTextBaseClassName","color","colorNeutralForeground1","typographyStyles","body1","useOptionalTextBaseClassName","colorNeutralForeground2","caption1","useTextStyles","subtitle2","primaryTextBaseClassName","optionalTextBaseClassName","textStyles","primaryTextSize","alignToPrimaryClassName","numTextLines"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}