@hh.ru/magritte-ui-avatar 8.0.20 → 8.1.0
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/Avatar.js +99 -18
- package/Avatar.js.map +1 -1
- package/AvatarStack.js +1 -1
- package/Skeleton-BflYquLn.js +18 -0
- package/{Skeleton-BaTBum3r.js.map → Skeleton-BflYquLn.js.map} +1 -1
- package/Skeleton.js +1 -1
- package/index.css +494 -206
- package/index.js +3 -1
- package/index.js.map +1 -1
- package/package.json +3 -2
- package/types.d.ts +7 -1
- package/Skeleton-BaTBum3r.js +0 -18
package/Avatar.js
CHANGED
|
@@ -1,16 +1,61 @@
|
|
|
1
1
|
import './index.css';
|
|
2
|
-
import {
|
|
2
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
3
3
|
import { forwardRef, useState, useRef, useLayoutEffect } from 'react';
|
|
4
4
|
import classnames from 'classnames';
|
|
5
5
|
import { useDisabled } from '@hh.ru/magritte-common-use-disabled';
|
|
6
|
-
import { A as AvatarSkeleton, s as styles } from './Skeleton-
|
|
6
|
+
import { A as AvatarSkeleton, s as styles } from './Skeleton-BflYquLn.js';
|
|
7
7
|
import { AVATAR_TYPOGRAPHY_MAP, formatLetters } from './utils.js';
|
|
8
|
+
import { IconDynamic } from '@hh.ru/magritte-ui-icon';
|
|
9
|
+
import { PlayFilledSize24, PlayFilledSize16 } from '@hh.ru/magritte-ui-icon/variants/icon';
|
|
8
10
|
import { enrichWithSkeleton } from '@hh.ru/magritte-ui-skeleton';
|
|
9
11
|
import { BaseText } from '@hh.ru/magritte-ui-typography/BaseText';
|
|
10
12
|
|
|
11
|
-
const
|
|
13
|
+
const VIDEO_SIZE_MAP = {
|
|
14
|
+
208: {
|
|
15
|
+
Icon: PlayFilledSize24,
|
|
16
|
+
padding: 8,
|
|
17
|
+
},
|
|
18
|
+
120: {
|
|
19
|
+
Icon: PlayFilledSize16,
|
|
20
|
+
padding: 8,
|
|
21
|
+
},
|
|
22
|
+
96: {
|
|
23
|
+
Icon: PlayFilledSize16,
|
|
24
|
+
padding: 8,
|
|
25
|
+
},
|
|
26
|
+
80: {
|
|
27
|
+
Icon: PlayFilledSize16,
|
|
28
|
+
padding: 6,
|
|
29
|
+
},
|
|
30
|
+
};
|
|
31
|
+
const ACTION_ICON_SIZE_MAP = {
|
|
32
|
+
208: {
|
|
33
|
+
padding: 8,
|
|
34
|
+
},
|
|
35
|
+
120: {
|
|
36
|
+
padding: 6,
|
|
37
|
+
},
|
|
38
|
+
96: {
|
|
39
|
+
padding: 6,
|
|
40
|
+
},
|
|
41
|
+
80: {
|
|
42
|
+
padding: 6,
|
|
43
|
+
},
|
|
44
|
+
48: {
|
|
45
|
+
padding: 4,
|
|
46
|
+
},
|
|
47
|
+
40: {
|
|
48
|
+
padding: 4,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
const AvatarForwardRefRenderFunc = ({ mode, size = 24, 'aria-label': ariaLabel, shapeCircle = false, online = false, styleOnline = 'positive', disabled = false, letters, style, icon, image, video: _video, actionIconGlyph: ActionIcon, placeholder = 'undefined', Element = 'div', containerDataQa = '', ...avatarProps }, ref) => {
|
|
12
52
|
const [imageState, setImageState] = useState('loading');
|
|
13
53
|
const imageRef = useRef(null);
|
|
54
|
+
const withVideo = _video && !shapeCircle && size in VIDEO_SIZE_MAP;
|
|
55
|
+
const withActionIcon = !!ActionIcon && !online && size in ACTION_ICON_SIZE_MAP;
|
|
56
|
+
const isActive = !!avatarProps.onClick || Element === 'a';
|
|
57
|
+
let video = null;
|
|
58
|
+
let actionIcon = null;
|
|
14
59
|
const forceDisabled = useDisabled();
|
|
15
60
|
const isComponentDisabled = disabled || forceDisabled;
|
|
16
61
|
const isModeLetters = mode === 'letters';
|
|
@@ -28,6 +73,39 @@ const AvatarForwardRefRenderFunc = ({ mode, size = 24, 'aria-label': ariaLabel,
|
|
|
28
73
|
if (ref) {
|
|
29
74
|
additionalAttributes.ref = ref;
|
|
30
75
|
}
|
|
76
|
+
if (withVideo) {
|
|
77
|
+
const { Icon, padding } = VIDEO_SIZE_MAP[size];
|
|
78
|
+
const colorProps = {
|
|
79
|
+
initialColor: 'constant',
|
|
80
|
+
backgroundStyle: 'overlay',
|
|
81
|
+
...(isActive &&
|
|
82
|
+
{
|
|
83
|
+
highlightedColor: 'constant',
|
|
84
|
+
pressedColor: 'constant',
|
|
85
|
+
hoverBackgroundStyle: 'overlay',
|
|
86
|
+
pressedBackgroundStyle: 'overlay',
|
|
87
|
+
}),
|
|
88
|
+
};
|
|
89
|
+
video = (jsx("span", { className: styles.video, "data-qa": "avatar-video", children: jsx(Icon, { ...colorProps, padding: padding, borderRadius: 'halfHeight' }) }));
|
|
90
|
+
}
|
|
91
|
+
if (withActionIcon) {
|
|
92
|
+
const { padding } = ACTION_ICON_SIZE_MAP[size];
|
|
93
|
+
const colorProps = {
|
|
94
|
+
initialColor: 'constant',
|
|
95
|
+
backgroundStyle: 'accent',
|
|
96
|
+
...(isActive &&
|
|
97
|
+
{
|
|
98
|
+
highlightedColor: 'constant',
|
|
99
|
+
pressedColor: 'constant',
|
|
100
|
+
hoverBackgroundStyle: 'accent',
|
|
101
|
+
pressedBackgroundStyle: 'accent',
|
|
102
|
+
}),
|
|
103
|
+
};
|
|
104
|
+
actionIcon = (jsxs(Fragment, { children: [jsx("span", { className: styles[`avatar-focus-border-${size}`] }), jsx("span", { className: classnames(styles.actionIcon, {
|
|
105
|
+
[styles[`action-icon-square-size-${size}`]]: !shapeCircle,
|
|
106
|
+
[styles[`action-icon-circle-size-${size}`]]: !!shapeCircle,
|
|
107
|
+
}), "data-qa": "avatar-action", children: jsx(ActionIcon, { ...colorProps, padding: padding, borderRadius: 'halfHeight' }) })] }));
|
|
108
|
+
}
|
|
31
109
|
const classNames = {
|
|
32
110
|
[styles.avatar]: true,
|
|
33
111
|
[styles.avatarShapeCircle]: shapeCircle,
|
|
@@ -37,6 +115,8 @@ const AvatarForwardRefRenderFunc = ({ mode, size = 24, 'aria-label': ariaLabel,
|
|
|
37
115
|
[styles.avatarModePlaceholder]: isModePlaceholder,
|
|
38
116
|
[styles[`avatar_size-${size}`]]: !!size,
|
|
39
117
|
[styles[`avatar_with-online-badge-${size}`]]: online,
|
|
118
|
+
[styles[`avatar_with-action-icon`]]: withActionIcon,
|
|
119
|
+
[styles[`avatar_with-action-icon-${size}`]]: withActionIcon,
|
|
40
120
|
};
|
|
41
121
|
if ((isModeLetters || isModeIcon) && style) {
|
|
42
122
|
classNames[styles[`avatar_style-${style}`]] = !!style;
|
|
@@ -71,26 +151,27 @@ const AvatarForwardRefRenderFunc = ({ mode, size = 24, 'aria-label': ariaLabel,
|
|
|
71
151
|
imageElement.removeEventListener('error', handleOnError);
|
|
72
152
|
};
|
|
73
153
|
}, [image]);
|
|
74
|
-
return (
|
|
154
|
+
return (jsx("div", { ...(online || withVideo || !!ActionIcon || isComponentDisabled
|
|
75
155
|
? {
|
|
76
156
|
className: classnames({
|
|
77
|
-
[styles.avatarContainer]: online,
|
|
157
|
+
[styles.avatarContainer]: online || withVideo || !!ActionIcon,
|
|
78
158
|
[styles.avatarContainerDisabled]: isComponentDisabled,
|
|
79
|
-
[styles[`avatar-container_size-${size}`]]: online,
|
|
159
|
+
[styles[`avatar-container_size-${size}`]]: online || withVideo || !!ActionIcon,
|
|
160
|
+
[styles.active]: isActive,
|
|
80
161
|
}),
|
|
81
162
|
}
|
|
82
|
-
: {}), ...(containerDataQa ? { 'data-qa': containerDataQa } : {}), children: [jsxs(Element, { ...additionalAttributes, ...avatarProps, className: classnames(classNames), disabled: Element === 'button' ? isComponentDisabled : false, "aria-label": ariaLabel, children: [isModeLetters && (jsx(BaseText, { style: "primary", Element: "span", typography: AVATAR_TYPOGRAPHY_MAP[size], children: formatLetters(letters || '') })), isModeIcon && icon, isModePlaceholder && (jsx("div", { className: classnames({
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
163
|
+
: {}), ...(containerDataQa ? { 'data-qa': containerDataQa } : {}), children: jsx(IconDynamic, { children: jsxs("div", { children: [jsxs(Element, { ...additionalAttributes, ...avatarProps, className: classnames(classNames), disabled: Element === 'button' ? isComponentDisabled : false, "aria-label": ariaLabel, children: [isModeLetters && (jsx(BaseText, { style: "primary", Element: "span", typography: AVATAR_TYPOGRAPHY_MAP[size], children: formatLetters(letters || '') })), isModeIcon && icon, isModePlaceholder && (jsx("div", { className: classnames({
|
|
164
|
+
[styles.female]: placeholder === 'female',
|
|
165
|
+
[styles.male]: placeholder === 'male',
|
|
166
|
+
[styles.city]: placeholder === 'city',
|
|
167
|
+
[styles.undefined]: placeholder === 'undefined',
|
|
168
|
+
}), "data-qa": `placeholder-${placeholder}`, style: { width: size, height: size } })), isModeImage && (jsxs(Fragment, { children: [(imageState === 'loading' || imageState === 'loading-animation') && (jsx("div", { className: classnames(styles.avatarImageLoading, {
|
|
169
|
+
[styles[`avatar_size-${size}`]]: size,
|
|
170
|
+
[styles.avatarShapeCircle]: shapeCircle,
|
|
171
|
+
}) })), jsx("img", { ref: imageRef, alt: ariaLabel, className: classnames(styles.avatarImage, {
|
|
172
|
+
[styles.avatarImageHidden]: imageState === 'loading',
|
|
173
|
+
[styles.avatarImageAnimation]: imageState === 'loading-animation',
|
|
174
|
+
}) })] }))] }), online && (jsxs(Fragment, { children: [jsx("div", { className: styles[`avatar-focus-border-${size}`] }), jsx("div", { className: classnames(styles[`avatar-online-badge-${size}`], styles[`avatar-online-badge_style_${styleOnline}`]) })] })), actionIcon, video] }) }) }));
|
|
94
175
|
};
|
|
95
176
|
const AvatarComponent = forwardRef(AvatarForwardRefRenderFunc);
|
|
96
177
|
const Avatar = enrichWithSkeleton(AvatarComponent, AvatarSkeleton);
|
package/Avatar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sources":["src/Avatar.tsx"],"sourcesContent":["import { forwardRef, useLayoutEffect, useRef, useState } from 'react';\nimport classnames from 'classnames';\n\nimport { useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport type { PolymorphicForwardRefRenderFunc, PolymorphicComponentWithRef } from '@hh.ru/magritte-types';\nimport { AvatarSkeleton } from '@hh.ru/magritte-ui-avatar/Skeleton';\nimport type { AvatarProps } from '@hh.ru/magritte-ui-avatar/types';\nimport { AVATAR_TYPOGRAPHY_MAP, formatLetters } from '@hh.ru/magritte-ui-avatar/utils';\nimport { enrichWithSkeleton } from '@hh.ru/magritte-ui-skeleton';\nimport { BaseText } from '@hh.ru/magritte-ui-typography/BaseText';\n\nimport styles from './avatar.less';\n\nconst AvatarForwardRefRenderFunc: PolymorphicForwardRefRenderFunc<AvatarProps, 'div'> = (\n {\n mode,\n size = 24,\n 'aria-label': ariaLabel,\n shapeCircle = false,\n online = false,\n styleOnline = 'positive',\n disabled = false,\n letters,\n style,\n icon,\n image,\n placeholder = 'undefined',\n Element = 'div',\n containerDataQa = '',\n ...avatarProps\n },\n ref\n) => {\n const [imageState, setImageState] = useState<'loading' | 'loading-animation' | 'loaded' | 'error'>('loading');\n const imageRef = useRef<HTMLImageElement>(null);\n\n const forceDisabled = useDisabled();\n\n const isComponentDisabled = disabled || forceDisabled;\n\n const isModeLetters = mode === 'letters';\n const isModeIcon = mode === 'icon';\n const isModePlaceholder = mode === 'placeholder' || (mode === 'image' && imageState === 'error');\n const isModeImage = mode === 'image' && imageState !== 'error';\n\n const additionalAttributes: Record<string, unknown> = {};\n\n if (Element === 'button') {\n additionalAttributes.type = 'button';\n }\n\n if (isComponentDisabled && Element === 'a') {\n additionalAttributes['aria-disabled'] = true;\n additionalAttributes.tabIndex = -1;\n }\n\n if (ref) {\n additionalAttributes.ref = ref;\n }\n\n const classNames = {\n [styles.avatar]: true,\n [styles.avatarShapeCircle]: shapeCircle,\n [styles.avatarModeImage]: mode === 'image' && imageState === 'loaded',\n [styles.avatarModeLetters]: isModeLetters,\n [styles.avatarModeIcon]: isModeIcon,\n [styles.avatarModePlaceholder]: isModePlaceholder,\n [styles[`avatar_size-${size}`]]: !!size,\n [styles[`avatar_with-online-badge-${size}`]]: online,\n };\n\n if ((isModeLetters || isModeIcon) && style) {\n classNames[styles[`avatar_style-${style}`]] = !!style;\n }\n\n useLayoutEffect(() => {\n const imageElement = imageRef.current;\n if (!imageElement || !image) {\n return void 0;\n }\n\n const loadingStartTime = Date.now();\n\n const handleOnLoad = () => {\n // если картинка грузилась дольше 300мс, анимируем прозрачность, иначе показываем без анимации\n if (Date.now() - loadingStartTime > 300) {\n const handleAnimationEnd = () => {\n imageElement.removeEventListener('animationend', handleAnimationEnd);\n setImageState('loaded');\n };\n imageElement.addEventListener('animationend', handleAnimationEnd);\n setImageState('loading-animation');\n } else {\n setImageState('loaded');\n }\n };\n\n const handleOnError = () => setImageState('error');\n\n imageRef.current.addEventListener('load', handleOnLoad);\n imageRef.current.addEventListener('error', handleOnError);\n imageRef.current.src = image;\n setImageState('loading');\n\n return () => {\n imageElement.removeEventListener('load', handleOnLoad);\n imageElement.removeEventListener('error', handleOnError);\n };\n }, [image]);\n\n return (\n <div\n {...(online || isComponentDisabled\n ? {\n className: classnames({\n [styles.avatarContainer]: online,\n [styles.avatarContainerDisabled]: isComponentDisabled,\n [styles[`avatar-container_size-${size}`]]: online,\n }),\n }\n : {})}\n {...(containerDataQa ? { 'data-qa': containerDataQa } : {})}\n >\n <Element\n {...additionalAttributes}\n {...avatarProps}\n className={classnames(classNames)}\n disabled={Element === 'button' ? isComponentDisabled : false}\n aria-label={ariaLabel}\n >\n {isModeLetters && (\n <BaseText style=\"primary\" Element=\"span\" typography={AVATAR_TYPOGRAPHY_MAP[size]}>\n {formatLetters(letters || '')}\n </BaseText>\n )}\n {isModeIcon && icon}\n {isModePlaceholder && (\n <div\n className={classnames({\n [styles.female]: placeholder === 'female',\n [styles.male]: placeholder === 'male',\n [styles.city]: placeholder === 'city',\n [styles.undefined]: placeholder === 'undefined',\n })}\n data-qa={`placeholder-${placeholder}`}\n style={{ width: size, height: size }}\n />\n )}\n {isModeImage && (\n <>\n {(imageState === 'loading' || imageState === 'loading-animation') && (\n <div\n className={classnames(styles.avatarImageLoading, {\n [styles[`avatar_size-${size}`]]: size,\n [styles.avatarShapeCircle]: shapeCircle,\n })}\n />\n )}\n <img\n ref={imageRef}\n alt={ariaLabel}\n className={classnames(styles.avatarImage, {\n [styles.avatarImageHidden]: imageState === 'loading',\n [styles.avatarImageAnimation]: imageState === 'loading-animation',\n })}\n />\n </>\n )}\n </Element>\n {online && (\n <>\n <div className={styles[`avatar-focus-border-${size}`]} />\n <div\n className={classnames(\n styles[`avatar-online-badge-${size}`],\n styles[`avatar-online-badge_style_${styleOnline}`]\n )}\n />\n </>\n )}\n </div>\n );\n};\n\nconst AvatarComponent = forwardRef(AvatarForwardRefRenderFunc) as PolymorphicComponentWithRef<AvatarProps, 'div'>;\n\nexport const Avatar = enrichWithSkeleton(AvatarComponent, AvatarSkeleton);\n"],"names":["_jsxs","_jsx","_Fragment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Avatar.js","sources":["src/Avatar.tsx"],"sourcesContent":["import { forwardRef, useLayoutEffect, useRef, useState } from 'react';\nimport classnames from 'classnames';\n\nimport { useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport type { PolymorphicForwardRefRenderFunc, PolymorphicComponentWithRef } from '@hh.ru/magritte-types';\nimport { AvatarSkeleton } from '@hh.ru/magritte-ui-avatar/Skeleton';\nimport type { AvatarProps } from '@hh.ru/magritte-ui-avatar/types';\nimport { AVATAR_TYPOGRAPHY_MAP, formatLetters } from '@hh.ru/magritte-ui-avatar/utils';\nimport { IconDynamic } from '@hh.ru/magritte-ui-icon';\nimport { PlayFilledSize16, PlayFilledSize24 } from '@hh.ru/magritte-ui-icon/variants/icon';\nimport { enrichWithSkeleton } from '@hh.ru/magritte-ui-skeleton';\nimport { BaseText } from '@hh.ru/magritte-ui-typography/BaseText';\n\nimport styles from './avatar.less';\n\nconst VIDEO_SIZE_MAP = {\n 208: {\n Icon: PlayFilledSize24,\n padding: 8,\n },\n 120: {\n Icon: PlayFilledSize16,\n padding: 8,\n },\n 96: {\n Icon: PlayFilledSize16,\n padding: 8,\n },\n 80: {\n Icon: PlayFilledSize16,\n padding: 6,\n },\n} as const;\n\nconst ACTION_ICON_SIZE_MAP = {\n 208: {\n padding: 8,\n },\n 120: {\n padding: 6,\n },\n 96: {\n padding: 6,\n },\n 80: {\n padding: 6,\n },\n 48: {\n padding: 4,\n },\n 40: {\n padding: 4,\n },\n} as const;\n\nconst AvatarForwardRefRenderFunc: PolymorphicForwardRefRenderFunc<AvatarProps, 'div'> = (\n {\n mode,\n size = 24,\n 'aria-label': ariaLabel,\n shapeCircle = false,\n online = false,\n styleOnline = 'positive',\n disabled = false,\n letters,\n style,\n icon,\n image,\n video: _video,\n actionIconGlyph: ActionIcon,\n placeholder = 'undefined',\n Element = 'div',\n containerDataQa = '',\n ...avatarProps\n },\n ref\n) => {\n const [imageState, setImageState] = useState<'loading' | 'loading-animation' | 'loaded' | 'error'>('loading');\n const imageRef = useRef<HTMLImageElement>(null);\n const withVideo = _video && !shapeCircle && size in VIDEO_SIZE_MAP;\n const withActionIcon = !!ActionIcon && !online && size in ACTION_ICON_SIZE_MAP;\n const isActive = !!avatarProps.onClick || Element === 'a';\n let video = null;\n let actionIcon = null;\n\n const forceDisabled = useDisabled();\n\n const isComponentDisabled = disabled || forceDisabled;\n\n const isModeLetters = mode === 'letters';\n const isModeIcon = mode === 'icon';\n const isModePlaceholder = mode === 'placeholder' || (mode === 'image' && imageState === 'error');\n const isModeImage = mode === 'image' && imageState !== 'error';\n\n const additionalAttributes: Record<string, unknown> = {};\n\n if (Element === 'button') {\n additionalAttributes.type = 'button';\n }\n\n if (isComponentDisabled && Element === 'a') {\n additionalAttributes['aria-disabled'] = true;\n additionalAttributes.tabIndex = -1;\n }\n\n if (ref) {\n additionalAttributes.ref = ref;\n }\n\n if (withVideo) {\n const { Icon, padding } = VIDEO_SIZE_MAP[size as keyof typeof VIDEO_SIZE_MAP];\n const colorProps = {\n initialColor: 'constant',\n backgroundStyle: 'overlay',\n ...(isActive &&\n ({\n highlightedColor: 'constant',\n pressedColor: 'constant',\n hoverBackgroundStyle: 'overlay',\n pressedBackgroundStyle: 'overlay',\n } as const)),\n } as const;\n video = (\n <span className={styles.video} data-qa=\"avatar-video\">\n <Icon {...colorProps} padding={padding} borderRadius={'halfHeight'} />\n </span>\n );\n }\n\n if (withActionIcon) {\n const { padding } = ACTION_ICON_SIZE_MAP[size as keyof typeof ACTION_ICON_SIZE_MAP];\n const colorProps = {\n initialColor: 'constant',\n backgroundStyle: 'accent',\n ...(isActive &&\n ({\n highlightedColor: 'constant',\n pressedColor: 'constant',\n hoverBackgroundStyle: 'accent',\n pressedBackgroundStyle: 'accent',\n } as const)),\n } as const;\n actionIcon = (\n <>\n <span className={styles[`avatar-focus-border-${size}`]} />\n <span\n className={classnames(styles.actionIcon, {\n [styles[`action-icon-square-size-${size}`]]: !shapeCircle,\n [styles[`action-icon-circle-size-${size}`]]: !!shapeCircle,\n })}\n data-qa=\"avatar-action\"\n >\n <ActionIcon {...colorProps} padding={padding} borderRadius={'halfHeight'} />\n </span>\n </>\n );\n }\n\n const classNames = {\n [styles.avatar]: true,\n [styles.avatarShapeCircle]: shapeCircle,\n [styles.avatarModeImage]: mode === 'image' && imageState === 'loaded',\n [styles.avatarModeLetters]: isModeLetters,\n [styles.avatarModeIcon]: isModeIcon,\n [styles.avatarModePlaceholder]: isModePlaceholder,\n [styles[`avatar_size-${size}`]]: !!size,\n [styles[`avatar_with-online-badge-${size}`]]: online,\n [styles[`avatar_with-action-icon`]]: withActionIcon,\n [styles[`avatar_with-action-icon-${size}`]]: withActionIcon,\n };\n\n if ((isModeLetters || isModeIcon) && style) {\n classNames[styles[`avatar_style-${style}`]] = !!style;\n }\n\n useLayoutEffect(() => {\n const imageElement = imageRef.current;\n if (!imageElement || !image) {\n return void 0;\n }\n\n const loadingStartTime = Date.now();\n\n const handleOnLoad = () => {\n // если картинка грузилась дольше 300мс, анимируем прозрачность, иначе показываем без анимации\n if (Date.now() - loadingStartTime > 300) {\n const handleAnimationEnd = () => {\n imageElement.removeEventListener('animationend', handleAnimationEnd);\n setImageState('loaded');\n };\n imageElement.addEventListener('animationend', handleAnimationEnd);\n setImageState('loading-animation');\n } else {\n setImageState('loaded');\n }\n };\n\n const handleOnError = () => setImageState('error');\n\n imageRef.current.addEventListener('load', handleOnLoad);\n imageRef.current.addEventListener('error', handleOnError);\n imageRef.current.src = image;\n setImageState('loading');\n\n return () => {\n imageElement.removeEventListener('load', handleOnLoad);\n imageElement.removeEventListener('error', handleOnError);\n };\n }, [image]);\n\n return (\n <div\n {...(online || withVideo || !!ActionIcon || isComponentDisabled\n ? {\n className: classnames({\n [styles.avatarContainer]: online || withVideo || !!ActionIcon,\n [styles.avatarContainerDisabled]: isComponentDisabled,\n [styles[`avatar-container_size-${size}`]]: online || withVideo || !!ActionIcon,\n [styles.active]: isActive,\n }),\n }\n : {})}\n {...(containerDataQa ? { 'data-qa': containerDataQa } : {})}\n >\n <IconDynamic>\n <div>\n <Element\n {...additionalAttributes}\n {...avatarProps}\n className={classnames(classNames)}\n disabled={Element === 'button' ? isComponentDisabled : false}\n aria-label={ariaLabel}\n >\n {isModeLetters && (\n <BaseText style=\"primary\" Element=\"span\" typography={AVATAR_TYPOGRAPHY_MAP[size]}>\n {formatLetters(letters || '')}\n </BaseText>\n )}\n {isModeIcon && icon}\n {isModePlaceholder && (\n <div\n className={classnames({\n [styles.female]: placeholder === 'female',\n [styles.male]: placeholder === 'male',\n [styles.city]: placeholder === 'city',\n [styles.undefined]: placeholder === 'undefined',\n })}\n data-qa={`placeholder-${placeholder}`}\n style={{ width: size, height: size }}\n />\n )}\n {isModeImage && (\n <>\n {(imageState === 'loading' || imageState === 'loading-animation') && (\n <div\n className={classnames(styles.avatarImageLoading, {\n [styles[`avatar_size-${size}`]]: size,\n [styles.avatarShapeCircle]: shapeCircle,\n })}\n />\n )}\n <img\n ref={imageRef}\n alt={ariaLabel}\n className={classnames(styles.avatarImage, {\n [styles.avatarImageHidden]: imageState === 'loading',\n [styles.avatarImageAnimation]: imageState === 'loading-animation',\n })}\n />\n </>\n )}\n </Element>\n {online && (\n <>\n <div className={styles[`avatar-focus-border-${size}`]} />\n <div\n className={classnames(\n styles[`avatar-online-badge-${size}`],\n styles[`avatar-online-badge_style_${styleOnline}`]\n )}\n />\n </>\n )}\n {actionIcon}\n {video}\n </div>\n </IconDynamic>\n </div>\n );\n};\n\nconst AvatarComponent = forwardRef(AvatarForwardRefRenderFunc) as PolymorphicComponentWithRef<AvatarProps, 'div'>;\n\nexport const Avatar = enrichWithSkeleton(AvatarComponent, AvatarSkeleton);\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|
package/AvatarStack.js
CHANGED
|
@@ -3,7 +3,7 @@ import { jsx } from 'react/jsx-runtime';
|
|
|
3
3
|
import { forwardRef, Children, cloneElement } from 'react';
|
|
4
4
|
import classnames from 'classnames';
|
|
5
5
|
|
|
6
|
-
var styles = {"avatar-stack":"magritte-avatar-stack___5qOCC_8-0
|
|
6
|
+
var styles = {"avatar-stack":"magritte-avatar-stack___5qOCC_8-1-0","avatarStack":"magritte-avatar-stack___5qOCC_8-1-0","avatar-stack-inline":"magritte-avatar-stack-inline___aXUFe_8-1-0","avatarStackInline":"magritte-avatar-stack-inline___aXUFe_8-1-0","avatar-stack-item":"magritte-avatar-stack-item___hDdq8_8-1-0","avatarStackItem":"magritte-avatar-stack-item___hDdq8_8-1-0","avatar-stack-size-16":"magritte-avatar-stack-size-16___Yuwfu_8-1-0","avatarStackSize16":"magritte-avatar-stack-size-16___Yuwfu_8-1-0","avatar-stack-circle":"magritte-avatar-stack-circle___tQZvM_8-1-0","avatarStackCircle":"magritte-avatar-stack-circle___tQZvM_8-1-0","avatar-stack-rect":"magritte-avatar-stack-rect___Ip8L2_8-1-0","avatarStackRect":"magritte-avatar-stack-rect___Ip8L2_8-1-0","avatar-stack-size-24":"magritte-avatar-stack-size-24___oZNQA_8-1-0","avatarStackSize24":"magritte-avatar-stack-size-24___oZNQA_8-1-0","avatar-stack-size-40":"magritte-avatar-stack-size-40___oBfvX_8-1-0","avatarStackSize40":"magritte-avatar-stack-size-40___oBfvX_8-1-0","avatar-stack-size-48":"magritte-avatar-stack-size-48___KGUEt_8-1-0","avatarStackSize48":"magritte-avatar-stack-size-48___KGUEt_8-1-0","avatar-stack-size-80":"magritte-avatar-stack-size-80___JnGV-_8-1-0","avatarStackSize80":"magritte-avatar-stack-size-80___JnGV-_8-1-0","avatar-stack-size-96":"magritte-avatar-stack-size-96___1LxDK_8-1-0","avatarStackSize96":"magritte-avatar-stack-size-96___1LxDK_8-1-0"};
|
|
7
7
|
|
|
8
8
|
const AvatarStack = forwardRef(({ size = 24, shape = 'rectangle', inline = false, 'data-qa': dataQa = 'avatar-stack', children }, ref) => {
|
|
9
9
|
return (jsx("ul", { ref: ref, className: classnames(styles.avatarStack, styles[`avatarStackSize${size}`], {
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import './index.css';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import classnames from 'classnames';
|
|
4
|
+
import { Skeleton } from '@hh.ru/magritte-ui-skeleton';
|
|
5
|
+
|
|
6
|
+
var styles = {"avatar-container":"magritte-avatar-container___jBkeI_8-1-0","avatarContainer":"magritte-avatar-container___jBkeI_8-1-0","active":"magritte-active___0I0gv_8-1-0","avatar-container_disabled":"magritte-avatar-container_disabled___EkG4l_8-1-0","avatarContainerDisabled":"magritte-avatar-container_disabled___EkG4l_8-1-0","avatar":"magritte-avatar___x--BK_8-1-0","avatar-container_size-16":"magritte-avatar-container_size-16___bGrZk_8-1-0","avatarContainerSize16":"magritte-avatar-container_size-16___bGrZk_8-1-0","avatar-skeleton-16":"magritte-avatar-skeleton-16___Iyj5G_8-1-0","avatarSkeleton16":"magritte-avatar-skeleton-16___Iyj5G_8-1-0","avatar_size-16":"magritte-avatar_size-16___vaXSD_8-1-0","avatarSize16":"magritte-avatar_size-16___vaXSD_8-1-0","avatar-container_size-24":"magritte-avatar-container_size-24___f6DH2_8-1-0","avatarContainerSize24":"magritte-avatar-container_size-24___f6DH2_8-1-0","avatar-skeleton-24":"magritte-avatar-skeleton-24___9hUuj_8-1-0","avatarSkeleton24":"magritte-avatar-skeleton-24___9hUuj_8-1-0","avatar_size-24":"magritte-avatar_size-24___0dAId_8-1-0","avatarSize24":"magritte-avatar_size-24___0dAId_8-1-0","avatar-container_size-40":"magritte-avatar-container_size-40___mVeBD_8-1-0","avatarContainerSize40":"magritte-avatar-container_size-40___mVeBD_8-1-0","avatar-skeleton-40":"magritte-avatar-skeleton-40___ZN6a7_8-1-0","avatarSkeleton40":"magritte-avatar-skeleton-40___ZN6a7_8-1-0","avatar_size-40":"magritte-avatar_size-40___zj3fM_8-1-0","avatarSize40":"magritte-avatar_size-40___zj3fM_8-1-0","avatar-container_size-48":"magritte-avatar-container_size-48___pflud_8-1-0","avatarContainerSize48":"magritte-avatar-container_size-48___pflud_8-1-0","avatar-skeleton-48":"magritte-avatar-skeleton-48___CC-af_8-1-0","avatarSkeleton48":"magritte-avatar-skeleton-48___CC-af_8-1-0","avatar_size-48":"magritte-avatar_size-48___JzITc_8-1-0","avatarSize48":"magritte-avatar_size-48___JzITc_8-1-0","avatar-container_size-80":"magritte-avatar-container_size-80___y8zNb_8-1-0","avatarContainerSize80":"magritte-avatar-container_size-80___y8zNb_8-1-0","avatar-skeleton-80":"magritte-avatar-skeleton-80___Z0Oc8_8-1-0","avatarSkeleton80":"magritte-avatar-skeleton-80___Z0Oc8_8-1-0","avatar_size-80":"magritte-avatar_size-80___YiSBZ_8-1-0","avatarSize80":"magritte-avatar_size-80___YiSBZ_8-1-0","avatar-container_size-96":"magritte-avatar-container_size-96___Up8Hn_8-1-0","avatarContainerSize96":"magritte-avatar-container_size-96___Up8Hn_8-1-0","avatar-skeleton-96":"magritte-avatar-skeleton-96___qYG-Z_8-1-0","avatarSkeleton96":"magritte-avatar-skeleton-96___qYG-Z_8-1-0","avatar_size-96":"magritte-avatar_size-96___5SeO2_8-1-0","avatarSize96":"magritte-avatar_size-96___5SeO2_8-1-0","avatar-container_size-120":"magritte-avatar-container_size-120___gkMBo_8-1-0","avatarContainerSize120":"magritte-avatar-container_size-120___gkMBo_8-1-0","avatar-skeleton-120":"magritte-avatar-skeleton-120___KD5Za_8-1-0","avatarSkeleton120":"magritte-avatar-skeleton-120___KD5Za_8-1-0","avatar_size-120":"magritte-avatar_size-120___th2TT_8-1-0","avatarSize120":"magritte-avatar_size-120___th2TT_8-1-0","avatar-container_size-208":"magritte-avatar-container_size-208___k7SkJ_8-1-0","avatarContainerSize208":"magritte-avatar-container_size-208___k7SkJ_8-1-0","avatar-skeleton-208":"magritte-avatar-skeleton-208___ybqJw_8-1-0","avatarSkeleton208":"magritte-avatar-skeleton-208___ybqJw_8-1-0","avatar_size-208":"magritte-avatar_size-208___rzfu3_8-1-0","avatarSize208":"magritte-avatar_size-208___rzfu3_8-1-0","avatar_shape-circle":"magritte-avatar_shape-circle___kEbru_8-1-0","avatarShapeCircle":"magritte-avatar_shape-circle___kEbru_8-1-0","avatar-skeleton-circle":"magritte-avatar-skeleton-circle___rD1E0_8-1-0","avatarSkeletonCircle":"magritte-avatar-skeleton-circle___rD1E0_8-1-0","avatar_style-color-1":"magritte-avatar_style-color-1___xXtkh_8-1-0","avatarStyleColor1":"magritte-avatar_style-color-1___xXtkh_8-1-0","avatar_style-color-2":"magritte-avatar_style-color-2___JraJd_8-1-0","avatarStyleColor2":"magritte-avatar_style-color-2___JraJd_8-1-0","avatar_style-color-3":"magritte-avatar_style-color-3___g29U3_8-1-0","avatarStyleColor3":"magritte-avatar_style-color-3___g29U3_8-1-0","avatar_style-color-4":"magritte-avatar_style-color-4___pHhmj_8-1-0","avatarStyleColor4":"magritte-avatar_style-color-4___pHhmj_8-1-0","avatar_style-color-5":"magritte-avatar_style-color-5___H9Ie3_8-1-0","avatarStyleColor5":"magritte-avatar_style-color-5___H9Ie3_8-1-0","avatar_style-color-6":"magritte-avatar_style-color-6___oODXO_8-1-0","avatarStyleColor6":"magritte-avatar_style-color-6___oODXO_8-1-0","avatar_style-color-7":"magritte-avatar_style-color-7___SfUBl_8-1-0","avatarStyleColor7":"magritte-avatar_style-color-7___SfUBl_8-1-0","avatar_style-color-8":"magritte-avatar_style-color-8___rlI6h_8-1-0","avatarStyleColor8":"magritte-avatar_style-color-8___rlI6h_8-1-0","avatar_style-color-9":"magritte-avatar_style-color-9___XQO4B_8-1-0","avatarStyleColor9":"magritte-avatar_style-color-9___XQO4B_8-1-0","avatar_style-primary":"magritte-avatar_style-primary___SvqU1_8-1-0","avatarStylePrimary":"magritte-avatar_style-primary___SvqU1_8-1-0","avatar_style-secondary":"magritte-avatar_style-secondary___C6MTH_8-1-0","avatarStyleSecondary":"magritte-avatar_style-secondary___C6MTH_8-1-0","avatar_style-tertiary":"magritte-avatar_style-tertiary___3o-90_8-1-0","avatarStyleTertiary":"magritte-avatar_style-tertiary___3o-90_8-1-0","avatar_style-accent-secondary":"magritte-avatar_style-accent-secondary___vc7Lb_8-1-0","avatarStyleAccentSecondary":"magritte-avatar_style-accent-secondary___vc7Lb_8-1-0","avatar_style-accent":"magritte-avatar_style-accent___LgPSo_8-1-0","avatarStyleAccent":"magritte-avatar_style-accent___LgPSo_8-1-0","avatar_style-positive-secondary":"magritte-avatar_style-positive-secondary___aQrkm_8-1-0","avatarStylePositiveSecondary":"magritte-avatar_style-positive-secondary___aQrkm_8-1-0","avatar_style-positive":"magritte-avatar_style-positive___bDzbE_8-1-0","avatarStylePositive":"magritte-avatar_style-positive___bDzbE_8-1-0","avatar_style-negative-secondary":"magritte-avatar_style-negative-secondary___GW7rc_8-1-0","avatarStyleNegativeSecondary":"magritte-avatar_style-negative-secondary___GW7rc_8-1-0","avatar_style-negative":"magritte-avatar_style-negative___xHHQb_8-1-0","avatarStyleNegative":"magritte-avatar_style-negative___xHHQb_8-1-0","avatar_style-warning-secondary":"magritte-avatar_style-warning-secondary___LKwiW_8-1-0","avatarStyleWarningSecondary":"magritte-avatar_style-warning-secondary___LKwiW_8-1-0","avatar_style-warning":"magritte-avatar_style-warning___7kKRS_8-1-0","avatarStyleWarning":"magritte-avatar_style-warning___7kKRS_8-1-0","avatar_style-special-secondary":"magritte-avatar_style-special-secondary___J2CwS_8-1-0","avatarStyleSpecialSecondary":"magritte-avatar_style-special-secondary___J2CwS_8-1-0","avatar_style-special":"magritte-avatar_style-special___gLmS0_8-1-0","avatarStyleSpecial":"magritte-avatar_style-special___gLmS0_8-1-0","avatar_style-dreamy-secondary":"magritte-avatar_style-dreamy-secondary___WoWcK_8-1-0","avatarStyleDreamySecondary":"magritte-avatar_style-dreamy-secondary___WoWcK_8-1-0","avatar_style-dreamy":"magritte-avatar_style-dreamy___-zjx5_8-1-0","avatarStyleDreamy":"magritte-avatar_style-dreamy___-zjx5_8-1-0","avatar_style-lovely-secondary":"magritte-avatar_style-lovely-secondary___YhzZk_8-1-0","avatarStyleLovelySecondary":"magritte-avatar_style-lovely-secondary___YhzZk_8-1-0","avatar_style-lovely":"magritte-avatar_style-lovely___wy3Zg_8-1-0","avatarStyleLovely":"magritte-avatar_style-lovely___wy3Zg_8-1-0","avatar_style-vivid-secondary":"magritte-avatar_style-vivid-secondary___EcBn1_8-1-0","avatarStyleVividSecondary":"magritte-avatar_style-vivid-secondary___EcBn1_8-1-0","avatar_style-vivid":"magritte-avatar_style-vivid___pkKc5_8-1-0","avatarStyleVivid":"magritte-avatar_style-vivid___pkKc5_8-1-0","avatar_style-body":"magritte-avatar_style-body___xmokY_8-1-0","avatarStyleBody":"magritte-avatar_style-body___xmokY_8-1-0","avatar_style-overlay":"magritte-avatar_style-overlay___0yWkS_8-1-0","avatarStyleOverlay":"magritte-avatar_style-overlay___0yWkS_8-1-0","avatar_style-overlay-action":"magritte-avatar_style-overlay-action___MMxS7_8-1-0","avatarStyleOverlayAction":"magritte-avatar_style-overlay-action___MMxS7_8-1-0","avatar_style-overlay-viewer":"magritte-avatar_style-overlay-viewer___4gNO7_8-1-0","avatarStyleOverlayViewer":"magritte-avatar_style-overlay-viewer___4gNO7_8-1-0","avatar_style-overlay-toolbar":"magritte-avatar_style-overlay-toolbar___0Lvuf_8-1-0","avatarStyleOverlayToolbar":"magritte-avatar_style-overlay-toolbar___0Lvuf_8-1-0","avatar_style-transparent":"magritte-avatar_style-transparent___KtjP8_8-1-0","avatarStyleTransparent":"magritte-avatar_style-transparent___KtjP8_8-1-0","avatar_style-constant":"magritte-avatar_style-constant___HVes8_8-1-0","avatarStyleConstant":"magritte-avatar_style-constant___HVes8_8-1-0","avatar_style-constant-secondary":"magritte-avatar_style-constant-secondary___tfuOw_8-1-0","avatarStyleConstantSecondary":"magritte-avatar_style-constant-secondary___tfuOw_8-1-0","avatar_style-inverse":"magritte-avatar_style-inverse___yupyU_8-1-0","avatarStyleInverse":"magritte-avatar_style-inverse___yupyU_8-1-0","avatar_style-inverse-secondary":"magritte-avatar_style-inverse-secondary___NdawN_8-1-0","avatarStyleInverseSecondary":"magritte-avatar_style-inverse-secondary___NdawN_8-1-0","avatar_mode-image":"magritte-avatar_mode-image___02zr1_8-1-0","avatarModeImage":"magritte-avatar_mode-image___02zr1_8-1-0","avatar_mode-letters":"magritte-avatar_mode-letters___ot4qB_8-1-0","avatarModeLetters":"magritte-avatar_mode-letters___ot4qB_8-1-0","avatar_mode-icon":"magritte-avatar_mode-icon___MYrlv_8-1-0","avatarModeIcon":"magritte-avatar_mode-icon___MYrlv_8-1-0","avatar_mode-placeholder":"magritte-avatar_mode-placeholder___6hOu7_8-1-0","avatarModePlaceholder":"magritte-avatar_mode-placeholder___6hOu7_8-1-0","avatar-image":"magritte-avatar-image___05p9Z_8-1-0","avatarImage":"magritte-avatar-image___05p9Z_8-1-0","avatar-image-hidden":"magritte-avatar-image-hidden___YNZ3i_8-1-0","avatarImageHidden":"magritte-avatar-image-hidden___YNZ3i_8-1-0","avatar-image-loading":"magritte-avatar-image-loading___0QWL4_8-1-0","avatarImageLoading":"magritte-avatar-image-loading___0QWL4_8-1-0","avatar-image-animation":"magritte-avatar-image-animation___Ik79H_8-1-0","avatarImageAnimation":"magritte-avatar-image-animation___Ik79H_8-1-0","image-animation":"magritte-image-animation___6Q4Qv_8-1-0","imageAnimation":"magritte-image-animation___6Q4Qv_8-1-0","avatar_with-online-badge-16":"magritte-avatar_with-online-badge-16___rhXhS_8-1-0","avatarWithOnlineBadge16":"magritte-avatar_with-online-badge-16___rhXhS_8-1-0","avatar-online-badge-16":"magritte-avatar-online-badge-16___Xtv3l_8-1-0","avatarOnlineBadge16":"magritte-avatar-online-badge-16___Xtv3l_8-1-0","avatar-online-badge_style_positive":"magritte-avatar-online-badge_style_positive___jHyv3_8-1-0","avatarOnlineBadgeStylePositive":"magritte-avatar-online-badge_style_positive___jHyv3_8-1-0","avatar-online-badge_style_constant":"magritte-avatar-online-badge_style_constant___-TeoG_8-1-0","avatarOnlineBadgeStyleConstant":"magritte-avatar-online-badge_style_constant___-TeoG_8-1-0","avatar-focus-border-16":"magritte-avatar-focus-border-16___dnSiS_8-1-0","avatarFocusBorder16":"magritte-avatar-focus-border-16___dnSiS_8-1-0","avatar_with-online-badge-24":"magritte-avatar_with-online-badge-24___helkM_8-1-0","avatarWithOnlineBadge24":"magritte-avatar_with-online-badge-24___helkM_8-1-0","avatar-online-badge-24":"magritte-avatar-online-badge-24___mjPKB_8-1-0","avatarOnlineBadge24":"magritte-avatar-online-badge-24___mjPKB_8-1-0","avatar-focus-border-24":"magritte-avatar-focus-border-24___wnJnb_8-1-0","avatarFocusBorder24":"magritte-avatar-focus-border-24___wnJnb_8-1-0","avatar_with-online-badge-40":"magritte-avatar_with-online-badge-40___Tckho_8-1-0","avatarWithOnlineBadge40":"magritte-avatar_with-online-badge-40___Tckho_8-1-0","avatar-online-badge-40":"magritte-avatar-online-badge-40___HRNTS_8-1-0","avatarOnlineBadge40":"magritte-avatar-online-badge-40___HRNTS_8-1-0","avatar-focus-border-40":"magritte-avatar-focus-border-40___Qn9NL_8-1-0","avatarFocusBorder40":"magritte-avatar-focus-border-40___Qn9NL_8-1-0","avatar_with-online-badge-48":"magritte-avatar_with-online-badge-48___BmWaC_8-1-0","avatarWithOnlineBadge48":"magritte-avatar_with-online-badge-48___BmWaC_8-1-0","avatar-online-badge-48":"magritte-avatar-online-badge-48___qPmD8_8-1-0","avatarOnlineBadge48":"magritte-avatar-online-badge-48___qPmD8_8-1-0","avatar-focus-border-48":"magritte-avatar-focus-border-48___Bc-lN_8-1-0","avatarFocusBorder48":"magritte-avatar-focus-border-48___Bc-lN_8-1-0","avatar_with-online-badge-80":"magritte-avatar_with-online-badge-80___jvmKS_8-1-0","avatarWithOnlineBadge80":"magritte-avatar_with-online-badge-80___jvmKS_8-1-0","avatar-online-badge-80":"magritte-avatar-online-badge-80___zA5Rd_8-1-0","avatarOnlineBadge80":"magritte-avatar-online-badge-80___zA5Rd_8-1-0","avatar-focus-border-80":"magritte-avatar-focus-border-80___1X1Aa_8-1-0","avatarFocusBorder80":"magritte-avatar-focus-border-80___1X1Aa_8-1-0","avatar_with-online-badge-96":"magritte-avatar_with-online-badge-96___r4E42_8-1-0","avatarWithOnlineBadge96":"magritte-avatar_with-online-badge-96___r4E42_8-1-0","avatar-online-badge-96":"magritte-avatar-online-badge-96___d6bm-_8-1-0","avatarOnlineBadge96":"magritte-avatar-online-badge-96___d6bm-_8-1-0","avatar-focus-border-96":"magritte-avatar-focus-border-96___TVpd0_8-1-0","avatarFocusBorder96":"magritte-avatar-focus-border-96___TVpd0_8-1-0","avatar_with-online-badge-120":"magritte-avatar_with-online-badge-120___oqIED_8-1-0","avatarWithOnlineBadge120":"magritte-avatar_with-online-badge-120___oqIED_8-1-0","avatar-online-badge-120":"magritte-avatar-online-badge-120___nmWqZ_8-1-0","avatarOnlineBadge120":"magritte-avatar-online-badge-120___nmWqZ_8-1-0","avatar-focus-border-120":"magritte-avatar-focus-border-120___vHWE1_8-1-0","avatarFocusBorder120":"magritte-avatar-focus-border-120___vHWE1_8-1-0","avatar_with-online-badge-208":"magritte-avatar_with-online-badge-208___AS6Lk_8-1-0","avatarWithOnlineBadge208":"magritte-avatar_with-online-badge-208___AS6Lk_8-1-0","avatar-online-badge-208":"magritte-avatar-online-badge-208___m4hXQ_8-1-0","avatarOnlineBadge208":"magritte-avatar-online-badge-208___m4hXQ_8-1-0","avatar-focus-border-208":"magritte-avatar-focus-border-208___V6We2_8-1-0","avatarFocusBorder208":"magritte-avatar-focus-border-208___V6We2_8-1-0","female":"magritte-female___fSeyG_8-1-0","male":"magritte-male___HlZ30_8-1-0","city":"magritte-city___jNvGf_8-1-0","undefined":"magritte-undefined___E7573_8-1-0","video":"magritte-video___iTluu_8-1-0","action-icon":"magritte-action-icon___OmVxy_8-1-0","actionIcon":"magritte-action-icon___OmVxy_8-1-0","action-icon-square-size-40":"magritte-action-icon-square-size-40___1L3Xo_8-1-0","actionIconSquareSize40":"magritte-action-icon-square-size-40___1L3Xo_8-1-0","action-icon-circle-size-40":"magritte-action-icon-circle-size-40___C7KMx_8-1-0","actionIconCircleSize40":"magritte-action-icon-circle-size-40___C7KMx_8-1-0","avatar_with-action-icon-40":"magritte-avatar_with-action-icon-40___1JcwX_8-1-0","avatarWithActionIcon40":"magritte-avatar_with-action-icon-40___1JcwX_8-1-0","avatar_with-action-icon":"magritte-avatar_with-action-icon___nbOyf_8-1-0","avatarWithActionIcon":"magritte-avatar_with-action-icon___nbOyf_8-1-0","action-icon-square-size-48":"magritte-action-icon-square-size-48___wswAd_8-1-0","actionIconSquareSize48":"magritte-action-icon-square-size-48___wswAd_8-1-0","action-icon-circle-size-48":"magritte-action-icon-circle-size-48___-SgvW_8-1-0","actionIconCircleSize48":"magritte-action-icon-circle-size-48___-SgvW_8-1-0","avatar_with-action-icon-48":"magritte-avatar_with-action-icon-48___xEhfn_8-1-0","avatarWithActionIcon48":"magritte-avatar_with-action-icon-48___xEhfn_8-1-0","action-icon-square-size-80":"magritte-action-icon-square-size-80___idlrL_8-1-0","actionIconSquareSize80":"magritte-action-icon-square-size-80___idlrL_8-1-0","action-icon-circle-size-80":"magritte-action-icon-circle-size-80___M0m5S_8-1-0","actionIconCircleSize80":"magritte-action-icon-circle-size-80___M0m5S_8-1-0","avatar_with-action-icon-80":"magritte-avatar_with-action-icon-80___WHQsY_8-1-0","avatarWithActionIcon80":"magritte-avatar_with-action-icon-80___WHQsY_8-1-0","action-icon-square-size-96":"magritte-action-icon-square-size-96___-Tqc9_8-1-0","actionIconSquareSize96":"magritte-action-icon-square-size-96___-Tqc9_8-1-0","action-icon-circle-size-96":"magritte-action-icon-circle-size-96___PLdBQ_8-1-0","actionIconCircleSize96":"magritte-action-icon-circle-size-96___PLdBQ_8-1-0","avatar_with-action-icon-96":"magritte-avatar_with-action-icon-96___eiDmD_8-1-0","avatarWithActionIcon96":"magritte-avatar_with-action-icon-96___eiDmD_8-1-0","action-icon-square-size-120":"magritte-action-icon-square-size-120___7Cbax_8-1-0","actionIconSquareSize120":"magritte-action-icon-square-size-120___7Cbax_8-1-0","action-icon-circle-size-120":"magritte-action-icon-circle-size-120___HeE1a_8-1-0","actionIconCircleSize120":"magritte-action-icon-circle-size-120___HeE1a_8-1-0","avatar_with-action-icon-120":"magritte-avatar_with-action-icon-120___PHU4U_8-1-0","avatarWithActionIcon120":"magritte-avatar_with-action-icon-120___PHU4U_8-1-0","action-icon-square-size-208":"magritte-action-icon-square-size-208___3CuMs_8-1-0","actionIconSquareSize208":"magritte-action-icon-square-size-208___3CuMs_8-1-0","action-icon-circle-size-208":"magritte-action-icon-circle-size-208___0Ucxp_8-1-0","actionIconCircleSize208":"magritte-action-icon-circle-size-208___0Ucxp_8-1-0","avatar_with-action-icon-208":"magritte-avatar_with-action-icon-208___38YVJ_8-1-0","avatarWithActionIcon208":"magritte-avatar_with-action-icon-208___38YVJ_8-1-0"};
|
|
7
|
+
|
|
8
|
+
const AvatarSkeleton = ({ Component: Avatar,
|
|
9
|
+
// skeleton props
|
|
10
|
+
width, height, borderRadius, inline, additionalClass, loading, ...avatarProps }) => {
|
|
11
|
+
return (jsx(Skeleton, { loading: loading, additionalClass: classnames({
|
|
12
|
+
[styles[`avatar-skeleton-${avatarProps.size}`]]: avatarProps.size,
|
|
13
|
+
[styles.avatarSkeletonCircle]: avatarProps.shapeCircle,
|
|
14
|
+
}), children: jsx(Avatar, { ...avatarProps }) }));
|
|
15
|
+
};
|
|
16
|
+
|
|
17
|
+
export { AvatarSkeleton as A, styles as s };
|
|
18
|
+
//# sourceMappingURL=Skeleton-BflYquLn.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton-
|
|
1
|
+
{"version":3,"file":"Skeleton-BflYquLn.js","sources":["src/Skeleton.tsx"],"sourcesContent":["import classnames from 'classnames';\n\nimport { AvatarProps } from '@hh.ru/magritte-ui-avatar/types';\nimport { IncompleteSkeletonComponent, Skeleton } from '@hh.ru/magritte-ui-skeleton';\n\nimport styles from './avatar.less';\n\nexport const AvatarSkeleton: IncompleteSkeletonComponent<AvatarProps> = ({\n Component: Avatar,\n\n // skeleton props\n width,\n height,\n borderRadius,\n inline,\n additionalClass,\n loading,\n\n ...avatarProps\n}) => {\n return (\n <Skeleton\n loading={loading}\n additionalClass={classnames({\n [styles[`avatar-skeleton-${avatarProps.size}`]]: avatarProps.size,\n [styles.avatarSkeletonCircle]: avatarProps.shapeCircle,\n })}\n >\n <Avatar {...avatarProps} />\n </Skeleton>\n );\n};\n"],"names":["_jsx"],"mappings":";;;;;;MAOa,cAAc,GAA6C,CAAC,EACrE,SAAS,EAAE,MAAM;AAEjB;AACA,KAAK,EACL,MAAM,EACN,YAAY,EACZ,MAAM,EACN,eAAe,EACf,OAAO,EAEP,GAAG,WAAW,EACjB,KAAI;IACD,QACIA,GAAC,CAAA,QAAQ,EACL,EAAA,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,UAAU,CAAC;AACxB,YAAA,CAAC,MAAM,CAAC,CAAmB,gBAAA,EAAA,WAAW,CAAC,IAAI,CAAE,CAAA,CAAC,GAAG,WAAW,CAAC,IAAI;AACjE,YAAA,CAAC,MAAM,CAAC,oBAAoB,GAAG,WAAW,CAAC,WAAW;SACzD,CAAC,EAAA,QAAA,EAEFA,IAAC,MAAM,EAAA,EAAA,GAAK,WAAW,EAAI,CAAA,EAAA,CACpB,EACb;AACN;;;;"}
|
package/Skeleton.js
CHANGED
|
@@ -2,5 +2,5 @@ import './index.css';
|
|
|
2
2
|
import 'react/jsx-runtime';
|
|
3
3
|
import 'classnames';
|
|
4
4
|
import '@hh.ru/magritte-ui-skeleton';
|
|
5
|
-
export { A as AvatarSkeleton } from './Skeleton-
|
|
5
|
+
export { A as AvatarSkeleton } from './Skeleton-BflYquLn.js';
|
|
6
6
|
//# sourceMappingURL=Skeleton.js.map
|