@astral/ui 4.97.0 → 4.98.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.
Files changed (63) hide show
  1. package/components/fileUploading/FileInfo/FileInfo.d.ts +5 -1
  2. package/components/fileUploading/FileInfo/FileInfo.js +11 -2
  3. package/components/fileUploading/FileInfo/constants.d.ts +4 -0
  4. package/components/fileUploading/FileInfo/constants.js +5 -0
  5. package/components/fileUploading/FileInfo/index.d.ts +1 -0
  6. package/components/fileUploading/FileInfo/index.js +1 -0
  7. package/components/fileUploading/FileInfo/styles.js +19 -0
  8. package/components/fileUploading/FileUploader/FIleList/styles.js +4 -0
  9. package/components/fileUploading/FileUploaderDropzone/DropzoneWrapper/styles.js +3 -0
  10. package/components/fileUploading/FileUploaderDropzone/FileUploaderContainer/FileUploaderContainer.js +2 -1
  11. package/components/fileUploading/FileUploaderDropzone/FileUploaderContainer/styles.d.ts +5 -0
  12. package/components/fileUploading/FileUploaderDropzone/FileUploaderContainer/styles.js +6 -0
  13. package/components/fileUploading/FileUploaderDropzone/HintPlaceholder/HintPlaceholder.js +3 -3
  14. package/components/fileUploading/FileUploaderDropzone/HintPlaceholder/styles.d.ts +4 -0
  15. package/components/fileUploading/FileUploaderDropzone/HintPlaceholder/styles.js +5 -0
  16. package/components/fileUploading/FileUploaderFile/Actions/Actions.js +4 -2
  17. package/components/fileUploading/FileUploaderFile/FileUploaderFile.js +1 -1
  18. package/components/fileUploading/FileUploaderFile/styles.js +7 -0
  19. package/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/HintPlaceholder.js +2 -2
  20. package/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/styles.d.ts +4 -0
  21. package/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/styles.js +5 -0
  22. package/components/fileUploading/PreviewFileUploaderDropZone/PlaceholderWrapper/styles.js +4 -0
  23. package/components/fileUploading/PreviewFileUploaderFile/FileError/FileError.js +2 -2
  24. package/components/fileUploading/PreviewFileUploaderFile/FileError/styles.d.ts +15 -0
  25. package/components/fileUploading/PreviewFileUploaderFile/FileError/styles.js +17 -4
  26. package/components/fileUploading/PreviewFileUploaderFile/FileLoading/FileLoading.js +1 -1
  27. package/components/fileUploading/PreviewFileUploaderFile/FilePreview/FilePreview.js +4 -9
  28. package/components/fileUploading/PreviewFileUploaderFile/FilePreview/styles.d.ts +1 -0
  29. package/components/fileUploading/PreviewFileUploaderFile/FilePreview/styles.js +39 -13
  30. package/components/fileUploading/PreviewFileUploaderFile/FilePreview/useLogic/useLogic.d.ts +49 -14
  31. package/components/fileUploading/PreviewFileUploaderFile/FilePreview/useLogic/useLogic.js +60 -8
  32. package/node/components/fileUploading/FileInfo/FileInfo.d.ts +5 -1
  33. package/node/components/fileUploading/FileInfo/FileInfo.js +11 -2
  34. package/node/components/fileUploading/FileInfo/constants.d.ts +4 -0
  35. package/node/components/fileUploading/FileInfo/constants.js +8 -0
  36. package/node/components/fileUploading/FileInfo/index.d.ts +1 -0
  37. package/node/components/fileUploading/FileInfo/index.js +3 -0
  38. package/node/components/fileUploading/FileInfo/styles.js +19 -0
  39. package/node/components/fileUploading/FileUploader/FIleList/styles.js +4 -0
  40. package/node/components/fileUploading/FileUploaderDropzone/DropzoneWrapper/styles.js +3 -0
  41. package/node/components/fileUploading/FileUploaderDropzone/FileUploaderContainer/FileUploaderContainer.js +2 -1
  42. package/node/components/fileUploading/FileUploaderDropzone/FileUploaderContainer/styles.d.ts +5 -0
  43. package/node/components/fileUploading/FileUploaderDropzone/FileUploaderContainer/styles.js +9 -0
  44. package/node/components/fileUploading/FileUploaderDropzone/HintPlaceholder/HintPlaceholder.js +2 -2
  45. package/node/components/fileUploading/FileUploaderDropzone/HintPlaceholder/styles.d.ts +4 -0
  46. package/node/components/fileUploading/FileUploaderDropzone/HintPlaceholder/styles.js +6 -1
  47. package/node/components/fileUploading/FileUploaderFile/Actions/Actions.js +3 -1
  48. package/node/components/fileUploading/FileUploaderFile/FileUploaderFile.js +1 -1
  49. package/node/components/fileUploading/FileUploaderFile/styles.js +7 -0
  50. package/node/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/HintPlaceholder.js +1 -1
  51. package/node/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/styles.d.ts +4 -0
  52. package/node/components/fileUploading/PreviewFileUploaderDropZone/HintPlaceholder/styles.js +6 -1
  53. package/node/components/fileUploading/PreviewFileUploaderDropZone/PlaceholderWrapper/styles.js +4 -0
  54. package/node/components/fileUploading/PreviewFileUploaderFile/FileError/FileError.js +1 -1
  55. package/node/components/fileUploading/PreviewFileUploaderFile/FileError/styles.d.ts +15 -0
  56. package/node/components/fileUploading/PreviewFileUploaderFile/FileError/styles.js +18 -5
  57. package/node/components/fileUploading/PreviewFileUploaderFile/FileLoading/FileLoading.js +1 -1
  58. package/node/components/fileUploading/PreviewFileUploaderFile/FilePreview/FilePreview.js +3 -8
  59. package/node/components/fileUploading/PreviewFileUploaderFile/FilePreview/styles.d.ts +1 -0
  60. package/node/components/fileUploading/PreviewFileUploaderFile/FilePreview/styles.js +39 -13
  61. package/node/components/fileUploading/PreviewFileUploaderFile/FilePreview/useLogic/useLogic.d.ts +49 -14
  62. package/node/components/fileUploading/PreviewFileUploaderFile/FilePreview/useLogic/useLogic.js +60 -8
  63. package/package.json +1 -1
