@fluentui-react-native/experimental-avatar 0.12.18 → 0.13.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 (66) hide show
  1. package/CHANGELOG.json +159 -1
  2. package/CHANGELOG.md +48 -2
  3. package/lib/JSAvatar.d.ts +12 -0
  4. package/lib/JSAvatar.d.ts.map +1 -0
  5. package/lib/JSAvatar.helpers.d.ts +17 -0
  6. package/lib/JSAvatar.helpers.d.ts.map +1 -0
  7. package/lib/JSAvatar.helpers.js +103 -0
  8. package/lib/JSAvatar.helpers.js.map +1 -0
  9. package/lib/JSAvatar.js +62 -0
  10. package/lib/JSAvatar.js.map +1 -0
  11. package/lib/JSAvatar.styling.d.ts +5 -0
  12. package/lib/JSAvatar.styling.d.ts.map +1 -0
  13. package/lib/JSAvatar.styling.js +123 -0
  14. package/lib/JSAvatar.styling.js.map +1 -0
  15. package/lib/JSAvatar.types.d.ts +76 -0
  16. package/lib/JSAvatar.types.d.ts.map +1 -0
  17. package/lib/JSAvatar.types.js +2 -0
  18. package/lib/JSAvatar.types.js.map +1 -0
  19. package/lib/JSAvatarTokens.d.ts +5 -0
  20. package/lib/JSAvatarTokens.d.ts.map +1 -0
  21. package/lib/JSAvatarTokens.js +18 -0
  22. package/lib/JSAvatarTokens.js.map +1 -0
  23. package/lib/index.d.ts +2 -0
  24. package/lib/index.d.ts.map +1 -1
  25. package/lib/index.js +2 -0
  26. package/lib/index.js.map +1 -1
  27. package/lib/useAvatar.d.ts +10 -0
  28. package/lib/useAvatar.d.ts.map +1 -0
  29. package/lib/useAvatar.js +52 -0
  30. package/lib/useAvatar.js.map +1 -0
  31. package/lib-commonjs/JSAvatar.d.ts +12 -0
  32. package/lib-commonjs/JSAvatar.d.ts.map +1 -0
  33. package/lib-commonjs/JSAvatar.helpers.d.ts +17 -0
  34. package/lib-commonjs/JSAvatar.helpers.d.ts.map +1 -0
  35. package/lib-commonjs/JSAvatar.helpers.js +110 -0
  36. package/lib-commonjs/JSAvatar.helpers.js.map +1 -0
  37. package/lib-commonjs/JSAvatar.js +64 -0
  38. package/lib-commonjs/JSAvatar.js.map +1 -0
  39. package/lib-commonjs/JSAvatar.styling.d.ts +5 -0
  40. package/lib-commonjs/JSAvatar.styling.d.ts.map +1 -0
  41. package/lib-commonjs/JSAvatar.styling.js +125 -0
  42. package/lib-commonjs/JSAvatar.styling.js.map +1 -0
  43. package/lib-commonjs/JSAvatar.types.d.ts +76 -0
  44. package/lib-commonjs/JSAvatar.types.d.ts.map +1 -0
  45. package/lib-commonjs/JSAvatar.types.js +4 -0
  46. package/lib-commonjs/JSAvatar.types.js.map +1 -0
  47. package/lib-commonjs/JSAvatarTokens.d.ts +5 -0
  48. package/lib-commonjs/JSAvatarTokens.d.ts.map +1 -0
  49. package/lib-commonjs/JSAvatarTokens.js +20 -0
  50. package/lib-commonjs/JSAvatarTokens.js.map +1 -0
  51. package/lib-commonjs/index.d.ts +2 -0
  52. package/lib-commonjs/index.d.ts.map +1 -1
  53. package/lib-commonjs/index.js +2 -0
  54. package/lib-commonjs/index.js.map +1 -1
  55. package/lib-commonjs/useAvatar.d.ts +10 -0
  56. package/lib-commonjs/useAvatar.d.ts.map +1 -0
  57. package/lib-commonjs/useAvatar.js +54 -0
  58. package/lib-commonjs/useAvatar.js.map +1 -0
  59. package/package.json +13 -9
  60. package/src/JSAvatar.helpers.ts +126 -0
  61. package/src/JSAvatar.styling.ts +163 -0
  62. package/src/JSAvatar.tsx +56 -0
  63. package/src/JSAvatar.types.ts +110 -0
  64. package/src/JSAvatarTokens.ts +20 -0
  65. package/src/index.ts +2 -0
  66. package/src/useAvatar.ts +43 -0
