@toptal/picasso-avatar 2.0.7-alpha-fx-null-fix-button-e862ee8b7.0 → 3.0.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/dist-package/src/Avatar/Avatar.d.ts.map +1 -1
- package/dist-package/src/Avatar/Avatar.js +2 -7
- package/dist-package/src/Avatar/Avatar.js.map +1 -1
- package/dist-package/src/Avatar/AvatarEditContainer/AvatarEditContainer.d.ts +2 -1
- package/dist-package/src/Avatar/AvatarEditContainer/AvatarEditContainer.d.ts.map +1 -1
- package/dist-package/src/Avatar/AvatarEditContainer/AvatarEditContainer.js +7 -14
- package/dist-package/src/Avatar/AvatarEditContainer/AvatarEditContainer.js.map +1 -1
- package/dist-package/src/Avatar/AvatarEditContainer/styles.d.ts +3 -3
- package/dist-package/src/Avatar/AvatarEditContainer/styles.d.ts.map +1 -1
- package/dist-package/src/Avatar/AvatarEditContainer/styles.js +13 -78
- package/dist-package/src/Avatar/AvatarEditContainer/styles.js.map +1 -1
- package/dist-package/src/Avatar/AvatarWrapper/AvatarWrapper.d.ts +4 -2
- package/dist-package/src/Avatar/AvatarWrapper/AvatarWrapper.d.ts.map +1 -1
- package/dist-package/src/Avatar/AvatarWrapper/AvatarWrapper.js +3 -10
- package/dist-package/src/Avatar/AvatarWrapper/AvatarWrapper.js.map +1 -1
- package/dist-package/src/Avatar/AvatarWrapper/styles.d.ts +3 -6
- package/dist-package/src/Avatar/AvatarWrapper/styles.d.ts.map +1 -1
- package/dist-package/src/Avatar/AvatarWrapper/styles.js +22 -50
- package/dist-package/src/Avatar/AvatarWrapper/styles.js.map +1 -1
- package/dist-package/src/Avatar/IconAvatar/IconAvatar.d.ts +1 -0
- package/dist-package/src/Avatar/IconAvatar/IconAvatar.d.ts.map +1 -1
- package/dist-package/src/Avatar/IconAvatar/IconAvatar.js +3 -8
- package/dist-package/src/Avatar/IconAvatar/IconAvatar.js.map +1 -1
- package/dist-package/src/Avatar/IconAvatar/styles.d.ts +2 -2
- package/dist-package/src/Avatar/IconAvatar/styles.d.ts.map +1 -1
- package/dist-package/src/Avatar/IconAvatar/styles.js +7 -14
- package/dist-package/src/Avatar/IconAvatar/styles.js.map +1 -1
- package/dist-package/src/Avatar/ImageAvatar/ImageAvatar.d.ts +2 -1
- package/dist-package/src/Avatar/ImageAvatar/ImageAvatar.d.ts.map +1 -1
- package/dist-package/src/Avatar/ImageAvatar/ImageAvatar.js +6 -12
- package/dist-package/src/Avatar/ImageAvatar/ImageAvatar.js.map +1 -1
- package/dist-package/src/Avatar/TextAvatar/TextAvatar.d.ts +4 -2
- package/dist-package/src/Avatar/TextAvatar/TextAvatar.d.ts.map +1 -1
- package/dist-package/src/Avatar/TextAvatar/TextAvatar.js +4 -19
- package/dist-package/src/Avatar/TextAvatar/TextAvatar.js.map +1 -1
- package/dist-package/src/Avatar/TextAvatar/styles.d.ts +3 -2
- package/dist-package/src/Avatar/TextAvatar/styles.d.ts.map +1 -1
- package/dist-package/src/Avatar/TextAvatar/styles.js +11 -21
- package/dist-package/src/Avatar/TextAvatar/styles.js.map +1 -1
- package/dist-package/src/AvatarDropzoneSvg/AvatarDropzoneSvg.d.ts +1 -0
- package/dist-package/src/AvatarDropzoneSvg/AvatarDropzoneSvg.d.ts.map +1 -1
- package/dist-package/src/AvatarDropzoneSvg/AvatarDropzoneSvg.js +7 -25
- package/dist-package/src/AvatarDropzoneSvg/AvatarDropzoneSvg.js.map +1 -1
- package/dist-package/src/AvatarDropzoneSvg/styles.d.ts +5 -3
- package/dist-package/src/AvatarDropzoneSvg/styles.d.ts.map +1 -1
- package/dist-package/src/AvatarDropzoneSvg/styles.js +34 -99
- package/dist-package/src/AvatarDropzoneSvg/styles.js.map +1 -1
- package/dist-package/src/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist-package/src/AvatarGroup/AvatarGroup.js +2 -8
- package/dist-package/src/AvatarGroup/AvatarGroup.js.map +1 -1
- package/package.json +13 -14
- package/src/Avatar/Avatar.tsx +3 -10
- package/src/Avatar/AvatarEditContainer/AvatarEditContainer.tsx +17 -18
- package/src/Avatar/AvatarEditContainer/styles.ts +15 -86
- package/src/Avatar/AvatarWrapper/AvatarWrapper.tsx +13 -19
- package/src/Avatar/AvatarWrapper/styles.ts +28 -80
- package/src/Avatar/IconAvatar/IconAvatar.tsx +9 -11
- package/src/Avatar/IconAvatar/styles.ts +8 -15
- package/src/Avatar/ImageAvatar/ImageAvatar.tsx +14 -18
- package/src/Avatar/TextAvatar/TextAvatar.tsx +29 -35
- package/src/Avatar/TextAvatar/styles.ts +12 -23
- package/src/AvatarDropzoneSvg/AvatarDropzoneSvg.tsx +28 -28
- package/src/AvatarDropzoneSvg/styles.ts +40 -104
- package/src/AvatarGroup/AvatarGroup.tsx +2 -11
- package/LICENSE +0 -20
- package/dist-package/src/Avatar/ImageAvatar/styles.d.ts +0 -3
- package/dist-package/src/Avatar/ImageAvatar/styles.d.ts.map +0 -1
- package/dist-package/src/Avatar/ImageAvatar/styles.js +0 -25
- package/dist-package/src/Avatar/ImageAvatar/styles.js.map +0 -1
- package/dist-package/src/Avatar/styles.d.ts +0 -3
- package/dist-package/src/Avatar/styles.d.ts.map +0 -1
- package/dist-package/src/Avatar/styles.js +0 -9
- package/dist-package/src/Avatar/styles.js.map +0 -1
- package/dist-package/src/AvatarGroup/styles.d.ts +0 -3
- package/dist-package/src/AvatarGroup/styles.d.ts.map +0 -1
- package/dist-package/src/AvatarGroup/styles.js +0 -8
- package/dist-package/src/AvatarGroup/styles.js.map +0 -1
- package/src/Avatar/ImageAvatar/styles.ts +0 -26
- package/src/Avatar/styles.ts +0 -9
- package/src/AvatarGroup/styles.ts +0 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAsB,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;
|
|
1
|
+
{"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAA;AAC3C,OAAO,KAAsB,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AASrE,MAAM,WAAW,KAAM,SAAQ,aAAa,EAAE,cAAc,CAAC,cAAc,CAAC;IAC1E,eAAe;IACf,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,WAAW;IACX,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;IACpE,gBAAgB;IAChB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,kCAAkC;IAClC,OAAO,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAA;IAC7C,uDAAuD;IACvD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;IAC1C,OAAO,CAAC,EAAE;QACR,OAAO,CAAC,EAAE,MAAM,CAAA;QAChB,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,aAAa,CAAC,EAAE,MAAM,CAAA;KACvB,CAAA;CACF;AAED,eAAO,MAAM,MAAM;YAAW,KAAK;;;;;;CAsGlC,CAAA;AASD,eAAe,MAAM,CAAA"}
|
|
@@ -10,17 +10,12 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
12
|
import React, { useCallback } from 'react';
|
|
13
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
14
13
|
import { AVATAR_INITIALS_LIMIT, getNameInitials } from '@toptal/picasso-utils';
|
|
15
14
|
import ImageAvatar from './ImageAvatar/ImageAvatar';
|
|
16
15
|
import TextAvatar from './TextAvatar/TextAvatar';
|
|
17
16
|
import IconAvatar from './IconAvatar/IconAvatar';
|
|
18
17
|
import AvatarWrapper from './AvatarWrapper/AvatarWrapper';
|
|
19
18
|
import AvatarEditContainer from './AvatarEditContainer/AvatarEditContainer';
|
|
20
|
-
import styles from './styles';
|
|
21
|
-
const useStyles = makeStyles(styles, {
|
|
22
|
-
name: 'PicassoAvatarWrapper',
|
|
23
|
-
});
|
|
24
19
|
export const Avatar = (props) => {
|
|
25
20
|
const { alt, src, className, name, size, style, variant, testIds, onEdit, 'data-private': dataPrivate } = props, rest = __rest(props, ["alt", "src", "className", "name", "size", "style", "variant", "testIds", "onEdit", 'data-private']);
|
|
26
21
|
const renderAvatar = useCallback(() => {
|
|
@@ -49,8 +44,8 @@ export const Avatar = (props) => {
|
|
|
49
44
|
testIds === null || testIds === void 0 ? void 0 : testIds.text,
|
|
50
45
|
name,
|
|
51
46
|
style,
|
|
47
|
+
dataPrivate,
|
|
52
48
|
]);
|
|
53
|
-
const classes = useStyles(props);
|
|
54
49
|
const isEditable = Boolean(onEdit);
|
|
55
50
|
const avatar = (React.createElement(AvatarWrapper
|
|
56
51
|
/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */
|
|
@@ -60,7 +55,7 @@ export const Avatar = (props) => {
|
|
|
60
55
|
/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */
|
|
61
56
|
size: size, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.wrapper }, rest), renderAvatar()));
|
|
62
57
|
if (isEditable) {
|
|
63
|
-
return (React.createElement("div", { className:
|
|
58
|
+
return (React.createElement("div", { className: 'relative' },
|
|
64
59
|
avatar,
|
|
65
60
|
isEditable && (React.createElement(AvatarEditContainer, { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.editContainer, onClick: onEdit, size: size }))));
|
|
66
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/Avatar/Avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,KAAK,EAAE,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { BaseProps, SizeType } from '@toptal/picasso-shared';
|
|
3
|
+
export declare type Size = SizeType<'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large'>;
|
|
3
4
|
export interface Props extends BaseProps {
|
|
4
|
-
size?:
|
|
5
|
+
size?: Size;
|
|
5
6
|
disabled?: boolean;
|
|
6
7
|
onClick?: (event: React.MouseEvent) => void;
|
|
7
8
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarEditContainer.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/AvatarEditContainer/AvatarEditContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"AvatarEditContainer.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/AvatarEditContainer/AvatarEditContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AACvC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAOjE,oBAAY,IAAI,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;AAEhF,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,IAAI,CAAC,EAAE,IAAI,CAAA;IACX,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAA;CAC5C;AAED,eAAO,MAAM,mBAAmB;YAAW,KAAK;;;;;CAyD/C,CAAA;AAQD,eAAe,mBAAmB,CAAA"}
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
import React, { useState } from 'react';
|
|
2
|
-
import { capitalize, makeStyles } from '@material-ui/core';
|
|
3
|
-
import cx from 'classnames';
|
|
4
2
|
import { Pencil16, Pencil24 } from '@toptal/picasso-icons';
|
|
5
|
-
import
|
|
3
|
+
import { twJoin } from '@toptal/picasso-tailwind-merge';
|
|
4
|
+
import { rootClassBySize, svgClassBySize } from './styles';
|
|
6
5
|
import { AVATAR_DROPZONE_SVG_SHAPES } from '../../AvatarDropzoneSvg';
|
|
7
|
-
const useStyles = makeStyles(styles, {
|
|
8
|
-
name: 'PicassoDropzoneSvg',
|
|
9
|
-
});
|
|
10
6
|
export const AvatarEditContainer = (props) => {
|
|
11
7
|
const { size = 'small', onClick, 'data-testid': dataTestId } = props;
|
|
12
8
|
const [focused, setFocused] = useState(false);
|
|
13
9
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
14
10
|
const shapes = AVATAR_DROPZONE_SVG_SHAPES[size];
|
|
15
|
-
const classes = useStyles();
|
|
16
11
|
const PencilIconComponent = size === 'xxsmall' || size === 'xsmall' ? Pencil16 : Pencil24;
|
|
17
12
|
const handleFocus = () => {
|
|
18
13
|
setFocused(true);
|
|
@@ -20,13 +15,11 @@ export const AvatarEditContainer = (props) => {
|
|
|
20
15
|
const handleBlur = () => {
|
|
21
16
|
setFocused(false);
|
|
22
17
|
};
|
|
23
|
-
return (React.createElement("button", { className:
|
|
24
|
-
React.createElement("svg", { className:
|
|
25
|
-
React.createElement("path", { className:
|
|
26
|
-
React.createElement("path", { className:
|
|
27
|
-
|
|
28
|
-
}), fillRule: 'evenodd', clipRule: 'evenodd', d: shapes.outline, strokeOpacity: '.48', strokeWidth: '3', strokeLinejoin: 'round' })),
|
|
29
|
-
React.createElement(PencilIconComponent, { className: classes.pencilIcon })));
|
|
18
|
+
return (React.createElement("button", { className: twJoin('border-none cursor-pointer absolute left-0 top-0 flex justify-center', 'items-center outline-none bg-transparent', rootClassBySize[size]), "data-testid": dataTestId, onClick: onClick, onFocus: handleFocus, onBlur: handleBlur },
|
|
19
|
+
React.createElement("svg", { className: twJoin('-m-[3px] absolute', svgClassBySize[size]), fill: 'none', xmlns: 'http://www.w3.org/2000/svg' },
|
|
20
|
+
React.createElement("path", { className: 'fill-graphite-800/70', fillRule: 'evenodd', clipRule: 'evenodd', d: shapes.background }),
|
|
21
|
+
React.createElement("path", { className: twJoin('stroke-blue-500', focused ? '[display:initial]' : 'hidden'), fillRule: 'evenodd', clipRule: 'evenodd', d: shapes.outline, strokeOpacity: '.48', strokeWidth: '3', strokeLinejoin: 'round' })),
|
|
22
|
+
React.createElement(PencilIconComponent, { className: 'text-white z-modal' })));
|
|
30
23
|
};
|
|
31
24
|
AvatarEditContainer.displayName = 'AvatarEditContainer';
|
|
32
25
|
AvatarEditContainer.defaultProps = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarEditContainer.js","sourceRoot":"","sources":["../../../../src/Avatar/AvatarEditContainer/AvatarEditContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AvatarEditContainer.js","sourceRoot":"","sources":["../../../../src/Avatar/AvatarEditContainer/AvatarEditContainer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAEvC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAA;AAEvD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAC1D,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAA;AAUpE,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,KAAY,EAAE,EAAE;IAClD,MAAM,EAAE,IAAI,GAAG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,KAAK,CAAA;IACpE,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IAE7C,oEAAoE;IACpE,MAAM,MAAM,GAAG,0BAA0B,CAAC,IAAK,CAAC,CAAA;IAEhD,MAAM,mBAAmB,GACvB,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;IAE/D,MAAM,WAAW,GAAG,GAAG,EAAE;QACvB,UAAU,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC,CAAA;IAED,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,UAAU,CAAC,KAAK,CAAC,CAAA;IACnB,CAAC,CAAA;IAED,OAAO,CACL,gCACE,SAAS,EAAE,MAAM,CACf,sEAAsE,EACtE,0CAA0C,EAC1C,eAAe,CAAC,IAAI,CAAC,CACtB,iBACY,UAAU,EACvB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,WAAW,EACpB,MAAM,EAAE,UAAU;QAElB,6BACE,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC,EAC5D,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,4BAA4B;YAElC,8BACE,SAAS,EAAE,sBAAsB,EACjC,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAE,MAAM,CAAC,UAAU,GACpB;YACF,8BACE,SAAS,EAAE,MAAM,CACf,iBAAiB,EACjB,OAAO,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CACzC,EACD,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAE,MAAM,CAAC,OAAO,EACjB,aAAa,EAAC,KAAK,EACnB,WAAW,EAAC,GAAG,EACf,cAAc,EAAC,OAAO,GACtB,CACE;QACN,oBAAC,mBAAmB,IAAC,SAAS,EAAC,oBAAoB,GAAG,CAC/C,CACV,CAAA;AACH,CAAC,CAAA;AAED,mBAAmB,CAAC,WAAW,GAAG,qBAAqB,CAAA;AAEvD,mBAAmB,CAAC,YAAY,GAAG;IACjC,IAAI,EAAE,OAAO;CACd,CAAA;AAED,eAAe,mBAAmB,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
declare const
|
|
3
|
-
export
|
|
1
|
+
import type { Size } from './AvatarEditContainer';
|
|
2
|
+
export declare const rootClassBySize: Record<Size, string>;
|
|
3
|
+
export declare const svgClassBySize: Record<Size, string>;
|
|
4
4
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/AvatarEditContainer/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/AvatarEditContainer/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAA;AAEjD,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAMhD,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAM/C,CAAA"}
|
|
@@ -1,80 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
justifyContent: 'center',
|
|
15
|
-
alignItems: 'center',
|
|
16
|
-
outline: 'none',
|
|
17
|
-
background: 'transparent',
|
|
18
|
-
},
|
|
19
|
-
rootXxsmall: {
|
|
20
|
-
width: '32px',
|
|
21
|
-
height: '32px',
|
|
22
|
-
},
|
|
23
|
-
rootXsmall: {
|
|
24
|
-
width: '40px',
|
|
25
|
-
height: '40px',
|
|
26
|
-
},
|
|
27
|
-
rootSmall: {
|
|
28
|
-
width: '80px',
|
|
29
|
-
height: '80px',
|
|
30
|
-
},
|
|
31
|
-
rootMedium: {
|
|
32
|
-
width: '120px',
|
|
33
|
-
height: '120px',
|
|
34
|
-
},
|
|
35
|
-
rootLarge: {
|
|
36
|
-
width: '160px',
|
|
37
|
-
height: '160px',
|
|
38
|
-
},
|
|
39
|
-
svg: {
|
|
40
|
-
margin: '-3px',
|
|
41
|
-
position: 'absolute',
|
|
42
|
-
},
|
|
43
|
-
svgXxsmall: {
|
|
44
|
-
width: '38px',
|
|
45
|
-
height: '38px', // +6px for outline
|
|
46
|
-
},
|
|
47
|
-
svgXsmall: {
|
|
48
|
-
width: '46px',
|
|
49
|
-
height: '46px', // +6px for outline
|
|
50
|
-
},
|
|
51
|
-
svgSmall: {
|
|
52
|
-
width: '86px',
|
|
53
|
-
height: '86px', // +6px for outline
|
|
54
|
-
},
|
|
55
|
-
svgMedium: {
|
|
56
|
-
width: '126px',
|
|
57
|
-
height: '126px', // +6px for outline
|
|
58
|
-
},
|
|
59
|
-
svgLarge: {
|
|
60
|
-
width: '166px',
|
|
61
|
-
height: '166px', // +6px for outline
|
|
62
|
-
},
|
|
63
|
-
background: {
|
|
64
|
-
fill: hoverColor,
|
|
65
|
-
},
|
|
66
|
-
outline: {
|
|
67
|
-
display: 'none',
|
|
68
|
-
stroke: palette.blue.main,
|
|
69
|
-
'&$focused': {
|
|
70
|
-
display: 'initial',
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
pencilIcon: {
|
|
74
|
-
color: palette.common.white,
|
|
75
|
-
zIndex: zIndex.tooltip,
|
|
76
|
-
},
|
|
77
|
-
focused: {},
|
|
78
|
-
});
|
|
1
|
+
export const rootClassBySize = {
|
|
2
|
+
xxsmall: 'w-[32px] h-[32px]',
|
|
3
|
+
xsmall: 'w-[40px] h-[40px]',
|
|
4
|
+
small: 'w-[80px] h-[80px]',
|
|
5
|
+
medium: 'w-[120px] h-[120px]',
|
|
6
|
+
large: 'w-[160px] h-[160px]',
|
|
7
|
+
};
|
|
8
|
+
export const svgClassBySize = {
|
|
9
|
+
xxsmall: 'w-[38px] h-[38px]',
|
|
10
|
+
xsmall: 'w-[46px] h-[46px]',
|
|
11
|
+
small: 'w-[86px] h-[86px]',
|
|
12
|
+
medium: 'w-[126px] h-[126px]',
|
|
13
|
+
large: 'w-[166px] h-[166px]',
|
|
79
14
|
};
|
|
80
15
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/Avatar/AvatarEditContainer/styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/Avatar/AvatarEditContainer/styles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,mBAAmB;IAC1B,MAAM,EAAE,qBAAqB;IAC7B,KAAK,EAAE,qBAAqB;CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,cAAc,GAAyB;IAClD,OAAO,EAAE,mBAAmB;IAC5B,MAAM,EAAE,mBAAmB;IAC3B,KAAK,EAAE,mBAAmB;IAC1B,MAAM,EAAE,qBAAqB;IAC7B,KAAK,EAAE,qBAAqB;CAC7B,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { BaseProps, SizeType } from '@toptal/picasso-shared';
|
|
3
|
+
export declare type Size = SizeType<'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large'>;
|
|
4
|
+
export declare type Variant = 'square' | 'portrait' | 'landscape';
|
|
3
5
|
export interface Props extends BaseProps {
|
|
4
6
|
children: ReactNode;
|
|
5
|
-
size:
|
|
6
|
-
variant:
|
|
7
|
+
size: Size;
|
|
8
|
+
variant: Variant;
|
|
7
9
|
}
|
|
8
10
|
declare const AvatarWrapper: (props: Props) => JSX.Element;
|
|
9
11
|
export default AvatarWrapper;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarWrapper.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/AvatarWrapper/AvatarWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"AvatarWrapper.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/AvatarWrapper/AvatarWrapper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAKjE,oBAAY,IAAI,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;AAEhF,oBAAY,OAAO,GAAG,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAA;AAEzD,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,QAAQ,EAAE,SAAS,CAAA;IACnB,IAAI,EAAE,IAAI,CAAA;IACV,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,QAAA,MAAM,aAAa,UAAW,KAAK,gBAwBlC,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -1,16 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
4
|
-
import styles, { getCornerClassName, getSizeClassName } from './styles';
|
|
5
|
-
const useStyles = makeStyles(styles, {
|
|
6
|
-
name: 'PicassoAvatarWrapper',
|
|
7
|
-
});
|
|
2
|
+
import { twMerge } from '@toptal/picasso-tailwind-merge';
|
|
3
|
+
import { classBySizeAndVariant, clipClassBySize } from './styles';
|
|
8
4
|
const AvatarWrapper = (props) => {
|
|
9
5
|
const { children, className, style, 'data-testid': dataTestId, size, variant, } = props;
|
|
10
|
-
|
|
11
|
-
const sizeClassName = getSizeClassName(size, variant);
|
|
12
|
-
const cornerClassName = getCornerClassName(size);
|
|
13
|
-
return (React.createElement("div", { style: style, "data-testid": dataTestId, className: cx(className, classes.root, classes[sizeClassName], classes[cornerClassName]) }, children));
|
|
6
|
+
return (React.createElement("div", { style: style, "data-testid": dataTestId, className: twMerge('relative bg-gray-500 text-[1rem] shrink-0 grow-0', classBySizeAndVariant[size][variant], clipClassBySize[size], className) }, children));
|
|
14
7
|
};
|
|
15
8
|
export default AvatarWrapper;
|
|
16
9
|
//# sourceMappingURL=AvatarWrapper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvatarWrapper.js","sourceRoot":"","sources":["../../../../src/Avatar/AvatarWrapper/AvatarWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"AvatarWrapper.js","sourceRoot":"","sources":["../../../../src/Avatar/AvatarWrapper/AvatarWrapper.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAExD,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAYjE,MAAM,aAAa,GAAG,CAAC,KAAY,EAAE,EAAE;IACrC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,KAAK,EACL,aAAa,EAAE,UAAU,EACzB,IAAI,EACJ,OAAO,GACR,GAAG,KAAK,CAAA;IAET,OAAO,CACL,6BACE,KAAK,EAAE,KAAK,iBACC,UAAU,EACvB,SAAS,EAAE,OAAO,CAChB,kDAAkD,EAClD,qBAAqB,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EACpC,eAAe,CAAC,IAAI,CAAC,EACrB,SAAS,CACV,IAEA,QAAQ,CACL,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,aAAa,CAAA"}
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
declare const
|
|
4
|
-
export default _default;
|
|
5
|
-
export declare const getSizeClassName: (size: SizeType<'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large'>, variant: 'square' | 'portrait' | 'landscape') => string;
|
|
6
|
-
export declare const getCornerClassName: (size: SizeType<'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large'>) => string;
|
|
1
|
+
import type { Size, Variant } from './AvatarWrapper';
|
|
2
|
+
export declare const classBySizeAndVariant: Record<Size, Record<Variant, string>>;
|
|
3
|
+
export declare const clipClassBySize: Record<Size, string>;
|
|
7
4
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/AvatarWrapper/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/AvatarWrapper/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEpD,eAAO,MAAM,qBAAqB,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,CA0BvE,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAWhD,CAAA"}
|
|
@@ -1,63 +1,35 @@
|
|
|
1
|
-
|
|
2
|
-
import capitalize from '@material-ui/core/utils/capitalize';
|
|
3
|
-
const SETTINGS = {
|
|
1
|
+
export const classBySizeAndVariant = {
|
|
4
2
|
xxsmall: {
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
square: 'w-[2em] h-[2em]',
|
|
4
|
+
portrait: 'w-[1.333333333em] h-[2em]',
|
|
5
|
+
landscape: 'w-[2em] h-[1.333333333em]',
|
|
7
6
|
},
|
|
8
7
|
xsmall: {
|
|
9
|
-
|
|
10
|
-
|
|
8
|
+
square: 'w-[2.5em] h-[2.5em]',
|
|
9
|
+
portrait: 'w-[1.666666666em] h-[2.5em]',
|
|
10
|
+
landscape: 'w-[2.5em] h-[1.666666666em]',
|
|
11
11
|
},
|
|
12
12
|
small: {
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
square: 'w-[5em] h-[5em]',
|
|
14
|
+
portrait: 'w-[3.333333333em] h-[5em]',
|
|
15
|
+
landscape: 'w-[5em] h-[3.333333333em]',
|
|
15
16
|
},
|
|
16
17
|
medium: {
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
square: 'w-[7.5em] h-[7.5em]',
|
|
19
|
+
portrait: 'w-[5em] h-[7.5em]',
|
|
20
|
+
landscape: 'w-[7.5em] h-[5em]',
|
|
19
21
|
},
|
|
20
22
|
large: {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
+
square: 'w-[10em] h-[10em]',
|
|
24
|
+
portrait: 'w-[7.5em] h-[10em]',
|
|
25
|
+
landscape: 'w-[10em] h-[7.5em]',
|
|
23
26
|
},
|
|
24
27
|
};
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
const heightRatio = variant === 'landscape' ? ratio : 1;
|
|
32
|
-
classNames[className] = {
|
|
33
|
-
width: `${dimensions * widthRatio}em`,
|
|
34
|
-
height: `${dimensions * heightRatio}em`,
|
|
35
|
-
};
|
|
36
|
-
});
|
|
37
|
-
return classNames;
|
|
38
|
-
}, {});
|
|
39
|
-
const cornerClassNames = Object.entries(SETTINGS).reduce((classNames, [size, { cornerSize }]) => {
|
|
40
|
-
const className = `corner${capitalize(size)}`;
|
|
41
|
-
const clipPath = `polygon(0 0, 100% 0, 100% 100%, ${cornerSize} 100%, 0 calc(100% - ${cornerSize}))`;
|
|
42
|
-
classNames[className] = {
|
|
43
|
-
clipPath,
|
|
44
|
-
// we can remove this prefix as soon as this issue will
|
|
45
|
-
// be resolved - https://github.com/cssinjs/css-vendor/issues/74
|
|
46
|
-
'-webkit-clip-path': clipPath,
|
|
47
|
-
};
|
|
48
|
-
return classNames;
|
|
49
|
-
}, {});
|
|
50
|
-
export default ({ palette }) => createStyles(Object.assign(Object.assign({ root: {
|
|
51
|
-
position: 'relative',
|
|
52
|
-
backgroundColor: palette.grey.main,
|
|
53
|
-
fontSize: '1rem',
|
|
54
|
-
flexShrink: 0,
|
|
55
|
-
flexGrow: 0,
|
|
56
|
-
} }, sizeClassNames), cornerClassNames));
|
|
57
|
-
export const getSizeClassName = (size, variant) => {
|
|
58
|
-
return `size${capitalize(size)}${capitalize(variant)}`;
|
|
59
|
-
};
|
|
60
|
-
export const getCornerClassName = (size) => {
|
|
61
|
-
return `corner${capitalize(size)}`;
|
|
28
|
+
export const clipClassBySize = {
|
|
29
|
+
xxsmall: '[clip-path:polygon(0_0,_100%_0,_100%_100%,_0.5em_100%,_0_calc(100%-0.5em))]',
|
|
30
|
+
xsmall: '[clip-path:polygon(0_0,_100%_0,_100%_100%,_0.5em_100%,_0_calc(100%-0.5em))]',
|
|
31
|
+
small: '[clip-path:polygon(0_0,_100%_0,_100%_100%,_1em_100%,_0_calc(100%-1em))]',
|
|
32
|
+
medium: '[clip-path:polygon(0_0,_100%_0,_100%_100%,_1.5em_100%,_0_calc(100%-1.5em))]',
|
|
33
|
+
large: '[clip-path:polygon(0_0,_100%_0,_100%_100%,_1.5em_100%,_0_calc(100%-1.5em))]',
|
|
62
34
|
};
|
|
63
35
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/Avatar/AvatarWrapper/styles.ts"],"names":[],"mappings":"AAEA,
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/Avatar/AvatarWrapper/styles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAA0C;IAC1E,OAAO,EAAE;QACP,MAAM,EAAE,iBAAiB;QACzB,QAAQ,EAAE,2BAA2B;QACrC,SAAS,EAAE,2BAA2B;KACvC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,6BAA6B;QACvC,SAAS,EAAE,6BAA6B;KACzC;IACD,KAAK,EAAE;QACL,MAAM,EAAE,iBAAiB;QACzB,QAAQ,EAAE,2BAA2B;QACrC,SAAS,EAAE,2BAA2B;KACvC;IACD,MAAM,EAAE;QACN,MAAM,EAAE,qBAAqB;QAC7B,QAAQ,EAAE,mBAAmB;QAC7B,SAAS,EAAE,mBAAmB;KAC/B;IACD,KAAK,EAAE;QACL,MAAM,EAAE,mBAAmB;QAC3B,QAAQ,EAAE,oBAAoB;QAC9B,SAAS,EAAE,oBAAoB;KAChC;CACF,CAAA;AAED,MAAM,CAAC,MAAM,eAAe,GAAyB;IACnD,OAAO,EACL,6EAA6E;IAC/E,MAAM,EACJ,6EAA6E;IAC/E,KAAK,EACH,yEAAyE;IAC3E,MAAM,EACJ,6EAA6E;IAC/E,KAAK,EACH,6EAA6E;CAChF,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { BaseProps, SizeType } from '@toptal/picasso-shared';
|
|
3
|
+
export declare type Size = SizeType<'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large'>;
|
|
3
4
|
interface Props extends BaseProps {
|
|
4
5
|
size: SizeType<'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large'>;
|
|
5
6
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconAvatar.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/IconAvatar/IconAvatar.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"IconAvatar.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/IconAvatar/IconAvatar.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAMjE,oBAAY,IAAI,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;AAEhF,UAAU,KAAM,SAAQ,SAAS;IAC/B,IAAI,EAAE,QAAQ,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;CACpE;AAED,QAAA,MAAM,UAAU,2DAKb,KAAK,gBAaP,CAAA;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import cx from 'classnames';
|
|
3
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
4
2
|
import { Profile16 } from '@toptal/picasso-icons';
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
name: 'PicassoIconAvatar',
|
|
8
|
-
});
|
|
3
|
+
import { twMerge } from '@toptal/picasso-tailwind-merge';
|
|
4
|
+
import { classBySize } from './styles';
|
|
9
5
|
const IconAvatar = ({ size, 'data-testid': dataTestId, className, style, }) => {
|
|
10
|
-
|
|
11
|
-
return (React.createElement(Profile16, { className: cx(className, classes.root, classes[`${size}Icon`]), color: 'white', "data-testid": dataTestId, style: style }));
|
|
6
|
+
return (React.createElement(Profile16, { className: twMerge(className, 'absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2', classBySize[size]), color: 'white', "data-testid": dataTestId, style: style }));
|
|
12
7
|
};
|
|
13
8
|
export default IconAvatar;
|
|
14
9
|
//# sourceMappingURL=IconAvatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IconAvatar.js","sourceRoot":"","sources":["../../../../src/Avatar/IconAvatar/IconAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"IconAvatar.js","sourceRoot":"","sources":["../../../../src/Avatar/IconAvatar/IconAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAQtC,MAAM,UAAU,GAAG,CAAC,EAClB,IAAI,EACJ,aAAa,EAAE,UAAU,EACzB,SAAS,EACT,KAAK,GACC,EAAE,EAAE;IACV,OAAO,CACL,oBAAC,SAAS,IACR,SAAS,EAAE,OAAO,CAChB,SAAS,EACT,6DAA6D,EAC7D,WAAW,CAAC,IAAI,CAAC,CAClB,EACD,KAAK,EAAC,OAAO,iBACA,UAAU,EACvB,KAAK,EAAE,KAAK,GACZ,CACH,CAAA;AACH,CAAC,CAAA;AAED,eAAe,UAAU,CAAA"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export
|
|
1
|
+
import type { Size } from './IconAvatar';
|
|
2
|
+
export declare const classBySize: Record<Size, string>;
|
|
3
3
|
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/IconAvatar/styles.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/IconAvatar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAExC,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAM5C,CAAA"}
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
},
|
|
9
|
-
xxsmallIcon: { fontSize: '1em' },
|
|
10
|
-
xsmallIcon: { fontSize: '1em' },
|
|
11
|
-
smallIcon: { fontSize: '1.5em' },
|
|
12
|
-
mediumIcon: { fontSize: '1.875em' },
|
|
13
|
-
largeIcon: { fontSize: '3em' },
|
|
14
|
-
});
|
|
1
|
+
export const classBySize = {
|
|
2
|
+
xxsmall: 'text-[1em]',
|
|
3
|
+
xsmall: 'text-[1em]',
|
|
4
|
+
small: 'text-[1.5em]',
|
|
5
|
+
medium: 'text-[1.875em]',
|
|
6
|
+
large: 'text-[3em]',
|
|
7
|
+
};
|
|
15
8
|
//# sourceMappingURL=styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/Avatar/IconAvatar/styles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../../src/Avatar/IconAvatar/styles.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,WAAW,GAAyB;IAC/C,OAAO,EAAE,YAAY;IACrB,MAAM,EAAE,YAAY;IACpB,KAAK,EAAE,cAAc;IACrB,MAAM,EAAE,gBAAgB;IACxB,KAAK,EAAE,YAAY;CACpB,CAAA"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import type { BaseProps, SizeType } from '@toptal/picasso-shared';
|
|
3
|
+
export declare type Size = SizeType<'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large'>;
|
|
3
4
|
export interface Props extends BaseProps {
|
|
4
|
-
size:
|
|
5
|
+
size: Size;
|
|
5
6
|
src: string;
|
|
6
7
|
alt?: string;
|
|
7
8
|
name?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageAvatar.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/ImageAvatar/ImageAvatar.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"ImageAvatar.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/ImageAvatar/ImageAvatar.tsx"],"names":[],"mappings":";AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAKjE,oBAAY,IAAI,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;AAEhF,MAAM,WAAW,KAAM,SAAQ,SAAS;IACtC,IAAI,EAAE,IAAI,CAAA;IACV,GAAG,EAAE,MAAM,CAAA;IACX,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAwBD,QAAA,MAAM,WAAW,UAAW,KAAK,gBA4BhC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,26 +1,20 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import cx from 'classnames';
|
|
3
|
-
import { makeStyles } from '@material-ui/core/styles';
|
|
4
2
|
import { Logo } from '@toptal/picasso-logo';
|
|
5
3
|
import { Image } from '@toptal/picasso-image';
|
|
6
|
-
import
|
|
7
|
-
const
|
|
8
|
-
name: 'PicassoImageAvatar',
|
|
9
|
-
});
|
|
10
|
-
const AvatarLogo = ({ size, classes }) => {
|
|
4
|
+
import { twMerge } from '@toptal/picasso-tailwind-merge';
|
|
5
|
+
const AvatarLogo = ({ size }) => {
|
|
11
6
|
const isTooSmall = ['small', 'xsmall', 'xxsmall'].includes(size);
|
|
12
7
|
if (isTooSmall) {
|
|
13
8
|
return null;
|
|
14
9
|
}
|
|
15
|
-
return (React.createElement("div", { className:
|
|
16
|
-
React.createElement(Logo, { emblem: true, variant: 'white', className:
|
|
10
|
+
return (React.createElement("div", { className: 'flex absolute bottom-4 left-4', role: 'img', "aria-label": 'photo placeholder' },
|
|
11
|
+
React.createElement(Logo, { emblem: true, variant: 'white', className: 'w-[1.0625rem] h-6' })));
|
|
17
12
|
};
|
|
18
13
|
const ImageAvatar = (props) => {
|
|
19
14
|
const { alt, className, name, size, src, style, 'data-testid': dataTestId, 'data-private': dataPrivate, } = props;
|
|
20
|
-
const classes = useStyles(props);
|
|
21
15
|
return (React.createElement(React.Fragment, null,
|
|
22
|
-
React.createElement(Image, { alt: alt || name || '', className:
|
|
23
|
-
React.createElement(AvatarLogo, {
|
|
16
|
+
React.createElement(Image, { alt: alt || name || '', className: twMerge('object-cover w-full h-full absolute left-0 top-0 [image-rendering:-webkit-optimize-contrast]', className), src: src, style: style, "data-testid": dataTestId, "data-private": dataPrivate }),
|
|
17
|
+
React.createElement(AvatarLogo, { size: size })));
|
|
24
18
|
};
|
|
25
19
|
export default ImageAvatar;
|
|
26
20
|
//# sourceMappingURL=ImageAvatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageAvatar.js","sourceRoot":"","sources":["../../../../src/Avatar/ImageAvatar/ImageAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ImageAvatar.js","sourceRoot":"","sources":["../../../../src/Avatar/ImageAvatar/ImageAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAA;AAC3C,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAA;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAA;AAexD,MAAM,UAAU,GAAG,CAAC,EAAE,IAAI,EAAa,EAAE,EAAE;IACzC,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IAEhE,IAAI,UAAU,EAAE;QACd,OAAO,IAAI,CAAA;KACZ;IAED,OAAO,CACL,6BACE,SAAS,EAAC,+BAA+B,EACzC,IAAI,EAAC,KAAK,gBACC,mBAAmB;QAE9B,oBAAC,IAAI,IAAC,MAAM,QAAC,OAAO,EAAC,OAAO,EAAC,SAAS,EAAC,mBAAmB,GAAG,CACzD,CACP,CAAA;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,KAAY,EAAE,EAAE;IACnC,MAAM,EACJ,GAAG,EACH,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,GAAG,EACH,KAAK,EACL,aAAa,EAAE,UAAU,EACzB,cAAc,EAAE,WAAW,GAC5B,GAAG,KAAK,CAAA;IAET,OAAO,CACL;QACE,oBAAC,KAAK,IACJ,GAAG,EAAE,GAAG,IAAI,IAAI,IAAI,EAAE,EACtB,SAAS,EAAE,OAAO,CAChB,8FAA8F,EAC9F,SAAS,CACV,EACD,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,iBACC,UAAU,kBACT,WAAW,GACzB;QACF,oBAAC,UAAU,IAAC,IAAI,EAAE,IAAI,GAAI,CACzB,CACJ,CAAA;AACH,CAAC,CAAA;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { ReactNode } from 'react';
|
|
2
2
|
import type { BaseProps, SizeType } from '@toptal/picasso-shared';
|
|
3
|
+
export declare type Size = SizeType<'xxsmall' | 'xsmall' | 'small' | 'medium' | 'large'>;
|
|
4
|
+
export declare type FontSize = SizeType<'small' | 'large'>;
|
|
3
5
|
interface Props extends BaseProps {
|
|
4
6
|
children: ReactNode;
|
|
5
|
-
fontSize?:
|
|
6
|
-
size:
|
|
7
|
+
fontSize?: FontSize;
|
|
8
|
+
size: Size;
|
|
7
9
|
}
|
|
8
10
|
declare const TextAvatar: {
|
|
9
11
|
({ children, className, style, "data-testid": dataTestID, fontSize, size, "data-private": dataPrivate, }: Props): JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextAvatar.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/TextAvatar/TextAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"TextAvatar.d.ts","sourceRoot":"","sources":["../../../../src/Avatar/TextAvatar/TextAvatar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAA;AAMjE,oBAAY,IAAI,GAAG,QAAQ,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC,CAAA;AAEhF,oBAAY,QAAQ,GAAG,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,CAAA;AAElD,UAAU,KAAM,SAAQ,SAAS;IAC/B,QAAQ,EAAE,SAAS,CAAA;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,IAAI,CAAA;CACX;AAED,QAAA,MAAM,UAAU;8GAQb,KAAK;;;;CAqBP,CAAA;AAMD,eAAe,UAAU,CAAA"}
|