@atlaskit/media-card 77.5.0 → 77.5.2
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/CHANGELOG.md +12 -0
- package/dist/cjs/card/card.js +1 -1
- package/dist/cjs/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/cjs/card/v2/cardV2.js +1 -1
- package/dist/cjs/card/v2/cardViewV2.js +7 -6
- package/dist/cjs/card/v2/useFilePreview/errors.js +132 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/cache.js +39 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/filePreviewStatus.js +45 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/getPreview.js +119 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/helpers.js +167 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/index.js +62 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/objectURLCache.js +85 -0
- package/dist/cjs/card/v2/useFilePreview/getPreview/videoSnapshot.js +58 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/getSSRData.js +14 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/globalScope.js +66 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/index.js +37 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/printScript.js +32 -0
- package/dist/cjs/card/v2/useFilePreview/globalScope/types.js +5 -0
- package/dist/cjs/card/v2/useFilePreview/helpers.js +64 -0
- package/dist/cjs/card/v2/useFilePreview/index.js +12 -0
- package/dist/cjs/card/v2/useFilePreview/types.js +5 -0
- package/dist/cjs/card/v2/{useFilePreview.js → useFilePreview/useFilePreview.js} +58 -194
- package/dist/cjs/inline/loader.js +1 -1
- package/dist/cjs/utils/ufoExperiences.js +1 -1
- package/dist/es2019/card/card.js +1 -1
- package/dist/es2019/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/es2019/card/v2/cardV2.js +1 -1
- package/dist/es2019/card/v2/cardViewV2.js +7 -6
- package/dist/es2019/card/v2/useFilePreview/errors.js +81 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/cache.js +30 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/filePreviewStatus.js +43 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/getPreview.js +75 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/helpers.js +76 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/index.js +3 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/objectURLCache.js +44 -0
- package/dist/es2019/card/v2/useFilePreview/getPreview/videoSnapshot.js +36 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/getSSRData.js +8 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/globalScope.js +48 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/index.js +2 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/printScript.js +16 -0
- package/dist/es2019/card/v2/useFilePreview/globalScope/types.js +1 -0
- package/dist/es2019/card/v2/useFilePreview/helpers.js +61 -0
- package/dist/es2019/card/v2/useFilePreview/index.js +1 -0
- package/dist/es2019/card/v2/useFilePreview/types.js +1 -0
- package/dist/es2019/card/v2/{useFilePreview.js → useFilePreview/useFilePreview.js} +18 -132
- package/dist/es2019/inline/loader.js +1 -1
- package/dist/es2019/utils/ufoExperiences.js +1 -1
- package/dist/esm/card/card.js +1 -1
- package/dist/esm/card/media-card-analytics-error-boundary.js +1 -1
- package/dist/esm/card/v2/cardV2.js +1 -1
- package/dist/esm/card/v2/cardViewV2.js +7 -6
- package/dist/esm/card/v2/useFilePreview/errors.js +124 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/cache.js +32 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/filePreviewStatus.js +40 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/getPreview.js +112 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/helpers.js +160 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/index.js +3 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/objectURLCache.js +78 -0
- package/dist/esm/card/v2/useFilePreview/getPreview/videoSnapshot.js +51 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/getSSRData.js +8 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/globalScope.js +56 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/index.js +2 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/printScript.js +25 -0
- package/dist/esm/card/v2/useFilePreview/globalScope/types.js +1 -0
- package/dist/esm/card/v2/useFilePreview/helpers.js +57 -0
- package/dist/esm/card/v2/useFilePreview/index.js +1 -0
- package/dist/esm/card/v2/useFilePreview/types.js +1 -0
- package/dist/esm/card/v2/{useFilePreview.js → useFilePreview/useFilePreview.js} +41 -177
- package/dist/esm/inline/loader.js +1 -1
- package/dist/esm/utils/ufoExperiences.js +1 -1
- package/dist/types/card/v2/cardViewV2.d.ts +5 -4
- package/dist/types/card/v2/useFilePreview/errors.d.ts +38 -0
- package/dist/types/card/v2/useFilePreview/getPreview/cache.d.ts +21 -0
- package/dist/types/card/v2/useFilePreview/getPreview/filePreviewStatus.d.ts +4 -0
- package/dist/types/card/v2/useFilePreview/getPreview/getPreview.d.ts +9 -0
- package/dist/types/card/v2/useFilePreview/getPreview/helpers.d.ts +10 -0
- package/dist/types/card/v2/useFilePreview/getPreview/index.d.ts +3 -0
- package/dist/types/card/v2/useFilePreview/getPreview/objectURLCache.d.ts +12 -0
- package/dist/types/card/v2/useFilePreview/getPreview/videoSnapshot.d.ts +1 -0
- package/dist/types/card/v2/useFilePreview/globalScope/getSSRData.d.ts +3 -0
- package/dist/types/card/v2/useFilePreview/globalScope/globalScope.d.ts +15 -0
- package/dist/types/card/v2/useFilePreview/globalScope/index.d.ts +4 -0
- package/dist/types/card/v2/useFilePreview/globalScope/printScript.d.ts +2 -0
- package/dist/types/card/v2/useFilePreview/globalScope/types.d.ts +8 -0
- package/dist/types/card/v2/useFilePreview/helpers.d.ts +11 -0
- package/dist/types/card/v2/useFilePreview/index.d.ts +2 -0
- package/dist/types/card/v2/useFilePreview/types.d.ts +18 -0
- package/dist/{types-ts4.5/card/v2 → types/card/v2/useFilePreview}/useFilePreview.d.ts +8 -8
- package/dist/types-ts4.5/card/v2/cardViewV2.d.ts +5 -4
- package/dist/types-ts4.5/card/v2/useFilePreview/errors.d.ts +38 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/cache.d.ts +21 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/filePreviewStatus.d.ts +4 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/getPreview.d.ts +9 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/helpers.d.ts +10 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/index.d.ts +3 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/objectURLCache.d.ts +12 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/getPreview/videoSnapshot.d.ts +1 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/getSSRData.d.ts +3 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/globalScope.d.ts +15 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/index.d.ts +4 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/printScript.d.ts +2 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/globalScope/types.d.ts +8 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/helpers.d.ts +11 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/index.d.ts +2 -0
- package/dist/types-ts4.5/card/v2/useFilePreview/types.d.ts +18 -0
- package/dist/{types/card/v2 → types-ts4.5/card/v2/useFilePreview}/useFilePreview.d.ts +8 -8
- package/package.json +2 -2
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MediaClient, MediaStoreGetFileImageParams, MediaBlobUrlAttrs, FilePreview } from '@atlaskit/media-client';
|
|
2
|
+
import { SSR, MediaTraceContext } from '@atlaskit/media-common';
|
|
3
|
+
import { MediaFilePreviewDimensions, MediaFilePreview } from '../types';
|
|
4
|
+
export declare const getSSRCardPreview: (ssr: SSR, mediaClient: MediaClient, id: string, params: MediaStoreGetFileImageParams, mediaBlobUrlAttrs?: MediaBlobUrlAttrs) => MediaFilePreview;
|
|
5
|
+
export declare const isLocalPreview: (preview: MediaFilePreview) => boolean;
|
|
6
|
+
export declare const isSSRClientPreview: (preview: MediaFilePreview) => boolean;
|
|
7
|
+
export declare const isSSRDataPreview: (preview: MediaFilePreview) => boolean;
|
|
8
|
+
export declare const getAndCacheRemotePreview: (mediaClient: MediaClient, id: string, dimensions: MediaFilePreviewDimensions, params: MediaStoreGetFileImageParams, mediaBlobUrlAttrs?: MediaBlobUrlAttrs, traceContext?: MediaTraceContext) => Promise<MediaFilePreview>;
|
|
9
|
+
export declare const getAndCacheLocalPreview: (id: string, filePreview: FilePreview | Promise<FilePreview>, dimensions: MediaFilePreviewDimensions, mode: MediaStoreGetFileImageParams['mode'], mediaBlobUrlAttrs?: MediaBlobUrlAttrs) => Promise<MediaFilePreview>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MediaClient, FilePreview, MediaStoreGetFileImageParams, MediaType } from '@atlaskit/media-client';
|
|
2
|
+
import { MediaTraceContext } from '@atlaskit/media-common';
|
|
3
|
+
import { MediaFilePreview } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* This method tells the support for the media
|
|
6
|
+
* types covered in getCardPreviewFromFilePreview
|
|
7
|
+
*/
|
|
8
|
+
export declare const isSupportedLocalPreview: (mediaType?: MediaType) => boolean;
|
|
9
|
+
export declare const getLocalPreview: (filePreview: FilePreview | Promise<FilePreview>) => Promise<MediaFilePreview>;
|
|
10
|
+
export declare const getRemotePreview: (mediaClient: MediaClient, id: string, params: MediaStoreGetFileImageParams, traceContext?: MediaTraceContext) => Promise<MediaFilePreview>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { mediaFilePreviewCache } from './cache';
|
|
2
|
+
export { isPreviewableStatus, extractFilePreviewStatus, } from './filePreviewStatus';
|
|
3
|
+
export { getSSRCardPreview, isLocalPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview, } from './getPreview';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MediaFilePreview } from '../types';
|
|
2
|
+
export declare const PREVIEW_CACHE_LRU_SIZE = 50;
|
|
3
|
+
export declare class ObjectURLCache {
|
|
4
|
+
private readonly cache;
|
|
5
|
+
constructor(size: number);
|
|
6
|
+
has(key: string): boolean;
|
|
7
|
+
get(key: string): MediaFilePreview | undefined;
|
|
8
|
+
set(key: string, value: MediaFilePreview): void;
|
|
9
|
+
remove(key: string): void;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare const createObjectURLCache: () => ObjectURLCache;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const takeSnapshot: (blob: Blob) => Promise<string>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FileIdentifier } from '@atlaskit/media-client';
|
|
3
|
+
import { NumericalCardDimensions } from '@atlaskit/media-common';
|
|
4
|
+
import { MediaCardErrorInfo } from '../../../../utils/analytics';
|
|
5
|
+
import { MediaCardSsr } from './types';
|
|
6
|
+
export declare const GLOBAL_MEDIA_CARD_SSR = "mediaCardSsr";
|
|
7
|
+
export declare const GLOBAL_MEDIA_NAMESPACE = "__MEDIA_INTERNAL";
|
|
8
|
+
export type MediaGlobalScope = {
|
|
9
|
+
[GLOBAL_MEDIA_CARD_SSR]?: MediaCardSsr;
|
|
10
|
+
};
|
|
11
|
+
export declare function getMediaGlobalScope(globalScope?: any): MediaGlobalScope;
|
|
12
|
+
export declare function getMediaCardSSR(globalScope?: any): MediaCardSsr;
|
|
13
|
+
export declare const getKey: ({ id, collectionName, occurrenceKey }: FileIdentifier) => string;
|
|
14
|
+
export declare const storeDataURI: (key: string, dataURI?: string, dimensions?: Partial<NumericalCardDimensions>, error?: MediaCardErrorInfo, globalScope?: any) => void;
|
|
15
|
+
export declare const generateScriptProps: (identifier: FileIdentifier, dataURI?: string, dimensions?: Partial<NumericalCardDimensions>, error?: MediaCardErrorInfo) => React.ScriptHTMLAttributes<HTMLScriptElement>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { GLOBAL_MEDIA_NAMESPACE, GLOBAL_MEDIA_CARD_SSR, generateScriptProps, getKey, } from './globalScope';
|
|
2
|
+
export { getSSRData } from './getSSRData';
|
|
3
|
+
export type { MediaCardSsrData, MediaCardSsr } from './types';
|
|
4
|
+
export type { MediaGlobalScope } from './globalScope';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { NumericalCardDimensions } from '@atlaskit/media-common';
|
|
2
|
+
import { MediaCardErrorInfo } from '../../../../utils/analytics';
|
|
3
|
+
export type MediaCardSsrData = {
|
|
4
|
+
dataURI?: string;
|
|
5
|
+
dimensions?: Partial<NumericalCardDimensions>;
|
|
6
|
+
error?: MediaCardErrorInfo;
|
|
7
|
+
};
|
|
8
|
+
export type MediaCardSsr = Record<string, MediaCardSsrData>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MediaFilePreviewDimensions } from './types';
|
|
2
|
+
import { MutableRefObject } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Checks if at least one of next dimensions is bigger than current
|
|
5
|
+
* If a single dimension is undefined, returns false
|
|
6
|
+
*/
|
|
7
|
+
export declare const isBigger: (current?: MediaFilePreviewDimensions, next?: MediaFilePreviewDimensions) => boolean;
|
|
8
|
+
export declare const createRequestDimensions: (dimensions: Partial<MediaFilePreviewDimensions>) => Partial<MediaFilePreviewDimensions> | undefined;
|
|
9
|
+
/** Stores the provided value in a */
|
|
10
|
+
export declare function useCurrentValueRef<T>(value: T): MutableRefObject<T>;
|
|
11
|
+
export declare function usePrevious<T>(value: T | undefined): T | undefined;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type MediaFilePreviewSource = 'local' | 'remote' | 'ssr-server' | 'ssr-client' | 'ssr-data' | 'cache-local' | 'cache-remote' | 'cache-ssr-client' | 'cache-ssr-server' | 'external';
|
|
2
|
+
export type MediaFilePreviewDimensions = {
|
|
3
|
+
width?: number;
|
|
4
|
+
height?: number;
|
|
5
|
+
};
|
|
6
|
+
export interface MediaFilePreview {
|
|
7
|
+
dataURI: string;
|
|
8
|
+
orientation?: number;
|
|
9
|
+
dimensions?: MediaFilePreviewDimensions;
|
|
10
|
+
source: MediaFilePreviewSource;
|
|
11
|
+
}
|
|
12
|
+
export type MediaFilePreviewStatus = 'uploading' | 'loading' | 'processing' | 'loading-preview' | 'complete' | 'error' | 'failed-processing';
|
|
13
|
+
export type FilePreviewStatus = {
|
|
14
|
+
hasFilesize: boolean;
|
|
15
|
+
isPreviewable: boolean;
|
|
16
|
+
hasPreview: boolean;
|
|
17
|
+
isSupportedByBrowser: boolean;
|
|
18
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { FileIdentifier, ImageResizeMode, MediaBlobUrlAttrs } from '@atlaskit/media-client';
|
|
3
3
|
import { MediaTraceContext, NumericalCardDimensions, SSR } from '@atlaskit/media-common';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { SSRStatus } from '
|
|
4
|
+
import { MediaFilePreviewError } from './errors';
|
|
5
|
+
import { MediaFilePreview } from './types';
|
|
6
|
+
import { SSRStatus } from '../../../utils/analytics';
|
|
7
7
|
export interface UseFilePreviewParams {
|
|
8
8
|
/** Instance of file identifier. */
|
|
9
9
|
readonly identifier: FileIdentifier;
|
|
@@ -23,11 +23,11 @@ export interface UseFilePreviewParams {
|
|
|
23
23
|
readonly skipRemote?: boolean;
|
|
24
24
|
}
|
|
25
25
|
export declare const useFilePreview: ({ resizeMode, identifier, ssr, dimensions, traceContext, previewDidRender, skipRemote, mediaBlobUrlAttrs, }: UseFilePreviewParams) => {
|
|
26
|
-
cardPreview:
|
|
27
|
-
error:
|
|
28
|
-
nonCriticalError:
|
|
26
|
+
cardPreview: MediaFilePreview | undefined;
|
|
27
|
+
error: MediaFilePreviewError | undefined;
|
|
28
|
+
nonCriticalError: MediaFilePreviewError | undefined;
|
|
29
29
|
ssrReliabilityRef: import("react").MutableRefObject<SSRStatus>;
|
|
30
|
-
onImageError: (newCardPreview?:
|
|
31
|
-
onImageLoad: (newCardPreview?:
|
|
30
|
+
onImageError: (newCardPreview?: MediaFilePreview) => void;
|
|
31
|
+
onImageLoad: (newCardPreview?: MediaFilePreview) => void;
|
|
32
32
|
getScriptProps: () => import("react").ScriptHTMLAttributes<HTMLScriptElement>;
|
|
33
33
|
};
|
|
@@ -4,7 +4,8 @@ import React, { MouseEvent } from 'react';
|
|
|
4
4
|
import { MessageDescriptor } from 'react-intl-next';
|
|
5
5
|
import { MediaItemType, FileDetails, ImageResizeMode } from '@atlaskit/media-client';
|
|
6
6
|
import { WithAnalyticsEventsProps, UIAnalyticsEvent } from '@atlaskit/analytics-next';
|
|
7
|
-
import { CardStatus,
|
|
7
|
+
import { CardStatus, MediaCardCursor, CardDimensions, TitleBoxIcon } from '../../types';
|
|
8
|
+
import { MediaFilePreview } from './useFilePreview';
|
|
8
9
|
import { CardAction } from '../actions';
|
|
9
10
|
import { MediaCardError } from '../../errors';
|
|
10
11
|
export interface CardViewV2Props {
|
|
@@ -26,11 +27,11 @@ export interface CardViewV2Props {
|
|
|
26
27
|
readonly onClick?: (event: React.MouseEvent<HTMLDivElement>, analyticsEvent?: UIAnalyticsEvent) => void;
|
|
27
28
|
readonly onMouseEnter?: (event: MouseEvent<HTMLDivElement>) => void;
|
|
28
29
|
readonly onDisplayImage?: () => void;
|
|
29
|
-
readonly cardPreview?:
|
|
30
|
+
readonly cardPreview?: MediaFilePreview;
|
|
30
31
|
readonly progress?: number;
|
|
31
32
|
readonly innerRef?: (instance: HTMLDivElement | null) => void;
|
|
32
|
-
readonly onImageLoad?: (cardPreview:
|
|
33
|
-
readonly onImageError?: (cardPreview:
|
|
33
|
+
readonly onImageLoad?: (cardPreview: MediaFilePreview) => void;
|
|
34
|
+
readonly onImageError?: (cardPreview: MediaFilePreview) => void;
|
|
34
35
|
readonly nativeLazyLoad?: boolean;
|
|
35
36
|
readonly forceSyncDisplay?: boolean;
|
|
36
37
|
disableAnimation?: boolean;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { MediaFilePreview } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* Primary reason is logged through Data Portal.
|
|
4
|
+
* Make sure all the values are whitelisted in Measure -> Event Regitry -> "mediaCardRender failed" event
|
|
5
|
+
*/
|
|
6
|
+
export type MediaFilePreviewErrorPrimaryReason = 'upload' | 'metadata-fetch' | 'error-file-state' | RemotePreviewPrimaryReason | LocalPreviewPrimaryReason | ImageLoadPrimaryReason | SsrPreviewPrimaryReason | 'missing-error-data' | 'preview-fetch';
|
|
7
|
+
export type ImageLoadPrimaryReason = 'cache-remote-uri' | 'cache-local-uri' | 'local-uri' | 'remote-uri' | 'external-uri' | 'unknown-uri';
|
|
8
|
+
export type RemotePreviewPrimaryReason = 'remote-preview-fetch' | 'remote-preview-not-ready' | 'remote-preview-fetch-ssr';
|
|
9
|
+
export type LocalPreviewPrimaryReason = 'local-preview-get' | 'local-preview-unsupported' | 'local-preview-rejected' | 'local-preview-image' | 'local-preview-video';
|
|
10
|
+
export type SsrPreviewPrimaryReason = 'ssr-client-uri' | 'ssr-client-load' | 'ssr-server-uri' | 'ssr-server-load';
|
|
11
|
+
export declare class MediaFilePreviewError extends Error {
|
|
12
|
+
readonly primaryReason: MediaFilePreviewErrorPrimaryReason;
|
|
13
|
+
readonly secondaryError?: Error | undefined;
|
|
14
|
+
constructor(primaryReason: MediaFilePreviewErrorPrimaryReason, secondaryError?: Error | undefined);
|
|
15
|
+
}
|
|
16
|
+
export declare class LocalPreviewError extends MediaFilePreviewError {
|
|
17
|
+
readonly primaryReason: LocalPreviewPrimaryReason;
|
|
18
|
+
readonly secondaryError?: Error | undefined;
|
|
19
|
+
constructor(primaryReason: LocalPreviewPrimaryReason, secondaryError?: Error | undefined);
|
|
20
|
+
}
|
|
21
|
+
export declare class RemotePreviewError extends MediaFilePreviewError {
|
|
22
|
+
readonly primaryReason: RemotePreviewPrimaryReason;
|
|
23
|
+
readonly secondaryError?: Error | undefined;
|
|
24
|
+
constructor(primaryReason: RemotePreviewPrimaryReason, secondaryError?: Error | undefined);
|
|
25
|
+
}
|
|
26
|
+
export declare class SsrPreviewError extends MediaFilePreviewError {
|
|
27
|
+
readonly primaryReason: SsrPreviewPrimaryReason;
|
|
28
|
+
readonly secondaryError?: Error | undefined;
|
|
29
|
+
constructor(primaryReason: SsrPreviewPrimaryReason, secondaryError?: Error | undefined);
|
|
30
|
+
}
|
|
31
|
+
export declare class ImageLoadError extends MediaFilePreviewError {
|
|
32
|
+
constructor(source?: MediaFilePreview['source']);
|
|
33
|
+
}
|
|
34
|
+
export declare function isMediaFilePreviewError(err: Error): err is MediaFilePreviewError;
|
|
35
|
+
export declare const isLocalPreviewError: (err: Error) => err is LocalPreviewError;
|
|
36
|
+
export declare const isRemotePreviewError: (err: Error) => err is RemotePreviewError;
|
|
37
|
+
export declare const isUnsupportedLocalPreviewError: (err: Error) => boolean;
|
|
38
|
+
export declare const ensureMediaFilePreviewError: (primaryReason: MediaFilePreviewErrorPrimaryReason, error: Error, updatePrimaryReason?: boolean) => MediaFilePreviewError;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ImageResizeMode } from '@atlaskit/media-client';
|
|
2
|
+
import { ObjectURLCache } from './objectURLCache';
|
|
3
|
+
import { MediaFilePreview } from '../types';
|
|
4
|
+
type Mode = ImageResizeMode | undefined;
|
|
5
|
+
export declare const getCacheKey: (id: string, mode: Mode) => string;
|
|
6
|
+
export interface MediaFilePreviewCache {
|
|
7
|
+
get(id: string, mode: Mode): MediaFilePreview | undefined;
|
|
8
|
+
set(id: string, mode: Mode, cardPreview: MediaFilePreview): void;
|
|
9
|
+
remove(id: string, mode: Mode): void;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare class CardPreviewCacheImpl implements MediaFilePreviewCache {
|
|
13
|
+
private previewCache;
|
|
14
|
+
constructor(previewCache: ObjectURLCache);
|
|
15
|
+
get: (id: string, mode: Mode) => MediaFilePreview | undefined;
|
|
16
|
+
set: (id: string, mode: Mode, cardPreview: MediaFilePreview) => void;
|
|
17
|
+
remove: (id: string, mode: Mode) => void;
|
|
18
|
+
clear: () => void;
|
|
19
|
+
}
|
|
20
|
+
export declare const mediaFilePreviewCache: CardPreviewCacheImpl;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { MediaFilePreviewStatus, FilePreviewStatus } from '../types';
|
|
2
|
+
import { FileState } from '@atlaskit/media-client';
|
|
3
|
+
export declare const extractFilePreviewStatus: (fileState: FileState, isBannedLocalPreview: boolean) => FilePreviewStatus;
|
|
4
|
+
export declare const isPreviewableStatus: (cardStatus: MediaFilePreviewStatus, { isPreviewable, hasPreview, isSupportedByBrowser }: FilePreviewStatus) => boolean;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { MediaClient, MediaStoreGetFileImageParams, MediaBlobUrlAttrs, FilePreview } from '@atlaskit/media-client';
|
|
2
|
+
import { SSR, MediaTraceContext } from '@atlaskit/media-common';
|
|
3
|
+
import { MediaFilePreviewDimensions, MediaFilePreview } from '../types';
|
|
4
|
+
export declare const getSSRCardPreview: (ssr: SSR, mediaClient: MediaClient, id: string, params: MediaStoreGetFileImageParams, mediaBlobUrlAttrs?: MediaBlobUrlAttrs) => MediaFilePreview;
|
|
5
|
+
export declare const isLocalPreview: (preview: MediaFilePreview) => boolean;
|
|
6
|
+
export declare const isSSRClientPreview: (preview: MediaFilePreview) => boolean;
|
|
7
|
+
export declare const isSSRDataPreview: (preview: MediaFilePreview) => boolean;
|
|
8
|
+
export declare const getAndCacheRemotePreview: (mediaClient: MediaClient, id: string, dimensions: MediaFilePreviewDimensions, params: MediaStoreGetFileImageParams, mediaBlobUrlAttrs?: MediaBlobUrlAttrs, traceContext?: MediaTraceContext) => Promise<MediaFilePreview>;
|
|
9
|
+
export declare const getAndCacheLocalPreview: (id: string, filePreview: FilePreview | Promise<FilePreview>, dimensions: MediaFilePreviewDimensions, mode: MediaStoreGetFileImageParams['mode'], mediaBlobUrlAttrs?: MediaBlobUrlAttrs) => Promise<MediaFilePreview>;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { MediaClient, FilePreview, MediaStoreGetFileImageParams, MediaType } from '@atlaskit/media-client';
|
|
2
|
+
import { MediaTraceContext } from '@atlaskit/media-common';
|
|
3
|
+
import { MediaFilePreview } from '../types';
|
|
4
|
+
/**
|
|
5
|
+
* This method tells the support for the media
|
|
6
|
+
* types covered in getCardPreviewFromFilePreview
|
|
7
|
+
*/
|
|
8
|
+
export declare const isSupportedLocalPreview: (mediaType?: MediaType) => boolean;
|
|
9
|
+
export declare const getLocalPreview: (filePreview: FilePreview | Promise<FilePreview>) => Promise<MediaFilePreview>;
|
|
10
|
+
export declare const getRemotePreview: (mediaClient: MediaClient, id: string, params: MediaStoreGetFileImageParams, traceContext?: MediaTraceContext) => Promise<MediaFilePreview>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { mediaFilePreviewCache } from './cache';
|
|
2
|
+
export { isPreviewableStatus, extractFilePreviewStatus, } from './filePreviewStatus';
|
|
3
|
+
export { getSSRCardPreview, isLocalPreview, isSSRClientPreview, isSSRDataPreview, getAndCacheRemotePreview, getAndCacheLocalPreview, } from './getPreview';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { MediaFilePreview } from '../types';
|
|
2
|
+
export declare const PREVIEW_CACHE_LRU_SIZE = 50;
|
|
3
|
+
export declare class ObjectURLCache {
|
|
4
|
+
private readonly cache;
|
|
5
|
+
constructor(size: number);
|
|
6
|
+
has(key: string): boolean;
|
|
7
|
+
get(key: string): MediaFilePreview | undefined;
|
|
8
|
+
set(key: string, value: MediaFilePreview): void;
|
|
9
|
+
remove(key: string): void;
|
|
10
|
+
clear(): void;
|
|
11
|
+
}
|
|
12
|
+
export declare const createObjectURLCache: () => ObjectURLCache;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const takeSnapshot: (blob: Blob) => Promise<string>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FileIdentifier } from '@atlaskit/media-client';
|
|
3
|
+
import { NumericalCardDimensions } from '@atlaskit/media-common';
|
|
4
|
+
import { MediaCardErrorInfo } from '../../../../utils/analytics';
|
|
5
|
+
import { MediaCardSsr } from './types';
|
|
6
|
+
export declare const GLOBAL_MEDIA_CARD_SSR = "mediaCardSsr";
|
|
7
|
+
export declare const GLOBAL_MEDIA_NAMESPACE = "__MEDIA_INTERNAL";
|
|
8
|
+
export type MediaGlobalScope = {
|
|
9
|
+
[GLOBAL_MEDIA_CARD_SSR]?: MediaCardSsr;
|
|
10
|
+
};
|
|
11
|
+
export declare function getMediaGlobalScope(globalScope?: any): MediaGlobalScope;
|
|
12
|
+
export declare function getMediaCardSSR(globalScope?: any): MediaCardSsr;
|
|
13
|
+
export declare const getKey: ({ id, collectionName, occurrenceKey }: FileIdentifier) => string;
|
|
14
|
+
export declare const storeDataURI: (key: string, dataURI?: string, dimensions?: Partial<NumericalCardDimensions>, error?: MediaCardErrorInfo, globalScope?: any) => void;
|
|
15
|
+
export declare const generateScriptProps: (identifier: FileIdentifier, dataURI?: string, dimensions?: Partial<NumericalCardDimensions>, error?: MediaCardErrorInfo) => React.ScriptHTMLAttributes<HTMLScriptElement>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { GLOBAL_MEDIA_NAMESPACE, GLOBAL_MEDIA_CARD_SSR, generateScriptProps, getKey, } from './globalScope';
|
|
2
|
+
export { getSSRData } from './getSSRData';
|
|
3
|
+
export type { MediaCardSsrData, MediaCardSsr } from './types';
|
|
4
|
+
export type { MediaGlobalScope } from './globalScope';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { NumericalCardDimensions } from '@atlaskit/media-common';
|
|
2
|
+
import { MediaCardErrorInfo } from '../../../../utils/analytics';
|
|
3
|
+
export type MediaCardSsrData = {
|
|
4
|
+
dataURI?: string;
|
|
5
|
+
dimensions?: Partial<NumericalCardDimensions>;
|
|
6
|
+
error?: MediaCardErrorInfo;
|
|
7
|
+
};
|
|
8
|
+
export type MediaCardSsr = Record<string, MediaCardSsrData>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { MediaFilePreviewDimensions } from './types';
|
|
2
|
+
import { MutableRefObject } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Checks if at least one of next dimensions is bigger than current
|
|
5
|
+
* If a single dimension is undefined, returns false
|
|
6
|
+
*/
|
|
7
|
+
export declare const isBigger: (current?: MediaFilePreviewDimensions, next?: MediaFilePreviewDimensions) => boolean;
|
|
8
|
+
export declare const createRequestDimensions: (dimensions: Partial<MediaFilePreviewDimensions>) => Partial<MediaFilePreviewDimensions> | undefined;
|
|
9
|
+
/** Stores the provided value in a */
|
|
10
|
+
export declare function useCurrentValueRef<T>(value: T): MutableRefObject<T>;
|
|
11
|
+
export declare function usePrevious<T>(value: T | undefined): T | undefined;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export type MediaFilePreviewSource = 'local' | 'remote' | 'ssr-server' | 'ssr-client' | 'ssr-data' | 'cache-local' | 'cache-remote' | 'cache-ssr-client' | 'cache-ssr-server' | 'external';
|
|
2
|
+
export type MediaFilePreviewDimensions = {
|
|
3
|
+
width?: number;
|
|
4
|
+
height?: number;
|
|
5
|
+
};
|
|
6
|
+
export interface MediaFilePreview {
|
|
7
|
+
dataURI: string;
|
|
8
|
+
orientation?: number;
|
|
9
|
+
dimensions?: MediaFilePreviewDimensions;
|
|
10
|
+
source: MediaFilePreviewSource;
|
|
11
|
+
}
|
|
12
|
+
export type MediaFilePreviewStatus = 'uploading' | 'loading' | 'processing' | 'loading-preview' | 'complete' | 'error' | 'failed-processing';
|
|
13
|
+
export type FilePreviewStatus = {
|
|
14
|
+
hasFilesize: boolean;
|
|
15
|
+
isPreviewable: boolean;
|
|
16
|
+
hasPreview: boolean;
|
|
17
|
+
isSupportedByBrowser: boolean;
|
|
18
|
+
};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
import { FileIdentifier, ImageResizeMode, MediaBlobUrlAttrs } from '@atlaskit/media-client';
|
|
3
3
|
import { MediaTraceContext, NumericalCardDimensions, SSR } from '@atlaskit/media-common';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import { SSRStatus } from '
|
|
4
|
+
import { MediaFilePreviewError } from './errors';
|
|
5
|
+
import { MediaFilePreview } from './types';
|
|
6
|
+
import { SSRStatus } from '../../../utils/analytics';
|
|
7
7
|
export interface UseFilePreviewParams {
|
|
8
8
|
/** Instance of file identifier. */
|
|
9
9
|
readonly identifier: FileIdentifier;
|
|
@@ -23,11 +23,11 @@ export interface UseFilePreviewParams {
|
|
|
23
23
|
readonly skipRemote?: boolean;
|
|
24
24
|
}
|
|
25
25
|
export declare const useFilePreview: ({ resizeMode, identifier, ssr, dimensions, traceContext, previewDidRender, skipRemote, mediaBlobUrlAttrs, }: UseFilePreviewParams) => {
|
|
26
|
-
cardPreview:
|
|
27
|
-
error:
|
|
28
|
-
nonCriticalError:
|
|
26
|
+
cardPreview: MediaFilePreview | undefined;
|
|
27
|
+
error: MediaFilePreviewError | undefined;
|
|
28
|
+
nonCriticalError: MediaFilePreviewError | undefined;
|
|
29
29
|
ssrReliabilityRef: import("react").MutableRefObject<SSRStatus>;
|
|
30
|
-
onImageError: (newCardPreview?:
|
|
31
|
-
onImageLoad: (newCardPreview?:
|
|
30
|
+
onImageError: (newCardPreview?: MediaFilePreview) => void;
|
|
31
|
+
onImageLoad: (newCardPreview?: MediaFilePreview) => void;
|
|
32
32
|
getScriptProps: () => import("react").ScriptHTMLAttributes<HTMLScriptElement>;
|
|
33
33
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/media-card",
|
|
3
|
-
"version": "77.5.
|
|
3
|
+
"version": "77.5.2",
|
|
4
4
|
"description": "Includes all media card related components, CardView, CardViewSmall, Card...",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org/"
|
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"@atlaskit/dropdown-menu": "^12.1.0",
|
|
41
41
|
"@atlaskit/editor-shared-styles": "^2.8.0",
|
|
42
42
|
"@atlaskit/icon": "^22.0.0",
|
|
43
|
-
"@atlaskit/media-client": "^
|
|
43
|
+
"@atlaskit/media-client": "^26.0.0",
|
|
44
44
|
"@atlaskit/media-client-react": "^2.0.0",
|
|
45
45
|
"@atlaskit/media-common": "^11.0.0",
|
|
46
46
|
"@atlaskit/media-ui": "^25.0.0",
|