@@ -0,0 +1,76 @@
1
+ import type { IViewProps } from '@fluentui-react-native/adapters';
2
+ import { ImageProps, ViewProps, ImageURISource, TextProps, ColorValue } from 'react-native';
3
+ import { IBackgroundColorTokens, IForegroundColorTokens, IBorderTokens } from '@fluentui-react-native/tokens';
4
+ export declare const JSAvatarName = "Avatar";
5
+ export declare type AvatarSize = 'size8' | 'size24' | 'size32' | 'size40' | 'size48' | 'size56' | 'size72' | 'size100' | 'size120';
6
+ export declare type AvatarShape = 'circular' | 'square';
7
+ export declare type AvatarActive = 'active' | 'inactive' | 'unset';
8
+ export declare type AvatarActiveAppearance = 'ring' | 'shadow' | 'glow' | 'ring-shadow' | 'ring-glow';
9
+ /**
10
+ * Sets color of the avatar when there is no picture. Uses fluent color names
11
+ */
12
+ export declare type AvatarColor = 'cornflower' | 'blue' | 'royalBlue' | 'teal' | 'forest' | 'darkGreen' | 'berry' | 'hotPink' | 'grape' | 'purple' | 'pumpkin' | 'red' | 'burgundy' | 'orchid' | 'brass' | 'darkRed' | 'beige' | 'platinum' | 'steel' | 'brown';
13
+ export declare type AvatarPresence = 'none' | 'offline' | 'online' | 'away' | 'dnd' | 'blocked' | 'busy';
14
+ export declare type RingThickness = number | 'xSmall' | 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge';
15
+ export interface RingConfig {
16
+ accent?: boolean;
17
+ transparent?: boolean;
18
+ ringColor?: ColorValue;
19
+ ringBackgroundColor?: ColorValue;
20
+ ringThickness?: RingThickness;
21
+ innerGap?: RingThickness;
22
+ }
23
+ export interface AvatarConfigurableProps {
24
+ size?: AvatarSize;
25
+ ring?: RingConfig;
26
+ coinColorFluent?: AvatarColor;
27
+ }
28
+ export interface JSAvatarProps extends IViewProps, AvatarConfigurableProps {
29
+ active?: AvatarActive;
30
+ activeAppearance?: AvatarActiveAppearance;
31
+ imageUrl?: string;
32
+ imageDescription?: string;
33
+ initials?: string;
34
+ presence?: AvatarPresence;
35
+ isOutOfOffice?: boolean;
36
+ shape?: AvatarShape;
37
+ }
38
+ export interface AvatarSlotProps {
39
+ root: ViewProps;
40
+ photo: ImageProps;
41
+ initials: TextProps;
42
+ initialsBackground: ViewProps;
43
+ icon: ImageProps;
44
+ ring: ViewProps;
45
+ glow: ViewProps;
46
+ }
47
+ export declare type IconAlignment = 'start' | 'center' | 'end';
48
+ export interface JSAvatarTokens extends IBackgroundColorTokens, IForegroundColorTokens, AvatarConfigurableProps, IBorderTokens {
49
+ avatarSize?: number;
50
+ iconSize?: number;
51
+ iconStrokeWidth?: number;
52
+ iconStrokeColor?: string;
53
+ initialsSize?: number;
54
+ horizontalIconAlignment?: IconAlignment;
55
+ verticalIconAlignment?: IconAlignment;
56
+ physicalSize?: number;
57
+ circular?: JSAvatarTokens;
58
+ square?: JSAvatarTokens;
59
+ }
60
+ export interface JSAvatarState {
61
+ personaPhotoSource: ImageURISource | undefined;
62
+ iconSource: ImageURISource | undefined;
63
+ showRing: boolean;
64
+ transparentRing: boolean;
65
+ }
66
+ export interface AvatarInfo {
67
+ props: JSAvatarProps;
68
+ state: JSAvatarState;
69
+ }
70
+ export interface JSAvatarType {
71
+ props: JSAvatarProps;
72
+ slotProps: AvatarSlotProps;
73
+ tokens: JSAvatarTokens;
74
+ state: JSAvatarState;
75
+ }
76
+ //# sourceMappingURL=JSAvatar.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatar.types.d.ts","sourceRoot":"","sources":["../src/JSAvatar.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export var JSAvatarName = 'Avatar';
2
+ //# sourceMappingURL=JSAvatar.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatar.types.js","sourceRoot":"","sources":["../src/JSAvatar.types.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,IAAM,YAAY,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { Theme } from '@fluentui-react-native/framework';
2
+ import { TokenSettings } from '@fluentui-react-native/use-styling';
3
+ import { JSAvatarTokens } from '.';
4
+ export declare const defaultJSAvatarTokens: TokenSettings<JSAvatarTokens, Theme>;
5
+ //# sourceMappingURL=JSAvatarTokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatarTokens.d.ts","sourceRoot":"","sources":["../src/JSAvatarTokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,GAAG,CAAC;AAInC,eAAO,MAAM,qBAAqB,EAAE,aAAa,CAAC,cAAc,EAAE,KAAK,CAajD,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { convertCoinColorFluent } from './JSAvatar.helpers';
2
+ import { globalTokens } from '@fluentui-react-native/theme-tokens';
3
+ export var defaultJSAvatarTokens = function () {
4
+ return ({
5
+ horizontalIconAlignment: 'end',
6
+ verticalIconAlignment: 'end',
7
+ color: 'white',
8
+ iconStrokeColor: 'white',
9
+ backgroundColor: convertCoinColorFluent('cornflower'),
10
+ circular: {
11
+ borderRadius: globalTokens.corner.radius.circle,
12
+ },
13
+ square: {
14
+ borderRadius: globalTokens.corner.radius.medium,
15
+ },
16
+ });
17
+ };
18
+ //# sourceMappingURL=JSAvatarTokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatarTokens.js","sourceRoot":"","sources":["../src/JSAvatarTokens.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAEnE,MAAM,CAAC,IAAM,qBAAqB,GAAyC;IACzE,OAAA,CAAC;QACC,uBAAuB,EAAE,KAAK;QAC9B,qBAAqB,EAAE,KAAK;QAC5B,KAAK,EAAE,OAAO;QACd,eAAe,EAAE,OAAO;QACxB,eAAe,EAAE,sBAAsB,CAAC,YAAY,CAAC;QACrD,QAAQ,EAAE;YACR,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;SAChD;QACD,MAAM,EAAE;YACN,YAAY,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM;SAChD;KACiB,CAAA;AAZpB,CAYoB,CAAC"}
package/lib/index.d.ts CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './Avatar';
2
+ export * from './JSAvatar';
3
+ export * from './JSAvatar.types';
2
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
package/lib/index.js CHANGED
@@ -1,2 +1,4 @@
1
1
  export * from './Avatar';
