@availity/mui-avatar 0.1.19 → 0.2.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 +12 -0
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +39 -2
- package/dist/index.mjs +39 -2
- package/package.json +4 -2
- package/src/lib/Avatar.stories.tsx +5 -1
- package/src/lib/Avatar.tsx +24 -3
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,18 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [0.2.1](https://github.com/Availity/element/compare/@availity/mui-avatar@0.2.0...@availity/mui-avatar@0.2.1) (2024-08-05)
|
|
6
|
+
|
|
7
|
+
### Dependency Updates
|
|
8
|
+
|
|
9
|
+
* `mui-icon` updated to version `0.2.0`
|
|
10
|
+
## [0.2.0](https://github.com/Availity/element/compare/@availity/mui-avatar@0.1.19...@availity/mui-avatar@0.2.0) (2024-08-01)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Features
|
|
14
|
+
|
|
15
|
+
* **mui-avatar:** get the user's avatar by default ([3a3e2e7](https://github.com/Availity/element/commit/3a3e2e7da6912d2e9e7d69f676a3e16a8838bfc7))
|
|
16
|
+
|
|
5
17
|
## [0.1.19](https://github.com/Availity/element/compare/@availity/mui-avatar@0.1.18...@availity/mui-avatar@0.1.19) (2024-07-22)
|
|
6
18
|
|
|
7
19
|
### Dependency Updates
|
package/dist/index.d.mts
CHANGED
|
@@ -5,6 +5,6 @@ interface AvatarProps extends Omit<AvatarProps$1, 'variant'> {
|
|
|
5
5
|
* @default xl */
|
|
6
6
|
size?: 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
7
7
|
}
|
|
8
|
-
declare const Avatar: ({ children, size, sx, ...rest }: AvatarProps) => JSX.Element;
|
|
8
|
+
declare const Avatar: ({ children, size, src, sx, ...rest }: AvatarProps) => JSX.Element;
|
|
9
9
|
|
|
10
10
|
export { Avatar, type AvatarProps };
|
package/dist/index.d.ts
CHANGED
|
@@ -5,6 +5,6 @@ interface AvatarProps extends Omit<AvatarProps$1, 'variant'> {
|
|
|
5
5
|
* @default xl */
|
|
6
6
|
size?: 'xs' | 's' | 'm' | 'l' | 'xl';
|
|
7
7
|
}
|
|
8
|
-
declare const Avatar: ({ children, size, sx, ...rest }: AvatarProps) => JSX.Element;
|
|
8
|
+
declare const Avatar: ({ children, size, src, sx, ...rest }: AvatarProps) => JSX.Element;
|
|
9
9
|
|
|
10
10
|
export { Avatar, type AvatarProps };
|
package/dist/index.js
CHANGED
|
@@ -55,6 +55,26 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
55
55
|
mod
|
|
56
56
|
));
|
|
57
57
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
58
|
+
var __async = (__this, __arguments, generator) => {
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
var fulfilled = (value) => {
|
|
61
|
+
try {
|
|
62
|
+
step(generator.next(value));
|
|
63
|
+
} catch (e) {
|
|
64
|
+
reject(e);
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
var rejected = (value) => {
|
|
68
|
+
try {
|
|
69
|
+
step(generator.throw(value));
|
|
70
|
+
} catch (e) {
|
|
71
|
+
reject(e);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
75
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
76
|
+
});
|
|
77
|
+
};
|
|
58
78
|
|
|
59
79
|
// src/index.ts
|
|
60
80
|
var src_exports = {};
|
|
@@ -65,7 +85,10 @@ module.exports = __toCommonJS(src_exports);
|
|
|
65
85
|
|
|
66
86
|
// src/lib/Avatar.tsx
|
|
67
87
|
var import_Avatar = __toESM(require("@mui/material/Avatar"));
|
|
88
|
+
var import_react = __toESM(require("react"));
|
|
68
89
|
var import_design_tokens = require("@availity/design-tokens");
|
|
90
|
+
var import_api_axios = require("@availity/api-axios");
|
|
91
|
+
var import_mui_icon = require("@availity/mui-icon");
|
|
69
92
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
70
93
|
var sizeStyling = {
|
|
71
94
|
xs: { width: 18, height: 18, fontSize: import_design_tokens.tokens.fontSizesCaption },
|
|
@@ -87,13 +110,27 @@ var formatChildren = (children, size) => {
|
|
|
87
110
|
return children;
|
|
88
111
|
};
|
|
89
112
|
var Avatar = (_a) => {
|
|
90
|
-
var _b = _a, { children, size = "xl", sx } = _b, rest = __objRest(_b, ["children", "size", "sx"]);
|
|
113
|
+
var _b = _a, { children, size = "xl", src, sx } = _b, rest = __objRest(_b, ["children", "size", "src", "sx"]);
|
|
114
|
+
const [avatar, setAvatar] = import_react.default.useState();
|
|
115
|
+
(0, import_react.useEffect)(() => {
|
|
116
|
+
const fetchAvatar = () => __async(void 0, null, function* () {
|
|
117
|
+
if (src) {
|
|
118
|
+
setAvatar(src);
|
|
119
|
+
} else {
|
|
120
|
+
const resp = yield import_api_axios.avSettingsApi.getApplication("AVATAR");
|
|
121
|
+
const avi = resp.data.settings[0].avatar;
|
|
122
|
+
setAvatar(avi);
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
fetchAvatar();
|
|
126
|
+
}, [src]);
|
|
91
127
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
92
128
|
import_Avatar.default,
|
|
93
129
|
__spreadProps(__spreadValues({}, rest), {
|
|
94
130
|
variant: "circular",
|
|
131
|
+
src: children ? void 0 : avatar,
|
|
95
132
|
sx: __spreadValues(__spreadValues({}, sx), sizeStyling[size] || sizeStyling.xl),
|
|
96
|
-
children: formatChildren(children, size)
|
|
133
|
+
children: children ? formatChildren(children, size) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_mui_icon.UserIcon, {})
|
|
97
134
|
})
|
|
98
135
|
);
|
|
99
136
|
};
|
package/dist/index.mjs
CHANGED
|
@@ -29,10 +29,33 @@ var __objRest = (source, exclude) => {
|
|
|
29
29
|
}
|
|
30
30
|
return target;
|
|
31
31
|
};
|
|
32
|
+
var __async = (__this, __arguments, generator) => {
|
|
33
|
+
return new Promise((resolve, reject) => {
|
|
34
|
+
var fulfilled = (value) => {
|
|
35
|
+
try {
|
|
36
|
+
step(generator.next(value));
|
|
37
|
+
} catch (e) {
|
|
38
|
+
reject(e);
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
var rejected = (value) => {
|
|
42
|
+
try {
|
|
43
|
+
step(generator.throw(value));
|
|
44
|
+
} catch (e) {
|
|
45
|
+
reject(e);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
49
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
50
|
+
});
|
|
51
|
+
};
|
|
32
52
|
|
|
33
53
|
// src/lib/Avatar.tsx
|
|
34
54
|
import { default as MuiAvatar } from "@mui/material/Avatar";
|
|
55
|
+
import React, { useEffect } from "react";
|
|
35
56
|
import { tokens } from "@availity/design-tokens";
|
|
57
|
+
import { avSettingsApi } from "@availity/api-axios";
|
|
58
|
+
import { UserIcon } from "@availity/mui-icon";
|
|
36
59
|
import { jsx } from "react/jsx-runtime";
|
|
37
60
|
var sizeStyling = {
|
|
38
61
|
xs: { width: 18, height: 18, fontSize: tokens.fontSizesCaption },
|
|
@@ -54,13 +77,27 @@ var formatChildren = (children, size) => {
|
|
|
54
77
|
return children;
|
|
55
78
|
};
|
|
56
79
|
var Avatar = (_a) => {
|
|
57
|
-
var _b = _a, { children, size = "xl", sx } = _b, rest = __objRest(_b, ["children", "size", "sx"]);
|
|
80
|
+
var _b = _a, { children, size = "xl", src, sx } = _b, rest = __objRest(_b, ["children", "size", "src", "sx"]);
|
|
81
|
+
const [avatar, setAvatar] = React.useState();
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
const fetchAvatar = () => __async(void 0, null, function* () {
|
|
84
|
+
if (src) {
|
|
85
|
+
setAvatar(src);
|
|
86
|
+
} else {
|
|
87
|
+
const resp = yield avSettingsApi.getApplication("AVATAR");
|
|
88
|
+
const avi = resp.data.settings[0].avatar;
|
|
89
|
+
setAvatar(avi);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
fetchAvatar();
|
|
93
|
+
}, [src]);
|
|
58
94
|
return /* @__PURE__ */ jsx(
|
|
59
95
|
MuiAvatar,
|
|
60
96
|
__spreadProps(__spreadValues({}, rest), {
|
|
61
97
|
variant: "circular",
|
|
98
|
+
src: children ? void 0 : avatar,
|
|
62
99
|
sx: __spreadValues(__spreadValues({}, sx), sizeStyling[size] || sizeStyling.xl),
|
|
63
|
-
children: formatChildren(children, size)
|
|
100
|
+
children: children ? formatChildren(children, size) : /* @__PURE__ */ jsx(UserIcon, {})
|
|
64
101
|
})
|
|
65
102
|
);
|
|
66
103
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@availity/mui-avatar",
|
|
3
|
-
"version": "0.1
|
|
3
|
+
"version": "0.2.1",
|
|
4
4
|
"description": "Availity MUI Avatar Component - part of the @availity/element design system",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"publish:canary": "yarn npm publish --access public --tag canary"
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@availity/mui-icon": "^0.
|
|
35
|
+
"@availity/mui-icon": "^0.10.0",
|
|
36
36
|
"@mui/material": "^5.15.15",
|
|
37
37
|
"react": "18.2.0",
|
|
38
38
|
"react-dom": "18.2.0",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"typescript": "^5.4.5"
|
|
41
41
|
},
|
|
42
42
|
"peerDependencies": {
|
|
43
|
+
"@availity/mui-icon": "^0.10.0",
|
|
43
44
|
"@mui/material": "^5.11.9",
|
|
44
45
|
"react": ">=16.3.0"
|
|
45
46
|
},
|
|
@@ -47,6 +48,7 @@
|
|
|
47
48
|
"access": "public"
|
|
48
49
|
},
|
|
49
50
|
"dependencies": {
|
|
51
|
+
"@availity/api-axios": "^9.0.0",
|
|
50
52
|
"@availity/design-tokens": "^0.13.2"
|
|
51
53
|
}
|
|
52
54
|
}
|
|
@@ -20,12 +20,16 @@ export default meta;
|
|
|
20
20
|
|
|
21
21
|
export const _Avatar: StoryObj<typeof Avatar> = {
|
|
22
22
|
render: (args: AvatarProps) => <Avatar {...args} />,
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export const _TextAvatar: StoryObj<typeof Avatar> = {
|
|
26
|
+
render: (args: AvatarProps) => <Avatar {...args} />,
|
|
23
27
|
args: {
|
|
24
28
|
children: 'John Doe',
|
|
25
29
|
},
|
|
26
30
|
};
|
|
27
31
|
|
|
28
|
-
export const
|
|
32
|
+
export const _CustomSrcAvatar: StoryObj<typeof Avatar> = {
|
|
29
33
|
render: (args: AvatarProps) => <Avatar {...args} />,
|
|
30
34
|
args: {
|
|
31
35
|
src: 'https://avatars.githubusercontent.com/u/329985?s=100',
|
package/src/lib/Avatar.tsx
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { default as MuiAvatar, AvatarProps as MuiAvatarProps } from '@mui/material/Avatar';
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { useEffect } from 'react';
|
|
3
3
|
import { tokens } from '@availity/design-tokens';
|
|
4
|
+
import { avSettingsApi } from '@availity/api-axios';
|
|
5
|
+
import { UserIcon } from '@availity/mui-icon';
|
|
4
6
|
|
|
5
7
|
export interface AvatarProps extends Omit<MuiAvatarProps, 'variant'> {
|
|
6
8
|
/** The size of the component.
|
|
@@ -32,17 +34,36 @@ const formatChildren = (children: React.ReactNode, size: 'xs' | 's' | 'm' | 'l'
|
|
|
32
34
|
return children;
|
|
33
35
|
};
|
|
34
36
|
|
|
35
|
-
export const Avatar = ({ children, size = 'xl', sx, ...rest }: AvatarProps): JSX.Element => {
|
|
37
|
+
export const Avatar = ({ children, size = 'xl', src, sx, ...rest }: AvatarProps): JSX.Element => {
|
|
38
|
+
const [avatar, setAvatar] = React.useState<string>();
|
|
39
|
+
|
|
40
|
+
useEffect(() => {
|
|
41
|
+
const fetchAvatar = async () => {
|
|
42
|
+
if (src) {
|
|
43
|
+
setAvatar(src);
|
|
44
|
+
} else {
|
|
45
|
+
const resp = await avSettingsApi.getApplication('AVATAR');
|
|
46
|
+
|
|
47
|
+
const avi = resp.data.settings[0].avatar;
|
|
48
|
+
|
|
49
|
+
setAvatar(avi);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
fetchAvatar();
|
|
54
|
+
}, [src]);
|
|
55
|
+
|
|
36
56
|
return (
|
|
37
57
|
<MuiAvatar
|
|
38
58
|
{...rest}
|
|
39
59
|
variant="circular"
|
|
60
|
+
src={children ? undefined : avatar}
|
|
40
61
|
sx={{
|
|
41
62
|
...sx,
|
|
42
63
|
...(sizeStyling[size] || sizeStyling.xl),
|
|
43
64
|
}}
|
|
44
65
|
>
|
|
45
|
-
{formatChildren(children, size)}
|
|
66
|
+
{children ? formatChildren(children, size) : <UserIcon />}
|
|
46
67
|
</MuiAvatar>
|
|
47
68
|
);
|
|
48
69
|
};
|