@fluentui/react-persona 9.2.3 → 9.2.5
Sign up to get free protection for your applications and to get access to all the features.
- package/.swcrc +30 -0
- package/CHANGELOG.json +85 -1
- package/CHANGELOG.md +29 -2
- package/lib/Persona.js.map +1 -1
- package/lib/components/Persona/Persona.js.map +1 -1
- package/lib/components/Persona/Persona.types.js.map +1 -1
- package/lib/components/Persona/index.js.map +1 -1
- package/lib/components/Persona/renderPersona.js +2 -16
- package/lib/components/Persona/renderPersona.js.map +1 -1
- package/lib/components/Persona/usePersona.js +1 -0
- package/lib/components/Persona/usePersona.js.map +1 -1
- package/lib/components/Persona/usePersonaStyles.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib-commonjs/Persona.js +5 -4
- package/lib-commonjs/Persona.js.map +1 -1
- package/lib-commonjs/components/Persona/Persona.js +19 -21
- package/lib-commonjs/components/Persona/Persona.js.map +1 -1
- package/lib-commonjs/components/Persona/Persona.types.js +3 -2
- package/lib-commonjs/components/Persona/Persona.types.js.map +1 -1
- package/lib-commonjs/components/Persona/index.js +9 -8
- package/lib-commonjs/components/Persona/index.js.map +1 -1
- package/lib-commonjs/components/Persona/renderPersona.js +15 -35
- package/lib-commonjs/components/Persona/renderPersona.js.map +1 -1
- package/lib-commonjs/components/Persona/usePersona.js +80 -84
- package/lib-commonjs/components/Persona/usePersona.js.map +1 -1
- package/lib-commonjs/components/Persona/usePersonaStyles.js +252 -208
- package/lib-commonjs/components/Persona/usePersonaStyles.js.map +1 -1
- package/lib-commonjs/index.js +16 -33
- package/lib-commonjs/index.js.map +1 -1
- package/package.json +10 -9
- package/lib-amd/Persona.js +0 -6
- package/lib-amd/Persona.js.map +0 -1
- package/lib-amd/components/Persona/Persona.js +0 -18
- package/lib-amd/components/Persona/Persona.js.map +0 -1
- package/lib-amd/components/Persona/Persona.types.js +0 -5
- package/lib-amd/components/Persona/Persona.types.js.map +0 -1
- package/lib-amd/components/Persona/index.js +0 -10
- package/lib-amd/components/Persona/index.js.map +0 -1
- package/lib-amd/components/Persona/renderPersona.js +0 -24
- package/lib-amd/components/Persona/renderPersona.js.map +0 -1
- package/lib-amd/components/Persona/usePersona.js +0 -84
- package/lib-amd/components/Persona/usePersona.js.map +0 -1
- package/lib-amd/components/Persona/usePersonaStyles.js +0 -191
- package/lib-amd/components/Persona/usePersonaStyles.js.map +0 -1
- package/lib-amd/index.js +0 -11
- package/lib-amd/index.js.map +0 -1
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@fluentui/react-persona",
|
3
|
-
"version": "9.2.
|
3
|
+
"version": "9.2.5",
|
4
4
|
"description": "React components for building web experiences",
|
5
5
|
"main": "lib-commonjs/index.js",
|
6
6
|
"module": "lib/index.js",
|
@@ -22,23 +22,23 @@
|
|
22
22
|
"type-check": "tsc -b tsconfig.json",
|
23
23
|
"storybook": "start-storybook",
|
24
24
|
"start": "yarn storybook",
|
25
|
-
"generate-api": "
|
25
|
+
"generate-api": "just-scripts generate-api"
|
26
26
|
},
|
27
27
|
"devDependencies": {
|
28
28
|
"@fluentui/eslint-plugin": "*",
|
29
29
|
"@fluentui/react-conformance": "*",
|
30
|
-
"@fluentui/react-conformance-griffel": "9.0.0-beta.
|
30
|
+
"@fluentui/react-conformance-griffel": "9.0.0-beta.20",
|
31
31
|
"@fluentui/scripts-api-extractor": "*",
|
32
32
|
"@fluentui/scripts-tasks": "*"
|
33
33
|
},
|
34
34
|
"dependencies": {
|
35
|
-
"@fluentui/react-avatar": "^9.4.
|
36
|
-
"@fluentui/react-badge": "^9.1.
|
37
|
-
"@fluentui/react-shared-contexts": "^9.3.
|
38
|
-
"@fluentui/react-theme": "^9.1.
|
39
|
-
"@fluentui/react-utilities": "^9.7.
|
35
|
+
"@fluentui/react-avatar": "^9.4.5",
|
36
|
+
"@fluentui/react-badge": "^9.1.5",
|
37
|
+
"@fluentui/react-shared-contexts": "^9.3.2",
|
38
|
+
"@fluentui/react-theme": "^9.1.7",
|
39
|
+
"@fluentui/react-utilities": "^9.7.2",
|
40
40
|
"@griffel/react": "^1.5.2",
|
41
|
-
"
|
41
|
+
"@swc/helpers": "^0.4.14"
|
42
42
|
},
|
43
43
|
"peerDependencies": {
|
44
44
|
"@types/react": ">=16.8.0 <19.0.0",
|
@@ -55,6 +55,7 @@
|
|
55
55
|
"exports": {
|
56
56
|
".": {
|
57
57
|
"types": "./dist/index.d.ts",
|
58
|
+
"node": "./lib-commonjs/index.js",
|
58
59
|
"import": "./lib/index.js",
|
59
60
|
"require": "./lib-commonjs/index.js"
|
60
61
|
},
|
package/lib-amd/Persona.js
DELETED
@@ -1,6 +0,0 @@
|
|
1
|
-
define(["require", "exports", "tslib", "./components/Persona/index"], function (require, exports, tslib_1, index_1) {
|
2
|
-
"use strict";
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
tslib_1.__exportStar(index_1, exports);
|
5
|
-
});
|
6
|
-
//# sourceMappingURL=Persona.js.map
|
package/lib-amd/Persona.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Persona.js","sourceRoot":"","sources":["../../../../../../../packages/react-components/react-persona/src/Persona.ts"],"names":[],"mappings":";;;IAAA,uCAA2C","sourcesContent":["export * from './components/Persona/index';\n"]}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
define(["require", "exports", "react", "./renderPersona", "./usePersona", "./usePersonaStyles", "@fluentui/react-shared-contexts"], function (require, exports, React, renderPersona_1, usePersona_1, usePersonaStyles_1, react_shared_contexts_1) {
|
2
|
-
"use strict";
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
exports.Persona = void 0;
|
5
|
-
/**
|
6
|
-
* A Persona is a visual representation of a person or status that showcases an Avatar, PresenceBadge,
|
7
|
-
* or an Avatar with a PresenceBadge.
|
8
|
-
*/
|
9
|
-
exports.Persona = React.forwardRef(function (props, ref) {
|
10
|
-
var state = usePersona_1.usePersona_unstable(props, ref);
|
11
|
-
usePersonaStyles_1.usePersonaStyles_unstable(state);
|
12
|
-
var useCustomStyles = react_shared_contexts_1.useCustomStyleHooks_unstable().usePersonaStyles_unstable;
|
13
|
-
useCustomStyles(state);
|
14
|
-
return renderPersona_1.renderPersona_unstable(state);
|
15
|
-
});
|
16
|
-
exports.Persona.displayName = 'Persona';
|
17
|
-
});
|
18
|
-
//# sourceMappingURL=Persona.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Persona.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-persona/src/components/Persona/Persona.tsx"],"names":[],"mappings":";;;;IAQA;;;OAGG;IACU,QAAA,OAAO,GAAsC,KAAK,CAAC,UAAU,CAAC,UAAC,KAAK,EAAE,GAAG;QACpF,IAAM,KAAK,GAAG,gCAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAE9C,4CAAyB,CAAC,KAAK,CAAC,CAAC;QAEzB,IAA2B,eAAe,GAAK,oDAA4B,EAAE,0BAAnC,CAAoC;QACtF,eAAe,CAAC,KAAK,CAAC,CAAC;QAEvB,OAAO,sCAAsB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,eAAO,CAAC,WAAW,GAAG,SAAS,CAAC","sourcesContent":["import * as React from 'react';\nimport { renderPersona_unstable } from './renderPersona';\nimport { usePersona_unstable } from './usePersona';\nimport { usePersonaStyles_unstable } from './usePersonaStyles';\nimport type { ForwardRefComponent } from '@fluentui/react-utilities';\nimport type { PersonaProps } from './Persona.types';\nimport { useCustomStyleHooks_unstable } from '@fluentui/react-shared-contexts';\n\n/**\n * A Persona is a visual representation of a person or status that showcases an Avatar, PresenceBadge,\n * or an Avatar with a PresenceBadge.\n */\nexport const Persona: ForwardRefComponent<PersonaProps> = React.forwardRef((props, ref) => {\n const state = usePersona_unstable(props, ref);\n\n usePersonaStyles_unstable(state);\n\n const { usePersonaStyles_unstable: useCustomStyles } = useCustomStyleHooks_unstable();\n useCustomStyles(state);\n\n return renderPersona_unstable(state);\n});\n\nPersona.displayName = 'Persona';\n"]}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"Persona.types.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-persona/src/components/Persona/Persona.types.ts"],"names":[],"mappings":"","sourcesContent":["import { Avatar } from '@fluentui/react-avatar';\nimport { PresenceBadge } from '@fluentui/react-badge';\nimport type { ComponentProps, ComponentState, Slot } from '@fluentui/react-utilities';\n\nexport type PersonaSlots = {\n root: NonNullable<Slot<'div'>>;\n\n /**\n * Avatar to display.\n *\n * If a PresenceBadge and an Avatar are provided, the Avatar will display the PresenceBadge as its presence.\n */\n avatar?: Slot<typeof Avatar>;\n\n /**\n * PresenceBadge to display.\n *\n * If `presenceOnly` is true, the PresenceBadge will be displayed instead of the Avatar.\n */\n presence?: Slot<typeof PresenceBadge>;\n\n /**\n * The first line of text in the Persona, larger than the rest of the lines.\n *\n * `primaryText` defaults to the `name` prop. We recomend to only use `name`, use `primaryText` when the text is\n * different than the `name` prop.\n */\n primaryText?: Slot<'span'>;\n\n /**\n * The second line of text in the Persona.\n */\n secondaryText?: Slot<'span'>;\n\n /**\n * The third line of text in the Persona.\n */\n tertiaryText?: Slot<'span'>;\n\n /**\n * The fourth line of text in the Persona.\n */\n quaternaryText?: Slot<'span'>;\n};\n\n/**\n * Persona Props\n */\nexport type PersonaProps = ComponentProps<PersonaSlots> & {\n /**\n * The name of the person or entity represented by the Persona.\n *\n * When `primaryText` is not provided, this will be used as the default value for `primaryText`.\n */\n name?: string;\n\n /**\n * Whether to display only the presence.\n *\n * @default false\n */\n presenceOnly?: boolean;\n\n /**\n * The size of a Persona and its text.\n *\n * @default medium\n */\n size?: 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | 'huge';\n\n /**\n * The position of the text relative to the avatar/presence.\n *\n * @default after\n */\n textPosition?: 'after' | 'before' | 'below';\n\n /**\n * The vertical alignment of the text relative to the avatar/presence.\n *\n * @default start\n */\n textAlignment?: 'center' | 'start';\n};\n\n/**\n * State used in rendering Persona\n */\nexport type PersonaState = ComponentState<PersonaSlots> &\n Required<Pick<PersonaProps, 'presenceOnly' | 'size' | 'textAlignment' | 'textPosition'>> & {\n /**\n * The number of text lines used.\n */\n numTextLines: number;\n };\n"]}
|
@@ -1,10 +0,0 @@
|
|
1
|
-
define(["require", "exports", "tslib", "./Persona", "./Persona.types", "./renderPersona", "./usePersona", "./usePersonaStyles"], function (require, exports, tslib_1, Persona_1, Persona_types_1, renderPersona_1, usePersona_1, usePersonaStyles_1) {
|
2
|
-
"use strict";
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
tslib_1.__exportStar(Persona_1, exports);
|
5
|
-
tslib_1.__exportStar(Persona_types_1, exports);
|
6
|
-
tslib_1.__exportStar(renderPersona_1, exports);
|
7
|
-
tslib_1.__exportStar(usePersona_1, exports);
|
8
|
-
tslib_1.__exportStar(usePersonaStyles_1, exports);
|
9
|
-
});
|
10
|
-
//# sourceMappingURL=index.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-persona/src/components/Persona/index.ts"],"names":[],"mappings":";;;IAAA,yCAA0B;IAC1B,+CAAgC;IAChC,+CAAgC;IAChC,4CAA6B;IAC7B,kDAAmC","sourcesContent":["export * from './Persona';\nexport * from './Persona.types';\nexport * from './renderPersona';\nexport * from './usePersona';\nexport * from './usePersonaStyles';\n"]}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
define(["require", "exports", "tslib", "react", "@fluentui/react-utilities"], function (require, exports, tslib_1, React, react_utilities_1) {
|
2
|
-
"use strict";
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
exports.renderPersona_unstable = void 0;
|
5
|
-
/**
|
6
|
-
* Render the final JSX of Persona
|
7
|
-
*/
|
8
|
-
var renderPersona_unstable = function (state) {
|
9
|
-
var presenceOnly = state.presenceOnly, textPosition = state.textPosition;
|
10
|
-
var _a = react_utilities_1.getSlots(state), slots = _a.slots, slotProps = _a.slotProps;
|
11
|
-
var coin = presenceOnly
|
12
|
-
? slots.presence && React.createElement(slots.presence, tslib_1.__assign({}, slotProps.presence))
|
13
|
-
: slots.avatar && React.createElement(slots.avatar, tslib_1.__assign({}, slotProps.avatar));
|
14
|
-
return (React.createElement(slots.root, tslib_1.__assign({}, slotProps.root),
|
15
|
-
(textPosition === 'after' || textPosition === 'below') && coin,
|
16
|
-
slots.primaryText && React.createElement(slots.primaryText, tslib_1.__assign({}, slotProps.primaryText)),
|
17
|
-
slots.secondaryText && React.createElement(slots.secondaryText, tslib_1.__assign({}, slotProps.secondaryText)),
|
18
|
-
slots.tertiaryText && React.createElement(slots.tertiaryText, tslib_1.__assign({}, slotProps.tertiaryText)),
|
19
|
-
slots.quaternaryText && React.createElement(slots.quaternaryText, tslib_1.__assign({}, slotProps.quaternaryText)),
|
20
|
-
textPosition === 'before' && coin));
|
21
|
-
};
|
22
|
-
exports.renderPersona_unstable = renderPersona_unstable;
|
23
|
-
});
|
24
|
-
//# sourceMappingURL=renderPersona.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"renderPersona.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-persona/src/components/Persona/renderPersona.tsx"],"names":[],"mappings":";;;;IAIA;;OAEG;IACI,IAAM,sBAAsB,GAAG,UAAC,KAAmB;QAChD,IAAA,YAAY,GAAmB,KAAK,aAAxB,EAAE,YAAY,GAAK,KAAK,aAAV,CAAW;QACvC,IAAA,KAAuB,0BAAQ,CAAe,KAAK,CAAC,EAAlD,KAAK,WAAA,EAAE,SAAS,eAAkC,CAAC;QAE3D,IAAM,IAAI,GAAG,YAAY;YACvB,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,oBAAC,KAAK,CAAC,QAAQ,uBAAK,SAAS,CAAC,QAAQ,EAAI;YAC9D,CAAC,CAAC,KAAK,CAAC,MAAM,IAAI,oBAAC,KAAK,CAAC,MAAM,uBAAK,SAAS,CAAC,MAAM,EAAI,CAAC;QAE3D,OAAO,CACL,oBAAC,KAAK,CAAC,IAAI,uBAAK,SAAS,CAAC,IAAI;YAC3B,CAAC,YAAY,KAAK,OAAO,IAAI,YAAY,KAAK,OAAO,CAAC,IAAI,IAAI;YAC9D,KAAK,CAAC,WAAW,IAAI,oBAAC,KAAK,CAAC,WAAW,uBAAK,SAAS,CAAC,WAAW,EAAI;YACrE,KAAK,CAAC,aAAa,IAAI,oBAAC,KAAK,CAAC,aAAa,uBAAK,SAAS,CAAC,aAAa,EAAI;YAC3E,KAAK,CAAC,YAAY,IAAI,oBAAC,KAAK,CAAC,YAAY,uBAAK,SAAS,CAAC,YAAY,EAAI;YACxE,KAAK,CAAC,cAAc,IAAI,oBAAC,KAAK,CAAC,cAAc,uBAAK,SAAS,CAAC,cAAc,EAAI;YAC9E,YAAY,KAAK,QAAQ,IAAI,IAAI,CACvB,CACd,CAAC;IACJ,CAAC,CAAC;IAlBW,QAAA,sBAAsB,0BAkBjC","sourcesContent":["import * as React from 'react';\nimport { getSlots } from '@fluentui/react-utilities';\nimport type { PersonaState, PersonaSlots } from './Persona.types';\n\n/**\n * Render the final JSX of Persona\n */\nexport const renderPersona_unstable = (state: PersonaState) => {\n const { presenceOnly, textPosition } = state;\n const { slots, slotProps } = getSlots<PersonaSlots>(state);\n\n const coin = presenceOnly\n ? slots.presence && <slots.presence {...slotProps.presence} />\n : slots.avatar && <slots.avatar {...slotProps.avatar} />;\n\n return (\n <slots.root {...slotProps.root}>\n {(textPosition === 'after' || textPosition === 'below') && coin}\n {slots.primaryText && <slots.primaryText {...slotProps.primaryText} />}\n {slots.secondaryText && <slots.secondaryText {...slotProps.secondaryText} />}\n {slots.tertiaryText && <slots.tertiaryText {...slotProps.tertiaryText} />}\n {slots.quaternaryText && <slots.quaternaryText {...slotProps.quaternaryText} />}\n {textPosition === 'before' && coin}\n </slots.root>\n );\n};\n"]}
|
@@ -1,84 +0,0 @@
|
|
1
|
-
define(["require", "exports", "tslib", "@fluentui/react-avatar", "@fluentui/react-utilities", "@fluentui/react-badge"], function (require, exports, tslib_1, react_avatar_1, react_utilities_1, react_badge_1) {
|
2
|
-
"use strict";
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
exports.usePersona_unstable = void 0;
|
5
|
-
/**
|
6
|
-
* Create the state required to render Persona.
|
7
|
-
*
|
8
|
-
* The returned state can be modified with hooks such as usePersonaStyles_unstable,
|
9
|
-
* before being passed to renderPersona_unstable.
|
10
|
-
*
|
11
|
-
* @param props - props from this instance of Persona
|
12
|
-
* @param ref - reference to root HTMLElement of Persona
|
13
|
-
*/
|
14
|
-
var usePersona_unstable = function (props, ref) {
|
15
|
-
var name = props.name, _a = props.presenceOnly, presenceOnly = _a === void 0 ? false : _a, _b = props.size, size = _b === void 0 ? 'medium' : _b, _c = props.textAlignment, textAlignment = _c === void 0 ? 'start' : _c, _d = props.textPosition, textPosition = _d === void 0 ? 'after' : _d;
|
16
|
-
var primaryText = react_utilities_1.resolveShorthand(props.primaryText, {
|
17
|
-
required: true,
|
18
|
-
defaultProps: {
|
19
|
-
children: name,
|
20
|
-
},
|
21
|
-
});
|
22
|
-
var secondaryText = react_utilities_1.resolveShorthand(props.secondaryText);
|
23
|
-
var tertiaryText = react_utilities_1.resolveShorthand(props.tertiaryText);
|
24
|
-
var quaternaryText = react_utilities_1.resolveShorthand(props.quaternaryText);
|
25
|
-
var numTextLines = [primaryText, secondaryText, tertiaryText, quaternaryText].filter(Boolean).length;
|
26
|
-
return {
|
27
|
-
numTextLines: numTextLines,
|
28
|
-
presenceOnly: presenceOnly,
|
29
|
-
size: size,
|
30
|
-
textAlignment: textAlignment,
|
31
|
-
textPosition: textPosition,
|
32
|
-
components: {
|
33
|
-
root: 'div',
|
34
|
-
avatar: react_avatar_1.Avatar,
|
35
|
-
presence: react_badge_1.PresenceBadge,
|
36
|
-
primaryText: 'span',
|
37
|
-
secondaryText: 'span',
|
38
|
-
tertiaryText: 'span',
|
39
|
-
quaternaryText: 'span',
|
40
|
-
},
|
41
|
-
root: react_utilities_1.getNativeElementProps('div', tslib_1.__assign(tslib_1.__assign({}, props), { ref: ref }),
|
42
|
-
/* excludedPropNames */ ['name']),
|
43
|
-
avatar: !presenceOnly
|
44
|
-
? react_utilities_1.resolveShorthand(props.avatar, {
|
45
|
-
required: true,
|
46
|
-
defaultProps: {
|
47
|
-
name: name,
|
48
|
-
badge: props.presence,
|
49
|
-
size: avatarSizes[size],
|
50
|
-
},
|
51
|
-
})
|
52
|
-
: undefined,
|
53
|
-
presence: presenceOnly
|
54
|
-
? react_utilities_1.resolveShorthand(props.presence, {
|
55
|
-
defaultProps: {
|
56
|
-
size: presenceSizes[size],
|
57
|
-
},
|
58
|
-
})
|
59
|
-
: undefined,
|
60
|
-
primaryText: primaryText,
|
61
|
-
secondaryText: secondaryText,
|
62
|
-
tertiaryText: tertiaryText,
|
63
|
-
quaternaryText: quaternaryText,
|
64
|
-
};
|
65
|
-
};
|
66
|
-
exports.usePersona_unstable = usePersona_unstable;
|
67
|
-
var presenceSizes = {
|
68
|
-
'extra-small': 'tiny',
|
69
|
-
small: 'extra-small',
|
70
|
-
medium: 'small',
|
71
|
-
large: 'medium',
|
72
|
-
'extra-large': 'large',
|
73
|
-
huge: 'large',
|
74
|
-
};
|
75
|
-
var avatarSizes = {
|
76
|
-
'extra-small': 20,
|
77
|
-
small: 28,
|
78
|
-
medium: 32,
|
79
|
-
large: 36,
|
80
|
-
'extra-large': 40,
|
81
|
-
huge: 56,
|
82
|
-
};
|
83
|
-
});
|
84
|
-
//# sourceMappingURL=usePersona.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"usePersona.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-persona/src/components/Persona/usePersona.ts"],"names":[],"mappings":";;;;IAMA;;;;;;;;OAQG;IACI,IAAM,mBAAmB,GAAG,UAAC,KAAmB,EAAE,GAA2B;QAC1E,IAAA,IAAI,GAA6F,KAAK,KAAlG,EAAE,KAA2F,KAAK,aAA5E,EAApB,YAAY,mBAAG,KAAK,KAAA,EAAE,KAAqE,KAAK,KAA3D,EAAf,IAAI,mBAAG,QAAQ,KAAA,EAAE,KAAoD,KAAK,cAAlC,EAAvB,aAAa,mBAAG,OAAO,KAAA,EAAE,KAA2B,KAAK,aAAV,EAAtB,YAAY,mBAAG,OAAO,KAAA,CAAW;QAE/G,IAAM,WAAW,GAAG,kCAAgB,CAAC,KAAK,CAAC,WAAW,EAAE;YACtD,QAAQ,EAAE,IAAI;YACd,YAAY,EAAE;gBACZ,QAAQ,EAAE,IAAI;aACf;SACF,CAAC,CAAC;QACH,IAAM,aAAa,GAAG,kCAAgB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC5D,IAAM,YAAY,GAAG,kCAAgB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC1D,IAAM,cAAc,GAAG,kCAAgB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAE9D,IAAM,YAAY,GAAG,CAAC,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC;QAEvG,OAAO;YACL,YAAY,cAAA;YACZ,YAAY,cAAA;YACZ,IAAI,MAAA;YACJ,aAAa,eAAA;YACb,YAAY,cAAA;YAEZ,UAAU,EAAE;gBACV,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,qBAAM;gBACd,QAAQ,EAAE,2BAAa;gBACvB,WAAW,EAAE,MAAM;gBACnB,aAAa,EAAE,MAAM;gBACrB,YAAY,EAAE,MAAM;gBACpB,cAAc,EAAE,MAAM;aACvB;YAED,IAAI,EAAE,uCAAqB,CACzB,KAAK,wCAEA,KAAK,KACR,GAAG,KAAA;YAEL,uBAAuB,CAAC,CAAC,MAAM,CAAC,CACjC;YACD,MAAM,EAAE,CAAC,YAAY;gBACnB,CAAC,CAAC,kCAAgB,CAAC,KAAK,CAAC,MAAM,EAAE;oBAC7B,QAAQ,EAAE,IAAI;oBACd,YAAY,EAAE;wBACZ,IAAI,MAAA;wBACJ,KAAK,EAAE,KAAK,CAAC,QAAQ;wBACrB,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;qBACxB;iBACF,CAAC;gBACJ,CAAC,CAAC,SAAS;YACb,QAAQ,EAAE,YAAY;gBACpB,CAAC,CAAC,kCAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE;oBAC/B,YAAY,EAAE;wBACZ,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC;qBAC1B;iBACF,CAAC;gBACJ,CAAC,CAAC,SAAS;YACb,WAAW,aAAA;YACX,aAAa,eAAA;YACb,YAAY,cAAA;YACZ,cAAc,gBAAA;SACf,CAAC;IACJ,CAAC,CAAC;IA9DW,QAAA,mBAAmB,uBA8D9B;IAEF,IAAM,aAAa,GAAG;QACpB,aAAa,EAAE,MAAM;QACrB,KAAK,EAAE,aAAa;QACpB,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,QAAQ;QACf,aAAa,EAAE,OAAO;QACtB,IAAI,EAAE,OAAO;KACL,CAAC;IAEX,IAAM,WAAW,GAAG;QAClB,aAAa,EAAE,EAAE;QACjB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,KAAK,EAAE,EAAE;QACT,aAAa,EAAE,EAAE;QACjB,IAAI,EAAE,EAAE;KACA,CAAC","sourcesContent":["import * as React from 'react';\nimport { Avatar } from '@fluentui/react-avatar';\nimport { getNativeElementProps, resolveShorthand } from '@fluentui/react-utilities';\nimport { PresenceBadge } from '@fluentui/react-badge';\nimport type { PersonaProps, PersonaState } from './Persona.types';\n\n/**\n * Create the state required to render Persona.\n *\n * The returned state can be modified with hooks such as usePersonaStyles_unstable,\n * before being passed to renderPersona_unstable.\n *\n * @param props - props from this instance of Persona\n * @param ref - reference to root HTMLElement of Persona\n */\nexport const usePersona_unstable = (props: PersonaProps, ref: React.Ref<HTMLElement>): PersonaState => {\n const { name, presenceOnly = false, size = 'medium', textAlignment = 'start', textPosition = 'after' } = props;\n\n const primaryText = resolveShorthand(props.primaryText, {\n required: true,\n defaultProps: {\n children: name,\n },\n });\n const secondaryText = resolveShorthand(props.secondaryText);\n const tertiaryText = resolveShorthand(props.tertiaryText);\n const quaternaryText = resolveShorthand(props.quaternaryText);\n\n const numTextLines = [primaryText, secondaryText, tertiaryText, quaternaryText].filter(Boolean).length;\n\n return {\n numTextLines,\n presenceOnly,\n size,\n textAlignment,\n textPosition,\n\n components: {\n root: 'div',\n avatar: Avatar,\n presence: PresenceBadge,\n primaryText: 'span',\n secondaryText: 'span',\n tertiaryText: 'span',\n quaternaryText: 'span',\n },\n\n root: getNativeElementProps(\n 'div',\n {\n ...props,\n ref,\n },\n /* excludedPropNames */ ['name'],\n ),\n avatar: !presenceOnly\n ? resolveShorthand(props.avatar, {\n required: true,\n defaultProps: {\n name,\n badge: props.presence,\n size: avatarSizes[size],\n },\n })\n : undefined,\n presence: presenceOnly\n ? resolveShorthand(props.presence, {\n defaultProps: {\n size: presenceSizes[size],\n },\n })\n : undefined,\n primaryText,\n secondaryText,\n tertiaryText,\n quaternaryText,\n };\n};\n\nconst presenceSizes = {\n 'extra-small': 'tiny',\n small: 'extra-small',\n medium: 'small',\n large: 'medium',\n 'extra-large': 'large',\n huge: 'large',\n} as const;\n\nconst avatarSizes = {\n 'extra-small': 20,\n small: 28,\n medium: 32,\n large: 36,\n 'extra-large': 40,\n huge: 56,\n} as const;\n"]}
|
@@ -1,191 +0,0 @@
|
|
1
|
-
define(["require", "exports", "tslib", "@griffel/react", "@fluentui/react-theme"], function (require, exports, tslib_1, react_1, react_theme_1) {
|
2
|
-
"use strict";
|
3
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
5
|
-
exports.usePersonaStyles_unstable = exports.personaClassNames = void 0;
|
6
|
-
exports.personaClassNames = {
|
7
|
-
root: 'fui-Persona',
|
8
|
-
avatar: 'fui-Persona__avatar',
|
9
|
-
presence: 'fui-Persona__presence',
|
10
|
-
primaryText: 'fui-Persona__primaryText',
|
11
|
-
secondaryText: 'fui-Persona__secondaryText',
|
12
|
-
tertiaryText: 'fui-Persona__tertiaryText',
|
13
|
-
quaternaryText: 'fui-Persona__quaternaryText',
|
14
|
-
};
|
15
|
-
var avatarSpacing = "--fui-Persona__avatar--spacing";
|
16
|
-
var useRootClassName = react_1.makeResetStyles({
|
17
|
-
display: 'inline-grid',
|
18
|
-
gridAutoRows: 'max-content',
|
19
|
-
gridAutoFlow: 'column',
|
20
|
-
justifyItems: 'start',
|
21
|
-
gridTemplateColumns: 'max-content [middle] auto',
|
22
|
-
});
|
23
|
-
/**
|
24
|
-
* Styles for the root slot
|
25
|
-
*/
|
26
|
-
var useStyles = react_1.makeStyles({
|
27
|
-
beforeAfterCenter: {
|
28
|
-
// This template is needed to make sure the Avatar is centered when it takes up more space than the text lines
|
29
|
-
gridTemplateRows: '1fr [primary] max-content [secondary] max-content [tertiary] max-content [quaternary] max-content 1fr',
|
30
|
-
},
|
31
|
-
after: {
|
32
|
-
// Intentionally empty
|
33
|
-
},
|
34
|
-
before: {
|
35
|
-
justifyItems: 'end',
|
36
|
-
gridTemplateColumns: 'auto [middle] max-content',
|
37
|
-
},
|
38
|
-
below: {
|
39
|
-
gridAutoFlow: 'unset',
|
40
|
-
justifyItems: 'center',
|
41
|
-
gridTemplateColumns: 'unset',
|
42
|
-
},
|
43
|
-
media: {
|
44
|
-
gridRowStart: 'span 5',
|
45
|
-
},
|
46
|
-
mediaBeforeAfterCenter: {
|
47
|
-
gridRowStart: 'span 6',
|
48
|
-
},
|
49
|
-
start: {
|
50
|
-
alignSelf: 'start',
|
51
|
-
},
|
52
|
-
center: {
|
53
|
-
alignSelf: 'center',
|
54
|
-
},
|
55
|
-
afterAlignToPrimary: {
|
56
|
-
alignSelf: 'center',
|
57
|
-
gridRowStart: 'unset',
|
58
|
-
gridColumnEnd: 'middle',
|
59
|
-
},
|
60
|
-
beforeAlignToPrimary: {
|
61
|
-
alignSelf: 'center',
|
62
|
-
gridRowStart: 'unset',
|
63
|
-
gridColumnStart: 'middle',
|
64
|
-
},
|
65
|
-
secondLineSpacing: {
|
66
|
-
marginTop: '-2px',
|
67
|
-
},
|
68
|
-
primary: { gridRowStart: 'primary' },
|
69
|
-
secondary: { gridRowStart: 'secondary' },
|
70
|
-
tertiary: { gridRowStart: 'tertiary' },
|
71
|
-
quaternary: { gridRowStart: 'quaternary' },
|
72
|
-
});
|
73
|
-
var useAvatarSpacingStyles = react_1.makeStyles({
|
74
|
-
'extra-small': (_a = {},
|
75
|
-
_a[avatarSpacing] = react_theme_1.tokens.spacingHorizontalSNudge,
|
76
|
-
_a),
|
77
|
-
small: (_b = {},
|
78
|
-
_b[avatarSpacing] = react_theme_1.tokens.spacingHorizontalS,
|
79
|
-
_b),
|
80
|
-
medium: (_c = {},
|
81
|
-
_c[avatarSpacing] = react_theme_1.tokens.spacingHorizontalS,
|
82
|
-
_c),
|
83
|
-
large: (_d = {},
|
84
|
-
_d[avatarSpacing] = react_theme_1.tokens.spacingHorizontalMNudge,
|
85
|
-
_d),
|
86
|
-
'extra-large': (_e = {},
|
87
|
-
_e[avatarSpacing] = react_theme_1.tokens.spacingHorizontalMNudge,
|
88
|
-
_e),
|
89
|
-
huge: (_f = {},
|
90
|
-
_f[avatarSpacing] = react_theme_1.tokens.spacingHorizontalM,
|
91
|
-
_f),
|
92
|
-
after: {
|
93
|
-
marginRight: "var(" + avatarSpacing + ")",
|
94
|
-
},
|
95
|
-
below: {
|
96
|
-
marginBottom: "var(" + avatarSpacing + ")",
|
97
|
-
},
|
98
|
-
before: {
|
99
|
-
marginLeft: "var(" + avatarSpacing + ")",
|
100
|
-
},
|
101
|
-
});
|
102
|
-
var usePresenceSpacingStyles = react_1.makeStyles({
|
103
|
-
small: (_g = {},
|
104
|
-
_g[avatarSpacing] = react_theme_1.tokens.spacingHorizontalSNudge,
|
105
|
-
_g),
|
106
|
-
});
|
107
|
-
/**
|
108
|
-
* Apply styling to the Persona slots based on the state
|
109
|
-
*/
|
110
|
-
var usePersonaStyles_unstable = function (state) {
|
111
|
-
var presenceOnly = state.presenceOnly, size = state.size, textAlignment = state.textAlignment, textPosition = state.textPosition;
|
112
|
-
var alignToPrimary = presenceOnly && textAlignment === 'start' && size !== 'extra-large' && size !== 'huge';
|
113
|
-
var alignBeforeAfterCenter = textPosition !== 'below' && textAlignment === 'center';
|
114
|
-
var _a = useTextClassNames(state, alignToPrimary), primaryTextClassName = _a.primaryTextClassName, optionalTextClassName = _a.optionalTextClassName;
|
115
|
-
var rootClassName = useRootClassName();
|
116
|
-
var styles = useStyles();
|
117
|
-
var avatarSpacingStyles = useAvatarSpacingStyles();
|
118
|
-
var presenceSpacingStyles = tslib_1.__assign(tslib_1.__assign({}, avatarSpacingStyles), usePresenceSpacingStyles());
|
119
|
-
state.root.className = react_1.mergeClasses(exports.personaClassNames.root, rootClassName, alignBeforeAfterCenter && styles.beforeAfterCenter, styles[textPosition], state.root.className);
|
120
|
-
if (state.avatar) {
|
121
|
-
state.avatar.className = react_1.mergeClasses(exports.personaClassNames.avatar, textPosition !== 'below' && styles.media, alignBeforeAfterCenter && styles.mediaBeforeAfterCenter, styles[textAlignment], avatarSpacingStyles[size], avatarSpacingStyles[textPosition], state.avatar.className);
|
122
|
-
}
|
123
|
-
if (state.presence) {
|
124
|
-
state.presence.className = react_1.mergeClasses(exports.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);
|
125
|
-
}
|
126
|
-
if (state.primaryText) {
|
127
|
-
state.primaryText.className = react_1.mergeClasses(exports.personaClassNames.primaryText, alignBeforeAfterCenter && styles.primary, primaryTextClassName, state.primaryText.className);
|
128
|
-
}
|
129
|
-
if (state.secondaryText) {
|
130
|
-
state.secondaryText.className = react_1.mergeClasses(exports.personaClassNames.secondaryText, alignBeforeAfterCenter && styles.secondary, optionalTextClassName, styles.secondLineSpacing, state.secondaryText.className);
|
131
|
-
}
|
132
|
-
if (state.tertiaryText) {
|
133
|
-
state.tertiaryText.className = react_1.mergeClasses(exports.personaClassNames.tertiaryText, alignBeforeAfterCenter && styles.tertiary, optionalTextClassName, state.tertiaryText.className);
|
134
|
-
}
|
135
|
-
if (state.quaternaryText) {
|
136
|
-
state.quaternaryText.className = react_1.mergeClasses(exports.personaClassNames.quaternaryText, alignBeforeAfterCenter && styles.quaternary, optionalTextClassName, state.quaternaryText.className);
|
137
|
-
}
|
138
|
-
return state;
|
139
|
-
};
|
140
|
-
exports.usePersonaStyles_unstable = usePersonaStyles_unstable;
|
141
|
-
var usePrimaryTextBaseClassName = react_1.makeResetStyles(tslib_1.__assign({ display: 'block', color: react_theme_1.tokens.colorNeutralForeground1 }, react_theme_1.typographyStyles.body1));
|
142
|
-
var useOptionalTextBaseClassName = react_1.makeResetStyles(tslib_1.__assign({ display: 'block', color: react_theme_1.tokens.colorNeutralForeground2 }, react_theme_1.typographyStyles.caption1));
|
143
|
-
var useTextStyles = react_1.makeStyles({
|
144
|
-
beforeAlignToPrimary: {
|
145
|
-
gridColumnEnd: 'middle',
|
146
|
-
},
|
147
|
-
afterAlignToPrimary: {
|
148
|
-
gridColumnStart: 'middle',
|
149
|
-
},
|
150
|
-
body1: react_theme_1.typographyStyles.body1,
|
151
|
-
caption1: react_theme_1.typographyStyles.caption1,
|
152
|
-
subtitle2: react_theme_1.typographyStyles.subtitle2,
|
153
|
-
});
|
154
|
-
var useTextClassNames = function (state, alignToPrimary) {
|
155
|
-
var presenceOnly = state.presenceOnly, size = state.size, textPosition = state.textPosition;
|
156
|
-
var primaryTextBaseClassName = usePrimaryTextBaseClassName();
|
157
|
-
var optionalTextBaseClassName = useOptionalTextBaseClassName();
|
158
|
-
var textStyles = useTextStyles();
|
159
|
-
var primaryTextSize;
|
160
|
-
var alignToPrimaryClassName;
|
161
|
-
if (presenceOnly) {
|
162
|
-
if (size === 'extra-small') {
|
163
|
-
primaryTextSize = state.numTextLines <= 1 && textStyles.caption1;
|
164
|
-
}
|
165
|
-
else if (size === 'extra-large' || size === 'huge') {
|
166
|
-
primaryTextSize = textStyles.subtitle2;
|
167
|
-
}
|
168
|
-
if (alignToPrimary) {
|
169
|
-
if (textPosition === 'before') {
|
170
|
-
alignToPrimaryClassName = textStyles.beforeAlignToPrimary;
|
171
|
-
}
|
172
|
-
else if (textPosition === 'after') {
|
173
|
-
alignToPrimaryClassName = textStyles.afterAlignToPrimary;
|
174
|
-
}
|
175
|
-
}
|
176
|
-
}
|
177
|
-
else {
|
178
|
-
if (size === 'huge') {
|
179
|
-
primaryTextSize = textStyles.subtitle2;
|
180
|
-
}
|
181
|
-
else if (size === 'extra-large') {
|
182
|
-
primaryTextSize = textStyles.subtitle2;
|
183
|
-
}
|
184
|
-
}
|
185
|
-
return {
|
186
|
-
primaryTextClassName: react_1.mergeClasses(primaryTextBaseClassName, primaryTextSize, alignToPrimaryClassName),
|
187
|
-
optionalTextClassName: react_1.mergeClasses(optionalTextBaseClassName, !presenceOnly && size === 'huge' && textStyles.body1, alignToPrimaryClassName),
|
188
|
-
};
|
189
|
-
};
|
190
|
-
});
|
191
|
-
//# sourceMappingURL=usePersonaStyles.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"usePersonaStyles.js","sourceRoot":"","sources":["../../../../../../../../../packages/react-components/react-persona/src/components/Persona/usePersonaStyles.ts"],"names":[],"mappings":";;;;;IAKa,QAAA,iBAAiB,GAAiC;QAC7D,IAAI,EAAE,aAAa;QACnB,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,uBAAuB;QACjC,WAAW,EAAE,0BAA0B;QACvC,aAAa,EAAE,4BAA4B;QAC3C,YAAY,EAAE,2BAA2B;QACzC,cAAc,EAAE,6BAA6B;KAC9C,CAAC;IAEF,IAAM,aAAa,GAAG,gCAAgC,CAAC;IAEvD,IAAM,gBAAgB,GAAG,uBAAe,CAAC;QACvC,OAAO,EAAE,aAAa;QACtB,YAAY,EAAE,aAAa;QAC3B,YAAY,EAAE,QAAQ;QACtB,YAAY,EAAE,OAAO;QACrB,mBAAmB,EAAE,2BAA2B;KACjD,CAAC,CAAC;IAEH;;OAEG;IACH,IAAM,SAAS,GAAG,kBAAU,CAAC;QAC3B,iBAAiB,EAAE;YACjB,8GAA8G;YAC9G,gBAAgB,EACd,uGAAuG;SAC1G;QAED,KAAK,EAAE;QACL,sBAAsB;SACvB;QACD,MAAM,EAAE;YACN,YAAY,EAAE,KAAK;YACnB,mBAAmB,EAAE,2BAA2B;SACjD;QACD,KAAK,EAAE;YACL,YAAY,EAAE,OAAO;YACrB,YAAY,EAAE,QAAQ;YACtB,mBAAmB,EAAE,OAAO;SAC7B;QAED,KAAK,EAAE;YACL,YAAY,EAAE,QAAQ;SACvB;QAED,sBAAsB,EAAE;YACtB,YAAY,EAAE,QAAQ;SACvB;QAED,KAAK,EAAE;YACL,SAAS,EAAE,OAAO;SACnB;QACD,MAAM,EAAE;YACN,SAAS,EAAE,QAAQ;SACpB;QAED,mBAAmB,EAAE;YACnB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,OAAO;YACrB,aAAa,EAAE,QAAQ;SACxB;QACD,oBAAoB,EAAE;YACpB,SAAS,EAAE,QAAQ;YACnB,YAAY,EAAE,OAAO;YACrB,eAAe,EAAE,QAAQ;SAC1B;QAED,iBAAiB,EAAE;YACjB,SAAS,EAAE,MAAM;SAClB;QAED,OAAO,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE;QACpC,SAAS,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE;QACxC,QAAQ,EAAE,EAAE,YAAY,EAAE,UAAU,EAAE;QACtC,UAAU,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE;KAC3C,CAAC,CAAC;IAEH,IAAM,sBAAsB,GAAG,kBAAU,CAAC;QACxC,aAAa;YACX,GAAC,aAAa,IAAG,oBAAM,CAAC,uBAAuB;eAChD;QACD,KAAK;YACH,GAAC,aAAa,IAAG,oBAAM,CAAC,kBAAkB;eAC3C;QACD,MAAM;YACJ,GAAC,aAAa,IAAG,oBAAM,CAAC,kBAAkB;eAC3C;QACD,KAAK;YACH,GAAC,aAAa,IAAG,oBAAM,CAAC,uBAAuB;eAChD;QACD,aAAa;YACX,GAAC,aAAa,IAAG,oBAAM,CAAC,uBAAuB;eAChD;QACD,IAAI;YACF,GAAC,aAAa,IAAG,oBAAM,CAAC,kBAAkB;eAC3C;QACD,KAAK,EAAE;YACL,WAAW,EAAE,SAAO,aAAa,MAAG;SACrC;QACD,KAAK,EAAE;YACL,YAAY,EAAE,SAAO,aAAa,MAAG;SACtC;QACD,MAAM,EAAE;YACN,UAAU,EAAE,SAAO,aAAa,MAAG;SACpC;KACF,CAAC,CAAC;IAEH,IAAM,wBAAwB,GAAG,kBAAU,CAAC;QAC1C,KAAK;YACH,GAAC,aAAa,IAAG,oBAAM,CAAC,uBAAuB;eAChD;KACF,CAAC,CAAC;IAEH;;OAEG;IACI,IAAM,yBAAyB,GAAG,UAAC,KAAmB;QACnD,IAAA,YAAY,GAAwC,KAAK,aAA7C,EAAE,IAAI,GAAkC,KAAK,KAAvC,EAAE,aAAa,GAAmB,KAAK,cAAxB,EAAE,YAAY,GAAK,KAAK,aAAV,CAAW;QAElE,IAAM,cAAc,GAAG,YAAY,IAAI,aAAa,KAAK,OAAO,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,MAAM,CAAC;QAC9G,IAAM,sBAAsB,GAAG,YAAY,KAAK,OAAO,IAAI,aAAa,KAAK,QAAQ,CAAC;QAChF,IAAA,KAAkD,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,EAAxF,oBAAoB,0BAAA,EAAE,qBAAqB,2BAA6C,CAAC;QAEjG,IAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;QACzC,IAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAM,mBAAmB,GAAG,sBAAsB,EAAE,CAAC;QACrD,IAAM,qBAAqB,yCAAQ,mBAAmB,GAAK,wBAAwB,EAAE,CAAE,CAAC;QAExF,KAAK,CAAC,IAAI,CAAC,SAAS,GAAG,oBAAY,CACjC,yBAAiB,CAAC,IAAI,EACtB,aAAa,EACb,sBAAsB,IAAI,MAAM,CAAC,iBAAiB,EAClD,MAAM,CAAC,YAAY,CAAC,EACpB,KAAK,CAAC,IAAI,CAAC,SAAS,CACrB,CAAC;QAEF,IAAI,KAAK,CAAC,MAAM,EAAE;YAChB,KAAK,CAAC,MAAM,CAAC,SAAS,GAAG,oBAAY,CACnC,yBAAiB,CAAC,MAAM,EACxB,YAAY,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,EACxC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,EACvD,MAAM,CAAC,aAAa,CAAC,EACrB,mBAAmB,CAAC,IAAI,CAAC,EACzB,mBAAmB,CAAC,YAAY,CAAC,EACjC,KAAK,CAAC,MAAM,CAAC,SAAS,CACvB,CAAC;SACH;QAED,IAAI,KAAK,CAAC,QAAQ,EAAE;YAClB,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,oBAAY,CACrC,yBAAiB,CAAC,QAAQ,EAC1B,YAAY,KAAK,OAAO,IAAI,MAAM,CAAC,KAAK,EACxC,sBAAsB,IAAI,MAAM,CAAC,sBAAsB,EACvD,MAAM,CAAC,aAAa,CAAC,EACrB,qBAAqB,CAAC,IAAI,CAAC,EAC3B,qBAAqB,CAAC,YAAY,CAAC,EACnC,YAAY,KAAK,OAAO,IAAI,cAAc,IAAI,MAAM,CAAC,mBAAmB,EACxE,YAAY,KAAK,QAAQ,IAAI,cAAc,IAAI,MAAM,CAAC,oBAAoB,EAC1E,KAAK,CAAC,QAAQ,CAAC,SAAS,CACzB,CAAC;SACH;QAED,IAAI,KAAK,CAAC,WAAW,EAAE;YACrB,KAAK,CAAC,WAAW,CAAC,SAAS,GAAG,oBAAY,CACxC,yBAAiB,CAAC,WAAW,EAC7B,sBAAsB,IAAI,MAAM,CAAC,OAAO,EACxC,oBAAoB,EACpB,KAAK,CAAC,WAAW,CAAC,SAAS,CAC5B,CAAC;SACH;QAED,IAAI,KAAK,CAAC,aAAa,EAAE;YACvB,KAAK,CAAC,aAAa,CAAC,SAAS,GAAG,oBAAY,CAC1C,yBAAiB,CAAC,aAAa,EAC/B,sBAAsB,IAAI,MAAM,CAAC,SAAS,EAC1C,qBAAqB,EACrB,MAAM,CAAC,iBAAiB,EACxB,KAAK,CAAC,aAAa,CAAC,SAAS,CAC9B,CAAC;SACH;QAED,IAAI,KAAK,CAAC,YAAY,EAAE;YACtB,KAAK,CAAC,YAAY,CAAC,SAAS,GAAG,oBAAY,CACzC,yBAAiB,CAAC,YAAY,EAC9B,sBAAsB,IAAI,MAAM,CAAC,QAAQ,EACzC,qBAAqB,EACrB,KAAK,CAAC,YAAY,CAAC,SAAS,CAC7B,CAAC;SACH;QAED,IAAI,KAAK,CAAC,cAAc,EAAE;YACxB,KAAK,CAAC,cAAc,CAAC,SAAS,GAAG,oBAAY,CAC3C,yBAAiB,CAAC,cAAc,EAChC,sBAAsB,IAAI,MAAM,CAAC,UAAU,EAC3C,qBAAqB,EACrB,KAAK,CAAC,cAAc,CAAC,SAAS,CAC/B,CAAC;SACH;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC;IApFW,QAAA,yBAAyB,6BAoFpC;IAEF,IAAM,2BAA2B,GAAG,uBAAe,oBACjD,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,oBAAM,CAAC,uBAAuB,IAClC,8BAAgB,CAAC,KAAK,EACzB,CAAC;IAEH,IAAM,4BAA4B,GAAG,uBAAe,oBAClD,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,oBAAM,CAAC,uBAAuB,IAClC,8BAAgB,CAAC,QAAQ,EAC5B,CAAC;IAEH,IAAM,aAAa,GAAG,kBAAU,CAAC;QAC/B,oBAAoB,EAAE;YACpB,aAAa,EAAE,QAAQ;SACxB;QACD,mBAAmB,EAAE;YACnB,eAAe,EAAE,QAAQ;SAC1B;QAED,KAAK,EAAE,8BAAgB,CAAC,KAAK;QAC7B,QAAQ,EAAE,8BAAgB,CAAC,QAAQ;QACnC,SAAS,EAAE,8BAAgB,CAAC,SAAS;KACtC,CAAC,CAAC;IAEH,IAAM,iBAAiB,GAAG,UACxB,KAAmB,EACnB,cAAuB;QAKf,IAAA,YAAY,GAAyB,KAAK,aAA9B,EAAE,IAAI,GAAmB,KAAK,KAAxB,EAAE,YAAY,GAAK,KAAK,aAAV,CAAW;QACnD,IAAM,wBAAwB,GAAG,2BAA2B,EAAE,CAAC;QAC/D,IAAM,yBAAyB,GAAG,4BAA4B,EAAE,CAAC;QACjE,IAAM,UAAU,GAAG,aAAa,EAAE,CAAC;QAEnC,IAAI,eAAe,CAAC;QACpB,IAAI,uBAAuB,CAAC;QAE5B,IAAI,YAAY,EAAE;YAChB,IAAI,IAAI,KAAK,aAAa,EAAE;gBAC1B,eAAe,GAAG,KAAK,CAAC,YAAY,IAAI,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC;aAClE;iBAAM,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,MAAM,EAAE;gBACpD,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC;aACxC;YAED,IAAI,cAAc,EAAE;gBAClB,IAAI,YAAY,KAAK,QAAQ,EAAE;oBAC7B,uBAAuB,GAAG,UAAU,CAAC,oBAAoB,CAAC;iBAC3D;qBAAM,IAAI,YAAY,KAAK,OAAO,EAAE;oBACnC,uBAAuB,GAAG,UAAU,CAAC,mBAAmB,CAAC;iBAC1D;aACF;SACF;aAAM;YACL,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnB,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC;aACxC;iBAAM,IAAI,IAAI,KAAK,aAAa,EAAE;gBACjC,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC;aACxC;SACF;QAED,OAAO;YACL,oBAAoB,EAAE,oBAAY,CAAC,wBAAwB,EAAE,eAAe,EAAE,uBAAuB,CAAC;YACtG,qBAAqB,EAAE,oBAAY,CACjC,yBAAyB,EACzB,CAAC,YAAY,IAAI,IAAI,KAAK,MAAM,IAAI,UAAU,CAAC,KAAK,EACpD,uBAAuB,CACxB;SACF,CAAC;IACJ,CAAC,CAAC","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 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"]}
|
package/lib-amd/index.js
DELETED
@@ -1,11 +0,0 @@
|
|
1
|
-
define(["require", "exports", "./Persona"], function (require, exports, Persona_1) {
|
2
|
-
"use strict";
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
4
|
-
exports.usePersona_unstable = exports.usePersonaStyles_unstable = exports.renderPersona_unstable = exports.personaClassNames = exports.Persona = void 0;
|
5
|
-
Object.defineProperty(exports, "Persona", { enumerable: true, get: function () { return Persona_1.Persona; } });
|
6
|
-
Object.defineProperty(exports, "personaClassNames", { enumerable: true, get: function () { return Persona_1.personaClassNames; } });
|
7
|
-
Object.defineProperty(exports, "renderPersona_unstable", { enumerable: true, get: function () { return Persona_1.renderPersona_unstable; } });
|
8
|
-
Object.defineProperty(exports, "usePersonaStyles_unstable", { enumerable: true, get: function () { return Persona_1.usePersonaStyles_unstable; } });
|
9
|
-
Object.defineProperty(exports, "usePersona_unstable", { enumerable: true, get: function () { return Persona_1.usePersona_unstable; } });
|
10
|
-
});
|
11
|
-
//# sourceMappingURL=index.js.map
|
package/lib-amd/index.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/react-components/react-persona/src/index.ts"],"names":[],"mappings":";;;;IACE,kGAAA,OAAO,OAAA;IACP,4GAAA,iBAAiB,OAAA;IACjB,iHAAA,sBAAsB,OAAA;IACtB,oHAAA,yBAAyB,OAAA;IACzB,8GAAA,mBAAmB,OAAA","sourcesContent":["export {\n Persona,\n personaClassNames,\n renderPersona_unstable,\n usePersonaStyles_unstable,\n usePersona_unstable,\n} from './Persona';\nexport type { PersonaProps, PersonaSlots, PersonaState } from './Persona';\n"]}
|