2
+ export * from './JSAvatar';
3
+ export * from './JSAvatar.types';
2
4
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { JSAvatarProps, AvatarInfo } from './JSAvatar.types';
2
+ /**
3
+ * Re-usable hook for FURN Avatar.
4
+ * This hook configures Avatar props and state for FURN Avatar.
5
+ *
6
+ * @param props user props sent to FURN Avatar
7
+ * @returns configured props and state for FURN Avatar
8
+ */
9
+ export declare const useAvatar: (props: JSAvatarProps) => AvatarInfo;
10
+ //# sourceMappingURL=useAvatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAvatar.d.ts","sourceRoot":"","sources":["../src/useAvatar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAG5E;;;;;;GAMG;AACH,eAAO,MAAM,SAAS,sCAgCrB,CAAC"}
@@ -0,0 +1,52 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __rest = (this && this.__rest) || function (s, e) {
13
+ var t = {};
14
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
+ t[p] = s[p];
16
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
+ t[p[i]] = s[p[i]];
20
+ }
21
+ return t;
22
+ };
23
+ import { getPresenceIconSource } from './JSAvatar.helpers';
24
+ /**
25
+ * Re-usable hook for FURN Avatar.
26
+ * This hook configures Avatar props and state for FURN Avatar.
27
+ *
28
+ * @param props user props sent to FURN Avatar
29
+ * @returns configured props and state for FURN Avatar
30
+ */
31
+ export var useAvatar = function (props) {
32
+ var imageUrl = props.imageUrl, imageDescription = props.imageDescription, initials = props.initials, presence = props.presence, isOutOfOffice = props.isOutOfOffice, ring = props.ring, shape = props.shape, rest = __rest(props, ["imageUrl", "imageDescription", "initials", "presence", "isOutOfOffice", "ring", "shape"]);
33
+ var personaPhotoSource = imageUrl === undefined
34
+ ? undefined
35
+ : {
36
+ uri: imageUrl,
37
+ };
38
+ var iconSource = presence === undefined ? undefined : getPresenceIconSource(presence, isOutOfOffice || false);
39
+ var showRing = !!ring;
40
+ var transparentRing = !!(ring === null || ring === void 0 ? void 0 : ring.transparent);
41
+ var state = {
42
+ iconSource: iconSource,
43
+ personaPhotoSource: personaPhotoSource,
44
+ showRing: showRing,
45
+ transparentRing: transparentRing,
46
+ };
47
+ return {
48
+ props: __assign({ children: initials, accessibilityLabel: imageDescription, shape: shape || 'circular' }, rest),
49
+ state: __assign({}, state),
50
+ };
51
+ };
52
+ //# sourceMappingURL=useAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAvatar.js","sourceRoot":"","sources":["../src/useAvatar.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,CAAC,IAAM,SAAS,GAAG,UAAC,KAAoB;IACpC,IAAA,yBAAQ,EAAE,yCAAgB,EAAE,yBAAQ,EAAE,yBAAQ,EAAE,mCAAa,EAAE,iBAAI,EAAE,mBAAK,EAAE,gHAAO,CAAW;IAEtG,IAAM,kBAAkB,GACtB,QAAQ,KAAK,SAAS;QACpB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC;YACE,GAAG,EAAE,QAAQ;SACd,CAAC;IAER,IAAM,UAAU,GAAG,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,QAAQ,EAAE,aAAa,IAAI,KAAK,CAAC,CAAC;IAChH,IAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC;IACxB,IAAM,eAAe,GAAG,CAAC,EAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,WAAW,CAAA,CAAC;IAE5C,IAAM,KAAK,GAAkB;QAC3B,UAAU,YAAA;QACV,kBAAkB,oBAAA;QAClB,QAAQ,UAAA;QACR,eAAe,iBAAA;KAChB,CAAC;IAEF,OAAO;QACL,KAAK,aACH,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,gBAAgB,EACpC,KAAK,EAAE,KAAK,IAAI,UAAU,IACvB,IAAI,CACR;QACD,KAAK,eACA,KAAK,CACT;KACF,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ import { JSAvatarProps, JSAvatarState } from './JSAvatar.types';
2
+ /**
3
+ * A function which determines if a set of styles should be applied to the compoent given the current state and props of the avatar.
4
+ *
5
+ * @param layer The name of the state that is being checked for
6
+ * @param state The current state of the avatar
7
+ * @param userProps The props that were passed into the avatar
8
+ * @returns Whether the styles that are assigned to the layer should be applied to the avatar
9
+ */
10
+ export declare const avatarLookup: (layer: string, state: JSAvatarState, userProps: JSAvatarProps) => boolean;
11
+ export declare const JSAvatar: import("@fluentui-react-native/composition").ComposeFactoryComponent<JSAvatarProps, import("./JSAvatar.types").AvatarSlotProps, import("./JSAvatar.types").JSAvatarTokens, import("@fluentui-react-native/framework").Theme, object>;
12
+ //# sourceMappingURL=JSAvatar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatar.d.ts","sourceRoot":"","sources":["../src/JSAvatar.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAA8B,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAK5F;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,4EAExB,CAAC;AAEF,eAAO,MAAM,QAAQ,sOAoCnB,CAAC"}
@@ -0,0 +1,17 @@
1
+ import { AvatarSize, AvatarColor, AvatarPresence, JSAvatarTokens, RingThickness } from './JSAvatar.types';
2
+ import { ImageURISource } from 'react-native';
3
+ export declare function getPresenceIconSource(presence: AvatarPresence, isOutOfOffice: boolean): ImageURISource;
4
+ export declare type AvatarSizeConfig = {
5
+ physicalSize: number;
6
+ iconSize: number;
7
+ iconStrokeWidth: number;
8
+ initialsSize: number;
9
+ };
10
+ export declare function getSizeConfig(size: AvatarSize): AvatarSizeConfig;
11
+ /**
12
+ * Converts the AvatarColor into a hex color value
13
+ */
14
+ export declare function convertCoinColorFluent(coinColor: AvatarColor): string;
15
+ export declare function calculateEffectiveSizes(tokens: JSAvatarTokens): AvatarSizeConfig;
16
+ export declare function getRingThickness(thickness: RingThickness): number;
17
+ //# sourceMappingURL=JSAvatar.helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatar.helpers.d.ts","sourceRoot":"","sources":["../src/JSAvatar.helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AA4B9C,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,GAAG,cAAc,CAEtG;AAED,oBAAY,gBAAgB,GAAG;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAcF,wBAAgB,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAEhE;AAyBD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,WAAW,GAAG,MAAM,CAErE;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,gBAAgB,CAoBhF;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,aAAa,GAAG,MAAM,CAiBjE"}
@@ -0,0 +1,110 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var theme_tokens_1 = require("@fluentui-react-native/theme-tokens");
4
+ var presenceIconCache = {
5
+ none: { uri: '' },
6
+ offline: {
7
+ uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAANlBMVEUAAACoxM+oxM+oxM+oxM+oxM+oxM+oxM+oxM////+oxM/W5OmzzNX5+/z3+vvu9Pbt8/Xj7PAAKKEtAAAACXRSTlMA6bWcZQpiXgXWfJCWAAAAeElEQVQoz52RSQ7EIAwEx0AWymT7/2dHYpgoPvQldeySsGl/XjOVZGCpTDFfjIEtj3jN0Pzc99Mb5PUWGbwOHPI/n+GqNxfMY67h9YFjvw0KrQYapYuER+GkLowjigPrArYoNpBCPiWHy3XlB1UlqkRZuziUPO1bvszLC8V87ko/AAAAAElFTkSuQmCC',
8
+ },
9
+ online: {
10
+ uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAWlBMVEUAAABusAVusAVusAVusAVusAVusAVusAVusAVusAVusAVusAVusAVusAVusAVusAVusAVusAVusAX////N4bi61517tivn8d3e7NL3+vTE3Kux0o6nzH6GvEWFZ26xAAAAEnRSTlMA8eNrEQj6syHTeXrKshzZ19JHa6QpAAAApUlEQVQoz4WS6w7CIAyFBwwGbE5th87b+7+mCDXcIp4/NN9J2tJ2+KdRTFyx0yTGAkvLgMRmmbg2kMnoL185FOIr5Vmg0hKzWWhkQz+sNdinN1Eg9wyP8MYh5xvewjt5gxcct9iYN1SIXvsj46C8EWvfEZ0jTsYxRJcrYuLAqTg5xKm4AHL2xEH8/GBvJIM819xIWkc9dt1ZFEnO+WrbY1CcjqGnN0xiGcyuKFtcAAAAAElFTkSuQmCC',
11
+ },
12
+ away: {
13
+ uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAP1BMVEUAAAD6yRT6yRT6yRT6yRT6yRT6yRT6yRT6yRT6yRT6yRT6yRT////6zCP95pH95Yv++OL84Hn822T72FT71EUen9LHAAAAC3RSTlMA6rVlCuWgmGJeBd4LCPMAAAB8SURBVCjPnZFLDoAgDERtQUUH/97/rCYNJUITTXjLeYu2064Z75gAYufLfOqR6KdXPI94Mc5ZDCgYNA8piHGBENJcqgV5EQ61gBPBVrAIsoJEwArUYi0EIbFlQ+VwHGpY11XOGDdZVw/MXPstB2olFeGnRFv796Psa1t5ANwFDZEW8B8sAAAAAElFTkSuQmCC',
14
+ },
15
+ dnd: {
16
+ uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAQlBMVEUAAADpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABv////wfYT86errJjiR9OLxAAAAEXRSTlMA4/CzeQj602seEhEk89jKakfnNfsAAACKSURBVCjPhZFbDoQgDEWBQkHBR2d0/1udEppR0cbzeU9SSq95I69gcZphzZc4eEeC8+HIh0gn4vDPLV2wYsJCHUub5umGr/no7sKNLBI9kFjAkwAWbaX9K+xtMRZIle0jbFRBFpMmZmWU8ri+rv5B/SQmxD6PUknpz16MUJSi9GqZnMAiWkjZvPADxcoYalVfnOMAAAAASUVORK5CYII=',
17
+ },
18
+ blocked: {
19
+ uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAAe1BMVEUAAADpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABv////pABv83uHqCiTsJz7rGjP7zNHvRVj/+vv+8vP6x83sIzv2mqXsKD/7zNL5v8b3oqz2maTuP1P82Nz819vtKUDrGjLrGTK2dyGvAAAAEXRSTlMA8dSzeQj64mseEhHkJMpq5T3coEAAAADSSURBVCjPhdHZFoIgFAVQGQRLGzhQiaLNw/9/YZRk4IvncZ+17uJys7mUGyYFoWxTJpxzghDC878vKFBftLX6UgN0MXqF/qRCTg5VaPI1ro36Re+MWQ/TOPrEXw7840uCNvb9oQVZ+qJAnbpSNQpfMHQTVx2YLyT0xJWG9IWAnbiyEL4gaCKPCopb7P9RDOeJqzNYeG7i3+eGBVMPC2Yczpn9cfTmAT58IoV5Rn4FDSdZbY1rxzk9qpXHofkcqtO2uXfhUHOn9SkLJoWQrCizmbwBa5IbuX8ugpIAAAAASUVORK5CYII=',
20
+ },
21
+ busy: {
22
+ uri: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAANlBMVEUAAADpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvpABvsgIdoAAAAEXRSTlMA8eLUEQj6s2sheXrlyrJqHBqb3nMAAAB/SURBVCjPhZFRDsQgCEQFEdS223L/yy7JummtGN/nvASUCSvoFGSIclIXpwragC3deYn6IJZ/fqF24NXmHPri+E2rOlCDQTAKIBNZHbKJjyfEBHoCTbAn2ATMRPRHzZfPn+t/cH4SIw3rY2p17H2+l0VRRtr8ag3KgswomcKCL1NmGBp9lqsZAAAAAElFTkSuQmCC',
23
+ },
24
+ };
25
+ // TODO: Need icons for the OOF statuses
26
+ var presenceOOFIconCache = presenceIconCache;
27
+ function getPresenceIconSource(presence, isOutOfOffice) {
28
+ return isOutOfOffice ? presenceOOFIconCache[presence] : presenceIconCache[presence];
29
+ }
30
+ exports.getPresenceIconSource = getPresenceIconSource;
31
+ var sizeTable = {
32
+ size8: { physicalSize: 8, iconSize: 0, iconStrokeWidth: 0, initialsSize: 4 },
33
+ size24: { physicalSize: 24, iconSize: 8, iconStrokeWidth: 2, initialsSize: 10 },
34
+ size32: { physicalSize: 32, iconSize: 8, iconStrokeWidth: 2, initialsSize: 12 },
35
+ size40: { physicalSize: 40, iconSize: 12, iconStrokeWidth: 2, initialsSize: 14 },
36
+ size48: { physicalSize: 48, iconSize: 12, iconStrokeWidth: 2, initialsSize: 16 },
37
+ size56: { physicalSize: 56, iconSize: 16, iconStrokeWidth: 3, initialsSize: 18 },
38
+ size72: { physicalSize: 72, iconSize: 20, iconStrokeWidth: 3, initialsSize: 20 },
39
+ size100: { physicalSize: 100, iconSize: 28, iconStrokeWidth: 4, initialsSize: 36 },
40
+ size120: { physicalSize: 120, iconSize: 32, iconStrokeWidth: 4, initialsSize: 40 },
41
+ };
42
+ function getSizeConfig(size) {
43
+ return sizeTable[size];
44
+ }
45
+ exports.getSizeConfig = getSizeConfig;
46
+ var colorTableFluent = {
47
+ cornflower: theme_tokens_1.globalTokens.color.cornflower.primary,
48
+ blue: theme_tokens_1.globalTokens.color.blue.primary,
49
+ royalBlue: theme_tokens_1.globalTokens.color.royalBlue.primary,
50
+ teal: theme_tokens_1.globalTokens.color.teal.primary,
51
+ forest: theme_tokens_1.globalTokens.color.forest.primary,
52
+ darkGreen: theme_tokens_1.globalTokens.color.darkGreen.primary,
53
+ berry: theme_tokens_1.globalTokens.color.berry.primary,
54
+ hotPink: theme_tokens_1.globalTokens.color.hotPink.primary,
55
+ grape: theme_tokens_1.globalTokens.color.grape.primary,
56
+ purple: theme_tokens_1.globalTokens.color.purple.primary,
57
+ pumpkin: theme_tokens_1.globalTokens.color.pumpkin.primary,
58
+ red: theme_tokens_1.globalTokens.color.red.primary,
59
+ burgundy: theme_tokens_1.globalTokens.color.burgundy.primary,
60
+ orchid: theme_tokens_1.globalTokens.color.orchid.primary,
61
+ brass: theme_tokens_1.globalTokens.color.brass.primary,
62
+ darkRed: theme_tokens_1.globalTokens.color.darkRed.primary,
63
+ beige: theme_tokens_1.globalTokens.color.beige.primary,
64
+ platinum: theme_tokens_1.globalTokens.color.platinum.primary,
65
+ steel: theme_tokens_1.globalTokens.color.steel.primary,
66
+ brown: theme_tokens_1.globalTokens.color.brown.primary,
67
+ };
68
+ /**
69
+ * Converts the AvatarColor into a hex color value
70
+ */
71
+ function convertCoinColorFluent(coinColor) {
72
+ return colorTableFluent[coinColor];
73
+ }
74
+ exports.convertCoinColorFluent = convertCoinColorFluent;
75
+ function calculateEffectiveSizes(tokens) {
76
+ var size = tokens.size, avatarSize = tokens.avatarSize, iconSize = tokens.iconSize, iconStrokeWidth = tokens.iconStrokeWidth, initialsSize = tokens.initialsSize;
77
+ if (size) {
78
+ return sizeTable[size];
79
+ }
80
+ else {
81
+ var _a = sizeTable['size40'], defaultPhysicalSize = _a.physicalSize, defaultIconSize = _a.iconSize, defaultIconStrokeWidth = _a.iconStrokeWidth, defaultInitialsSize = _a.initialsSize;
82
+ return {
83
+ physicalSize: avatarSize || defaultPhysicalSize,
84
+ iconSize: iconSize || defaultIconSize,
85
+ iconStrokeWidth: iconStrokeWidth || defaultIconStrokeWidth,
86
+ initialsSize: initialsSize || defaultInitialsSize,
87
+ };
88
+ }
89
+ }
90
+ exports.calculateEffectiveSizes = calculateEffectiveSizes;
91
+ function getRingThickness(thickness) {
92
+ switch (thickness) {
93
+ case 'xSmall':
94
+ return 1;
95
+ case 'small':
96
+ return 1;
97
+ case 'medium':
98
+ return 2;
99
+ case 'large':
100
+ return 2;
101
+ case 'xlarge':
102
+ return 2;
103
+ case 'xxlarge':
104
+ return 4;
105
+ default:
106
+ return thickness < 0 ? 4 : thickness;
107
+ }
108
+ }
109
+ exports.getRingThickness = getRingThickness;
110
+ //# sourceMappingURL=JSAvatar.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatar.helpers.js","sourceRoot":"","sources":["../src/JSAvatar.helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __rest = (this && this.__rest) || function (s, e) {
14
+ var t = {};
15
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
16
+ t[p] = s[p];
17
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
18
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
19
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
20
+ t[p[i]] = s[p[i]];
21
+ }
22
+ return t;
23
+ };
24
+ Object.defineProperty(exports, "__esModule", { value: true });
25
+ /** @jsx withSlots */
26
+ var react_native_1 = require("react-native");
27
+ var JSAvatar_types_1 = require("./JSAvatar.types");
28
+ var JSAvatar_styling_1 = require("./JSAvatar.styling");
29
+ var framework_1 = require("@fluentui-react-native/framework");
30
+ var useAvatar_1 = require("./useAvatar");
31
+ /**
32
+ * A function which determines if a set of styles should be applied to the compoent given the current state and props of the avatar.
33
+ *
34
+ * @param layer The name of the state that is being checked for
35
+ * @param state The current state of the avatar
36
+ * @param userProps The props that were passed into the avatar
37
+ * @returns Whether the styles that are assigned to the layer should be applied to the avatar
38
+ */
39
+ exports.avatarLookup = function (layer, state, userProps) {
40
+ return state[layer] || userProps[layer] || layer === userProps['shape'] || (!userProps['shape'] && layer === 'circular');
41
+ };
42
+ exports.JSAvatar = framework_1.compose(__assign(__assign({ displayName: JSAvatar_types_1.JSAvatarName }, JSAvatar_styling_1.stylingSettings), { slots: {
43
+ root: react_native_1.View,
44
+ photo: react_native_1.Image,
45
+ initials: react_native_1.Text,
46
+ initialsBackground: react_native_1.View,
47
+ icon: react_native_1.Image,
48
+ ring: react_native_1.View,
49
+ glow: react_native_1.View,
50
+ }, render: function (userProps, useSlots) {
51
+ var avatar = useAvatar_1.useAvatar(userProps);
52
+ var Slots = useSlots(userProps, function (layer) { return exports.avatarLookup(layer, avatar.state, userProps); });
53
+ return function (final) {
54
+ var _a = framework_1.mergeProps(avatar.props, final), children = _a.children, accessibilityLabel = _a.accessibilityLabel, mergedProps = __rest(_a, ["children", "accessibilityLabel"]);
55
+ var _b = avatar.state, personaPhotoSource = _b.personaPhotoSource, iconSource = _b.iconSource, showRing = _b.showRing, transparentRing = _b.transparentRing;
56
+ return (framework_1.withSlots(Slots.root, __assign({}, mergedProps),
57
+ personaPhotoSource ? (framework_1.withSlots(Slots.photo, { accessibilityLabel: accessibilityLabel, source: personaPhotoSource })) : (framework_1.withSlots(Slots.initialsBackground, null,
58
+ framework_1.withSlots(Slots.initials, null, children))),
59
+ showRing && !transparentRing && framework_1.withSlots(Slots.ring, null),
60
+ showRing && framework_1.withSlots(Slots.glow, null),
61
+ !!iconSource && !!iconSource.uri && framework_1.withSlots(Slots.icon, { source: iconSource })));
62
+ };
63
+ } }));
64
+ //# sourceMappingURL=JSAvatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatar.js","sourceRoot":"","sources":["../src/JSAvatar.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA,qBAAqB;AACrB,6CAAiD;AACjD,mDAA4F;AAC5F,uDAAqD;AACrD,8DAA4F;AAC5F,yCAAwC;AAExC;;;;;;;GAOG;AACU,QAAA,YAAY,GAAG,UAAC,KAAa,EAAE,KAAoB,EAAE,SAAwB;IACxF,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,KAAK,KAAK,UAAU,CAAC,CAAC;AAC3H,CAAC,CAAC;AAEW,QAAA,QAAQ,GAAG,mBAAO,qBAC7B,WAAW,EAAE,6BAAY,IACtB,kCAAe,KAClB,KAAK,EAAE;QACL,IAAI,EAAE,mBAAI;QACV,KAAK,EAAE,oBAAK;QACZ,QAAQ,EAAE,mBAAI;QACd,kBAAkB,EAAE,mBAAI;QACxB,IAAI,EAAE,oBAAK;QACX,IAAI,EAAE,mBAAI;QACV,IAAI,EAAE,mBAAI;KACX,EACD,MAAM,EAAE,UAAC,SAAwB,EAAE,QAAgC;QACjE,IAAM,MAAM,GAAG,qBAAS,CAAC,SAAS,CAAC,CAAC;QACpC,IAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,EAAE,UAAC,KAAK,IAAK,OAAA,oBAAY,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,EAA5C,CAA4C,CAAC,CAAC;QAE3F,OAAO,UAAC,KAAoB;YAC1B,IAAM,gDAAkF,EAAhF,sBAAQ,EAAE,0CAAkB,EAAE,4DAAkD,CAAC;YACnF,IAAA,iBAA4E,EAA1E,0CAAkB,EAAE,0BAAU,EAAE,sBAAQ,EAAE,oCAAgC,CAAC;YAEnF,OAAO,CACL,sBAAC,KAAK,CAAC,IAAI,eAAK,WAAW;gBACxB,kBAAkB,CAAC,CAAC,CAAC,CACpB,sBAAC,KAAK,CAAC,KAAK,IAAC,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,GAAI,CACpF,CAAC,CAAC,CAAC,CACF,sBAAC,KAAK,CAAC,kBAAkB;oBACvB,sBAAC,KAAK,CAAC,QAAQ,QAAE,QAAQ,CAAkB,CAClB,CAC5B;gBACA,QAAQ,IAAI,CAAC,eAAe,IAAI,sBAAC,KAAK,CAAC,IAAI,OAAG;gBAC9C,QAAQ,IAAI,sBAAC,KAAK,CAAC,IAAI,OAAG;gBAC1B,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,GAAG,IAAI,sBAAC,KAAK,CAAC,IAAI,IAAC,MAAM,EAAE,UAAU,GAAI,CAC5D,CACd,CAAC;QACJ,CAAC,CAAC;IACJ,CAAC,IACD,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { JSAvatarTokens, AvatarSlotProps, JSAvatarProps } from './JSAvatar.types';
2
+ import { UseStylingOptions } from '@fluentui-react-native/framework';
3
+ export declare const avatarStates: (keyof JSAvatarTokens)[];
4
+ export declare const stylingSettings: UseStylingOptions<JSAvatarProps, AvatarSlotProps, JSAvatarTokens>;
5
+ //# sourceMappingURL=JSAvatar.styling.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatar.styling.d.ts","sourceRoot":"","sources":["../src/JSAvatar.styling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,cAAc,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAChG,OAAO,EAAS,iBAAiB,EAAc,MAAM,kCAAkC,CAAC;AAYxF,eAAO,MAAM,YAAY,EAAE,CAAC,MAAM,cAAc,CAAC,EAA2B,CAAC;AAE7E,eAAO,MAAM,eAAe,EAAE,iBAAiB,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,CAmJ7F,CAAC"}
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArrays = (this && this.__spreadArrays) || function () {
14
+ for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;
15
+ for (var r = Array(s), k = 0, i = 0; i < il; i++)
16
+ for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)
17
+ r[k] = a[j];
18
+ return r;
19
+ };
20
+ Object.defineProperty(exports, "__esModule", { value: true });
21
+ var JSAvatar_types_1 = require("./JSAvatar.types");
22
+ var framework_1 = require("@fluentui-react-native/framework");
23
+ var JSAvatarTokens_1 = require("./JSAvatarTokens");
24
+ var JSAvatar_helpers_1 = require("./JSAvatar.helpers");
25
+ var tokens_1 = require("@fluentui-react-native/tokens");
26
+ var nameMap = {
27
+ start: 'flex-start',
28
+ center: 'center',
29
+ end: 'flex-end',
30
+ };
31
+ exports.avatarStates = ['circular', 'square'];
32
+ exports.stylingSettings = {
33
+ tokens: [JSAvatarTokens_1.defaultJSAvatarTokens, JSAvatar_types_1.JSAvatarName],
34
+ states: exports.avatarStates,
35
+ slotProps: {
36
+ root: framework_1.buildProps(function (tokens) {
37
+ var physicalSize = JSAvatar_helpers_1.calculateEffectiveSizes(tokens).physicalSize;
38
+ var horizontalIconAlignment = tokens.horizontalIconAlignment, verticalIconAlignment = tokens.verticalIconAlignment;
39
+ return {
40
+ style: {
41
+ flexDirection: 'row',
42
+ width: physicalSize,
43
+ height: physicalSize,
44
+ justifyContent: nameMap[horizontalIconAlignment || 'end'],
45
+ alignItems: nameMap[verticalIconAlignment || 'end'],
46
+ horizontalIconAlignment: horizontalIconAlignment,
47
+ verticalIconAlignment: verticalIconAlignment,
48
+ },
49
+ };
50
+ }, ['horizontalIconAlignment', 'verticalIconAlignment']),
51
+ initials: framework_1.buildProps(function (tokens) {
52
+ var initialsSize = JSAvatar_helpers_1.calculateEffectiveSizes(tokens).initialsSize;
53
+ return {
54
+ style: {
55
+ fontSize: initialsSize,
56
+ },
57
+ };
58
+ }, ['initialsSize']),
59
+ initialsBackground: framework_1.buildProps(function (tokens, theme) {
60
+ var physicalSize = JSAvatar_helpers_1.calculateEffectiveSizes(tokens).physicalSize;
61
+ var backgroundColor = tokens.backgroundColor, coinColorFluent = tokens.coinColorFluent;
62
+ var effectiveBackgroundColor = backgroundColor;
63
+ if (coinColorFluent) {
64
+ effectiveBackgroundColor = JSAvatar_helpers_1.convertCoinColorFluent(coinColorFluent);
65
+ }
66
+ return {
67
+ style: __assign(__assign({}, tokens_1.borderStyles.from(tokens, theme)), { width: physicalSize, height: physicalSize, flexGrow: 1, alignSelf: 'stretch', justifyContent: 'center', alignItems: 'center', backgroundColor: effectiveBackgroundColor }),
68
+ };
69
+ }, __spreadArrays(['coinColorFluent', 'backgroundColor', 'physicalSize'], tokens_1.borderStyles.keys)),
70
+ photo: framework_1.buildProps(function (tokens) {
71
+ var physicalSize = JSAvatar_helpers_1.calculateEffectiveSizes(tokens).physicalSize;
72
+ return {
73
+ style: {
74
+ borderRadius: tokens.borderRadius,
75
+ width: physicalSize,
76
+ height: physicalSize,
77
+ },
78
+ };
79
+ }, ['physicalSize', 'borderRadius']),
80
+ icon: framework_1.buildProps(function (tokens, theme) {
81
+ var _a = JSAvatar_helpers_1.calculateEffectiveSizes(tokens), iconSize = _a.iconSize, iconStrokeWidth = _a.iconStrokeWidth;
82
+ var iconSizeAdjusted = iconSize + iconStrokeWidth * 2;
83
+ var iconStrokeColor = tokens.iconStrokeColor || theme.colors.background;
84
+ return {
85
+ style: {
86
+ position: 'absolute',
87
+ width: iconSizeAdjusted,
88
+ height: iconSizeAdjusted,
89
+ bottom: -iconStrokeWidth,
90
+ end: -iconStrokeWidth,
91
+ borderRadius: iconSizeAdjusted / 2,
92
+ borderWidth: iconStrokeWidth,
93
+ borderColor: iconStrokeColor,
94
+ },
95
+ };
96
+ }, ['iconSize', 'iconStrokeWidth', 'iconStrokeColor']),
97
+ ring: framework_1.buildProps(function (tokens, theme) {
98
+ var physicalSize = JSAvatar_helpers_1.calculateEffectiveSizes(tokens).physicalSize;
99
+ var ring = tokens.ring;
100
+ if (!ring)
101
+ return {};
102
+ var innerGap = ring.innerGap != undefined ? JSAvatar_helpers_1.getRingThickness(ring.innerGap) : JSAvatar_helpers_1.getRingThickness(ring.ringThickness || 'xxlarge');
103
+ var effectiveRingThickness = 2 * JSAvatar_helpers_1.getRingThickness(ring.ringThickness || 'xxlarge') + innerGap;
104
+ var effectiveSize = physicalSize + 2 * effectiveRingThickness;
105
+ var ringColor = ring.ringBackgroundColor || theme.colors.personaActivityRing;
106
+ return {
107
+ style: __assign({ borderStyle: 'solid', borderColor: ringColor, borderWidth: effectiveRingThickness, width: effectiveSize, height: effectiveSize, position: 'absolute', top: -effectiveRingThickness, left: -effectiveRingThickness }, tokens_1.borderStyles.from(tokens, theme)),
108
+ };
109
+ }, __spreadArrays(['physicalSize', 'ring', 'physicalSize'], tokens_1.borderStyles.keys)),
110
+ glow: framework_1.buildProps(function (tokens, theme) {
111
+ var physicalSize = JSAvatar_helpers_1.calculateEffectiveSizes(tokens).physicalSize;
112
+ var ring = tokens.ring;
113
+ if (!ring)
114
+ return {};
115
+ var innerGap = ring.innerGap != undefined ? JSAvatar_helpers_1.getRingThickness(ring.innerGap) : JSAvatar_helpers_1.getRingThickness(ring.ringThickness || 'xxlarge');
116
+ var effectiveRingThickness = JSAvatar_helpers_1.getRingThickness(ring.ringThickness || 'xxlarge') + innerGap;
117
+ var effectiveSize = physicalSize + 2 * effectiveRingThickness;
118
+ var glowColor = ring.accent ? theme.colors.accentButtonBackground : ring.ringColor || theme.colors.personaActivityGlow;
119
+ return {
120
+ style: __assign({ borderStyle: 'solid', borderColor: glowColor, borderWidth: effectiveRingThickness - innerGap, width: effectiveSize, height: effectiveSize, position: 'absolute', top: -effectiveRingThickness, left: -effectiveRingThickness }, tokens_1.borderStyles.from(tokens, theme)),
121
+ };
122
+ }, __spreadArrays(['physicalSize', 'ring'], tokens_1.borderStyles.keys)),
123
+ },
124
+ };
125
+ //# sourceMappingURL=JSAvatar.styling.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"JSAvatar.styling.js","sourceRoot":"","sources":["../src/JSAvatar.styling.ts"],"names":[],"mappings":"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"}