@emailmaker/filemanager 0.10.74 → 0.10.76
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/components/FileContent/presentation/FileGridItem.d.ts +0 -2
- package/components/FileContent/renderers/FileGridView.d.ts +0 -2
- package/file-manager.esm.js +8 -8
- package/file-manager.js +1 -1
- package/package.json +1 -1
- package/utils/imageCompression.d.ts +2 -0
- package/utils/isImageEligibleForEditorInsert.d.ts +3 -0
- package/utils/mimeUtils.d.ts +11 -0
- package/utils/svgToPng.d.ts +42 -1
package/package.json
CHANGED
|
@@ -5,6 +5,8 @@ export interface PrepareImageForUploadOptions {
|
|
|
5
5
|
fileName?: string;
|
|
6
6
|
libURL?: string;
|
|
7
7
|
enableCompression?: boolean;
|
|
8
|
+
/** Только для загрузки в файловый менеджер: SVG → PNG до остальной обработки. Не использовать при экспорте SVG из редактора. */
|
|
9
|
+
convertSvgToPng?: boolean;
|
|
8
10
|
}
|
|
9
11
|
export declare function prepareImageForUpload(file: File, options?: PrepareImageForUploadOptions): Promise<File>;
|
|
10
12
|
export declare const compressImageWithLimits: typeof prepareImageForUpload;
|
package/utils/mimeUtils.d.ts
CHANGED
|
@@ -23,3 +23,14 @@ export declare const normalizeMimeType: (thumbnail: string, fileType?: string) =
|
|
|
23
23
|
* @returns Расширение файла (png, jpg, gif и т.д.)
|
|
24
24
|
*/
|
|
25
25
|
export declare const getExtensionFromMime: (mimeType: string) => string;
|
|
26
|
+
/**
|
|
27
|
+
* MIME по расширению имени (когда у File пустой или неверный type).
|
|
28
|
+
*/
|
|
29
|
+
export declare function inferImageMimeFromFileName(fileName: string): string | undefined;
|
|
30
|
+
/**
|
|
31
|
+
* Файл допускается в пайплайн загрузки изображений (в т.ч. SVG с application/octet-stream или пустым type).
|
|
32
|
+
*/
|
|
33
|
+
export declare function isAllowedImageUploadFile(file: {
|
|
34
|
+
name?: string;
|
|
35
|
+
type?: string;
|
|
36
|
+
}): boolean;
|
package/utils/svgToPng.d.ts
CHANGED
|
@@ -8,4 +8,45 @@ export declare function computeSvgTargetDimensions(svgText: string, targetSize:
|
|
|
8
8
|
width: number;
|
|
9
9
|
height: number;
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
/**
|
|
12
|
+
* «Логические» пиксели SVG: width/height на <svg> (если заданы в px/числе), иначе размеры из viewBox.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getSvgIntrinsicDimensions(svgText: string): {
|
|
15
|
+
width: number;
|
|
16
|
+
height: number;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Размер PNG при загрузке: intrinsic × pixelScale (по умолчанию 2× к width/height SVG), с ограничением длинной стороны.
|
|
20
|
+
*/
|
|
21
|
+
export declare function computeSvgUploadPngDimensions(svgText: string, pixelScale?: number, maxLongEdge?: number): {
|
|
22
|
+
width: number;
|
|
23
|
+
height: number;
|
|
24
|
+
};
|
|
25
|
+
export type RasterizeSvgToPngOptions = {
|
|
26
|
+
/** Доп. масштаб canvas (для ретины в UI иконок; при загрузке файлов обычно 1). */
|
|
27
|
+
canvasScale?: number;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Растеризация SVG → PNG (без data URL / fetch — надёжнее для больших SVG).
|
|
31
|
+
*/
|
|
32
|
+
export declare function rasterizeSvgTextToPngBlob(svgText: string, outW: number, outH: number, bg?: string, rasterOpts?: RasterizeSvgToPngOptions): Promise<Blob>;
|
|
33
|
+
export declare function rasterizeSvgToPng(svgText: string, outW: number, outH: number, bg?: string, rasterOpts?: RasterizeSvgToPngOptions): Promise<string>;
|
|
34
|
+
/** Первые байты файла как UTF-8 текст (для определения SVG без расширения .svg). */
|
|
35
|
+
export declare function readFileTextHead(file: File, maxBytes?: number): Promise<string>;
|
|
36
|
+
/** Начало похоже на SVG-разметку (в т.ч. после <?xml). */
|
|
37
|
+
export declare function looksLikeSvgMarkup(text: string): boolean;
|
|
38
|
+
export interface ConvertSvgFileToPngOptions {
|
|
39
|
+
/**
|
|
40
|
+
* Множитель к логическим width/height SVG (из атрибутов или viewBox).
|
|
41
|
+
* По умолчанию 2 — итоговая ширина PNG ≈ 2× width в разметке.
|
|
42
|
+
*/
|
|
43
|
+
pixelScale?: number;
|
|
44
|
+
/** Верхняя граница длинной стороны PNG после pixelScale (страховка от гигантских SVG). */
|
|
45
|
+
maxLongEdge?: number;
|
|
46
|
+
/** Базовое имя файла (уже нормализованное), будет заменено .svg → .png */
|
|
47
|
+
outputFileName?: string;
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Растеризация загружаемого SVG в PNG: размер = intrinsic × pixelScale (по умолчанию 2×), без лишнего ×2 на canvas.
|
|
51
|
+
*/
|
|
52
|
+
export declare function convertSvgFileToPngFile(file: File, options?: ConvertSvgFileToPngOptions): Promise<File>;
|