@@ -1,26 +1,61 @@
1
1
  /// <reference types="react" />
2
2
  import { type FilePreviewProps } from '../FilePreview';
3
3
  type UseLogicParams = FilePreviewProps;
4
- export declare const useLogic: ({ fileId, file, fileUrl, generateDownloadLink, onDelete, onView, fileType, }: UseLogicParams) => {
5
- deleteButtonProps: {
4
+ export declare const useLogic: ({ fileId, file, fileUrl, fileName, generateDownloadLink, onDelete, onView, fileType, isDeletingFile, }: UseLogicParams) => {
5
+ isImageFile: boolean;
6
+ isPdfFile: boolean;
7
+ /**
8
+ * Формат файла отличающийся от pdf и изображения
9
+ */
10
+ isOtherFile: boolean;
11
+ getActionsList: () => {
12
+ type: string;
13
+ tooltip: string;
14
+ title: string;
15
+ variant: "light";
16
+ color: "grey";
17
+ icon: import("react").FunctionComponentElement<import("../../../..").SvgIconProps>;
18
+ loading: boolean | undefined;
6
19
  onClick: () => void;
7
- };
8
- downloadButtonProps: {
9
- href: string;
10
- };
11
- viewButtonProps: {
20
+ }[] | ({
12
21
  component: import("react").ElementType;
13
22
  href: string;
14
23
  target: string;
15
24
  rel: string;
25
+ type: string;
26
+ tooltip: string;
27
+ variant: "light";
28
+ color: "grey";
29
+ icon: import("react").FunctionComponentElement<import("../../../..").SvgIconProps>;
16
30
  } | {
17
31
  onClick: () => void | undefined;
18
- };
19
- isImageFile: boolean;
20
- isPdfFile: boolean;
21
- /**
22
- * Формат файла отличающийся от pdf и изображения
23
- */
24
- isOtherFile: boolean;
32
+ type: string;
33
+ tooltip: string;
34
+ variant: "light";
35
+ color: "grey";
36
+ icon: import("react").FunctionComponentElement<import("../../../..").SvgIconProps>;
37
+ } | {
38
+ type: string;
39
+ tooltip: string;
40
+ component: "a";
41
+ variant: "light";
42
+ color: "grey";
43
+ icon: import("react").FunctionComponentElement<import("../../../..").SvgIconProps>;
44
+ download: string;
45
+ href: string;
46
+ loading?: undefined;
47
+ onClick?: undefined;
48
+ } | {
49
+ type: string;
50
+ tooltip: string;
51
+ variant: "light";
52
+ color: "grey";
53
+ icon: import("react").FunctionComponentElement<import("../../../..").SvgIconProps>;
54
+ loading: boolean | undefined;
55
+ onClick: () => void;
56
+ component?: undefined;
57
+ download?: undefined;
58
+ href?: undefined;
59
+ })[];
25
60
  };
26
61
  export {};
@@ -1,13 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useLogic = void 0;
4
+ const react_1 = require("react");
5
+ const BinOutlineMd_1 = require("../../../../../icons/BinOutlineMd");
6
+ const DownloadOutlineMd_1 = require("../../../../../icons/DownloadOutlineMd");
7
+ const EyeOutlineMd_1 = require("../../../../../icons/EyeOutlineMd");
4
8
  const ErrorService_1 = require("../../../../services/ErrorService");
9
+ const useViewportType_1 = require("../../../../useViewportType");
5
10
  const constants_1 = require("../../../constants");
6
11
  const useGenerateLocalFileURL_1 = require("../../../hooks/useGenerateLocalFileURL");
7
12
  const MimeTypeRegistry_1 = require("../../../services/MimeTypeRegistry");
8
13
  const generateAttrLinkNewTab_1 = require("../../../utils/generateAttrLinkNewTab");
9
- const useLogic = ({ fileId, file, fileUrl, generateDownloadLink, onDelete, onView, fileType, }) => {
14
+ const useLogic = ({ fileId, file, fileUrl, fileName, generateDownloadLink, onDelete, onView, fileType, isDeletingFile, }) => {
10
15
  const { generateUrl } = (0, useGenerateLocalFileURL_1.useGenerateLocalFileURL)();
16
+ const { isMobile } = (0, useViewportType_1.useViewportType)();
11
17
  const isPdfFile = MimeTypeRegistry_1.MimeTypeRegistry.getInstance()
12
18
  .getExtensionsByMimeType((file?.type || fileType))
13
19
  ?.includes('pdf') || false;
@@ -53,20 +59,66 @@ const useLogic = ({ fileId, file, fileUrl, generateDownloadLink, onDelete, onVie
53
59
  },
54
60
  };
55
61
  };
62
+ const getViewActionsList = () => {
63
+ return isOtherFile
64
+ ? []
65
+ : [
66
+ {
67
+ type: 'iconButton',
68
+ tooltip: 'Посмотреть',
69
+ variant: 'light',
70
+ color: 'grey',
71
+ icon: (0, react_1.createElement)(EyeOutlineMd_1.EyeOutlineMd),
72
+ ...getPropsViewButton(),
73
+ },
74
+ ];
75
+ };
76
+ const getActionsList = () => {
77
+ if (isMobile) {
78
+ return [
79
+ {
80
+ type: isOtherFile ? 'button' : 'iconButton',
81
+ tooltip: 'Удалить',
82
+ title: 'Удалить',
83
+ variant: 'light',
84
+ color: 'grey',
85
+ icon: (0, react_1.createElement)(BinOutlineMd_1.BinOutlineMd),
86
+ loading: isDeletingFile,
87
+ onClick: handleDelete,
88
+ },
89
+ ];
90
+ }
91
+ return [
92
+ ...getViewActionsList(),
93
+ {
94
+ type: 'iconButton',
95
+ tooltip: 'Скачать',
96
+ component: 'a',
97
+ variant: 'light',
98
+ color: 'grey',
99
+ icon: (0, react_1.createElement)(DownloadOutlineMd_1.DownloadOutlineMd),
100
+ download: fileName,
101
+ href: downloadLink,
102
+ },
103
+ {
104
+ type: 'iconButton',
105
+ tooltip: 'Удалить',
106
+ variant: 'light',
107
+ color: 'grey',
108
+ icon: (0, react_1.createElement)(BinOutlineMd_1.BinOutlineMd),
109
+ loading: isDeletingFile,
110
+ onClick: handleDelete,
111
+ },
112
+ ];
113
+ };
56
114
  return {
57
- deleteButtonProps: {
58
- onClick: handleDelete,
59
- },
60
- downloadButtonProps: {
61
- href: downloadLink,
62
- },
63
- viewButtonProps: getPropsViewButton(),
64
115
  isImageFile,
65
116
  isPdfFile,
66
117
  /**
67
118
  * Формат файла отличающийся от pdf и изображения
68
119
  */
69
120
  isOtherFile,
121
+ getActionsList,
70
122
  };
71
123
  };
72
124
  exports.useLogic = useLogic;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astral/ui",
3
- "version": "4.97.0",
3
+ "version": "4.98.0",
4
4
  "browser": "./index.js",
5
5
  "main": "./node/index.js",
6
6
  "dependencies": {