@toptal/picasso 26.10.2 → 26.13.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/Avatar.d.ts +5 -2
- package/Avatar/Avatar.js +14 -3
- package/Avatar/Avatar.js.map +1 -1
- package/Avatar/styles.d.ts +3 -0
- package/Avatar/styles.js +21 -0
- package/Avatar/styles.js.map +1 -0
- package/AvatarCompound/index.d.ts +1 -1
- package/AvatarUpload/AvatarUpload.d.ts +62 -0
- package/AvatarUpload/AvatarUpload.js +121 -0
- package/AvatarUpload/AvatarUpload.js.map +1 -0
- package/AvatarUpload/DropzoneSvg/DropzoneSvg.d.ts +17 -0
- package/AvatarUpload/DropzoneSvg/DropzoneSvg.js +64 -0
- package/AvatarUpload/DropzoneSvg/DropzoneSvg.js.map +1 -0
- package/AvatarUpload/DropzoneSvg/styles.d.ts +3 -0
- package/AvatarUpload/DropzoneSvg/styles.js +77 -0
- package/AvatarUpload/DropzoneSvg/styles.js.map +1 -0
- package/AvatarUpload/DropzoneSvg/utils.d.ts +26 -0
- package/AvatarUpload/DropzoneSvg/utils.js +69 -0
- package/AvatarUpload/DropzoneSvg/utils.js.map +1 -0
- package/AvatarUpload/index.d.ts +5 -0
- package/AvatarUpload/index.js +3 -0
- package/AvatarUpload/index.js.map +1 -0
- package/AvatarUpload/styles.d.ts +3 -0
- package/AvatarUpload/styles.js +49 -0
- package/AvatarUpload/styles.js.map +1 -0
- package/AvatarUpload/types.d.ts +30 -0
- package/AvatarUpload/types.js +7 -0
- package/AvatarUpload/types.js.map +1 -0
- package/Badge/Badge.js +1 -1
- package/Badge/Badge.js.map +1 -1
- package/Modal/Modal.js +9 -3
- package/Modal/Modal.js.map +1 -1
- package/index.d.ts +2 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +2 -2
package/Avatar/Avatar.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { HTMLAttributes } from 'react';
|
|
1
|
+
import React, { HTMLAttributes } from 'react';
|
|
2
2
|
import { StandardProps, SizeType } from '@toptal/picasso-shared';
|
|
3
3
|
export interface Props extends StandardProps, HTMLAttributes<HTMLDivElement> {
|
|
4
4
|
/** Alt text */
|
|
@@ -11,15 +11,18 @@ export interface Props extends StandardProps, HTMLAttributes<HTMLDivElement> {
|
|
|
11
11
|
src?: string;
|
|
12
12
|
/** Variant of the avatar shape */
|
|
13
13
|
variant?: 'square' | 'portrait' | 'landscape';
|
|
14
|
+
/** Callback to show edit-on-click and receive event */
|
|
15
|
+
onEdit?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
14
16
|
testIds?: {
|
|
15
17
|
wrapper?: string;
|
|
16
18
|
icon?: string;
|
|
17
19
|
image?: string;
|
|
18
20
|
text?: string;
|
|
21
|
+
editContainer?: string;
|
|
19
22
|
};
|
|
20
23
|
}
|
|
21
24
|
export declare const Avatar: {
|
|
22
|
-
(
|
|
25
|
+
(props: Props): JSX.Element;
|
|
23
26
|
defaultProps: {
|
|
24
27
|
size: string;
|
|
25
28
|
variant: string;
|
package/Avatar/Avatar.js
CHANGED
|
@@ -10,14 +10,20 @@ 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';
|
|
13
14
|
import { AVATAR_INITIALS_LIMIT } from '../utils/constants';
|
|
14
15
|
import getNameInitials from '../utils/get-name-initials';
|
|
15
16
|
import ImageAvatar from './ImageAvatar/ImageAvatar';
|
|
16
17
|
import TextAvatar from './TextAvatar/TextAvatar';
|
|
17
18
|
import IconAvatar from './IconAvatar/IconAvatar';
|
|
18
19
|
import AvatarWrapper from './AvatarWrapper/AvatarWrapper';
|
|
19
|
-
|
|
20
|
-
|
|
20
|
+
import styles from './styles';
|
|
21
|
+
import { Pencil16, Pencil24 } from '../Icon';
|
|
22
|
+
const useStyles = makeStyles(styles, {
|
|
23
|
+
name: 'PicassoAvatarWrapper',
|
|
24
|
+
});
|
|
25
|
+
export const Avatar = (props) => {
|
|
26
|
+
const { alt, src, className, name, size, style, variant, testIds, onEdit } = props, rest = __rest(props, ["alt", "src", "className", "name", "size", "style", "variant", "testIds", "onEdit"]);
|
|
21
27
|
const renderAvatar = useCallback(() => {
|
|
22
28
|
if (src) {
|
|
23
29
|
return (React.createElement(ImageAvatar, { alt: alt, className: className, name: name,
|
|
@@ -45,13 +51,18 @@ export const Avatar = (_a) => {
|
|
|
45
51
|
name,
|
|
46
52
|
style,
|
|
47
53
|
]);
|
|
54
|
+
const classes = useStyles(props);
|
|
55
|
+
const isEditable = Boolean(onEdit);
|
|
56
|
+
const pencilIcon = size === 'xxsmall' || size === 'xsmall' ? React.createElement(Pencil16, null) : React.createElement(Pencil24, null);
|
|
48
57
|
return (React.createElement(AvatarWrapper
|
|
49
58
|
/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */
|
|
50
59
|
, Object.assign({
|
|
51
60
|
/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */
|
|
52
61
|
variant: variant,
|
|
53
62
|
/* eslint-disable-next-line @typescript-eslint/no-non-null-assertion */
|
|
54
|
-
size: size, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.wrapper }, rest),
|
|
63
|
+
size: size, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.wrapper }, rest),
|
|
64
|
+
isEditable && (React.createElement("div", { "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.editContainer, className: classes.editContainer, onClick: onEdit }, pencilIcon)),
|
|
65
|
+
renderAvatar()));
|
|
55
66
|
};
|
|
56
67
|
Avatar.defaultProps = {
|
|
57
68
|
size: 'xsmall',
|
package/Avatar/Avatar.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAkB,WAAW,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAAkB,WAAW,EAAE,MAAM,OAAO,CAAA;AAE1D,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAE5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAA;AAC1D,OAAO,eAAe,MAAM,4BAA4B,CAAA;AACxD,OAAO,WAAW,MAAM,2BAA2B,CAAA;AACnD,OAAO,UAAU,MAAM,yBAAyB,CAAA;AAChD,OAAO,UAAU,MAAM,yBAAyB,CAAA;AAChD,OAAO,aAAa,MAAM,+BAA+B,CAAA;AACzD,OAAO,MAAM,MAAM,UAAU,CAAA;AAC7B,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAwB5C,MAAM,SAAS,GAAG,UAAU,CAAe,MAAM,EAAE;IACjD,IAAI,EAAE,sBAAsB;CAC7B,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,KAAY,EAAE,EAAE;IACrC,MAAM,EACJ,GAAG,EACH,GAAG,EACH,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,EACP,MAAM,KAEJ,KAAK,EADJ,IAAI,UACL,KAAK,EAXH,oFAWL,CAAQ,CAAA;IAET,MAAM,YAAY,GAAG,WAAW,CAAC,GAAG,EAAE;QACpC,IAAI,GAAG,EAAE;YACP,OAAO,CACL,oBAAC,WAAW,IACV,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,IAAI;gBACV,uEAAuE;gBACvE,IAAI,EAAE,IAAK,EACX,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,iBACC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,GAC3B,CACH,CAAA;SACF;QAED,IAAI,IAAI,EAAE;YACR,MAAM,QAAQ,GAAG,eAAe,CAAC,IAAI,CAAC,CAAA;YACtC,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,IAAI,qBAAqB,CAAA;YAE3D,OAAO,CACL,oBAAC,UAAU,IACT,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO;gBACxC,uEAAuE;gBACvE,IAAI,EAAE,IAAK,iBACE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,IAEzB,QAAQ,CACE,CACd,CAAA;SACF;QAED,OAAO,CACL,oBAAC,UAAU,mBACI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,EAC1B,SAAS,EAAE,SAAS;YACpB,uEAAuE;YACvE,IAAI,EAAE,IAAK,GACX,CACH,CAAA;IACH,CAAC,EAAE;QACD,IAAI;QACJ,GAAG;QACH,SAAS;QACT,GAAG;QACH,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;QACb,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK;QACd,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI;QACb,IAAI;QACJ,KAAK;KACN,CAAC,CAAA;IAEF,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,CAAA;IAChC,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAElC,MAAM,UAAU,GACd,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,oBAAC,QAAQ,OAAG,CAAC,CAAC,CAAC,oBAAC,QAAQ,OAAG,CAAA;IAEvE,OAAO,CACL,oBAAC,aAAa;IACZ,uEAAuE;;QAAvE,uEAAuE;QACvE,OAAO,EAAE,OAAQ;QACjB,uEAAuE;QACvE,IAAI,EAAE,IAAK,iBACE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,IACzB,IAAI;QAEP,UAAU,IAAI,CACb,4CACe,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa,EACnC,SAAS,EAAE,OAAO,CAAC,aAAa,EAChC,OAAO,EAAE,MAAM,IAEd,UAAU,CACP,CACP;QACA,YAAY,EAAE,CACD,CACjB,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,YAAY,GAAG;IACpB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,QAAQ;CAClB,CAAA;AAED,MAAM,CAAC,WAAW,GAAG,QAAQ,CAAA;AAE7B,eAAe,MAAM,CAAA"}
|
package/Avatar/styles.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { alpha } from '@toptal/picasso-shared';
|
|
2
|
+
import { createStyles } from '@material-ui/core/styles';
|
|
3
|
+
export default ({ palette }) => {
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
5
|
+
const hoverColor = alpha(palette.grey.darker, 0.7);
|
|
6
|
+
return createStyles({
|
|
7
|
+
editContainer: {
|
|
8
|
+
position: 'absolute',
|
|
9
|
+
width: '100%',
|
|
10
|
+
height: '100%',
|
|
11
|
+
display: 'flex',
|
|
12
|
+
alignItems: 'center',
|
|
13
|
+
justifyContent: 'center',
|
|
14
|
+
backgroundColor: hoverColor,
|
|
15
|
+
zIndex: 1,
|
|
16
|
+
color: palette.common.white,
|
|
17
|
+
cursor: 'pointer',
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/Avatar/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAS,MAAM,0BAA0B,CAAA;AAE9D,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE;IACpC,oEAAoE;IACpE,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAO,EAAE,GAAG,CAAC,CAAA;IAEnD,OAAO,YAAY,CAAC;QAClB,aAAa,EAAE;YACb,QAAQ,EAAE,UAAU;YACpB,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;YACxB,eAAe,EAAE,UAAU;YAC3B,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK;YAC3B,MAAM,EAAE,SAAS;SAClB;KACF,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const AvatarCompound: {
|
|
2
|
-
(
|
|
2
|
+
(props: import("../Avatar/Avatar").Props): JSX.Element;
|
|
3
3
|
defaultProps: {
|
|
4
4
|
size: string;
|
|
5
5
|
variant: string;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { BaseProps, SizeType } from '@toptal/picasso-shared';
|
|
3
|
+
import { AvatarUploadOptions } from './types';
|
|
4
|
+
import { Status } from '../OutlinedInput';
|
|
5
|
+
export interface Props extends BaseProps {
|
|
6
|
+
/**
|
|
7
|
+
* Set accepted file types. See https://github.com/okonet/attr-accept for more information.
|
|
8
|
+
*/
|
|
9
|
+
accept?: AvatarUploadOptions['accept'];
|
|
10
|
+
/** Alt text */
|
|
11
|
+
alt?: string;
|
|
12
|
+
/** Image URL */
|
|
13
|
+
src?: string;
|
|
14
|
+
/** Size of the avatar */
|
|
15
|
+
size?: SizeType<'small' | 'large'>;
|
|
16
|
+
/** Enable/disable the dropzone */
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
/** Maximum file size (in bytes) */
|
|
19
|
+
maxSize?: number;
|
|
20
|
+
/** Minimum file size (in bytes) */
|
|
21
|
+
minSize?: number;
|
|
22
|
+
/**
|
|
23
|
+
* Callback for when there is already a source and user clicks on the avatar.
|
|
24
|
+
*/
|
|
25
|
+
onEdit?: AvatarUploadOptions['onEdit'];
|
|
26
|
+
/**
|
|
27
|
+
* Callback for when the drop event occurs. Note that if file is not accepted, this callback is not invoked.,
|
|
28
|
+
* @type <T extends File>(files: T, event: DropEvent) => void
|
|
29
|
+
*/
|
|
30
|
+
onDropAccepted?: AvatarUploadOptions['onDropAccepted'];
|
|
31
|
+
/**
|
|
32
|
+
* Callback for when the drop event occurs. Note that if file is not rejected, this callback is not invoked.
|
|
33
|
+
* @type (fileRejection: FileRejection, event: DropEvent) => void
|
|
34
|
+
*/
|
|
35
|
+
onDropRejected?: AvatarUploadOptions['onDropRejected'];
|
|
36
|
+
/**
|
|
37
|
+
* Callback for when the drop event occurs. Note that the onDrop callback will always be invoked regardless if the dropped file was accepted or rejected.
|
|
38
|
+
* @type <T extends File>(acceptedFile: T | null, fileRejection: FileRejection | null, event: DropEvent) => void
|
|
39
|
+
*/
|
|
40
|
+
onDrop?: AvatarUploadOptions['onDrop'];
|
|
41
|
+
/**
|
|
42
|
+
* Custom validation function
|
|
43
|
+
* (file: File) => FileError | FileError[] | null
|
|
44
|
+
*/
|
|
45
|
+
validator?: AvatarUploadOptions['validator'];
|
|
46
|
+
/** Indicate `AvatarUpload` is in `error` or `default` state */
|
|
47
|
+
status?: Extract<Status, 'error' | 'default'>;
|
|
48
|
+
/** Indicate whether the selected file is being uploaded */
|
|
49
|
+
uploading?: boolean;
|
|
50
|
+
/** Indicate whether component has focused state as default */
|
|
51
|
+
autoFocus?: boolean;
|
|
52
|
+
autoHover?: boolean;
|
|
53
|
+
defaultActive?: boolean;
|
|
54
|
+
testIds?: {
|
|
55
|
+
avatar?: string;
|
|
56
|
+
dropzoneSvg?: string;
|
|
57
|
+
uploadIcon?: string;
|
|
58
|
+
loader?: string;
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
export declare const AvatarUpload: React.ForwardRefExoticComponent<Props & React.RefAttributes<HTMLElement>>;
|
|
62
|
+
export default AvatarUpload;
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import React, { forwardRef, useCallback, useEffect, useImperativeHandle, useState, } from 'react';
|
|
2
|
+
import { capitalize, makeStyles } from '@material-ui/core';
|
|
3
|
+
import { useDropzone } from 'react-dropzone';
|
|
4
|
+
import cx from 'classnames';
|
|
5
|
+
import Avatar from '../Avatar';
|
|
6
|
+
import styles from './styles';
|
|
7
|
+
import DropzoneSvg from './DropzoneSvg/DropzoneSvg';
|
|
8
|
+
import Loader from '../Loader';
|
|
9
|
+
import { Upload24 } from '../Icon';
|
|
10
|
+
const useStyles = makeStyles(styles, {
|
|
11
|
+
name: 'PicassoAvatarUpload',
|
|
12
|
+
});
|
|
13
|
+
export const AvatarUpload = forwardRef(
|
|
14
|
+
// eslint-disable-next-line complexity
|
|
15
|
+
function AvatarUpload(props, ref) {
|
|
16
|
+
const { autoFocus, autoHover, defaultActive, uploading = false, size = 'small', onEdit, status, 'data-testid': dataTestId, testIds, src, alt,
|
|
17
|
+
// dropzoneOptions
|
|
18
|
+
accept, minSize, maxSize, disabled, onDrop, onDropAccepted, onDropRejected, validator, } = props;
|
|
19
|
+
const [{ initiallyFocused, initiallyActive, hovered }, setVisualStates] = useState({
|
|
20
|
+
hovered: autoHover,
|
|
21
|
+
initiallyFocused: autoFocus,
|
|
22
|
+
initiallyActive: defaultActive,
|
|
23
|
+
});
|
|
24
|
+
// callback overrides to return only one file to the parent component
|
|
25
|
+
const handleDrop = useCallback((acceptedFiles, fileRejections, event) => {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
if (onDrop) {
|
|
28
|
+
onDrop((_a = acceptedFiles[0]) !== null && _a !== void 0 ? _a : null, (_b = fileRejections[0]) !== null && _b !== void 0 ? _b : null, event);
|
|
29
|
+
}
|
|
30
|
+
}, [onDrop]);
|
|
31
|
+
const handleDropAccepted = useCallback((files, event) => {
|
|
32
|
+
if (onDropAccepted) {
|
|
33
|
+
onDropAccepted(files[0], event);
|
|
34
|
+
}
|
|
35
|
+
}, [onDropAccepted]);
|
|
36
|
+
const handleDropRejected = useCallback((fileRejections, event) => {
|
|
37
|
+
if (onDropRejected) {
|
|
38
|
+
onDropRejected(fileRejections[0], event);
|
|
39
|
+
}
|
|
40
|
+
}, [onDropRejected]);
|
|
41
|
+
const handleEdit = (event) => {
|
|
42
|
+
// to avoid dropzone to be triggered
|
|
43
|
+
event.stopPropagation();
|
|
44
|
+
if (onEdit) {
|
|
45
|
+
onEdit(event);
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
const onMouseEnter = () => {
|
|
49
|
+
setVisualStates(oldState => (Object.assign(Object.assign({}, oldState), { hovered: true })));
|
|
50
|
+
};
|
|
51
|
+
const onMouseLeave = () => {
|
|
52
|
+
setVisualStates(oldState => (Object.assign(Object.assign({}, oldState), { hovered: false })));
|
|
53
|
+
};
|
|
54
|
+
const showAvatar = !uploading && Boolean(src);
|
|
55
|
+
const showUploadIcon = !(showAvatar || uploading);
|
|
56
|
+
// after showing avatar, only way to change the file selection is to use 'onEdit' by clicking
|
|
57
|
+
const disableDropzoneClick = (showAvatar && !onEdit) || uploading;
|
|
58
|
+
const disableKeyboardAndDragging = showAvatar || uploading;
|
|
59
|
+
const classes = useStyles();
|
|
60
|
+
const loadingIcon = uploading && (React.createElement(Loader, { className: cx(classes.icon, {
|
|
61
|
+
[classes.hovered]: hovered,
|
|
62
|
+
[classes.error]: status === 'error',
|
|
63
|
+
}), size: 'small', variant: 'inherit', "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.loader }));
|
|
64
|
+
const uploadIcon = showUploadIcon && (React.createElement(Upload24, { className: cx(classes.icon, {
|
|
65
|
+
[classes.hovered]: hovered,
|
|
66
|
+
[classes.error]: status === 'error',
|
|
67
|
+
}), "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.uploadIcon }));
|
|
68
|
+
const { getInputProps, getRootProps, isDragActive, isFocused, rootRef } = useDropzone({
|
|
69
|
+
accept,
|
|
70
|
+
minSize,
|
|
71
|
+
maxSize,
|
|
72
|
+
disabled,
|
|
73
|
+
multiple: false,
|
|
74
|
+
onDrop: handleDrop,
|
|
75
|
+
onDropAccepted: handleDropAccepted,
|
|
76
|
+
onDropRejected: handleDropRejected,
|
|
77
|
+
validator,
|
|
78
|
+
noClick: disableDropzoneClick,
|
|
79
|
+
noDrag: disableKeyboardAndDragging,
|
|
80
|
+
noKeyboard: disableKeyboardAndDragging,
|
|
81
|
+
});
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
if (initiallyActive && isDragActive) {
|
|
84
|
+
setVisualStates(oldState => (Object.assign(Object.assign({}, oldState), { initiallyActive: false })));
|
|
85
|
+
}
|
|
86
|
+
}, [initiallyActive, isDragActive]);
|
|
87
|
+
useEffect(() => {
|
|
88
|
+
if (initiallyFocused && isFocused) {
|
|
89
|
+
setVisualStates(oldState => (Object.assign(Object.assign({}, oldState), { initiallyFocused: false })));
|
|
90
|
+
}
|
|
91
|
+
}, [initiallyFocused, isFocused]);
|
|
92
|
+
// exposing the rootRef from react-dropzone to the parent component
|
|
93
|
+
useImperativeHandle(ref, () => { var _a; return (_a = rootRef.current) !== null && _a !== void 0 ? _a : {}; }, [
|
|
94
|
+
rootRef,
|
|
95
|
+
]);
|
|
96
|
+
return (React.createElement("div", Object.assign({}, getRootProps({
|
|
97
|
+
className: cx(classes.root, classes[`size${capitalize(size)}`], {
|
|
98
|
+
[classes.disabled]: disabled,
|
|
99
|
+
[classes.readonlyAvatar]: showAvatar,
|
|
100
|
+
}),
|
|
101
|
+
'data-testid': dataTestId,
|
|
102
|
+
}), { onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave }),
|
|
103
|
+
React.createElement("input", Object.assign({}, getInputProps())),
|
|
104
|
+
showAvatar ? (React.createElement(Avatar, { size: size, onEdit: onEdit ? handleEdit : undefined,
|
|
105
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
106
|
+
src: src, alt: alt, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.avatar, variant: 'square' })) : (React.createElement(React.Fragment, null,
|
|
107
|
+
React.createElement(DropzoneSvg, { disabled: disabled, error: status === 'error', size: size, hovered: hovered, focused: initiallyFocused || isFocused, isDragActive: initiallyActive || isDragActive, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.dropzoneSvg }),
|
|
108
|
+
loadingIcon,
|
|
109
|
+
uploadIcon))));
|
|
110
|
+
});
|
|
111
|
+
AvatarUpload.displayName = 'AvatarUpload';
|
|
112
|
+
AvatarUpload.defaultProps = {
|
|
113
|
+
size: 'small',
|
|
114
|
+
disabled: false,
|
|
115
|
+
uploading: false,
|
|
116
|
+
maxSize: 104857600,
|
|
117
|
+
minSize: 0,
|
|
118
|
+
accept: 'image/*',
|
|
119
|
+
};
|
|
120
|
+
export default AvatarUpload;
|
|
121
|
+
//# sourceMappingURL=AvatarUpload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AvatarUpload.js","sourceRoot":"","sources":["../../src/AvatarUpload/AvatarUpload.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { BaseProps, SizeType } from '@toptal/picasso-shared';
|
|
2
|
+
export interface Props extends BaseProps {
|
|
3
|
+
size?: SizeType<'small' | 'large'>;
|
|
4
|
+
isDragActive?: boolean;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
error?: boolean;
|
|
7
|
+
focused?: boolean;
|
|
8
|
+
hovered?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const DropzoneSvg: {
|
|
11
|
+
(props: Props): JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
defaultProps: {
|
|
14
|
+
size: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export default DropzoneSvg;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { capitalize, makeStyles } from '@material-ui/core';
|
|
3
|
+
import cx from 'classnames';
|
|
4
|
+
import styles from './styles';
|
|
5
|
+
import { getBackgroundShape, getBordersShape, getOutlineShape } from './utils';
|
|
6
|
+
/**
|
|
7
|
+
* For measuring, pixel values are used because SVG's "d" attribute works with percentages and pixels only
|
|
8
|
+
*/
|
|
9
|
+
const BASE_FONT_SIZE = 16;
|
|
10
|
+
const SETTINGS = {
|
|
11
|
+
small: {
|
|
12
|
+
dimensions: 5 * BASE_FONT_SIZE,
|
|
13
|
+
cornerSize: 1 * BASE_FONT_SIZE,
|
|
14
|
+
},
|
|
15
|
+
large: {
|
|
16
|
+
dimensions: 10 * BASE_FONT_SIZE,
|
|
17
|
+
cornerSize: 1.5 * BASE_FONT_SIZE,
|
|
18
|
+
},
|
|
19
|
+
};
|
|
20
|
+
const SHAPES = {
|
|
21
|
+
small: {
|
|
22
|
+
backgroundShape: getBackgroundShape(SETTINGS.small),
|
|
23
|
+
outlineShape: getOutlineShape(SETTINGS.small),
|
|
24
|
+
bordersShape: getBordersShape(SETTINGS.small),
|
|
25
|
+
},
|
|
26
|
+
large: {
|
|
27
|
+
backgroundShape: getBackgroundShape(SETTINGS.large),
|
|
28
|
+
outlineShape: getOutlineShape(SETTINGS.large),
|
|
29
|
+
bordersShape: getBordersShape(SETTINGS.large),
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
const useStyles = makeStyles(styles, {
|
|
33
|
+
name: 'PicassoDropzoneSvg',
|
|
34
|
+
});
|
|
35
|
+
export const DropzoneSvg = (props) => {
|
|
36
|
+
const { size = 'small', disabled, error, focused, hovered, isDragActive, 'data-testid': dataTestId, } = props;
|
|
37
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
38
|
+
const shapes = SHAPES[size];
|
|
39
|
+
const classes = useStyles();
|
|
40
|
+
return (React.createElement("div", { className: cx(classes.root, classes[`root${capitalize(size)}`]), "data-testid": dataTestId },
|
|
41
|
+
React.createElement("svg", { className: cx(classes.svg, classes[`svg${capitalize(size)}`]), fill: 'none', xmlns: 'http://www.w3.org/2000/svg' },
|
|
42
|
+
React.createElement("path", { className: cx(classes.background, {
|
|
43
|
+
[classes.dragActive]: isDragActive,
|
|
44
|
+
[classes.disabled]: disabled,
|
|
45
|
+
[classes.error]: error,
|
|
46
|
+
[classes.focused]: focused,
|
|
47
|
+
[classes.hovered]: hovered,
|
|
48
|
+
}), fillRule: 'evenodd', clipRule: 'evenodd', d: shapes.backgroundShape }),
|
|
49
|
+
React.createElement("path", { className: cx(classes.outline, {
|
|
50
|
+
[classes.focused]: focused,
|
|
51
|
+
[classes.error]: error,
|
|
52
|
+
}), fillRule: 'evenodd', clipRule: 'evenodd', d: shapes.outlineShape, strokeOpacity: '.48', strokeWidth: '3', strokeLinejoin: 'round' }),
|
|
53
|
+
React.createElement("path", { className: cx(classes.border, {
|
|
54
|
+
[classes.error]: error,
|
|
55
|
+
[classes.focused]: focused,
|
|
56
|
+
[classes.hovered]: hovered,
|
|
57
|
+
}), fillRule: 'evenodd', clipRule: 'evenodd', d: shapes.bordersShape, strokeDasharray: '3 3' }))));
|
|
58
|
+
};
|
|
59
|
+
DropzoneSvg.displayName = 'DropzoneSvg';
|
|
60
|
+
DropzoneSvg.defaultProps = {
|
|
61
|
+
size: 'small',
|
|
62
|
+
};
|
|
63
|
+
export default DropzoneSvg;
|
|
64
|
+
//# sourceMappingURL=DropzoneSvg.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropzoneSvg.js","sourceRoot":"","sources":["../../../src/AvatarUpload/DropzoneSvg/DropzoneSvg.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { Theme } from '@material-ui/core/styles';
|
|
2
|
+
declare const _default: ({ palette, transitions }: Theme) => import("@material-ui/styles").StyleRules<{}, "background" | "border" | "outline" | "disabled" | "error" | "root" | "svg" | "focused" | "hovered" | "rootSmall" | "rootLarge" | "dragActive" | "svgSmall" | "svgLarge">;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { createStyles } from '@material-ui/core/styles';
|
|
2
|
+
import { alpha } from '@toptal/picasso-shared';
|
|
3
|
+
export default ({ palette, transitions }) => {
|
|
4
|
+
const dragActiveColor = alpha(palette.blue.main, 0.24);
|
|
5
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
6
|
+
const hoverBackgroundColor = alpha(palette.blue.lighter, 0.84);
|
|
7
|
+
const hoverBorderColor = alpha(palette.blue.main, 0.84);
|
|
8
|
+
return createStyles({
|
|
9
|
+
root: {
|
|
10
|
+
pointerEvents: 'unset',
|
|
11
|
+
position: 'relative',
|
|
12
|
+
background: 'transparent',
|
|
13
|
+
},
|
|
14
|
+
rootSmall: {
|
|
15
|
+
width: '80px',
|
|
16
|
+
height: '80px',
|
|
17
|
+
},
|
|
18
|
+
rootLarge: {
|
|
19
|
+
width: '160px',
|
|
20
|
+
height: '160px',
|
|
21
|
+
},
|
|
22
|
+
svg: {
|
|
23
|
+
margin: '-3px', // to center the svg
|
|
24
|
+
},
|
|
25
|
+
svgSmall: {
|
|
26
|
+
width: '86px',
|
|
27
|
+
height: '86px', // 6px for the outline stroke
|
|
28
|
+
},
|
|
29
|
+
svgLarge: {
|
|
30
|
+
width: '166px',
|
|
31
|
+
height: '166px', // 6px for the outline stroke
|
|
32
|
+
},
|
|
33
|
+
background: {
|
|
34
|
+
fill: palette.blue.lighter,
|
|
35
|
+
transition: `all ${transitions.duration.short}ms ${transitions.easing.easeOut}`,
|
|
36
|
+
transitionProperty: 'fill',
|
|
37
|
+
'&$hovered': {
|
|
38
|
+
fill: hoverBackgroundColor,
|
|
39
|
+
},
|
|
40
|
+
'&$dragActive,&:active': {
|
|
41
|
+
fill: dragActiveColor,
|
|
42
|
+
},
|
|
43
|
+
'&$disabled': {
|
|
44
|
+
fill: palette.grey.lighter,
|
|
45
|
+
'&$hovered': {
|
|
46
|
+
fill: palette.grey.light2,
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
border: {
|
|
51
|
+
stroke: palette.blue.main,
|
|
52
|
+
transition: `stroke ${transitions.duration.short}`,
|
|
53
|
+
'&$hovered': {
|
|
54
|
+
stroke: hoverBorderColor,
|
|
55
|
+
},
|
|
56
|
+
'&$error': {
|
|
57
|
+
stroke: palette.red.main,
|
|
58
|
+
},
|
|
59
|
+
},
|
|
60
|
+
outline: {
|
|
61
|
+
display: 'none',
|
|
62
|
+
stroke: palette.blue.main,
|
|
63
|
+
'&$focused:not($dragActive)': {
|
|
64
|
+
display: 'initial',
|
|
65
|
+
},
|
|
66
|
+
'&$error': {
|
|
67
|
+
stroke: palette.red.main,
|
|
68
|
+
},
|
|
69
|
+
},
|
|
70
|
+
dragActive: {},
|
|
71
|
+
disabled: {},
|
|
72
|
+
error: {},
|
|
73
|
+
focused: {},
|
|
74
|
+
hovered: {},
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../../src/AvatarUpload/DropzoneSvg/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,eAAe,CAAC,EAAE,OAAO,EAAE,WAAW,EAAS,EAAE,EAAE;IACjD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACtD,oEAAoE;IACpE,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAQ,EAAE,IAAI,CAAC,CAAA;IAC/D,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAEvD,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE;YACJ,aAAa,EAAE,OAAO;YACtB,QAAQ,EAAE,UAAU;YACpB,UAAU,EAAE,aAAa;SAC1B;QACD,SAAS,EAAE;YACT,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;SACf;QACD,SAAS,EAAE;YACT,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;SAChB;QAED,GAAG,EAAE;YACH,MAAM,EAAE,MAAM,EAAE,oBAAoB;SACrC;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM,EAAE,6BAA6B;SAC9C;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO,EAAE,6BAA6B;SAC/C;QAED,UAAU,EAAE;YACV,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;YAC1B,UAAU,EAAE,OAAO,WAAW,CAAC,QAAQ,CAAC,KAAK,MAAM,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE;YAC/E,kBAAkB,EAAE,MAAM;YAE1B,WAAW,EAAE;gBACX,IAAI,EAAE,oBAAoB;aAC3B;YAED,uBAAuB,EAAE;gBACvB,IAAI,EAAE,eAAe;aACtB;YAED,YAAY,EAAE;gBACZ,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO;gBAC1B,WAAW,EAAE;oBACX,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,MAAM;iBAC1B;aACF;SACF;QACD,MAAM,EAAE;YACN,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;YACzB,UAAU,EAAE,UAAU,WAAW,CAAC,QAAQ,CAAC,KAAK,EAAE;YAElD,WAAW,EAAE;gBACX,MAAM,EAAE,gBAAgB;aACzB;YAED,SAAS,EAAE;gBACT,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;aACzB;SACF;QACD,OAAO,EAAE;YACP,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;YAEzB,4BAA4B,EAAE;gBAC5B,OAAO,EAAE,SAAS;aACnB;YAED,SAAS,EAAE;gBACT,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;aACzB;SACF;QAED,UAAU,EAAE,EAAE;QACd,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,EAAE;QACT,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACZ,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the shape of the background of the avatar.
|
|
3
|
+
* For small variant, it should be 80x80(px), for large - 160x160(px).
|
|
4
|
+
*/
|
|
5
|
+
export declare const getBackgroundShape: ({ dimensions, cornerSize, }: {
|
|
6
|
+
dimensions: number;
|
|
7
|
+
cornerSize: number;
|
|
8
|
+
}) => string;
|
|
9
|
+
/**
|
|
10
|
+
* Returns the shape of the outline when field is focused.
|
|
11
|
+
* For small variant, it should be 82x82(px), for large - 162x162(px).
|
|
12
|
+
* it is 2px bigger than the background because of the outline stroke width.
|
|
13
|
+
*/
|
|
14
|
+
export declare const getOutlineShape: ({ dimensions, cornerSize, }: {
|
|
15
|
+
dimensions: number;
|
|
16
|
+
cornerSize: number;
|
|
17
|
+
}) => string;
|
|
18
|
+
/**
|
|
19
|
+
* Returns the shape of the borders.
|
|
20
|
+
* For small variant, it should be 78x78(px), for large - 158x158(px).
|
|
21
|
+
* it is 1px smaller than the background because of the border stroke width.
|
|
22
|
+
*/
|
|
23
|
+
export declare const getBordersShape: ({ dimensions, cornerSize, }: {
|
|
24
|
+
dimensions: number;
|
|
25
|
+
cornerSize: number;
|
|
26
|
+
}) => string;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the shape of the Avatar component in SVG path's format.
|
|
3
|
+
* SVG's "path" works for the function like this:
|
|
4
|
+
* M x1 y1 - move to point x, y (start point)
|
|
5
|
+
* H x2 - horizontal line to x1 (top edge)
|
|
6
|
+
* V y3 - vertical line to y2 (right edge)
|
|
7
|
+
* H x4 - horizontal line to x3 (bottom edge)
|
|
8
|
+
* L x1 y5 - close path to point x4, y4
|
|
9
|
+
* Z - draw path back to starting point (x1 y1)
|
|
10
|
+
*/
|
|
11
|
+
const getAvatarShape = ({ bottomEdgeLength, startPoint, leftCornerPoint, rightEdgeLength, topEdgeLength, drawBackToStart, }) => {
|
|
12
|
+
return `
|
|
13
|
+
M ${startPoint} ${startPoint}
|
|
14
|
+
H ${topEdgeLength}
|
|
15
|
+
V ${rightEdgeLength}
|
|
16
|
+
H ${bottomEdgeLength}
|
|
17
|
+
L ${startPoint} ${leftCornerPoint}${drawBackToStart ? ' Z' : ''}
|
|
18
|
+
`;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Returns the shape of the background of the avatar.
|
|
22
|
+
* For small variant, it should be 80x80(px), for large - 160x160(px).
|
|
23
|
+
*/
|
|
24
|
+
export const getBackgroundShape = ({ dimensions, cornerSize, }) => {
|
|
25
|
+
const centerShift = 3; // shift for the outline stroke
|
|
26
|
+
return getAvatarShape({
|
|
27
|
+
startPoint: centerShift,
|
|
28
|
+
topEdgeLength: dimensions + centerShift,
|
|
29
|
+
rightEdgeLength: dimensions + centerShift,
|
|
30
|
+
bottomEdgeLength: cornerSize + centerShift,
|
|
31
|
+
leftCornerPoint: dimensions - cornerSize + centerShift,
|
|
32
|
+
drawBackToStart: false,
|
|
33
|
+
});
|
|
34
|
+
};
|
|
35
|
+
/**
|
|
36
|
+
* Returns the shape of the outline when field is focused.
|
|
37
|
+
* For small variant, it should be 82x82(px), for large - 162x162(px).
|
|
38
|
+
* it is 2px bigger than the background because of the outline stroke width.
|
|
39
|
+
*/
|
|
40
|
+
export const getOutlineShape = ({ dimensions, cornerSize, }) => {
|
|
41
|
+
const centerShift = 2; // shift for the outline stroke
|
|
42
|
+
const outlineStrokeWidth = 2; // width of the outline stroke
|
|
43
|
+
return getAvatarShape({
|
|
44
|
+
startPoint: centerShift,
|
|
45
|
+
topEdgeLength: dimensions + centerShift + outlineStrokeWidth,
|
|
46
|
+
rightEdgeLength: dimensions + centerShift + outlineStrokeWidth,
|
|
47
|
+
bottomEdgeLength: cornerSize + 1,
|
|
48
|
+
leftCornerPoint: dimensions - cornerSize + centerShift,
|
|
49
|
+
drawBackToStart: true,
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
/**
|
|
53
|
+
* Returns the shape of the borders.
|
|
54
|
+
* For small variant, it should be 78x78(px), for large - 158x158(px).
|
|
55
|
+
* it is 1px smaller than the background because of the border stroke width.
|
|
56
|
+
*/
|
|
57
|
+
export const getBordersShape = ({ dimensions, cornerSize, }) => {
|
|
58
|
+
const centerShift = 4; // shift for the outline stroke and border stroke
|
|
59
|
+
const outlineStrokeWidth = 2; // width of the outline stroke
|
|
60
|
+
return getAvatarShape({
|
|
61
|
+
startPoint: centerShift,
|
|
62
|
+
topEdgeLength: dimensions + outlineStrokeWidth,
|
|
63
|
+
rightEdgeLength: dimensions + outlineStrokeWidth,
|
|
64
|
+
bottomEdgeLength: cornerSize + outlineStrokeWidth,
|
|
65
|
+
leftCornerPoint: dimensions - cornerSize + outlineStrokeWidth,
|
|
66
|
+
drawBackToStart: true,
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/AvatarUpload/DropzoneSvg/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,cAAc,GAAG,CAAC,EACtB,gBAAgB,EAChB,UAAU,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACb,eAAe,GAQhB,EAAE,EAAE;IACH,OAAO;QACD,UAAU,IAAI,UAAU;QACxB,aAAa;QACb,eAAe;QACf,gBAAgB;QAChB,UAAU,IAAI,eAAe,GAAG,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;GAChE,CAAA;AACH,CAAC,CAAA;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,UAAU,EACV,UAAU,GAIX,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,CAAC,CAAA,CAAC,+BAA+B;IAErD,OAAO,cAAc,CAAC;QACpB,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,UAAU,GAAG,WAAW;QACvC,eAAe,EAAE,UAAU,GAAG,WAAW;QACzC,gBAAgB,EAAE,UAAU,GAAG,WAAW;QAC1C,eAAe,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW;QACtD,eAAe,EAAE,KAAK;KACvB,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,UAAU,EACV,UAAU,GAIX,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,CAAC,CAAA,CAAC,+BAA+B;IACrD,MAAM,kBAAkB,GAAG,CAAC,CAAA,CAAC,8BAA8B;IAE3D,OAAO,cAAc,CAAC;QACpB,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,UAAU,GAAG,WAAW,GAAG,kBAAkB;QAC5D,eAAe,EAAE,UAAU,GAAG,WAAW,GAAG,kBAAkB;QAC9D,gBAAgB,EAAE,UAAU,GAAG,CAAC;QAChC,eAAe,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW;QACtD,eAAe,EAAE,IAAI;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAC9B,UAAU,EACV,UAAU,GAIX,EAAE,EAAE;IACH,MAAM,WAAW,GAAG,CAAC,CAAA,CAAC,iDAAiD;IACvE,MAAM,kBAAkB,GAAG,CAAC,CAAA,CAAC,8BAA8B;IAE3D,OAAO,cAAc,CAAC;QACpB,UAAU,EAAE,WAAW;QACvB,aAAa,EAAE,UAAU,GAAG,kBAAkB;QAC9C,eAAe,EAAE,UAAU,GAAG,kBAAkB;QAChD,gBAAgB,EAAE,UAAU,GAAG,kBAAkB;QACjD,eAAe,EAAE,UAAU,GAAG,UAAU,GAAG,kBAAkB;QAC7D,eAAe,EAAE,IAAI;KACtB,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/AvatarUpload/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AACxC,cAAc,SAAS,CAAA"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { createStyles } from '@material-ui/core/styles';
|
|
2
|
+
import { alpha } from '@toptal/picasso-shared';
|
|
3
|
+
export default ({ palette }) => {
|
|
4
|
+
const iconHoverColor = alpha(palette.blue.main, 0.84);
|
|
5
|
+
const iconHoverErrorColor = alpha(palette.red.main, 0.84);
|
|
6
|
+
return createStyles({
|
|
7
|
+
root: {
|
|
8
|
+
position: 'relative',
|
|
9
|
+
display: 'flex',
|
|
10
|
+
justifyContent: 'center',
|
|
11
|
+
alignItems: 'center',
|
|
12
|
+
color: palette.blue.main,
|
|
13
|
+
outline: 'none',
|
|
14
|
+
cursor: 'pointer',
|
|
15
|
+
'&$disabled': {
|
|
16
|
+
cursor: 'no-drop',
|
|
17
|
+
},
|
|
18
|
+
'&$readonlyAvatar': {
|
|
19
|
+
cursor: 'default',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
sizeSmall: {
|
|
23
|
+
width: '5rem',
|
|
24
|
+
height: '5rem',
|
|
25
|
+
},
|
|
26
|
+
sizeLarge: {
|
|
27
|
+
width: '10rem',
|
|
28
|
+
height: '10rem',
|
|
29
|
+
},
|
|
30
|
+
icon: {
|
|
31
|
+
position: 'absolute',
|
|
32
|
+
pointerEvents: 'none',
|
|
33
|
+
'&$error': {
|
|
34
|
+
color: palette.red.main,
|
|
35
|
+
},
|
|
36
|
+
'&$hovered': {
|
|
37
|
+
color: iconHoverColor,
|
|
38
|
+
'&$error': {
|
|
39
|
+
color: iconHoverErrorColor,
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
error: {},
|
|
44
|
+
disabled: {},
|
|
45
|
+
hovered: {},
|
|
46
|
+
readonlyAvatar: {},
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/AvatarUpload/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAS,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAE9C,eAAe,CAAC,EAAE,OAAO,EAAS,EAAE,EAAE;IACpC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IACrD,MAAM,mBAAmB,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAEzD,OAAO,YAAY,CAAC;QAClB,IAAI,EAAE;YACJ,QAAQ,EAAE,UAAU;YACpB,OAAO,EAAE,MAAM;YACf,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;YACpB,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;YACxB,OAAO,EAAE,MAAM;YACf,MAAM,EAAE,SAAS;YAEjB,YAAY,EAAE;gBACZ,MAAM,EAAE,SAAS;aAClB;YAED,kBAAkB,EAAE;gBAClB,MAAM,EAAE,SAAS;aAClB;SACF;QAED,SAAS,EAAE;YACT,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;SACf;QAED,SAAS,EAAE;YACT,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;SAChB;QAED,IAAI,EAAE;YACJ,QAAQ,EAAE,UAAU;YACpB,aAAa,EAAE,MAAM;YAErB,SAAS,EAAE;gBACT,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI;aACxB;YAED,WAAW,EAAE;gBACX,KAAK,EAAE,cAAc;gBAErB,SAAS,EAAE;oBACT,KAAK,EAAE,mBAAmB;iBAC3B;aACF;SACF;QAED,KAAK,EAAE,EAAE;QACT,QAAQ,EAAE,EAAE;QACZ,OAAO,EAAE,EAAE;QACX,cAAc,EAAE,EAAE;KACnB,CAAC,CAAA;AACJ,CAAC,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export interface FileUpload {
|
|
2
|
+
uploading?: boolean;
|
|
3
|
+
progress?: number;
|
|
4
|
+
error?: string;
|
|
5
|
+
file: File;
|
|
6
|
+
}
|
|
7
|
+
export declare type AvatarUploadOptions = {
|
|
8
|
+
accept?: string | string[];
|
|
9
|
+
onDrop?: <T extends File>(acceptedFile: T | null, fileRejection: FileRejection | null, event: DropEvent) => void;
|
|
10
|
+
onDropAccepted?: <T extends File>(files: T, event: DropEvent) => void;
|
|
11
|
+
onDropRejected?: (fileRejection: FileRejection, event: DropEvent) => void;
|
|
12
|
+
onEdit?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;
|
|
13
|
+
validator?: <T extends File>(file: T) => FileError | null;
|
|
14
|
+
};
|
|
15
|
+
export declare type DropEvent = React.DragEvent<HTMLElement> | React.ChangeEvent<HTMLInputElement> | DragEvent | Event;
|
|
16
|
+
export declare const ErrorCode: {
|
|
17
|
+
readonly FileInvalidType: "file-invalid-type";
|
|
18
|
+
readonly FileTooLarge: "file-too-large";
|
|
19
|
+
readonly FileTooSmall: "file-too-small";
|
|
20
|
+
readonly TooManyFiles: "too-many-files";
|
|
21
|
+
};
|
|
22
|
+
export declare type ErrorCodeType = typeof ErrorCode[keyof typeof ErrorCode];
|
|
23
|
+
export interface FileError {
|
|
24
|
+
message: string;
|
|
25
|
+
code: ErrorCodeType | string;
|
|
26
|
+
}
|
|
27
|
+
export interface FileRejection {
|
|
28
|
+
file: File;
|
|
29
|
+
errors: FileError[];
|
|
30
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/AvatarUpload/types.ts"],"names":[],"mappings":"AA0BA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,eAAe,EAAE,mBAAmB;IACpC,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;IAC9B,YAAY,EAAE,gBAAgB;CACtB,CAAA"}
|
package/Badge/Badge.js
CHANGED
|
@@ -16,7 +16,7 @@ export const Badge = forwardRef(function Badge({ children, style, variant = 'whi
|
|
|
16
16
|
badge: cx(classes.root, classes[variant], classes[size], {
|
|
17
17
|
[classes.static]: !hasChildren,
|
|
18
18
|
}),
|
|
19
|
-
} }, children));
|
|
19
|
+
}, overlap: 'rectangular' }, children));
|
|
20
20
|
});
|
|
21
21
|
Badge.defaultProps = {
|
|
22
22
|
variant: 'white',
|
package/Badge/Badge.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../src/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAa,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,MAAM,MAAM,UAAU,CAAA;AAsB7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;AAErE,MAAM,UAAU,GAA6B;IAC3C,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;CACV,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAwB,SAAS,KAAK,CACnE,EACE,QAAQ,EACR,KAAK,EACL,OAAO,GAAG,OAAO,EACjB,IAAI,GAAG,OAAO,EACd,OAAO,EACP,SAAS,EACT,GAAG,EACH,aAAa,EAAE,MAAM,GACtB,EACD,GAAG;IAEH,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAEhD,OAAO,CACL,oBAAC,QAAQ,IACP,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,iBACC,MAAM,EACnB,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,EAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,QACR,OAAO,EAAE;YACP,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvD,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW;aAC/B,CAAC;SACH,
|
|
1
|
+
{"version":3,"file":"Badge.js","sourceRoot":"","sources":["../../src/Badge/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAa,MAAM,OAAO,CAAA;AAC9D,OAAO,EAAE,UAAU,EAAS,MAAM,0BAA0B,CAAA;AAC5D,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAGrD,OAAO,MAAM,MAAM,UAAU,CAAA;AAsB7B,MAAM,SAAS,GAAG,UAAU,CAAQ,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAA;AAErE,MAAM,UAAU,GAA6B;IAC3C,KAAK,EAAE,CAAC;IACR,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,EAAE;CACV,CAAA;AAED,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAwB,SAAS,KAAK,CACnE,EACE,QAAQ,EACR,KAAK,EACL,OAAO,GAAG,OAAO,EACjB,IAAI,GAAG,OAAO,EACd,OAAO,EACP,SAAS,EACT,GAAG,EACH,aAAa,EAAE,MAAM,GACtB,EACD,GAAG;IAEH,MAAM,OAAO,GAAG,SAAS,EAAE,CAAA;IAE3B,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;IAEhD,OAAO,CACL,oBAAC,QAAQ,IACP,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,KAAK,iBACC,MAAM,EACnB,YAAY,EAAE,OAAO,EACrB,GAAG,EAAE,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,EAC5B,SAAS,EAAE,SAAS,EACpB,QAAQ,QACR,OAAO,EAAE;YACP,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;gBACvD,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW;aAC/B,CAAC;SACH,EACD,OAAO,EAAC,aAAa,IAEpB,QAAQ,CACA,CACZ,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,KAAK,CAAC,YAAY,GAAG;IACnB,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,OAAO;CACd,CAAA;AAED,KAAK,CAAC,WAAW,GAAG,OAAO,CAAA;AAE3B,eAAe,KAAK,CAAA"}
|
package/Modal/Modal.js
CHANGED
|
@@ -9,7 +9,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
9
9
|
}
|
|
10
10
|
return t;
|
|
11
11
|
};
|
|
12
|
-
import React, { forwardRef, useEffect, useRef, } from 'react';
|
|
12
|
+
import React, { forwardRef, useEffect, useRef, useCallback, } from 'react';
|
|
13
13
|
import { makeStyles } from '@material-ui/core/styles';
|
|
14
14
|
import Dialog from '@material-ui/core/Dialog';
|
|
15
15
|
import cx from 'classnames';
|
|
@@ -97,14 +97,20 @@ export const Modal = forwardRef(function Modal(props, ref) {
|
|
|
97
97
|
};
|
|
98
98
|
}, [open]);
|
|
99
99
|
const isSmall = useBreakpoint('small');
|
|
100
|
+
const handleClose = useCallback((_event, reason) => {
|
|
101
|
+
// workaround for "disableBackdropClick" prop due to deprecation
|
|
102
|
+
if (reason === 'escapeKeyDown' && onClose) {
|
|
103
|
+
onClose();
|
|
104
|
+
}
|
|
105
|
+
}, [onClose]);
|
|
100
106
|
return (React.createElement(Dialog, Object.assign({}, rest, { ref: rootRef, classes: {
|
|
101
107
|
root: classes.root,
|
|
102
108
|
container: classes.container,
|
|
103
109
|
paper: cx(classes.paper, classes[size], {
|
|
104
110
|
[classes.topAlignedDialog]: align === 'top',
|
|
105
111
|
}),
|
|
106
|
-
}, className: className, style: style, fullScreen: isSmall, container: container || picassoRootContainer, PaperProps: Object.assign(Object.assign({}, paperProps), { elevation: 2 }), hideBackdrop: hideBackdrop, onBackdropClick: onBackdropClick, onClose:
|
|
107
|
-
: true,
|
|
112
|
+
}, className: className, style: style, fullScreen: isSmall, container: container || picassoRootContainer, PaperProps: Object.assign(Object.assign({}, paperProps), { elevation: 2 }), hideBackdrop: hideBackdrop, onBackdropClick: onBackdropClick, onClose: handleClose, onEnter: onOpen, open: open, transitionDuration: transitionDuration, maxWidth: false, disableEnforceFocus // we need our own mechanism to keep focus inside the Modals
|
|
113
|
+
: true, TransitionProps: transitionProps }),
|
|
108
114
|
React.createElement(ModalContext.Provider, { value: true }, children),
|
|
109
115
|
onClose && (React.createElement(ButtonCircular, { variant: 'flat', className: classes.closeButton, onClick: onClose, "data-testid": testIds === null || testIds === void 0 ? void 0 : testIds.closeButton },
|
|
110
116
|
React.createElement(CloseMinor16, null)))));
|
package/Modal/Modal.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/Modal/Modal.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EACZ,UAAU,EAGV,SAAS,EACT,MAAM,
|
|
1
|
+
{"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/Modal/Modal.tsx"],"names":[],"mappings":"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"}
|
package/index.d.ts
CHANGED
|
@@ -165,4 +165,6 @@ export type { PasswordInputProps } from './PasswordInput';
|
|
|
165
165
|
export { default as FieldRequirements } from './FieldRequirements';
|
|
166
166
|
export type { FieldRequirementsProps, FieldRequirement, } from './FieldRequirements';
|
|
167
167
|
export type { Status as OutlinedInputStatus } from './OutlinedInput';
|
|
168
|
+
export { default as AvatarUpload } from './AvatarUpload';
|
|
169
|
+
export type { AvatarUploadProps, FileUpload as AvatarUploadFileUpload, FileError as AvatarUploadFileError, FileRejection as AvatarUploadFileRejection, DropEvent as AvatarUploadDropEvent, } from './AvatarUpload';
|
|
168
170
|
export * from './Icon';
|
package/index.js
CHANGED
|
@@ -77,6 +77,7 @@ export { default as Timeline } from './Timeline';
|
|
|
77
77
|
export { default as RichText } from './RichText';
|
|
78
78
|
export { default as PasswordInput } from './PasswordInput';
|
|
79
79
|
export { default as FieldRequirements } from './FieldRequirements';
|
|
80
|
+
export { default as AvatarUpload } from './AvatarUpload';
|
|
80
81
|
// hygen code generator inserts export statements above this comment.
|
|
81
82
|
export * from './Icon';
|
|
82
83
|
//# sourceMappingURL=index.js.map
|
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@toptal/picasso",
|
|
3
|
-
"version": "26.
|
|
3
|
+
"version": "26.13.0",
|
|
4
4
|
"description": "Toptal UI components library",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
"@babel/types": "^7.15.0",
|
|
60
60
|
"@testing-library/jest-dom": "^5.16.5",
|
|
61
61
|
"@testing-library/react": "^13.3.0",
|
|
62
|
-
"@testing-library/react-hooks": "^
|
|
62
|
+
"@testing-library/react-hooks": "^8.0.1",
|
|
63
63
|
"@toptal/picasso-provider": "1.3.1",
|
|
64
64
|
"@types/classnames": "^2.3.1",
|
|
65
65
|
"@types/d3": "^6.7.4",
|