@hh.ru/magritte-ui-avatar 8.0.19 → 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 CHANGED
@@ -1,16 +1,61 @@
1
1
  import './index.css';
2
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
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-BtYOikzx.js';
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 AvatarForwardRefRenderFunc = ({ mode, size = 24, 'aria-label': ariaLabel, shapeCircle = false, online = false, styleOnline = 'positive', disabled = false, letters, style, icon, image, placeholder = 'undefined', Element = 'div', containerDataQa = '', ...avatarProps }, ref) => {
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 (jsxs("div", { ...(online || isComponentDisabled
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
- [styles.female]: placeholder === 'female',
84
- [styles.male]: placeholder === 'male',
85
- [styles.city]: placeholder === 'city',
86
- [styles.undefined]: placeholder === 'undefined',
87
- }), "data-qa": `placeholder-${placeholder}`, style: { width: size, height: size } })), isModeImage && (jsxs(Fragment, { children: [(imageState === 'loading' || imageState === 'loading-animation') && (jsx("div", { className: classnames(styles.avatarImageLoading, {
88
- [styles[`avatar_size-${size}`]]: size,
89
- [styles.avatarShapeCircle]: shapeCircle,
90
- }) })), jsx("img", { ref: imageRef, alt: ariaLabel, className: classnames(styles.avatarImage, {
91
- [styles.avatarImageHidden]: imageState === 'loading',
92
- [styles.avatarImageAnimation]: imageState === 'loading-animation',
93
- }) })] }))] }), 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}`]) })] }))] }));
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":";;;;;;;;;;;AAeA,MAAM,cAAc,GAAG;AACnB,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACD,IAAA,EAAE,EAAE;AACA,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACD,IAAA,EAAE,EAAE;AACA,QAAA,IAAI,EAAE,gBAAgB;AACtB,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;CACK,CAAC;AAEX,MAAM,oBAAoB,GAAG;AACzB,IAAA,GAAG,EAAE;AACD,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACD,IAAA,EAAE,EAAE;AACA,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACD,IAAA,EAAE,EAAE;AACA,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACD,IAAA,EAAE,EAAE;AACA,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;AACD,IAAA,EAAE,EAAE;AACA,QAAA,OAAO,EAAE,CAAC;AACb,KAAA;CACK,CAAC;AAEX,MAAM,0BAA0B,GAAwD,CACpF,EACI,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,YAAY,EAAE,SAAS,EACvB,WAAW,GAAG,KAAK,EACnB,MAAM,GAAG,KAAK,EACd,WAAW,GAAG,UAAU,EACxB,QAAQ,GAAG,KAAK,EAChB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EAAE,MAAM,EACb,eAAe,EAAE,UAAU,EAC3B,WAAW,GAAG,WAAW,EACzB,OAAO,GAAG,KAAK,EACf,eAAe,GAAG,EAAE,EACpB,GAAG,WAAW,EACjB,EACD,GAAG,KACH;IACA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAuD,SAAS,CAAC,CAAC;AAC9G,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,WAAW,IAAI,IAAI,IAAI,cAAc,CAAC;AACnE,IAAA,MAAM,cAAc,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,MAAM,IAAI,IAAI,IAAI,oBAAoB,CAAC;IAC/E,MAAM,QAAQ,GAAG,CAAC,CAAC,WAAW,CAAC,OAAO,IAAI,OAAO,KAAK,GAAG,CAAC;IAC1D,IAAI,KAAK,GAAG,IAAI,CAAC;IACjB,IAAI,UAAU,GAAG,IAAI,CAAC;AAEtB,IAAA,MAAM,aAAa,GAAG,WAAW,EAAE,CAAC;AAEpC,IAAA,MAAM,mBAAmB,GAAG,QAAQ,IAAI,aAAa,CAAC;AAEtD,IAAA,MAAM,aAAa,GAAG,IAAI,KAAK,SAAS,CAAC;AACzC,IAAA,MAAM,UAAU,GAAG,IAAI,KAAK,MAAM,CAAC;AACnC,IAAA,MAAM,iBAAiB,GAAG,IAAI,KAAK,aAAa,KAAK,IAAI,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,CAAC,CAAC;IACjG,MAAM,WAAW,GAAG,IAAI,KAAK,OAAO,IAAI,UAAU,KAAK,OAAO,CAAC;IAE/D,MAAM,oBAAoB,GAA4B,EAAE,CAAC;AAEzD,IAAA,IAAI,OAAO,KAAK,QAAQ,EAAE;AACtB,QAAA,oBAAoB,CAAC,IAAI,GAAG,QAAQ,CAAC;KACxC;AAED,IAAA,IAAI,mBAAmB,IAAI,OAAO,KAAK,GAAG,EAAE;AACxC,QAAA,oBAAoB,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC;AAC7C,QAAA,oBAAoB,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;KACtC;IAED,IAAI,GAAG,EAAE;AACL,QAAA,oBAAoB,CAAC,GAAG,GAAG,GAAG,CAAC;KAClC;IAED,IAAI,SAAS,EAAE;QACX,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,cAAc,CAAC,IAAmC,CAAC,CAAC;AAC9E,QAAA,MAAM,UAAU,GAAG;AACf,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,eAAe,EAAE,SAAS;AAC1B,YAAA,IAAI,QAAQ;AACP,gBAAA;AACG,oBAAA,gBAAgB,EAAE,UAAU;AAC5B,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,oBAAoB,EAAE,SAAS;AAC/B,oBAAA,sBAAsB,EAAE,SAAS;iBAC1B;SACT,CAAC;QACX,KAAK,IACDA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,KAAK,EAAA,SAAA,EAAU,cAAc,EAAA,QAAA,EACjDA,GAAC,CAAA,IAAI,OAAK,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,EAAA,CAAI,EACnE,CAAA,CACV,CAAC;KACL;IAED,IAAI,cAAc,EAAE;QAChB,MAAM,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAAC,IAAyC,CAAC,CAAC;AACpF,QAAA,MAAM,UAAU,GAAG;AACf,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,eAAe,EAAE,QAAQ;AACzB,YAAA,IAAI,QAAQ;AACP,gBAAA;AACG,oBAAA,gBAAgB,EAAE,UAAU;AAC5B,oBAAA,YAAY,EAAE,UAAU;AACxB,oBAAA,oBAAoB,EAAE,QAAQ;AAC9B,oBAAA,sBAAsB,EAAE,QAAQ;iBACzB;SACT,CAAC;QACX,UAAU,IACNC,IACI,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CAAAF,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,MAAM,CAAC,CAAA,oBAAA,EAAuB,IAAI,CAAA,CAAE,CAAC,EAAI,CAAA,EAC1DA,cACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,UAAU,EAAE;wBACrC,CAAC,MAAM,CAAC,CAA2B,wBAAA,EAAA,IAAI,EAAE,CAAC,GAAG,CAAC,WAAW;wBACzD,CAAC,MAAM,CAAC,CAAA,wBAAA,EAA2B,IAAI,CAAA,CAAE,CAAC,GAAG,CAAC,CAAC,WAAW;AAC7D,qBAAA,CAAC,aACM,eAAe,EAAA,QAAA,EAEvBA,IAAC,UAAU,EAAA,EAAA,GAAK,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,YAAY,GAAI,EACzE,CAAA,CAAA,EAAA,CACR,CACN,CAAC;KACL;AAED,IAAA,MAAM,UAAU,GAAG;AACf,QAAA,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI;AACrB,QAAA,CAAC,MAAM,CAAC,iBAAiB,GAAG,WAAW;QACvC,CAAC,MAAM,CAAC,eAAe,GAAG,IAAI,KAAK,OAAO,IAAI,UAAU,KAAK,QAAQ;AACrE,QAAA,CAAC,MAAM,CAAC,iBAAiB,GAAG,aAAa;AACzC,QAAA,CAAC,MAAM,CAAC,cAAc,GAAG,UAAU;AACnC,QAAA,CAAC,MAAM,CAAC,qBAAqB,GAAG,iBAAiB;QACjD,CAAC,MAAM,CAAC,CAAA,YAAA,EAAe,IAAI,CAAA,CAAE,CAAC,GAAG,CAAC,CAAC,IAAI;QACvC,CAAC,MAAM,CAAC,CAA4B,yBAAA,EAAA,IAAI,EAAE,CAAC,GAAG,MAAM;AACpD,QAAA,CAAC,MAAM,CAAC,CAAA,uBAAA,CAAyB,CAAC,GAAG,cAAc;QACnD,CAAC,MAAM,CAAC,CAA2B,wBAAA,EAAA,IAAI,EAAE,CAAC,GAAG,cAAc;KAC9D,CAAC;IAEF,IAAI,CAAC,aAAa,IAAI,UAAU,KAAK,KAAK,EAAE;AACxC,QAAA,UAAU,CAAC,MAAM,CAAC,CAAA,aAAA,EAAgB,KAAK,CAAA,CAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC;KACzD;IAED,eAAe,CAAC,MAAK;AACjB,QAAA,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,CAAC;AACtC,QAAA,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE;YACzB,OAAO,KAAK,CAAC,CAAC;SACjB;AAED,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEpC,MAAM,YAAY,GAAG,MAAK;;YAEtB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,GAAG,GAAG,EAAE;gBACrC,MAAM,kBAAkB,GAAG,MAAK;AAC5B,oBAAA,YAAY,CAAC,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;oBACrE,aAAa,CAAC,QAAQ,CAAC,CAAC;AAC5B,iBAAC,CAAC;AACF,gBAAA,YAAY,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;gBAClE,aAAa,CAAC,mBAAmB,CAAC,CAAC;aACtC;iBAAM;gBACH,aAAa,CAAC,QAAQ,CAAC,CAAC;aAC3B;AACL,SAAC,CAAC;QAEF,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,OAAO,CAAC,CAAC;QAEnD,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QACxD,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC1D,QAAA,QAAQ,CAAC,OAAO,CAAC,GAAG,GAAG,KAAK,CAAC;QAC7B,aAAa,CAAC,SAAS,CAAC,CAAC;AAEzB,QAAA,OAAO,MAAK;AACR,YAAA,YAAY,CAAC,mBAAmB,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AACvD,YAAA,YAAY,CAAC,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC7D,SAAC,CAAC;AACN,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,QACIA,GACQ,CAAA,KAAA,EAAA,EAAA,IAAC,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,UAAU,IAAI,mBAAmB;AAC3D,cAAE;gBACI,SAAS,EAAE,UAAU,CAAC;oBAClB,CAAC,MAAM,CAAC,eAAe,GAAG,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,UAAU;AAC7D,oBAAA,CAAC,MAAM,CAAC,uBAAuB,GAAG,mBAAmB;AACrD,oBAAA,CAAC,MAAM,CAAC,CAAyB,sBAAA,EAAA,IAAI,EAAE,CAAC,GAAG,MAAM,IAAI,SAAS,IAAI,CAAC,CAAC,UAAU;AAC9E,oBAAA,CAAC,MAAM,CAAC,MAAM,GAAG,QAAQ;iBAC5B,CAAC;AACL,aAAA;cACD,EAAE,GAAC,IACJ,eAAe,GAAG,EAAE,SAAS,EAAE,eAAe,EAAE,GAAG,EAAE,aAE1DA,GAAC,CAAA,WAAW,cACRC,IACI,CAAA,KAAA,EAAA,EAAA,QAAA,EAAA,CAAAA,IAAA,CAAC,OAAO,EACA,EAAA,GAAA,oBAAoB,KACpB,WAAW,EACf,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,EACjC,QAAQ,EAAE,OAAO,KAAK,QAAQ,GAAG,mBAAmB,GAAG,KAAK,EAChD,YAAA,EAAA,SAAS,aAEpB,aAAa,KACVD,GAAC,CAAA,QAAQ,IAAC,KAAK,EAAC,SAAS,EAAC,OAAO,EAAC,MAAM,EAAC,UAAU,EAAE,qBAAqB,CAAC,IAAI,CAAC,EAAA,QAAA,EAC3E,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC,GACtB,CACd,EACA,UAAU,IAAI,IAAI,EAClB,iBAAiB,KACdA,GACI,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,UAAU,CAAC;AAClB,oCAAA,CAAC,MAAM,CAAC,MAAM,GAAG,WAAW,KAAK,QAAQ;AACzC,oCAAA,CAAC,MAAM,CAAC,IAAI,GAAG,WAAW,KAAK,MAAM;AACrC,oCAAA,CAAC,MAAM,CAAC,IAAI,GAAG,WAAW,KAAK,MAAM;AACrC,oCAAA,CAAC,MAAM,CAAC,SAAS,GAAG,WAAW,KAAK,WAAW;AAClD,iCAAA,CAAC,aACO,CAAe,YAAA,EAAA,WAAW,EAAE,EACrC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,EACtC,CAAA,CACL,EACA,WAAW,KACRC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACK,CAAC,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,mBAAmB,MAC5DF,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,kBAAkB,EAAE;4CAC7C,CAAC,MAAM,CAAC,CAAe,YAAA,EAAA,IAAI,EAAE,CAAC,GAAG,IAAI;AACrC,4CAAA,CAAC,MAAM,CAAC,iBAAiB,GAAG,WAAW;AAC1C,yCAAA,CAAC,GACJ,CACL,EACDA,aACI,GAAG,EAAE,QAAQ,EACb,GAAG,EAAE,SAAS,EACd,SAAS,EAAE,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE;AACtC,4CAAA,CAAC,MAAM,CAAC,iBAAiB,GAAG,UAAU,KAAK,SAAS;AACpD,4CAAA,CAAC,MAAM,CAAC,oBAAoB,GAAG,UAAU,KAAK,mBAAmB;yCACpE,CAAC,EAAA,CACJ,IACH,CACN,CAAA,EAAA,CACK,EACT,MAAM,KACHC,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACIF,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,CAAuB,oBAAA,EAAA,IAAI,CAAE,CAAA,CAAC,GAAI,EACzDA,GAAA,CAAA,KAAA,EAAA,EACI,SAAS,EAAE,UAAU,CACjB,MAAM,CAAC,CAAA,oBAAA,EAAuB,IAAI,CAAE,CAAA,CAAC,EACrC,MAAM,CAAC,CAA6B,0BAAA,EAAA,WAAW,CAAE,CAAA,CAAC,CACrD,EACH,CAAA,CAAA,EAAA,CACH,CACN,EACA,UAAU,EACV,KAAK,CACJ,EAAA,CAAA,EAAA,CACI,EACZ,CAAA,EACR;AACN,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,UAAU,CAAC,0BAA0B,CAAoD,CAAC;AAErG,MAAA,MAAM,GAAG,kBAAkB,CAAC,eAAe,EAAE,cAAc;;;;"}
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-19","avatarStack":"magritte-avatar-stack___5qOCC_8-0-19","avatar-stack-inline":"magritte-avatar-stack-inline___aXUFe_8-0-19","avatarStackInline":"magritte-avatar-stack-inline___aXUFe_8-0-19","avatar-stack-item":"magritte-avatar-stack-item___hDdq8_8-0-19","avatarStackItem":"magritte-avatar-stack-item___hDdq8_8-0-19","avatar-stack-size-16":"magritte-avatar-stack-size-16___Yuwfu_8-0-19","avatarStackSize16":"magritte-avatar-stack-size-16___Yuwfu_8-0-19","avatar-stack-circle":"magritte-avatar-stack-circle___tQZvM_8-0-19","avatarStackCircle":"magritte-avatar-stack-circle___tQZvM_8-0-19","avatar-stack-rect":"magritte-avatar-stack-rect___Ip8L2_8-0-19","avatarStackRect":"magritte-avatar-stack-rect___Ip8L2_8-0-19","avatar-stack-size-24":"magritte-avatar-stack-size-24___oZNQA_8-0-19","avatarStackSize24":"magritte-avatar-stack-size-24___oZNQA_8-0-19","avatar-stack-size-40":"magritte-avatar-stack-size-40___oBfvX_8-0-19","avatarStackSize40":"magritte-avatar-stack-size-40___oBfvX_8-0-19","avatar-stack-size-48":"magritte-avatar-stack-size-48___KGUEt_8-0-19","avatarStackSize48":"magritte-avatar-stack-size-48___KGUEt_8-0-19","avatar-stack-size-80":"magritte-avatar-stack-size-80___JnGV-_8-0-19","avatarStackSize80":"magritte-avatar-stack-size-80___JnGV-_8-0-19","avatar-stack-size-96":"magritte-avatar-stack-size-96___1LxDK_8-0-19","avatarStackSize96":"magritte-avatar-stack-size-96___1LxDK_8-0-19"};
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-BtYOikzx.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;;;;"}
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-BtYOikzx.js';
5
+ export { A as AvatarSkeleton } from './Skeleton-BflYquLn.js';
6
6
  //# sourceMappingURL=Skeleton.js.map