@hh.ru/magritte-ui-upload 4.2.14 → 4.3.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/FileName.js CHANGED
@@ -3,7 +3,7 @@ import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import classnames from 'classnames';
4
4
  import { Text } from '@hh.ru/magritte-ui-typography';
5
5
 
6
- var styles = {"file-name-body":"magritte-file-name-body___PTTMc_4-2-14","fileNameBody":"magritte-file-name-body___PTTMc_4-2-14","file-name-body_medium":"magritte-file-name-body_medium___sfmmq_4-2-14","fileNameBodyMedium":"magritte-file-name-body_medium___sfmmq_4-2-14"};
6
+ var styles = {"file-name-body":"magritte-file-name-body___PTTMc_4-3-0","fileNameBody":"magritte-file-name-body___PTTMc_4-3-0","file-name-body_medium":"magritte-file-name-body_medium___sfmmq_4-3-0","fileNameBodyMedium":"magritte-file-name-body_medium___sfmmq_4-3-0"};
7
7
 
8
8
  const parse = (file) => {
9
9
  const name = file.name;
package/FileView.js CHANGED
@@ -10,7 +10,7 @@ import { FileName } from './FileName.js';
10
10
  import { getUploadIcon, bytes2mb } from './utils.js';
11
11
  import 'classnames';
12
12
 
13
- var styles = {"avatar-and-info":"magritte-avatar-and-info___vt6aT_4-2-14","avatarAndInfo":"magritte-avatar-and-info___vt6aT_4-2-14","file-info-body":"magritte-file-info-body___HmfXd_4-2-14","fileInfoBody":"magritte-file-info-body___HmfXd_4-2-14","file-info-and-controls":"magritte-file-info-and-controls___61iyY_4-2-14","fileInfoAndControls":"magritte-file-info-and-controls___61iyY_4-2-14","file-info-container":"magritte-file-info-container___WFab8_4-2-14","fileInfoContainer":"magritte-file-info-container___WFab8_4-2-14","file-info":"magritte-file-info___HrqiB_4-2-14","fileInfo":"magritte-file-info___HrqiB_4-2-14","controls":"magritte-controls___WdH7A_4-2-14","divider":"magritte-divider___3-bj9_4-2-14"};
13
+ var styles = {"avatar-and-info":"magritte-avatar-and-info___vt6aT_4-3-0","avatarAndInfo":"magritte-avatar-and-info___vt6aT_4-3-0","file-info-body":"magritte-file-info-body___HmfXd_4-3-0","fileInfoBody":"magritte-file-info-body___HmfXd_4-3-0","file-info-and-controls":"magritte-file-info-and-controls___61iyY_4-3-0","fileInfoAndControls":"magritte-file-info-and-controls___61iyY_4-3-0","file-info-container":"magritte-file-info-container___WFab8_4-3-0","fileInfoContainer":"magritte-file-info-container___WFab8_4-3-0","file-info":"magritte-file-info___HrqiB_4-3-0","fileInfo":"magritte-file-info___HrqiB_4-3-0","controls":"magritte-controls___WdH7A_4-3-0","divider":"magritte-divider___3-bj9_4-3-0"};
14
14
 
15
15
  const FileView = ({ uploadType, loadedFile, preview, renderFileInfo, onFileDelete, disableCancel, 'aria-label': ariaLabel, isLast = false, }) => {
16
16
  const isLoading = Boolean(loadedFile?.loading);
package/MultiUpload.js CHANGED
@@ -2,7 +2,7 @@ import './index.css';
2
2
  import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
3
  import { useDropzone } from 'react-dropzone';
4
4
  import classnames from 'classnames';
5
- import { u as useDisabled, D as DisabledContext, s as styles } from './upload-B2tEnzcL.js';
5
+ import { u as useDisabled, D as DisabledContext, s as styles } from './upload-DFq_qKia.js';
6
6
  import { VSpacing } from '@hh.ru/magritte-ui-spacing';
7
7
  import { TextDynamic } from '@hh.ru/magritte-ui-typography';
8
8
  import { FileViewWithPreview } from './FileViewWithPreview.js';
@@ -41,7 +41,7 @@ const MultiUpload = ({ files, trls, size, disableCancel, accept = DEFAULT_ACCEPT
41
41
  return (jsxs(Fragment, { children: [jsx(DisabledContext.Provider, { value: isDisabled, children: jsxs("div", { className: classnames(styles.root, styles[`root_${size}`], {
42
42
  [styles.dragActive]: isDragActive && !isDisabled,
43
43
  [styles.disabled]: isDisabled,
44
- }), ...getRootProps(), "data-qa": "magritte-multiple-upload", children: [jsx("input", { ...getInputProps(), "data-qa": "magritte-multiple-upload-input", disabled: isDisabled }), jsx("div", { className: styles.background }), jsxs(TextDynamic, { className: styles.body, children: [getUploadIcon(uploadType, undefined, false), jsx(VSpacing, { default: 16 }), jsx(Placeholder, { trls: trls, selectFileButton: selectFileButton })] })] }) }), files.length > 0 && (jsx("div", { className: styles.fileList, children: files.map((loadedFile, indexFile) => {
44
+ }), ...getRootProps(), "data-qa": "magritte-multiple-upload", "aria-disabled": isDisabled, children: [jsx("input", { ...getInputProps(), "data-qa": "magritte-multiple-upload-input", disabled: isDisabled }), jsx("div", { className: styles.background }), jsxs(TextDynamic, { className: styles.body, children: [getUploadIcon(uploadType, undefined, false), jsx(VSpacing, { default: 16 }), jsx(Placeholder, { trls: trls, selectFileButton: selectFileButton })] })] }) }), files.length > 0 && (jsx("div", { className: styles.fileList, children: files.map((loadedFile, indexFile) => {
45
45
  return (jsx(FileViewWithPreview, { loadedFile: loadedFile, renderFileInfo: renderFileInfo, onFileDelete: (event) => {
46
46
  onFileDelete(event, loadedFile, indexFile);
47
47
  }, "aria-label": ariaLabel || '', disableCancel: disableCancel, isLast: files.length - 1 === indexFile }, `${loadedFile.data.name}${loadedFile.data.size}${loadedFile.data.lastModified}`));
@@ -1 +1 @@
1
- {"version":3,"file":"MultiUpload.js","sources":["src/MultiUpload.tsx"],"sourcesContent":["import { ReactElement } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport classnames from 'classnames';\n\nimport { DisabledContext, useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport { VSpacing } from '@hh.ru/magritte-ui-spacing';\nimport { TextDynamic } from '@hh.ru/magritte-ui-typography';\nimport { FileViewWithPreview } from '@hh.ru/magritte-ui-upload/FileViewWithPreview';\nimport { Placeholder } from '@hh.ru/magritte-ui-upload/Placeholder';\nimport { UploadProps } from '@hh.ru/magritte-ui-upload/types';\nimport { useDropActions } from '@hh.ru/magritte-ui-upload/useDropActions';\nimport { useDropButtons } from '@hh.ru/magritte-ui-upload/useDropButtons';\nimport {\n getUploadIcon,\n getAvaliableFileTypes,\n RenderFileInfoDefault,\n DEFAULT_ACCEPT,\n} from '@hh.ru/magritte-ui-upload/utils';\n\nimport styles from './upload.less';\n\nconst MultiUpload = ({\n files,\n trls,\n size,\n disableCancel,\n accept = DEFAULT_ACCEPT,\n selectFileButton: _selectFileButton,\n renderFileInfo = RenderFileInfoDefault,\n onDropAccepted: onDropAcceptedExternal,\n onDropRejected: onDropRejectedExternal,\n onFileDelete: onFileDeleteExternal,\n disabled,\n 'aria-label': ariaLabel,\n ...dropzoneProps\n}: Omit<UploadProps, 'multiple'>): ReactElement => {\n const uploadType = getAvaliableFileTypes(accept);\n const contextDisabled = useDisabled();\n const isDisabled = disabled || contextDisabled;\n const { onDropAccepted, onDropRejected, onFileDelete } = useDropActions({\n onDropAccepted: onDropAcceptedExternal,\n onDropRejected: onDropRejectedExternal,\n onFileDelete: onFileDeleteExternal,\n });\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n ...dropzoneProps,\n disabled: isDisabled,\n accept,\n onDropAccepted,\n onDropRejected,\n multiple: true,\n });\n const { selectFileButton } = useDropButtons({ selectFileButton: _selectFileButton });\n\n return (\n <>\n <DisabledContext.Provider value={isDisabled}>\n <div\n className={classnames(styles.root, styles[`root_${size}`], {\n [styles.dragActive]: isDragActive && !isDisabled,\n [styles.disabled]: isDisabled,\n })}\n {...getRootProps()}\n data-qa=\"magritte-multiple-upload\"\n >\n <input {...getInputProps()} data-qa=\"magritte-multiple-upload-input\" disabled={isDisabled} />\n <div className={styles.background} />\n <TextDynamic className={styles.body}>\n {getUploadIcon(uploadType, undefined, false)}\n <VSpacing default={16} />\n <Placeholder trls={trls} selectFileButton={selectFileButton} />\n </TextDynamic>\n </div>\n </DisabledContext.Provider>\n {files.length > 0 && (\n <div className={styles.fileList}>\n {files.map((loadedFile, indexFile) => {\n return (\n <FileViewWithPreview\n key={`${loadedFile.data.name}${loadedFile.data.size}${loadedFile.data.lastModified}`}\n loadedFile={loadedFile}\n renderFileInfo={renderFileInfo}\n onFileDelete={(event) => {\n onFileDelete(event, loadedFile, indexFile);\n }}\n aria-label={ariaLabel || ''}\n disableCancel={disableCancel}\n isLast={files.length - 1 === indexFile}\n />\n );\n })}\n </div>\n )}\n </>\n );\n};\n\nexport { MultiUpload };\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"MultiUpload.js","sources":["src/MultiUpload.tsx"],"sourcesContent":["import { ReactElement } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport classnames from 'classnames';\n\nimport { DisabledContext, useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport { VSpacing } from '@hh.ru/magritte-ui-spacing';\nimport { TextDynamic } from '@hh.ru/magritte-ui-typography';\nimport { FileViewWithPreview } from '@hh.ru/magritte-ui-upload/FileViewWithPreview';\nimport { Placeholder } from '@hh.ru/magritte-ui-upload/Placeholder';\nimport { UploadProps } from '@hh.ru/magritte-ui-upload/types';\nimport { useDropActions } from '@hh.ru/magritte-ui-upload/useDropActions';\nimport { useDropButtons } from '@hh.ru/magritte-ui-upload/useDropButtons';\nimport {\n getUploadIcon,\n getAvaliableFileTypes,\n RenderFileInfoDefault,\n DEFAULT_ACCEPT,\n} from '@hh.ru/magritte-ui-upload/utils';\n\nimport styles from './upload.less';\n\nconst MultiUpload = ({\n files,\n trls,\n size,\n disableCancel,\n accept = DEFAULT_ACCEPT,\n selectFileButton: _selectFileButton,\n renderFileInfo = RenderFileInfoDefault,\n onDropAccepted: onDropAcceptedExternal,\n onDropRejected: onDropRejectedExternal,\n onFileDelete: onFileDeleteExternal,\n disabled,\n 'aria-label': ariaLabel,\n ...dropzoneProps\n}: Omit<UploadProps, 'multiple'>): ReactElement => {\n const uploadType = getAvaliableFileTypes(accept);\n const contextDisabled = useDisabled();\n const isDisabled = disabled || contextDisabled;\n const { onDropAccepted, onDropRejected, onFileDelete } = useDropActions({\n onDropAccepted: onDropAcceptedExternal,\n onDropRejected: onDropRejectedExternal,\n onFileDelete: onFileDeleteExternal,\n });\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n ...dropzoneProps,\n disabled: isDisabled,\n accept,\n onDropAccepted,\n onDropRejected,\n multiple: true,\n });\n const { selectFileButton } = useDropButtons({ selectFileButton: _selectFileButton });\n\n return (\n <>\n <DisabledContext.Provider value={isDisabled}>\n <div\n className={classnames(styles.root, styles[`root_${size}`], {\n [styles.dragActive]: isDragActive && !isDisabled,\n [styles.disabled]: isDisabled,\n })}\n {...getRootProps()}\n data-qa=\"magritte-multiple-upload\"\n aria-disabled={isDisabled}\n >\n <input {...getInputProps()} data-qa=\"magritte-multiple-upload-input\" disabled={isDisabled} />\n <div className={styles.background} />\n <TextDynamic className={styles.body}>\n {getUploadIcon(uploadType, undefined, false)}\n <VSpacing default={16} />\n <Placeholder trls={trls} selectFileButton={selectFileButton} />\n </TextDynamic>\n </div>\n </DisabledContext.Provider>\n {files.length > 0 && (\n <div className={styles.fileList}>\n {files.map((loadedFile, indexFile) => {\n return (\n <FileViewWithPreview\n key={`${loadedFile.data.name}${loadedFile.data.size}${loadedFile.data.lastModified}`}\n loadedFile={loadedFile}\n renderFileInfo={renderFileInfo}\n onFileDelete={(event) => {\n onFileDelete(event, loadedFile, indexFile);\n }}\n aria-label={ariaLabel || ''}\n disableCancel={disableCancel}\n isLast={files.length - 1 === indexFile}\n />\n );\n })}\n </div>\n )}\n </>\n );\n};\n\nexport { MultiUpload };\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
package/Placeholder.d.ts CHANGED
@@ -1,9 +1,8 @@
1
- import { ReactElement } from 'react';
2
- import { ButtonElement } from '@hh.ru/magritte-ui-button-stack';
1
+ import { ReactElement, ReactNode } from 'react';
3
2
  import { UploadTrls } from '@hh.ru/magritte-ui-upload/types';
4
3
  interface PlaceholderProps {
5
4
  trls: UploadTrls;
6
- selectFileButton?: ButtonElement;
5
+ selectFileButton?: ReactNode;
7
6
  }
8
7
  declare const Placeholder: ({ trls, selectFileButton }: PlaceholderProps) => ReactElement;
9
8
  export { Placeholder };
@@ -1 +1 @@
1
- {"version":3,"file":"Placeholder.js","sources":["src/Placeholder.tsx"],"sourcesContent":["import { ReactElement } from 'react';\n\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { ButtonElement } from '@hh.ru/magritte-ui-button-stack';\nimport { VSpacing } from '@hh.ru/magritte-ui-spacing';\nimport { Text } from '@hh.ru/magritte-ui-typography';\nimport { UploadTrls } from '@hh.ru/magritte-ui-upload/types';\n\ninterface PlaceholderProps {\n trls: UploadTrls;\n selectFileButton?: ButtonElement;\n}\n\nconst Placeholder = ({ trls, selectFileButton }: PlaceholderProps): ReactElement => {\n const { isMobile } = useBreakpoint();\n const { title, titleMobile, subTitle } = trls;\n return (\n <>\n <Text typography=\"label-2-regular\">{isMobile ? titleMobile || title : title}</Text>\n <VSpacing default={6} />\n <Text typography=\"label-4-regular\" style=\"secondary\">\n {subTitle}\n </Text>\n {selectFileButton && (\n <>\n <VSpacing default={16} />\n {selectFileButton}\n </>\n )}\n </>\n );\n};\n\nexport { Placeholder };\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;AAaM,MAAA,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAoB,KAAkB;AAC/E,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;IACrC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AAC9C,IAAA,QACIA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACIC,GAAC,CAAA,IAAI,EAAC,EAAA,UAAU,EAAC,iBAAiB,EAAE,QAAA,EAAA,QAAQ,GAAG,WAAW,IAAI,KAAK,GAAG,KAAK,EAAQ,CAAA,EACnFA,GAAC,CAAA,QAAQ,EAAC,EAAA,OAAO,EAAE,CAAC,EAAI,CAAA,EACxBA,GAAC,CAAA,IAAI,EAAC,EAAA,UAAU,EAAC,iBAAiB,EAAC,KAAK,EAAC,WAAW,EAC/C,QAAA,EAAA,QAAQ,EACN,CAAA,EACN,gBAAgB,KACbF,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACIC,GAAC,CAAA,QAAQ,EAAC,EAAA,OAAO,EAAE,EAAE,EAAI,CAAA,EACxB,gBAAgB,CAAA,EAAA,CAClB,CACN,CAAA,EAAA,CACF,EACL;AACN;;;;"}
1
+ {"version":3,"file":"Placeholder.js","sources":["src/Placeholder.tsx"],"sourcesContent":["import { ReactElement, ReactNode } from 'react';\n\nimport { useBreakpoint } from '@hh.ru/magritte-ui-breakpoint';\nimport { VSpacing } from '@hh.ru/magritte-ui-spacing';\nimport { Text } from '@hh.ru/magritte-ui-typography';\nimport { UploadTrls } from '@hh.ru/magritte-ui-upload/types';\n\ninterface PlaceholderProps {\n trls: UploadTrls;\n selectFileButton?: ReactNode;\n}\n\nconst Placeholder = ({ trls, selectFileButton }: PlaceholderProps): ReactElement => {\n const { isMobile } = useBreakpoint();\n const { title, titleMobile, subTitle } = trls;\n return (\n <>\n <Text typography=\"label-2-regular\">{isMobile ? titleMobile || title : title}</Text>\n <VSpacing default={6} />\n <Text typography=\"label-4-regular\" style=\"secondary\">\n {subTitle}\n </Text>\n {selectFileButton && (\n <>\n <VSpacing default={16} />\n {selectFileButton}\n </>\n )}\n </>\n );\n};\n\nexport { Placeholder };\n"],"names":["_jsxs","_Fragment","_jsx"],"mappings":";;;;;AAYM,MAAA,WAAW,GAAG,CAAC,EAAE,IAAI,EAAE,gBAAgB,EAAoB,KAAkB;AAC/E,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAC;IACrC,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;AAC9C,IAAA,QACIA,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACIC,GAAC,CAAA,IAAI,EAAC,EAAA,UAAU,EAAC,iBAAiB,EAAE,QAAA,EAAA,QAAQ,GAAG,WAAW,IAAI,KAAK,GAAG,KAAK,EAAQ,CAAA,EACnFA,GAAC,CAAA,QAAQ,EAAC,EAAA,OAAO,EAAE,CAAC,EAAI,CAAA,EACxBA,GAAC,CAAA,IAAI,EAAC,EAAA,UAAU,EAAC,iBAAiB,EAAC,KAAK,EAAC,WAAW,EAC/C,QAAA,EAAA,QAAQ,EACN,CAAA,EACN,gBAAgB,KACbF,IAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CACIC,GAAC,CAAA,QAAQ,EAAC,EAAA,OAAO,EAAE,EAAE,EAAI,CAAA,EACxB,gBAAgB,CAAA,EAAA,CAClB,CACN,CAAA,EAAA,CACF,EACL;AACN;;;;"}
package/SingleUpload.js CHANGED
@@ -2,7 +2,7 @@ import './index.css';
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
3
  import { useDropzone } from 'react-dropzone';
4
4
  import classnames from 'classnames';
5
- import { u as useDisabled, D as DisabledContext, s as styles } from './upload-B2tEnzcL.js';
5
+ import { u as useDisabled, D as DisabledContext, s as styles } from './upload-DFq_qKia.js';
6
6
  import { Avatar } from '@hh.ru/magritte-ui-avatar';
7
7
  import { CrossOutlinedSize24, ExclamationTriangleOutlinedSize32 } from '@hh.ru/magritte-ui-icon/icon';
8
8
  import { Loader } from '@hh.ru/magritte-ui-loader';
@@ -61,7 +61,7 @@ const SingleUpload = ({ files, trls, size = 'medium', accept = DEFAULT_ACCEPT, d
61
61
  [styles.load]: isLoad,
62
62
  [styles.invalid]: isInvalid,
63
63
  [styles.disabled]: isDisabled,
64
- }), ...getRootProps(), "data-qa": "magritte-single-upload", children: [jsx("input", { ...getInputProps(), "data-qa": "magritte-single-upload-input", disabled: isDisabled }), jsx("div", { className: styles.background, style: backgroundStyles, "data-qa": "magritte-single-upload-background" }), jsxs(TextDynamic, { className: classnames(styles.body, { [styles.disabled]: isDisabled }), children: [isSizeSmall && (jsxs(Fragment, { children: [loadedFile && (jsx(FileView, { uploadType: uploadType, loadedFile: loadedFile, renderFileInfo: renderFileInfo, onFileDelete: (event) => {
64
+ }), ...getRootProps(), "aria-disabled": isDisabled, "data-qa": "magritte-single-upload", children: [jsx("input", { ...getInputProps(), "data-qa": "magritte-single-upload-input", disabled: isDisabled }), jsx("div", { className: styles.background, style: backgroundStyles, "data-qa": "magritte-single-upload-background" }), jsxs(TextDynamic, { className: classnames(styles.body, { [styles.disabled]: isDisabled }), children: [isSizeSmall && (jsxs(Fragment, { children: [loadedFile && (jsx(FileView, { uploadType: uploadType, loadedFile: loadedFile, renderFileInfo: renderFileInfo, onFileDelete: (event) => {
65
65
  onFileDelete(event, loadedFile, 0);
66
66
  }, preview: preview, disableCancel: disableCancel, "aria-label": ariaLabel || '', isLast: true })), !loadedFile && (jsxs(Fragment, { children: [jsx(Avatar, { mode: "icon", style: "secondary", size: 48, icon: getUploadIcon(uploadType, loadedFile, true), "aria-label": ariaLabel || '' }), jsxs("div", { className: styles.singleSmallPlaceholer, children: [jsx(Text, { typography: "label-2-regular", children: trls.title }), jsx(VSpacing, { default: 4 }), jsx(Text, { typography: "label-4-regular", style: "secondary", children: trls.subTitle })] }), selectFileButton && jsx("div", { className: styles.smallControls, children: selectFileButton })] }))] })), !isSizeSmall && (jsxs(Fragment, { children: [isLoading && (jsxs(Fragment, { children: [jsx(VSpacing, { default: 12 }), jsxs("div", { className: styles.loader, children: [jsx(Loader, { size: 64 }), !disableCancel && (jsx("div", { className: styles.cancel, children: jsx(CrossOutlinedSize24, { initialColor: "accent", onClick: (event) => {
67
67
  onFileDelete(event, loadedFile, 0);
@@ -1 +1 @@
1
- {"version":3,"file":"SingleUpload.js","sources":["src/SingleUpload.tsx"],"sourcesContent":["import { ReactElement, MouseEvent } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport classnames from 'classnames';\n\nimport { DisabledContext, useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport { Avatar } from '@hh.ru/magritte-ui-avatar';\nimport { CrossOutlinedSize24, ExclamationTriangleOutlinedSize32 } from '@hh.ru/magritte-ui-icon/icon';\nimport { Loader } from '@hh.ru/magritte-ui-loader';\nimport { VSpacing } from '@hh.ru/magritte-ui-spacing';\nimport { Text, TextDynamic } from '@hh.ru/magritte-ui-typography';\nimport { FileName } from '@hh.ru/magritte-ui-upload/FileName';\nimport { FileView } from '@hh.ru/magritte-ui-upload/FileView';\nimport { Placeholder } from '@hh.ru/magritte-ui-upload/Placeholder';\nimport { UploadProps } from '@hh.ru/magritte-ui-upload/types';\nimport { useDropActions } from '@hh.ru/magritte-ui-upload/useDropActions';\nimport { useDropButtons } from '@hh.ru/magritte-ui-upload/useDropButtons';\nimport { useFilePreview } from '@hh.ru/magritte-ui-upload/useFilePreview';\nimport {\n getUploadIcon,\n bytes2mb,\n getAvaliableFileTypes,\n RenderFileInfoDefault,\n DEFAULT_ACCEPT,\n} from '@hh.ru/magritte-ui-upload/utils';\n\nimport styles from './upload.less';\n\nconst SingleUpload = ({\n files,\n trls,\n size = 'medium',\n accept = DEFAULT_ACCEPT,\n disableCancel,\n selectFileButton: _selectFileButton,\n deleteFileButton: _deleteFileButton,\n replaceImageButton: _replaceImageButton,\n renderFileInfo = RenderFileInfoDefault,\n onDropAccepted: onDropAcceptedExternal,\n onDropRejected: onDropRejectedExternal,\n onFileDelete: onFileDeleteExternal,\n 'aria-label': ariaLabel,\n disabled,\n ...dropzoneProps\n}: UploadProps): ReactElement => {\n const uploadType = getAvaliableFileTypes(accept);\n const loadedFile = files.length > 0 ? files[0] : undefined;\n const isLoad = Boolean(loadedFile);\n const isLoading = Boolean(loadedFile?.loading);\n const isInvalid = Boolean(loadedFile?.error);\n const isSizeSmall = size === 'small';\n const isImageType = uploadType === 'image';\n const preview = useFilePreview({ loadedFile, isImageType });\n const usePreview = preview !== 'none';\n const contextDisabled = useDisabled();\n const isDisabled = disabled || contextDisabled;\n\n const { onDropAccepted, onDropRejected, onFileDelete } = useDropActions({\n onDropAccepted: onDropAcceptedExternal,\n onDropRejected: onDropRejectedExternal,\n onFileDelete: onFileDeleteExternal,\n });\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n ...dropzoneProps,\n disabled: isDisabled,\n accept,\n onDropAccepted,\n onDropRejected,\n multiple: false,\n });\n\n const { selectFileButton, deleteFileButton, replaceImageButton } = useDropButtons({\n selectFileButton: _selectFileButton,\n deleteFileButton: _deleteFileButton,\n replaceImageButton: _replaceImageButton,\n onFileDelete: (event: MouseEvent) => {\n onFileDelete(event, loadedFile, 0);\n },\n });\n\n const backgroundStyles = !isSizeSmall\n ? { backgroundImage: preview !== 'none' ? `url('${preview}')` : preview }\n : {};\n return (\n <DisabledContext.Provider value={isDisabled}>\n <div\n className={classnames(styles.root, styles[`root_${size}`], {\n [styles.dragActive]: isDragActive && isDisabled,\n [styles.loading]: isLoading,\n [styles.load]: isLoad,\n [styles.invalid]: isInvalid,\n [styles.disabled]: isDisabled,\n })}\n {...getRootProps()}\n data-qa=\"magritte-single-upload\"\n >\n <input {...getInputProps()} data-qa=\"magritte-single-upload-input\" disabled={isDisabled} />\n <div\n className={styles.background}\n style={backgroundStyles}\n data-qa=\"magritte-single-upload-background\"\n />\n <TextDynamic className={classnames(styles.body, { [styles.disabled]: isDisabled })}>\n {isSizeSmall && (\n <>\n {loadedFile && (\n <FileView\n uploadType={uploadType}\n loadedFile={loadedFile}\n renderFileInfo={renderFileInfo}\n onFileDelete={(event) => {\n onFileDelete(event, loadedFile, 0);\n }}\n preview={preview}\n disableCancel={disableCancel}\n aria-label={ariaLabel || ''}\n isLast\n />\n )}\n {!loadedFile && (\n <>\n <Avatar\n mode=\"icon\"\n style=\"secondary\"\n size={48}\n icon={getUploadIcon(uploadType, loadedFile, true)}\n aria-label={ariaLabel || ''}\n />\n <div className={styles.singleSmallPlaceholer}>\n <Text typography=\"label-2-regular\">{trls.title}</Text>\n <VSpacing default={4} />\n <Text typography=\"label-4-regular\" style=\"secondary\">\n {trls.subTitle}\n </Text>\n </div>\n {selectFileButton && <div className={styles.smallControls}>{selectFileButton}</div>}\n </>\n )}\n </>\n )}\n {!isSizeSmall && (\n <>\n {isLoading && (\n <>\n <VSpacing default={12} />\n <div className={styles.loader}>\n <Loader size={64} />\n {!disableCancel && (\n <div className={styles.cancel}>\n <CrossOutlinedSize24\n initialColor=\"accent\"\n onClick={(event) => {\n onFileDelete(event, loadedFile, 0);\n }}\n />\n </div>\n )}\n </div>\n </>\n )}\n {isInvalid ? (\n <ExclamationTriangleOutlinedSize32 initialColor=\"negative\" />\n ) : (\n <span className={classnames(styles.fileIcon, { [styles.hiddenFileInfo]: usePreview })}>\n {getUploadIcon(uploadType, loadedFile, false)}\n </span>\n )}\n <VSpacing default={16} />\n {loadedFile && (\n <>\n <div\n className={classnames(styles.fileInfo, { [styles.hiddenFileInfo]: usePreview })}\n >\n <FileName file={loadedFile.data} isSizeMedium />\n <VSpacing default={6} />\n <Text typography=\"label-4-regular\" style=\"secondary\">\n {renderFileInfo({\n ...loadedFile,\n fileSizeMB: bytes2mb(loadedFile.data.size),\n })}\n </Text>\n </div>\n {!isLoading && (!isImageType || isInvalid) && deleteFileButton && (\n <>\n <VSpacing default={16} />\n {deleteFileButton}\n </>\n )}\n {!isLoading &&\n isImageType &&\n !isInvalid &&\n (replaceImageButton || deleteFileButton) && (\n <>\n <VSpacing default={16} />\n <div className={styles.imageControls}>\n {replaceImageButton}\n {deleteFileButton}\n </div>\n </>\n )}\n {isLoading && <VSpacing default={12} />}\n </>\n )}\n {!loadedFile && <Placeholder trls={trls} selectFileButton={selectFileButton} />}\n </>\n )}\n </TextDynamic>\n </div>\n </DisabledContext.Provider>\n );\n};\n\nexport { SingleUpload };\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"SingleUpload.js","sources":["src/SingleUpload.tsx"],"sourcesContent":["import { ReactElement, MouseEvent } from 'react';\nimport { useDropzone } from 'react-dropzone';\nimport classnames from 'classnames';\n\nimport { DisabledContext, useDisabled } from '@hh.ru/magritte-common-use-disabled';\nimport { Avatar } from '@hh.ru/magritte-ui-avatar';\nimport { CrossOutlinedSize24, ExclamationTriangleOutlinedSize32 } from '@hh.ru/magritte-ui-icon/icon';\nimport { Loader } from '@hh.ru/magritte-ui-loader';\nimport { VSpacing } from '@hh.ru/magritte-ui-spacing';\nimport { Text, TextDynamic } from '@hh.ru/magritte-ui-typography';\nimport { FileName } from '@hh.ru/magritte-ui-upload/FileName';\nimport { FileView } from '@hh.ru/magritte-ui-upload/FileView';\nimport { Placeholder } from '@hh.ru/magritte-ui-upload/Placeholder';\nimport { UploadProps } from '@hh.ru/magritte-ui-upload/types';\nimport { useDropActions } from '@hh.ru/magritte-ui-upload/useDropActions';\nimport { useDropButtons } from '@hh.ru/magritte-ui-upload/useDropButtons';\nimport { useFilePreview } from '@hh.ru/magritte-ui-upload/useFilePreview';\nimport {\n getUploadIcon,\n bytes2mb,\n getAvaliableFileTypes,\n RenderFileInfoDefault,\n DEFAULT_ACCEPT,\n} from '@hh.ru/magritte-ui-upload/utils';\n\nimport styles from './upload.less';\n\nconst SingleUpload = ({\n files,\n trls,\n size = 'medium',\n accept = DEFAULT_ACCEPT,\n disableCancel,\n selectFileButton: _selectFileButton,\n deleteFileButton: _deleteFileButton,\n replaceImageButton: _replaceImageButton,\n renderFileInfo = RenderFileInfoDefault,\n onDropAccepted: onDropAcceptedExternal,\n onDropRejected: onDropRejectedExternal,\n onFileDelete: onFileDeleteExternal,\n 'aria-label': ariaLabel,\n disabled,\n ...dropzoneProps\n}: UploadProps): ReactElement => {\n const uploadType = getAvaliableFileTypes(accept);\n const loadedFile = files.length > 0 ? files[0] : undefined;\n const isLoad = Boolean(loadedFile);\n const isLoading = Boolean(loadedFile?.loading);\n const isInvalid = Boolean(loadedFile?.error);\n const isSizeSmall = size === 'small';\n const isImageType = uploadType === 'image';\n const preview = useFilePreview({ loadedFile, isImageType });\n const usePreview = preview !== 'none';\n const contextDisabled = useDisabled();\n const isDisabled = disabled || contextDisabled;\n\n const { onDropAccepted, onDropRejected, onFileDelete } = useDropActions({\n onDropAccepted: onDropAcceptedExternal,\n onDropRejected: onDropRejectedExternal,\n onFileDelete: onFileDeleteExternal,\n });\n const { getRootProps, getInputProps, isDragActive } = useDropzone({\n ...dropzoneProps,\n disabled: isDisabled,\n accept,\n onDropAccepted,\n onDropRejected,\n multiple: false,\n });\n\n const { selectFileButton, deleteFileButton, replaceImageButton } = useDropButtons({\n selectFileButton: _selectFileButton,\n deleteFileButton: _deleteFileButton,\n replaceImageButton: _replaceImageButton,\n onFileDelete: (event: MouseEvent) => {\n onFileDelete(event, loadedFile, 0);\n },\n });\n\n const backgroundStyles = !isSizeSmall\n ? { backgroundImage: preview !== 'none' ? `url('${preview}')` : preview }\n : {};\n return (\n <DisabledContext.Provider value={isDisabled}>\n <div\n className={classnames(styles.root, styles[`root_${size}`], {\n [styles.dragActive]: isDragActive && isDisabled,\n [styles.loading]: isLoading,\n [styles.load]: isLoad,\n [styles.invalid]: isInvalid,\n [styles.disabled]: isDisabled,\n })}\n {...getRootProps()}\n aria-disabled={isDisabled}\n data-qa=\"magritte-single-upload\"\n >\n <input {...getInputProps()} data-qa=\"magritte-single-upload-input\" disabled={isDisabled} />\n <div\n className={styles.background}\n style={backgroundStyles}\n data-qa=\"magritte-single-upload-background\"\n />\n <TextDynamic className={classnames(styles.body, { [styles.disabled]: isDisabled })}>\n {isSizeSmall && (\n <>\n {loadedFile && (\n <FileView\n uploadType={uploadType}\n loadedFile={loadedFile}\n renderFileInfo={renderFileInfo}\n onFileDelete={(event) => {\n onFileDelete(event, loadedFile, 0);\n }}\n preview={preview}\n disableCancel={disableCancel}\n aria-label={ariaLabel || ''}\n isLast\n />\n )}\n {!loadedFile && (\n <>\n <Avatar\n mode=\"icon\"\n style=\"secondary\"\n size={48}\n icon={getUploadIcon(uploadType, loadedFile, true)}\n aria-label={ariaLabel || ''}\n />\n <div className={styles.singleSmallPlaceholer}>\n <Text typography=\"label-2-regular\">{trls.title}</Text>\n <VSpacing default={4} />\n <Text typography=\"label-4-regular\" style=\"secondary\">\n {trls.subTitle}\n </Text>\n </div>\n {selectFileButton && <div className={styles.smallControls}>{selectFileButton}</div>}\n </>\n )}\n </>\n )}\n {!isSizeSmall && (\n <>\n {isLoading && (\n <>\n <VSpacing default={12} />\n <div className={styles.loader}>\n <Loader size={64} />\n {!disableCancel && (\n <div className={styles.cancel}>\n <CrossOutlinedSize24\n initialColor=\"accent\"\n onClick={(event) => {\n onFileDelete(event, loadedFile, 0);\n }}\n />\n </div>\n )}\n </div>\n </>\n )}\n {isInvalid ? (\n <ExclamationTriangleOutlinedSize32 initialColor=\"negative\" />\n ) : (\n <span className={classnames(styles.fileIcon, { [styles.hiddenFileInfo]: usePreview })}>\n {getUploadIcon(uploadType, loadedFile, false)}\n </span>\n )}\n <VSpacing default={16} />\n {loadedFile && (\n <>\n <div\n className={classnames(styles.fileInfo, { [styles.hiddenFileInfo]: usePreview })}\n >\n <FileName file={loadedFile.data} isSizeMedium />\n <VSpacing default={6} />\n <Text typography=\"label-4-regular\" style=\"secondary\">\n {renderFileInfo({\n ...loadedFile,\n fileSizeMB: bytes2mb(loadedFile.data.size),\n })}\n </Text>\n </div>\n {!isLoading && (!isImageType || isInvalid) && deleteFileButton && (\n <>\n <VSpacing default={16} />\n {deleteFileButton}\n </>\n )}\n {!isLoading &&\n isImageType &&\n !isInvalid &&\n (replaceImageButton || deleteFileButton) && (\n <>\n <VSpacing default={16} />\n <div className={styles.imageControls}>\n {replaceImageButton}\n {deleteFileButton}\n </div>\n </>\n )}\n {isLoading && <VSpacing default={12} />}\n </>\n )}\n {!loadedFile && <Placeholder trls={trls} selectFileButton={selectFileButton} />}\n </>\n )}\n </TextDynamic>\n </div>\n </DisabledContext.Provider>\n );\n};\n\nexport { SingleUpload };\n"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
package/Upload.js CHANGED
@@ -4,7 +4,7 @@ import { MultiUpload } from './MultiUpload.js';
4
4
  import { SingleUpload } from './SingleUpload.js';
5
5
  import 'react-dropzone';
6
6
  import 'classnames';
7
- import './upload-B2tEnzcL.js';
7
+ import './upload-DFq_qKia.js';
8
8
  import 'react';
9
9
  import '@hh.ru/magritte-ui-spacing';
10
10
  import '@hh.ru/magritte-ui-typography';
package/index.css CHANGED
@@ -1,46 +1,46 @@
1
- .magritte-file-name-body___PTTMc_4-2-14{
1
+ .magritte-file-name-body___PTTMc_4-3-0{
2
2
  display:flex;
3
3
  width:100%;
4
4
  overflow:hidden;
5
5
  }
6
- .magritte-file-name-body_medium___sfmmq_4-2-14{
6
+ .magritte-file-name-body_medium___sfmmq_4-3-0{
7
7
  justify-content:center;
8
8
  }
9
9
 
10
- .magritte-avatar-and-info___vt6aT_4-2-14{
10
+ .magritte-avatar-and-info___vt6aT_4-3-0{
11
11
  display:flex;
12
12
  gap:16px;
13
13
  width:100%;
14
14
  }
15
- .magritte-file-info-body___HmfXd_4-2-14{
15
+ .magritte-file-info-body___HmfXd_4-3-0{
16
16
  display:flex;
17
17
  flex-grow:1;
18
18
  flex-direction:column;
19
19
  }
20
- .magritte-file-info-and-controls___61iyY_4-2-14{
20
+ .magritte-file-info-and-controls___61iyY_4-3-0{
21
21
  display:flex;
22
22
  gap:16px;
23
23
  flex-grow:1;
24
24
  }
25
- .magritte-file-info-container___WFab8_4-2-14{
25
+ .magritte-file-info-container___WFab8_4-3-0{
26
26
  flex-grow:1;
27
27
  display:flex;
28
28
  flex-direction:column;
29
29
  justify-content:center;
30
30
  width:50px;
31
31
  }
32
- .magritte-file-info___HrqiB_4-2-14{
32
+ .magritte-file-info___HrqiB_4-3-0{
33
33
  display:flex;
34
34
  gap:4px;
35
35
  align-items:center;
36
36
  }
37
- .magritte-controls___WdH7A_4-2-14{
37
+ .magritte-controls___WdH7A_4-3-0{
38
38
  display:flex;
39
39
  align-items:center;
40
40
  margin-left:auto;
41
41
  margin-right:16px;
42
42
  }
43
- .magritte-divider___3-bj9_4-2-14{
43
+ .magritte-divider___3-bj9_4-3-0{
44
44
  margin-left:64px;
45
45
  }
46
46
 
@@ -65,7 +65,7 @@
65
65
  .magritte-zp-day-theme{
66
66
  --magritte-color-stroke-accent-v24-5-0:#7195AF;
67
67
  }
68
- .magritte-root___FV1tC_4-2-14{
68
+ .magritte-root___FV1tC_4-3-0{
69
69
  position:relative;
70
70
  display:flex;
71
71
  overflow:hidden;
@@ -74,65 +74,65 @@
74
74
  cursor:pointer;
75
75
  --border-background-dimension:5px;
76
76
  }
77
- .magritte-root___FV1tC_4-2-14:hover .magritte-background___RfZ0U_4-2-14{
77
+ .magritte-root___FV1tC_4-3-0:hover .magritte-background___RfZ0U_4-3-0{
78
78
  border-color:var(--magritte-color-stroke-accent-v24-5-0);
79
79
  }
80
- .magritte-root___FV1tC_4-2-14.magritte-drag-active___dihBL_4-2-14 .magritte-background___RfZ0U_4-2-14{
80
+ .magritte-root___FV1tC_4-3-0.magritte-drag-active___dihBL_4-3-0 .magritte-background___RfZ0U_4-3-0{
81
81
  border-color:var(--magritte-color-stroke-accent-v24-5-0);
82
82
  }
83
- .magritte-root___FV1tC_4-2-14.focus-visible{
83
+ .magritte-root___FV1tC_4-3-0.focus-visible{
84
84
  outline:var(--magritte-color-stroke-state-focused-accessible-v24-5-0) solid 4px;
85
85
  }
86
- .magritte-root___FV1tC_4-2-14.focus-visible .magritte-background___RfZ0U_4-2-14{
86
+ .magritte-root___FV1tC_4-3-0.focus-visible .magritte-background___RfZ0U_4-3-0{
87
87
  border-color:var(--magritte-color-stroke-accent-v24-5-0);
88
88
  }
89
- .magritte-root___FV1tC_4-2-14.magritte-load___MghDA_4-2-14 .magritte-background___RfZ0U_4-2-14,
90
- .magritte-root___FV1tC_4-2-14.magritte-loading___9E3p-_4-2-14 .magritte-background___RfZ0U_4-2-14{
89
+ .magritte-root___FV1tC_4-3-0.magritte-load___MghDA_4-3-0 .magritte-background___RfZ0U_4-3-0,
90
+ .magritte-root___FV1tC_4-3-0.magritte-loading___9E3p-_4-3-0 .magritte-background___RfZ0U_4-3-0{
91
91
  border-style:solid;
92
92
  border-width:calc(1px + var(--border-background-dimension));
93
93
  }
94
- .magritte-root___FV1tC_4-2-14.magritte-invalid___Rt10-_4-2-14.focus-visible{
94
+ .magritte-root___FV1tC_4-3-0.magritte-invalid___Rt10-_4-3-0.focus-visible{
95
95
  outline:var(--magritte-color-component-input-stroke-state-negative-focused-accessible-v24-5-0) solid 4px;
96
96
  }
97
- .magritte-root___FV1tC_4-2-14.magritte-invalid___Rt10-_4-2-14 .magritte-background___RfZ0U_4-2-14{
97
+ .magritte-root___FV1tC_4-3-0.magritte-invalid___Rt10-_4-3-0 .magritte-background___RfZ0U_4-3-0{
98
98
  border-color:var(--magritte-color-stroke-neutral-v24-5-0);
99
99
  }
100
- .magritte-root___FV1tC_4-2-14.magritte-disabled___bhw2K_4-2-14{
100
+ .magritte-root___FV1tC_4-3-0.magritte-disabled___bhw2K_4-3-0{
101
101
  cursor:default;
102
102
  background-color:var(--magritte-color-background-state-primary-disabled-v24-5-0);
103
103
  }
104
- .magritte-root___FV1tC_4-2-14.magritte-disabled___bhw2K_4-2-14 .magritte-background___RfZ0U_4-2-14{
104
+ .magritte-root___FV1tC_4-3-0.magritte-disabled___bhw2K_4-3-0 .magritte-background___RfZ0U_4-3-0{
105
105
  border-color:var(--magritte-color-stroke-state-neutral-disabled-v24-5-0);
106
106
  border-width:calc(2px + var(--border-background-dimension));
107
107
  }
108
108
  @supports (-moz-appearance: none){
109
- .magritte-root___FV1tC_4-2-14{
109
+ .magritte-root___FV1tC_4-3-0{
110
110
  --border-background-dimension:2px;
111
111
  }
112
112
  }
113
113
  @supports (background: -webkit-named-image(i)) and (-webkit-appearance: none){
114
- .magritte-root___FV1tC_4-2-14{
114
+ .magritte-root___FV1tC_4-3-0{
115
115
  --border-background-dimension:2px;
116
116
  }
117
117
  }
118
- .magritte-root_medium___67WJa_4-2-14{
118
+ .magritte-root_medium___67WJa_4-3-0{
119
119
  justify-content:center;
120
120
  padding:24px;
121
121
  }
122
- .magritte-root_medium___67WJa_4-2-14 .magritte-body___O7ROl_4-2-14{
122
+ .magritte-root_medium___67WJa_4-3-0 .magritte-body___O7ROl_4-3-0{
123
123
  flex-direction:column;
124
124
  align-items:center;
125
125
  justify-content:center;
126
126
  }
127
- .magritte-root_small___dkUYq_4-2-14{
127
+ .magritte-root_small___dkUYq_4-3-0{
128
128
  padding-top:16px;
129
129
  padding-bottom:16px;
130
130
  padding-left:16px;
131
131
  }
132
- .magritte-root_small___dkUYq_4-2-14 .magritte-body___O7ROl_4-2-14{
132
+ .magritte-root_small___dkUYq_4-3-0 .magritte-body___O7ROl_4-3-0{
133
133
  gap:16px;
134
134
  }
135
- .magritte-background___RfZ0U_4-2-14{
135
+ .magritte-background___RfZ0U_4-3-0{
136
136
  position:absolute;
137
137
  border-width:calc(2px + var(--border-background-dimension));
138
138
  border-style:dashed;
@@ -145,15 +145,15 @@
145
145
  background-position:center;
146
146
  background-size:100%;
147
147
  }
148
- .magritte-body___O7ROl_4-2-14{
148
+ .magritte-body___O7ROl_4-3-0{
149
149
  display:flex;
150
150
  width:100%;
151
151
  }
152
- .magritte-loader___XYpWg_4-2-14{
152
+ .magritte-loader___XYpWg_4-3-0{
153
153
  position:relative;
154
154
  display:flex;
155
155
  }
156
- .magritte-cancel___tQ-yX_4-2-14{
156
+ .magritte-cancel___tQ-yX_4-3-0{
157
157
  position:absolute;
158
158
  top:0;
159
159
  left:0;
@@ -163,20 +163,20 @@
163
163
  align-items:center;
164
164
  justify-content:center;
165
165
  }
166
- .magritte-image-controls___vLf94_4-2-14{
166
+ .magritte-image-controls___vLf94_4-3-0{
167
167
  display:flex;
168
168
  gap:12px;
169
169
  align-items:flex-end;
170
170
  justify-content:flex-end;
171
171
  width:100%;
172
172
  }
173
- .magritte-small-controls___Qn9TP_4-2-14{
173
+ .magritte-small-controls___Qn9TP_4-3-0{
174
174
  display:flex;
175
175
  align-items:center;
176
176
  margin-left:auto;
177
177
  margin-right:20px;
178
178
  }
179
- .magritte-file-list___L9uHt_4-2-14{
179
+ .magritte-file-list___L9uHt_4-3-0{
180
180
  margin-top:12px;
181
181
  box-shadow:inset 0 0 0 1px var(--magritte-color-stroke-neutral-v24-5-0);
182
182
  border-radius:24px;
@@ -185,19 +185,19 @@
185
185
  padding-bottom:16px;
186
186
  padding-left:16px;
187
187
  }
188
- .magritte-file-icon___oetLK_4-2-14{
188
+ .magritte-file-icon___oetLK_4-3-0{
189
189
  display:inline-flex;
190
190
  }
191
- .magritte-file-info___Y3vyi_4-2-14{
191
+ .magritte-file-info___Y3vyi_4-3-0{
192
192
  display:inline-flex;
193
193
  width:100%;
194
194
  flex-direction:column;
195
195
  align-items:center;
196
196
  }
197
- .magritte-hidden-file-info___92c69_4-2-14{
197
+ .magritte-hidden-file-info___92c69_4-3-0{
198
198
  visibility:hidden;
199
199
  }
200
- .magritte-single-small-placeholer___m8Vnt_4-2-14{
200
+ .magritte-single-small-placeholer___m8Vnt_4-3-0{
201
201
  display:flex;
202
202
  flex-direction:column;
203
203
  justify-content:center;
package/index.js CHANGED
@@ -4,7 +4,7 @@ import 'react/jsx-runtime';
4
4
  import './MultiUpload.js';
5
5
  import 'react-dropzone';
6
6
  import 'classnames';
7
- import './upload-B2tEnzcL.js';
7
+ import './upload-DFq_qKia.js';
8
8
  import 'react';
9
9
  import '@hh.ru/magritte-ui-spacing';
10
10
  import '@hh.ru/magritte-ui-typography';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hh.ru/magritte-ui-upload",
3
- "version": "4.2.14",
3
+ "version": "4.3.0",
4
4
  "main": "index.js",
5
5
  "types": "index.d.ts",
6
6
  "sideEffects": [
@@ -27,10 +27,9 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@hh.ru/magritte-design-tokens": "24.5.0",
30
- "@hh.ru/magritte-ui-avatar": "8.1.0",
30
+ "@hh.ru/magritte-ui-avatar": "8.1.1",
31
31
  "@hh.ru/magritte-ui-breakpoint": "6.0.8",
32
- "@hh.ru/magritte-ui-button": "7.1.10",
33
- "@hh.ru/magritte-ui-button-stack": "3.0.7",
32
+ "@hh.ru/magritte-ui-button": "7.2.0",
34
33
  "@hh.ru/magritte-ui-divider": "3.1.0",
35
34
  "@hh.ru/magritte-ui-icon": "14.1.0",
36
35
  "@hh.ru/magritte-ui-loader": "3.0.1",
@@ -39,5 +38,5 @@
39
38
  "@hh.ru/magritte-ui-typography": "5.0.1",
40
39
  "react-dropzone": "14.3.5"
41
40
  },
42
- "gitHead": "3f1aa3b58a7e74d784b1af1a2a1950700ebe08d0"
41
+ "gitHead": "39bc57d1e73f03a4a6dd01e6a313f819d2922fe3"
43
42
  }
package/types.d.ts CHANGED
@@ -1,6 +1,5 @@
1
1
  import { ReactNode, MouseEvent } from 'react';
2
2
  import { DropzoneOptions, DropEvent } from 'react-dropzone';
3
- import { ButtonElement } from '@hh.ru/magritte-ui-button-stack';
4
3
  export interface LoadedFile {
5
4
  data: File;
6
5
  loading: boolean;
@@ -30,7 +29,7 @@ export interface UploadProps extends DropzoneOptionsHepler {
30
29
  /** Переводы для зоны загрузки */
31
30
  trls: UploadTrls;
32
31
  /** Кнопка вызова диалога выбора файлов */
33
- selectFileButton?: ButtonElement;
32
+ selectFileButton?: ReactNode;
34
33
  /** Обработчик события удаления файла */
35
34
  onFileDelete: (loadedFile: LoadedFile, fileIndex: number) => void;
36
35
  /** Обработчик успешной валидации файлов */
@@ -50,8 +49,8 @@ export interface UploadProps extends DropzoneOptionsHepler {
50
49
  /** Флаг включения мультивыбора, работает только для `size="medium"` */
51
50
  multiple?: boolean;
52
51
  /** Кнопка удаления файла, работает только для `size="medium"` */
53
- deleteFileButton?: ButtonElement;
52
+ deleteFileButton?: ReactNode;
54
53
  /** Кнопка замены файла, работает только для `size="medium"` */
55
- replaceImageButton?: ButtonElement;
54
+ replaceImageButton?: ReactNode;
56
55
  }
57
56
  export {};
@@ -0,0 +1,10 @@
1
+ import './index.css';
2
+ import { createContext, useContext } from 'react';
3
+
4
+ const DisabledContext = createContext(false);
5
+ const useDisabled = () => useContext(DisabledContext);
6
+
7
+ var styles = {"root":"magritte-root___FV1tC_4-3-0","background":"magritte-background___RfZ0U_4-3-0","drag-active":"magritte-drag-active___dihBL_4-3-0","dragActive":"magritte-drag-active___dihBL_4-3-0","load":"magritte-load___MghDA_4-3-0","loading":"magritte-loading___9E3p-_4-3-0","invalid":"magritte-invalid___Rt10-_4-3-0","disabled":"magritte-disabled___bhw2K_4-3-0","root_medium":"magritte-root_medium___67WJa_4-3-0","rootMedium":"magritte-root_medium___67WJa_4-3-0","body":"magritte-body___O7ROl_4-3-0","root_small":"magritte-root_small___dkUYq_4-3-0","rootSmall":"magritte-root_small___dkUYq_4-3-0","loader":"magritte-loader___XYpWg_4-3-0","cancel":"magritte-cancel___tQ-yX_4-3-0","image-controls":"magritte-image-controls___vLf94_4-3-0","imageControls":"magritte-image-controls___vLf94_4-3-0","small-controls":"magritte-small-controls___Qn9TP_4-3-0","smallControls":"magritte-small-controls___Qn9TP_4-3-0","file-list":"magritte-file-list___L9uHt_4-3-0","fileList":"magritte-file-list___L9uHt_4-3-0","file-icon":"magritte-file-icon___oetLK_4-3-0","fileIcon":"magritte-file-icon___oetLK_4-3-0","file-info":"magritte-file-info___Y3vyi_4-3-0","fileInfo":"magritte-file-info___Y3vyi_4-3-0","hidden-file-info":"magritte-hidden-file-info___92c69_4-3-0","hiddenFileInfo":"magritte-hidden-file-info___92c69_4-3-0","single-small-placeholer":"magritte-single-small-placeholer___m8Vnt_4-3-0","singleSmallPlaceholer":"magritte-single-small-placeholer___m8Vnt_4-3-0"};
8
+
9
+ export { DisabledContext as D, styles as s, useDisabled as u };
10
+ //# sourceMappingURL=upload-DFq_qKia.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"upload-B2tEnzcL.js","sources":["../../common/use-disabled/lib/index.js"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nconst DisabledContext = createContext(false);\nconst useDisabled = () => useContext(DisabledContext);\n\nexport { DisabledContext, useDisabled };\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":";;AAEK,MAAC,eAAe,GAAG,aAAa,CAAC,KAAK,EAAE;AACxC,MAAC,WAAW,GAAG,MAAM,UAAU,CAAC,eAAe;;;;;;"}
1
+ {"version":3,"file":"upload-DFq_qKia.js","sources":["../../common/use-disabled/lib/index.js"],"sourcesContent":["import { createContext, useContext } from 'react';\n\nconst DisabledContext = createContext(false);\nconst useDisabled = () => useContext(DisabledContext);\n\nexport { DisabledContext, useDisabled };\n//# sourceMappingURL=index.js.map\n"],"names":[],"mappings":";;AAEK,MAAC,eAAe,GAAG,aAAa,CAAC,KAAK,EAAE;AACxC,MAAC,WAAW,GAAG,MAAM,UAAU,CAAC,eAAe;;;;;;"}
@@ -1,9 +1,8 @@
1
- import { MouseEvent } from 'react';
2
- import { ButtonElement } from '@hh.ru/magritte-ui-button-stack';
1
+ import { MouseEvent, ReactNode } from 'react';
3
2
  interface DropButtons {
4
- selectFileButton?: ButtonElement;
5
- deleteFileButton?: ButtonElement;
6
- replaceImageButton?: ButtonElement;
3
+ selectFileButton?: ReactNode;
4
+ deleteFileButton?: ReactNode;
5
+ replaceImageButton?: ReactNode;
7
6
  }
8
7
  interface UseDropButtonsProps extends DropButtons {
9
8
  onFileDelete?: (event: MouseEvent) => void;
package/useDropButtons.js CHANGED
@@ -1,19 +1,22 @@
1
1
  import './index.css';
2
- import { cloneElement } from 'react';
2
+ import { isValidElement, cloneElement } from 'react';
3
3
 
4
4
  const useDropButtons = ({ selectFileButton: _selectFileButton, deleteFileButton: _deleteFileButton, replaceImageButton: _replaceImageButton, onFileDelete, }) => {
5
5
  const selectFileButton = _selectFileButton &&
6
+ isValidElement(_selectFileButton) &&
6
7
  cloneElement(_selectFileButton, {
7
8
  key: 'selectFileButton',
8
9
  'data-qa': 'magritte-select-file-button',
9
10
  });
10
11
  const deleteFileButton = _deleteFileButton &&
12
+ isValidElement(_deleteFileButton) &&
11
13
  cloneElement(_deleteFileButton, {
12
14
  key: 'deleteFileButton',
13
15
  'data-qa': 'magritte-delete-file-button',
14
16
  onClick: onFileDelete,
15
17
  });
16
18
  const replaceImageButton = _replaceImageButton &&
19
+ isValidElement(_replaceImageButton) &&
17
20
  cloneElement(_replaceImageButton, {
18
21
  key: 'replaceImageButton',
19
22
  'data-qa': 'magritte-select-replace-image-button',
@@ -1 +1 @@
1
- {"version":3,"file":"useDropButtons.js","sources":["src/useDropButtons.tsx"],"sourcesContent":["import { MouseEvent, cloneElement, ComponentProps } from 'react';\n\nimport { Button } from '@hh.ru/magritte-ui-button';\nimport { ButtonElement } from '@hh.ru/magritte-ui-button-stack';\n\ninterface DropButtons {\n selectFileButton?: ButtonElement;\n deleteFileButton?: ButtonElement;\n replaceImageButton?: ButtonElement;\n}\n\ninterface UseDropButtonsProps extends DropButtons {\n onFileDelete?: (event: MouseEvent) => void;\n}\n\nconst useDropButtons = ({\n selectFileButton: _selectFileButton,\n deleteFileButton: _deleteFileButton,\n replaceImageButton: _replaceImageButton,\n onFileDelete,\n}: UseDropButtonsProps): DropButtons => {\n const selectFileButton =\n _selectFileButton &&\n cloneElement(_selectFileButton, {\n key: 'selectFileButton',\n 'data-qa': 'magritte-select-file-button',\n } as Partial<ComponentProps<typeof Button>>);\n\n const deleteFileButton =\n _deleteFileButton &&\n cloneElement(_deleteFileButton, {\n key: 'deleteFileButton',\n 'data-qa': 'magritte-delete-file-button',\n onClick: onFileDelete,\n } as Partial<ComponentProps<typeof Button>>);\n\n const replaceImageButton =\n _replaceImageButton &&\n cloneElement(_replaceImageButton, {\n key: 'replaceImageButton',\n 'data-qa': 'magritte-select-replace-image-button',\n } as Partial<ComponentProps<typeof Button>>);\n\n return { selectFileButton, deleteFileButton, replaceImageButton };\n};\n\nexport { useDropButtons };\n"],"names":[],"mappings":";;AAeA,MAAM,cAAc,GAAG,CAAC,EACpB,gBAAgB,EAAE,iBAAiB,EACnC,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,mBAAmB,EACvC,YAAY,GACM,KAAiB;IACnC,MAAM,gBAAgB,GAClB,iBAAiB;QACjB,YAAY,CAAC,iBAAiB,EAAE;AAC5B,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,SAAS,EAAE,6BAA6B;AACD,SAAA,CAAC,CAAC;IAEjD,MAAM,gBAAgB,GAClB,iBAAiB;QACjB,YAAY,CAAC,iBAAiB,EAAE;AAC5B,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,SAAS,EAAE,6BAA6B;AACxC,YAAA,OAAO,EAAE,YAAY;AACkB,SAAA,CAAC,CAAC;IAEjD,MAAM,kBAAkB,GACpB,mBAAmB;QACnB,YAAY,CAAC,mBAAmB,EAAE;AAC9B,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,SAAS,EAAE,sCAAsC;AACV,SAAA,CAAC,CAAC;AAEjD,IAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;AACtE;;;;"}
1
+ {"version":3,"file":"useDropButtons.js","sources":["src/useDropButtons.tsx"],"sourcesContent":["import { MouseEvent, cloneElement, ComponentProps, ReactNode, isValidElement } from 'react';\n\nimport { Button } from '@hh.ru/magritte-ui-button';\n\ninterface DropButtons {\n selectFileButton?: ReactNode;\n deleteFileButton?: ReactNode;\n replaceImageButton?: ReactNode;\n}\n\ninterface UseDropButtonsProps extends DropButtons {\n onFileDelete?: (event: MouseEvent) => void;\n}\n\nconst useDropButtons = ({\n selectFileButton: _selectFileButton,\n deleteFileButton: _deleteFileButton,\n replaceImageButton: _replaceImageButton,\n onFileDelete,\n}: UseDropButtonsProps): DropButtons => {\n const selectFileButton =\n _selectFileButton &&\n isValidElement(_selectFileButton) &&\n cloneElement(_selectFileButton, {\n key: 'selectFileButton',\n 'data-qa': 'magritte-select-file-button',\n } as Partial<ComponentProps<typeof Button>>);\n\n const deleteFileButton =\n _deleteFileButton &&\n isValidElement(_deleteFileButton) &&\n cloneElement(_deleteFileButton, {\n key: 'deleteFileButton',\n 'data-qa': 'magritte-delete-file-button',\n onClick: onFileDelete,\n } as Partial<ComponentProps<typeof Button>>);\n\n const replaceImageButton =\n _replaceImageButton &&\n isValidElement(_replaceImageButton) &&\n cloneElement(_replaceImageButton, {\n key: 'replaceImageButton',\n 'data-qa': 'magritte-select-replace-image-button',\n } as Partial<ComponentProps<typeof Button>>);\n\n return { selectFileButton, deleteFileButton, replaceImageButton };\n};\n\nexport { useDropButtons };\n"],"names":[],"mappings":";;AAcA,MAAM,cAAc,GAAG,CAAC,EACpB,gBAAgB,EAAE,iBAAiB,EACnC,gBAAgB,EAAE,iBAAiB,EACnC,kBAAkB,EAAE,mBAAmB,EACvC,YAAY,GACM,KAAiB;IACnC,MAAM,gBAAgB,GAClB,iBAAiB;QACjB,cAAc,CAAC,iBAAiB,CAAC;QACjC,YAAY,CAAC,iBAAiB,EAAE;AAC5B,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,SAAS,EAAE,6BAA6B;AACD,SAAA,CAAC,CAAC;IAEjD,MAAM,gBAAgB,GAClB,iBAAiB;QACjB,cAAc,CAAC,iBAAiB,CAAC;QACjC,YAAY,CAAC,iBAAiB,EAAE;AAC5B,YAAA,GAAG,EAAE,kBAAkB;AACvB,YAAA,SAAS,EAAE,6BAA6B;AACxC,YAAA,OAAO,EAAE,YAAY;AACkB,SAAA,CAAC,CAAC;IAEjD,MAAM,kBAAkB,GACpB,mBAAmB;QACnB,cAAc,CAAC,mBAAmB,CAAC;QACnC,YAAY,CAAC,mBAAmB,EAAE;AAC9B,YAAA,GAAG,EAAE,oBAAoB;AACzB,YAAA,SAAS,EAAE,sCAAsC;AACV,SAAA,CAAC,CAAC;AAEjD,IAAA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;AACtE;;;;"}
@@ -1,10 +0,0 @@
1
- import './index.css';
2
- import { createContext, useContext } from 'react';
3
-
4
- const DisabledContext = createContext(false);
5
- const useDisabled = () => useContext(DisabledContext);
6
-
7
- var styles = {"root":"magritte-root___FV1tC_4-2-14","background":"magritte-background___RfZ0U_4-2-14","drag-active":"magritte-drag-active___dihBL_4-2-14","dragActive":"magritte-drag-active___dihBL_4-2-14","load":"magritte-load___MghDA_4-2-14","loading":"magritte-loading___9E3p-_4-2-14","invalid":"magritte-invalid___Rt10-_4-2-14","disabled":"magritte-disabled___bhw2K_4-2-14","root_medium":"magritte-root_medium___67WJa_4-2-14","rootMedium":"magritte-root_medium___67WJa_4-2-14","body":"magritte-body___O7ROl_4-2-14","root_small":"magritte-root_small___dkUYq_4-2-14","rootSmall":"magritte-root_small___dkUYq_4-2-14","loader":"magritte-loader___XYpWg_4-2-14","cancel":"magritte-cancel___tQ-yX_4-2-14","image-controls":"magritte-image-controls___vLf94_4-2-14","imageControls":"magritte-image-controls___vLf94_4-2-14","small-controls":"magritte-small-controls___Qn9TP_4-2-14","smallControls":"magritte-small-controls___Qn9TP_4-2-14","file-list":"magritte-file-list___L9uHt_4-2-14","fileList":"magritte-file-list___L9uHt_4-2-14","file-icon":"magritte-file-icon___oetLK_4-2-14","fileIcon":"magritte-file-icon___oetLK_4-2-14","file-info":"magritte-file-info___Y3vyi_4-2-14","fileInfo":"magritte-file-info___Y3vyi_4-2-14","hidden-file-info":"magritte-hidden-file-info___92c69_4-2-14","hiddenFileInfo":"magritte-hidden-file-info___92c69_4-2-14","single-small-placeholer":"magritte-single-small-placeholer___m8Vnt_4-2-14","singleSmallPlaceholer":"magritte-single-small-placeholer___m8Vnt_4-2-14"};
8
-
9
- export { DisabledContext as D, styles as s, useDisabled as u };
10
- //# sourceMappingURL=upload-B2tEnzcL.js.map