@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.
@@ -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
- ({ alt, src, className, name, size, style, variant, testIds, ...rest }: Props): JSX.Element;
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
- export const Avatar = (_a) => {
20
- var { alt, src, className, name, size, style, variant, testIds } = _a, rest = __rest(_a, ["alt", "src", "className", "name", "size", "style", "variant", "testIds"]);
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), renderAvatar()));
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',
@@ -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;AAG1D,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;AAqBzD,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,EAUf,EAAE,EAAE;QAVW,EACrB,GAAG,EACH,GAAG,EACH,SAAS,EACT,IAAI,EACJ,IAAI,EACJ,KAAK,EACL,OAAO,EACP,OAAO,OAED,EADH,IAAI,cATc,0EAUtB,CADQ;IAEP,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,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,GAEP,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"}
1
+ {"version":3,"file":"Avatar.js","sourceRoot":"","sources":["../../src/Avatar/Avatar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Theme } from '@material-ui/core/styles';
2
+ declare const _default: ({ palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "editContainer">;
3
+ export default _default;
@@ -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
- ({ alt, src, className, name, size, style, variant, testIds, ...rest }: import("../Avatar/Avatar").Props): JSX.Element;
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,5 @@
1
+ import { OmitInternalProps } from '@toptal/picasso-shared';
2
+ import { Props } from './AvatarUpload';
3
+ export { default } from './AvatarUpload';
4
+ export * from './types';
5
+ export declare type AvatarUploadProps = OmitInternalProps<Props>;
@@ -0,0 +1,3 @@
1
+ export { default } from './AvatarUpload';
2
+ export * from './types';
3
+ //# sourceMappingURL=index.js.map
@@ -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,3 @@
1
+ import { Theme } from '@material-ui/core/styles';
2
+ declare const _default: ({ palette }: Theme) => import("@material-ui/styles").StyleRules<{}, "icon" | "disabled" | "error" | "root" | "sizeSmall" | "sizeLarge" | "hovered" | "readonlyAvatar">;
3
+ export default _default;
@@ -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,7 @@
1
+ export const ErrorCode = {
2
+ FileInvalidType: 'file-invalid-type',
3
+ FileTooLarge: 'file-too-large',
4
+ FileTooSmall: 'file-too-small',
5
+ TooManyFiles: 'too-many-files',
6
+ };
7
+ //# sourceMappingURL=types.js.map
@@ -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',
@@ -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,IAEA,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"}
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: onClose, onEnter: onOpen, open: open, transitionDuration: transitionDuration, maxWidth: false, disableEnforceFocus // we need our own mechanism to keep focus inside the Modals
107
- : true, disableBackdropClick: true, TransitionProps: transitionProps }),
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)))));
@@ -1 +1 @@
1
- {"version":3,"file":"Modal.js","sourceRoot":"","sources":["../../src/Modal/Modal.tsx"],"names":[],"mappings":"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"}
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.10.2",
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": "^7.0.2",
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",