@atlaskit/media-card 77.5.2 → 77.6.1

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 (82) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/card/card.js +1 -1
  3. package/dist/cjs/card/media-card-analytics-error-boundary.js +1 -1
  4. package/dist/cjs/card/v2/cardV2.js +1 -1
  5. package/dist/cjs/card/v2/cardviews/cardViewWrapper.js +100 -0
  6. package/dist/cjs/card/v2/cardviews/errorCardView.js +87 -0
  7. package/dist/cjs/card/v2/cardviews/iconCardView.js +79 -0
  8. package/dist/cjs/card/v2/cardviews/imageCardView.js +89 -0
  9. package/dist/cjs/card/v2/cardviews/index.js +282 -0
  10. package/dist/cjs/card/v2/cardviews/loadingCardView.js +53 -0
  11. package/dist/cjs/card/v2/cardviews/processingCardView.js +65 -0
  12. package/dist/cjs/card/v2/cardviews/videoCardView.js +94 -0
  13. package/dist/cjs/card/v2/fileCard.js +4 -1
  14. package/dist/cjs/card/v2/useFilePreview/analytics.js +50 -0
  15. package/dist/cjs/card/v2/useFilePreview/errors.js +13 -2
  16. package/dist/cjs/card/v2/useFilePreview/helpers.js +1 -1
  17. package/dist/cjs/card/v2/useFilePreview/useFilePreview.js +1 -1
  18. package/dist/cjs/inline/loader.js +1 -1
  19. package/dist/cjs/utils/ufoExperiences.js +1 -1
  20. package/dist/es2019/card/card.js +1 -1
  21. package/dist/es2019/card/media-card-analytics-error-boundary.js +1 -1
  22. package/dist/es2019/card/v2/cardV2.js +1 -1
  23. package/dist/es2019/card/v2/cardviews/cardViewWrapper.js +92 -0
  24. package/dist/es2019/card/v2/cardviews/errorCardView.js +82 -0
  25. package/dist/es2019/card/v2/cardviews/iconCardView.js +70 -0
  26. package/dist/es2019/card/v2/cardviews/imageCardView.js +75 -0
  27. package/dist/es2019/card/v2/cardviews/index.js +268 -0
  28. package/dist/es2019/card/v2/cardviews/loadingCardView.js +48 -0
  29. package/dist/es2019/card/v2/cardviews/processingCardView.js +60 -0
  30. package/dist/es2019/card/v2/cardviews/videoCardView.js +80 -0
  31. package/dist/es2019/card/v2/fileCard.js +4 -1
  32. package/dist/es2019/card/v2/useFilePreview/analytics.js +44 -0
  33. package/dist/es2019/card/v2/useFilePreview/errors.js +10 -1
  34. package/dist/es2019/card/v2/useFilePreview/helpers.js +1 -1
  35. package/dist/es2019/card/v2/useFilePreview/useFilePreview.js +1 -1
  36. package/dist/es2019/inline/loader.js +1 -1
  37. package/dist/es2019/utils/ufoExperiences.js +1 -1
  38. package/dist/esm/card/card.js +1 -1
  39. package/dist/esm/card/media-card-analytics-error-boundary.js +1 -1
  40. package/dist/esm/card/v2/cardV2.js +1 -1
  41. package/dist/esm/card/v2/cardviews/cardViewWrapper.js +93 -0
  42. package/dist/esm/card/v2/cardviews/errorCardView.js +79 -0
  43. package/dist/esm/card/v2/cardviews/iconCardView.js +71 -0
  44. package/dist/esm/card/v2/cardviews/imageCardView.js +81 -0
  45. package/dist/esm/card/v2/cardviews/index.js +271 -0
  46. package/dist/esm/card/v2/cardviews/loadingCardView.js +45 -0
  47. package/dist/esm/card/v2/cardviews/processingCardView.js +57 -0
  48. package/dist/esm/card/v2/cardviews/videoCardView.js +86 -0
  49. package/dist/esm/card/v2/fileCard.js +4 -1
  50. package/dist/esm/card/v2/useFilePreview/analytics.js +44 -0
  51. package/dist/esm/card/v2/useFilePreview/errors.js +10 -1
  52. package/dist/esm/card/v2/useFilePreview/helpers.js +1 -1
  53. package/dist/esm/card/v2/useFilePreview/useFilePreview.js +1 -1
  54. package/dist/esm/inline/loader.js +1 -1
  55. package/dist/esm/utils/ufoExperiences.js +1 -1
  56. package/dist/types/card/ui/wrapper/types.d.ts +2 -2
  57. package/dist/types/card/v2/cardviews/cardViewWrapper.d.ts +38 -0
  58. package/dist/types/card/v2/cardviews/errorCardView.d.ts +11 -0
  59. package/dist/types/card/v2/cardviews/iconCardView.d.ts +12 -0
  60. package/dist/types/card/v2/cardviews/imageCardView.d.ts +21 -0
  61. package/dist/types/card/v2/cardviews/index.d.ts +45 -0
  62. package/dist/types/card/v2/cardviews/loadingCardView.d.ts +10 -0
  63. package/dist/types/card/v2/cardviews/processingCardView.d.ts +8 -0
  64. package/dist/types/card/v2/cardviews/videoCardView.d.ts +21 -0
  65. package/dist/types/card/v2/useFilePreview/analytics.d.ts +28 -0
  66. package/dist/types/card/v2/useFilePreview/errors.d.ts +4 -0
  67. package/dist/types/card/v2/useFilePreview/helpers.d.ts +1 -1
  68. package/dist/types/card/v2/useFilePreview/useFilePreview.d.ts +1 -1
  69. package/dist/types-ts4.5/card/ui/wrapper/types.d.ts +2 -2
  70. package/dist/types-ts4.5/card/v2/cardviews/cardViewWrapper.d.ts +38 -0
  71. package/dist/types-ts4.5/card/v2/cardviews/errorCardView.d.ts +11 -0
  72. package/dist/types-ts4.5/card/v2/cardviews/iconCardView.d.ts +12 -0
  73. package/dist/types-ts4.5/card/v2/cardviews/imageCardView.d.ts +21 -0
  74. package/dist/types-ts4.5/card/v2/cardviews/index.d.ts +45 -0
  75. package/dist/types-ts4.5/card/v2/cardviews/loadingCardView.d.ts +10 -0
  76. package/dist/types-ts4.5/card/v2/cardviews/processingCardView.d.ts +8 -0
  77. package/dist/types-ts4.5/card/v2/cardviews/videoCardView.d.ts +21 -0
  78. package/dist/types-ts4.5/card/v2/useFilePreview/analytics.d.ts +28 -0
  79. package/dist/types-ts4.5/card/v2/useFilePreview/errors.d.ts +4 -0
  80. package/dist/types-ts4.5/card/v2/useFilePreview/helpers.d.ts +1 -1
  81. package/dist/types-ts4.5/card/v2/useFilePreview/useFilePreview.d.ts +1 -1
  82. package/package.json +7 -5
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
3
+ import { FileDetails } from '@atlaskit/media-client';
4
+ import { SharedCardViewProps } from './cardViewWrapper';
5
+ import type { CardStatus } from '../../../types';
6
+ export type IconCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
7
+ status: CardStatus;
8
+ metadata?: FileDetails;
9
+ readonly progress?: number;
10
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
11
+ };
12
+ export declare const IconCardView: import("react").ForwardRefExoticComponent<Omit<IconCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { ImageResizeMode } from '@atlaskit/media-client';
3
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
4
+ import { FileDetails } from '@atlaskit/media-client';
5
+ import type { CardPreview, CardStatus } from '../../../types';
6
+ import { SharedCardViewProps } from './cardViewWrapper';
7
+ export type ImageCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
8
+ status: CardStatus;
9
+ cardPreview: CardPreview;
10
+ readonly alt?: string;
11
+ readonly resizeMode?: ImageResizeMode;
12
+ readonly onDisplayImage?: () => void;
13
+ readonly nativeLazyLoad?: boolean;
14
+ readonly forceSyncDisplay?: boolean;
15
+ readonly onImageLoad?: (cardPreview: CardPreview) => void;
16
+ readonly onImageError?: (cardPreview: CardPreview) => void;
17
+ metadata?: FileDetails;
18
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
19
+ readonly progress?: number;
20
+ };
21
+ export declare const ImageCardView: import("react").ForwardRefExoticComponent<Omit<ImageCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,45 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/react';
3
+ import React, { MouseEvent } from 'react';
4
+ import { MessageDescriptor } from 'react-intl-next';
5
+ import { MediaItemType, FileDetails } from '@atlaskit/media-client';
6
+ import { WithAnalyticsEventsProps, UIAnalyticsEvent } from '@atlaskit/analytics-next';
7
+ import { SharedCardProps, CardStatus, MediaCardCursor } from '../../../types';
8
+ import { MediaCardError } from '../../../errors';
9
+ import { MediaFilePreview } from '../useFilePreview';
10
+ export interface CardViewsOwnProps extends SharedCardProps {
11
+ readonly status: CardStatus;
12
+ readonly mediaItemType: MediaItemType;
13
+ readonly mediaCardCursor?: MediaCardCursor;
14
+ readonly metadata?: FileDetails;
15
+ readonly error?: MediaCardError;
16
+ readonly onClick?: (event: React.MouseEvent<HTMLDivElement>, analyticsEvent?: UIAnalyticsEvent) => void;
17
+ readonly onMouseEnter?: (event: MouseEvent<HTMLDivElement>) => void;
18
+ readonly onDisplayImage?: () => void;
19
+ readonly cardPreview?: MediaFilePreview;
20
+ readonly progress?: number;
21
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
22
+ readonly onImageLoad?: (cardPreview: MediaFilePreview) => void;
23
+ readonly onImageError?: (cardPreview: MediaFilePreview) => void;
24
+ readonly nativeLazyLoad?: boolean;
25
+ readonly forceSyncDisplay?: boolean;
26
+ disableAnimation?: boolean;
27
+ shouldHideTooltip?: boolean;
28
+ }
29
+ export type CardViewV2Props = CardViewsOwnProps & WithAnalyticsEventsProps;
30
+ export interface RenderConfigByStatusV2 {
31
+ renderTypeIcon?: boolean;
32
+ iconMessage?: JSX.Element;
33
+ renderImageRenderer?: boolean;
34
+ renderPlayButton?: boolean;
35
+ renderTitleBox?: boolean;
36
+ renderBlanket?: boolean;
37
+ isFixedBlanket?: boolean;
38
+ renderProgressBar?: boolean;
39
+ renderSpinner?: boolean;
40
+ renderFailedTitleBox?: boolean;
41
+ renderTickBox?: boolean;
42
+ customTitleMessage?: MessageDescriptor;
43
+ }
44
+ export declare const CardViewsBase: ({ innerRef, onImageLoad, onImageError, dimensions, appearance, onClick, onMouseEnter, testId, metadata, status, selected, selectable, cardPreview, mediaCardCursor, shouldHideTooltip, progress, alt, resizeMode, onDisplayImage, nativeLazyLoad, forceSyncDisplay, actions, disableOverlay, titleBoxBgColor, titleBoxIcon, error, disableAnimation, }: CardViewV2Props) => jsx.JSX.Element;
45
+ export declare const CardViews: React.ForwardRefExoticComponent<Omit<CardViewV2Props, keyof WithAnalyticsEventsProps> & React.RefAttributes<any>>;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
3
+ import { FileDetails } from '@atlaskit/media-client';
4
+ import { SharedCardViewProps } from './cardViewWrapper';
5
+ export type LoadingCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
6
+ metadata?: FileDetails;
7
+ disableAnimation?: boolean;
8
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
9
+ };
10
+ export declare const LoadingCardView: import("react").ForwardRefExoticComponent<Omit<LoadingCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
3
+ import { SharedCardViewProps } from './cardViewWrapper';
4
+ export type ProcessingCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
5
+ disableAnimation?: boolean;
6
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
7
+ };
8
+ export declare const ProcessingCardView: import("react").ForwardRefExoticComponent<Omit<ProcessingCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { ImageResizeMode } from '@atlaskit/media-client';
3
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
4
+ import { FileDetails } from '@atlaskit/media-client';
5
+ import type { CardPreview, CardStatus } from '../../../types';
6
+ import { SharedCardViewProps } from './cardViewWrapper';
7
+ export type VideoCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
8
+ status: CardStatus;
9
+ cardPreview: CardPreview;
10
+ readonly alt?: string;
11
+ readonly resizeMode?: ImageResizeMode;
12
+ readonly onDisplayImage?: () => void;
13
+ readonly nativeLazyLoad?: boolean;
14
+ readonly forceSyncDisplay?: boolean;
15
+ readonly onImageLoad?: (cardPreview: CardPreview) => void;
16
+ readonly onImageError?: (cardPreview: CardPreview) => void;
17
+ metadata?: FileDetails;
18
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
19
+ readonly progress?: number;
20
+ };
21
+ export declare const VideoCardView: import("react").ForwardRefExoticComponent<Omit<VideoCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,28 @@
1
+ import { MediaClientErrorReason } from '@atlaskit/media-client';
2
+ import { SuccessAttributes, MediaTraceContext } from '@atlaskit/media-common';
3
+ import { MediaFilePreviewError, MediaFilePreviewErrorPrimaryReason } from './errors';
4
+ export type FailedErrorFailReason = MediaFilePreviewErrorPrimaryReason | 'nativeError';
5
+ export type MediaFilePreviewErrorInfo = {
6
+ failReason: FailedErrorFailReason;
7
+ error: MediaClientErrorReason | 'nativeError';
8
+ errorDetail: string;
9
+ metadataTraceContext?: MediaTraceContext;
10
+ };
11
+ export type SSRStatusFail = MediaFilePreviewErrorInfo & {
12
+ status: 'fail';
13
+ };
14
+ type SSRStatusSuccess = SuccessAttributes;
15
+ type SSRStatusUnknown = {
16
+ status: 'unknown';
17
+ };
18
+ type SSRStatusAttributes = SSRStatusSuccess | SSRStatusFail | SSRStatusUnknown;
19
+ export type SSRStatus = {
20
+ server: SSRStatusAttributes;
21
+ client: SSRStatusAttributes;
22
+ };
23
+ export declare const getErrorTraceContext: (error: MediaFilePreviewError) => MediaTraceContext | undefined;
24
+ export declare const getRenderErrorFailReason: (error: MediaFilePreviewError) => FailedErrorFailReason;
25
+ export declare const getRenderErrorErrorReason: (error: MediaFilePreviewError) => MediaClientErrorReason | 'nativeError';
26
+ export declare const getRenderErrorErrorDetail: (error: MediaFilePreviewError) => string;
27
+ export declare const extractErrorInfo: (error: MediaFilePreviewError, metadataTraceContext?: MediaTraceContext) => MediaFilePreviewErrorInfo;
28
+ export {};
@@ -1,3 +1,5 @@
1
+ import { MediaFileStateError } from '@atlaskit/media-client-react';
2
+ import { MediaClientErrorReason } from '@atlaskit/media-client';
1
3
  import { MediaFilePreview } from './types';
2
4
  /**
3
5
  * Primary reason is logged through Data Portal.
@@ -36,3 +38,5 @@ export declare const isLocalPreviewError: (err: Error) => err is LocalPreviewErr
36
38
  export declare const isRemotePreviewError: (err: Error) => err is RemotePreviewError;
37
39
  export declare const isUnsupportedLocalPreviewError: (err: Error) => boolean;
38
40
  export declare const ensureMediaFilePreviewError: (primaryReason: MediaFilePreviewErrorPrimaryReason, error: Error, updatePrimaryReason?: boolean) => MediaFilePreviewError;
41
+ export declare function isMediaFileStateError(err: Error): err is MediaFileStateError;
42
+ export declare function getFileStateErrorReason(err: MediaFileStateError): MediaClientErrorReason | 'unknown';
@@ -6,6 +6,6 @@ import { MutableRefObject } from 'react';
6
6
  */
7
7
  export declare const isBigger: (current?: MediaFilePreviewDimensions, next?: MediaFilePreviewDimensions) => boolean;
8
8
  export declare const createRequestDimensions: (dimensions: Partial<MediaFilePreviewDimensions>) => Partial<MediaFilePreviewDimensions> | undefined;
9
- /** Stores the provided value in a */
9
+ /** Stores the provided value in a ref object to avoid "component rerenders" when the value is used as a hook dependency */
10
10
  export declare function useCurrentValueRef<T>(value: T): MutableRefObject<T>;
11
11
  export declare function usePrevious<T>(value: T | undefined): T | undefined;
@@ -3,7 +3,7 @@ import { FileIdentifier, ImageResizeMode, MediaBlobUrlAttrs } from '@atlaskit/me
3
3
  import { MediaTraceContext, NumericalCardDimensions, SSR } from '@atlaskit/media-common';
4
4
  import { MediaFilePreviewError } from './errors';
5
5
  import { MediaFilePreview } from './types';
6
- import { SSRStatus } from '../../../utils/analytics';
6
+ import { SSRStatus } from './analytics';
7
7
  export interface UseFilePreviewParams {
8
8
  /** Instance of file identifier. */
9
9
  readonly identifier: FileIdentifier;
@@ -1,4 +1,4 @@
1
- import React, { MouseEvent, RefObject } from 'react';
1
+ import React, { MouseEvent } from 'react';
2
2
  import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
3
3
  import { CardDimensions, CardAppearance } from '../../../types';
4
4
  import { Breakpoint } from '../common';
@@ -18,6 +18,6 @@ export interface WrapperProps {
18
18
  isPlayButtonClickable: boolean;
19
19
  isTickBoxSelectable: boolean;
20
20
  shouldDisplayTooltip: boolean;
21
- innerRef?: RefObject<HTMLDivElement>;
21
+ innerRef?: React.Ref<HTMLDivElement>;
22
22
  children?: JSX.Element;
23
23
  }
@@ -0,0 +1,38 @@
1
+ import React, { MouseEvent, ReactNode } from 'react';
2
+ import { FileDetails } from '@atlaskit/media-client';
3
+ import { UIAnalyticsEvent } from '@atlaskit/analytics-next';
4
+ import { CardAppearance, CardDimensions, MediaCardCursor, TitleBoxIcon } from '../../../types';
5
+ import { CardAction } from '../../actions';
6
+ import { Breakpoint } from '../../ui/common';
7
+ import { MediaFilePreview } from '../useFilePreview';
8
+ export type SharedCardViewProps = {
9
+ readonly cardPreview?: MediaFilePreview;
10
+ readonly testId?: string;
11
+ readonly dimensions?: CardDimensions;
12
+ readonly onClick?: (event: React.MouseEvent<HTMLDivElement>, analyticsEvent?: UIAnalyticsEvent) => void;
13
+ readonly onMouseEnter?: (event: MouseEvent<HTMLDivElement>) => void;
14
+ readonly appearance?: CardAppearance;
15
+ readonly disableOverlay?: boolean;
16
+ readonly actions?: Array<CardAction>;
17
+ readonly selectable?: boolean;
18
+ readonly selected?: boolean;
19
+ readonly metadata?: FileDetails;
20
+ readonly titleBoxBgColor?: string;
21
+ readonly titleBoxIcon?: TitleBoxIcon;
22
+ readonly mediaCardCursor?: MediaCardCursor;
23
+ readonly shouldHideTooltip?: boolean;
24
+ };
25
+ export type CardViewWrapperProps = SharedCardViewProps & {
26
+ children: React.ReactNode;
27
+ readonly breakpoint: Breakpoint;
28
+ customBlanket?: () => ReactNode;
29
+ customTitleBox?: () => ReactNode;
30
+ progressBar?: () => ReactNode;
31
+ };
32
+ export declare const CardViewWrapper: React.ForwardRefExoticComponent<SharedCardViewProps & {
33
+ children: React.ReactNode;
34
+ readonly breakpoint: Breakpoint;
35
+ customBlanket?: (() => ReactNode) | undefined;
36
+ customTitleBox?: (() => ReactNode) | undefined;
37
+ progressBar?: (() => ReactNode) | undefined;
38
+ } & React.RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
3
+ import { FileDetails } from '@atlaskit/media-client';
4
+ import { SharedCardViewProps } from './cardViewWrapper';
5
+ import { MediaCardError } from '../../../errors';
6
+ export type ErrorCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
7
+ metadata?: FileDetails;
8
+ disableAnimation?: boolean;
9
+ readonly error?: MediaCardError;
10
+ };
11
+ export declare const ErrorCardView: import("react").ForwardRefExoticComponent<Omit<ErrorCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,12 @@
1
+ /// <reference types="react" />
2
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
3
+ import { FileDetails } from '@atlaskit/media-client';
4
+ import { SharedCardViewProps } from './cardViewWrapper';
5
+ import type { CardStatus } from '../../../types';
6
+ export type IconCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
7
+ status: CardStatus;
8
+ metadata?: FileDetails;
9
+ readonly progress?: number;
10
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
11
+ };
12
+ export declare const IconCardView: import("react").ForwardRefExoticComponent<Omit<IconCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { ImageResizeMode } from '@atlaskit/media-client';
3
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
4
+ import { FileDetails } from '@atlaskit/media-client';
5
+ import type { CardPreview, CardStatus } from '../../../types';
6
+ import { SharedCardViewProps } from './cardViewWrapper';
7
+ export type ImageCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
8
+ status: CardStatus;
9
+ cardPreview: CardPreview;
10
+ readonly alt?: string;
11
+ readonly resizeMode?: ImageResizeMode;
12
+ readonly onDisplayImage?: () => void;
13
+ readonly nativeLazyLoad?: boolean;
14
+ readonly forceSyncDisplay?: boolean;
15
+ readonly onImageLoad?: (cardPreview: CardPreview) => void;
16
+ readonly onImageError?: (cardPreview: CardPreview) => void;
17
+ metadata?: FileDetails;
18
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
19
+ readonly progress?: number;
20
+ };
21
+ export declare const ImageCardView: import("react").ForwardRefExoticComponent<Omit<ImageCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,45 @@
1
+ /** @jsx jsx */
2
+ import { jsx } from '@emotion/react';
3
+ import React, { MouseEvent } from 'react';
4
+ import { MessageDescriptor } from 'react-intl-next';
5
+ import { MediaItemType, FileDetails } from '@atlaskit/media-client';
6
+ import { WithAnalyticsEventsProps, UIAnalyticsEvent } from '@atlaskit/analytics-next';
7
+ import { SharedCardProps, CardStatus, MediaCardCursor } from '../../../types';
8
+ import { MediaCardError } from '../../../errors';
9
+ import { MediaFilePreview } from '../useFilePreview';
10
+ export interface CardViewsOwnProps extends SharedCardProps {
11
+ readonly status: CardStatus;
12
+ readonly mediaItemType: MediaItemType;
13
+ readonly mediaCardCursor?: MediaCardCursor;
14
+ readonly metadata?: FileDetails;
15
+ readonly error?: MediaCardError;
16
+ readonly onClick?: (event: React.MouseEvent<HTMLDivElement>, analyticsEvent?: UIAnalyticsEvent) => void;
17
+ readonly onMouseEnter?: (event: MouseEvent<HTMLDivElement>) => void;
18
+ readonly onDisplayImage?: () => void;
19
+ readonly cardPreview?: MediaFilePreview;
20
+ readonly progress?: number;
21
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
22
+ readonly onImageLoad?: (cardPreview: MediaFilePreview) => void;
23
+ readonly onImageError?: (cardPreview: MediaFilePreview) => void;
24
+ readonly nativeLazyLoad?: boolean;
25
+ readonly forceSyncDisplay?: boolean;
26
+ disableAnimation?: boolean;
27
+ shouldHideTooltip?: boolean;
28
+ }
29
+ export type CardViewV2Props = CardViewsOwnProps & WithAnalyticsEventsProps;
30
+ export interface RenderConfigByStatusV2 {
31
+ renderTypeIcon?: boolean;
32
+ iconMessage?: JSX.Element;
33
+ renderImageRenderer?: boolean;
34
+ renderPlayButton?: boolean;
35
+ renderTitleBox?: boolean;
36
+ renderBlanket?: boolean;
37
+ isFixedBlanket?: boolean;
38
+ renderProgressBar?: boolean;
39
+ renderSpinner?: boolean;
40
+ renderFailedTitleBox?: boolean;
41
+ renderTickBox?: boolean;
42
+ customTitleMessage?: MessageDescriptor;
43
+ }
44
+ export declare const CardViewsBase: ({ innerRef, onImageLoad, onImageError, dimensions, appearance, onClick, onMouseEnter, testId, metadata, status, selected, selectable, cardPreview, mediaCardCursor, shouldHideTooltip, progress, alt, resizeMode, onDisplayImage, nativeLazyLoad, forceSyncDisplay, actions, disableOverlay, titleBoxBgColor, titleBoxIcon, error, disableAnimation, }: CardViewV2Props) => jsx.JSX.Element;
45
+ export declare const CardViews: React.ForwardRefExoticComponent<Omit<CardViewV2Props, keyof WithAnalyticsEventsProps> & React.RefAttributes<any>>;
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
3
+ import { FileDetails } from '@atlaskit/media-client';
4
+ import { SharedCardViewProps } from './cardViewWrapper';
5
+ export type LoadingCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
6
+ metadata?: FileDetails;
7
+ disableAnimation?: boolean;
8
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
9
+ };
10
+ export declare const LoadingCardView: import("react").ForwardRefExoticComponent<Omit<LoadingCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,8 @@
1
+ /// <reference types="react" />
2
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
3
+ import { SharedCardViewProps } from './cardViewWrapper';
4
+ export type ProcessingCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
5
+ disableAnimation?: boolean;
6
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
7
+ };
8
+ export declare const ProcessingCardView: import("react").ForwardRefExoticComponent<Omit<ProcessingCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,21 @@
1
+ /// <reference types="react" />
2
+ import { ImageResizeMode } from '@atlaskit/media-client';
3
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
4
+ import { FileDetails } from '@atlaskit/media-client';
5
+ import type { CardPreview, CardStatus } from '../../../types';
6
+ import { SharedCardViewProps } from './cardViewWrapper';
7
+ export type VideoCardViewProps = SharedCardViewProps & WithAnalyticsEventsProps & {
8
+ status: CardStatus;
9
+ cardPreview: CardPreview;
10
+ readonly alt?: string;
11
+ readonly resizeMode?: ImageResizeMode;
12
+ readonly onDisplayImage?: () => void;
13
+ readonly nativeLazyLoad?: boolean;
14
+ readonly forceSyncDisplay?: boolean;
15
+ readonly onImageLoad?: (cardPreview: CardPreview) => void;
16
+ readonly onImageError?: (cardPreview: CardPreview) => void;
17
+ metadata?: FileDetails;
18
+ readonly innerRef?: (instance: HTMLDivElement | null) => void;
19
+ readonly progress?: number;
20
+ };
21
+ export declare const VideoCardView: import("react").ForwardRefExoticComponent<Omit<VideoCardViewProps, keyof WithAnalyticsEventsProps> & import("react").RefAttributes<any>>;
@@ -0,0 +1,28 @@
1
+ import { MediaClientErrorReason } from '@atlaskit/media-client';
2
+ import { SuccessAttributes, MediaTraceContext } from '@atlaskit/media-common';
3
+ import { MediaFilePreviewError, MediaFilePreviewErrorPrimaryReason } from './errors';
4
+ export type FailedErrorFailReason = MediaFilePreviewErrorPrimaryReason | 'nativeError';
5
+ export type MediaFilePreviewErrorInfo = {
6
+ failReason: FailedErrorFailReason;
7
+ error: MediaClientErrorReason | 'nativeError';
8
+ errorDetail: string;
9
+ metadataTraceContext?: MediaTraceContext;
10
+ };
11
+ export type SSRStatusFail = MediaFilePreviewErrorInfo & {
12
+ status: 'fail';
13
+ };
14
+ type SSRStatusSuccess = SuccessAttributes;
15
+ type SSRStatusUnknown = {
16
+ status: 'unknown';
17
+ };
18
+ type SSRStatusAttributes = SSRStatusSuccess | SSRStatusFail | SSRStatusUnknown;
19
+ export type SSRStatus = {
20
+ server: SSRStatusAttributes;
21
+ client: SSRStatusAttributes;
22
+ };
23
+ export declare const getErrorTraceContext: (error: MediaFilePreviewError) => MediaTraceContext | undefined;
24
+ export declare const getRenderErrorFailReason: (error: MediaFilePreviewError) => FailedErrorFailReason;
25
+ export declare const getRenderErrorErrorReason: (error: MediaFilePreviewError) => MediaClientErrorReason | 'nativeError';
26
+ export declare const getRenderErrorErrorDetail: (error: MediaFilePreviewError) => string;
27
+ export declare const extractErrorInfo: (error: MediaFilePreviewError, metadataTraceContext?: MediaTraceContext) => MediaFilePreviewErrorInfo;
28
+ export {};
@@ -1,3 +1,5 @@
1
+ import { MediaFileStateError } from '@atlaskit/media-client-react';
2
+ import { MediaClientErrorReason } from '@atlaskit/media-client';
1
3
  import { MediaFilePreview } from './types';
2
4
  /**
3
5
  * Primary reason is logged through Data Portal.
@@ -36,3 +38,5 @@ export declare const isLocalPreviewError: (err: Error) => err is LocalPreviewErr
36
38
  export declare const isRemotePreviewError: (err: Error) => err is RemotePreviewError;
37
39
  export declare const isUnsupportedLocalPreviewError: (err: Error) => boolean;
38
40
  export declare const ensureMediaFilePreviewError: (primaryReason: MediaFilePreviewErrorPrimaryReason, error: Error, updatePrimaryReason?: boolean) => MediaFilePreviewError;
41
+ export declare function isMediaFileStateError(err: Error): err is MediaFileStateError;
42
+ export declare function getFileStateErrorReason(err: MediaFileStateError): MediaClientErrorReason | 'unknown';
@@ -6,6 +6,6 @@ import { MutableRefObject } from 'react';
6
6
  */
7
7
  export declare const isBigger: (current?: MediaFilePreviewDimensions, next?: MediaFilePreviewDimensions) => boolean;
8
8
  export declare const createRequestDimensions: (dimensions: Partial<MediaFilePreviewDimensions>) => Partial<MediaFilePreviewDimensions> | undefined;
9
- /** Stores the provided value in a */
9
+ /** Stores the provided value in a ref object to avoid "component rerenders" when the value is used as a hook dependency */
10
10
  export declare function useCurrentValueRef<T>(value: T): MutableRefObject<T>;
11
11
  export declare function usePrevious<T>(value: T | undefined): T | undefined;
@@ -3,7 +3,7 @@ import { FileIdentifier, ImageResizeMode, MediaBlobUrlAttrs } from '@atlaskit/me
3
3
  import { MediaTraceContext, NumericalCardDimensions, SSR } from '@atlaskit/media-common';
4
4
  import { MediaFilePreviewError } from './errors';
5
5
  import { MediaFilePreview } from './types';
6
- import { SSRStatus } from '../../../utils/analytics';
6
+ import { SSRStatus } from './analytics';
7
7
  export interface UseFilePreviewParams {
8
8
  /** Instance of file identifier. */
9
9
  readonly identifier: FileIdentifier;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/media-card",
3
- "version": "77.5.2",
3
+ "version": "77.6.1",
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": "^26.0.0",
43
+ "@atlaskit/media-client": "^26.1.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",
@@ -48,7 +48,7 @@
48
48
  "@atlaskit/platform-feature-flags": "^0.2.2",
49
49
  "@atlaskit/spinner": "^16.0.0",
50
50
  "@atlaskit/theme": "^12.6.0",
51
- "@atlaskit/tokens": "^1.29.0",
51
+ "@atlaskit/tokens": "^1.30.0",
52
52
  "@atlaskit/tooltip": "^18.0.0",
53
53
  "@atlaskit/ufo": "^0.2.0",
54
54
  "@babel/runtime": "^7.0.0",
@@ -71,7 +71,7 @@
71
71
  "@atlaskit/media-core": "^34.1.0",
72
72
  "@atlaskit/media-picker": "^66.2.0",
73
73
  "@atlaskit/media-state": "^1.0.0",
74
- "@atlaskit/media-test-data": "^1.0.0",
74
+ "@atlaskit/media-test-data": "^1.1.0",
75
75
  "@atlaskit/media-test-helpers": "^33.0.0",
76
76
  "@atlaskit/ssr": "*",
77
77
  "@atlaskit/visual-regression": "*",
@@ -83,7 +83,6 @@
83
83
  "@testing-library/user-event": "^14.4.3",
84
84
  "@types/classnames": "^2.2.6",
85
85
  "@types/react-loadable": "^5.4.1",
86
- "deepcopy": "0.6.3",
87
86
  "enzyme": "^3.10.0",
88
87
  "exenv": "^1.2.2",
89
88
  "react": "^16.8.0",
@@ -99,6 +98,9 @@
99
98
  },
100
99
  "platform.editor.a11y-media_er96o": {
101
100
  "type": "boolean"
101
+ },
102
+ "platform.media-experience.card-views-refactor_b91lr": {
103
+ "type": "boolean"
102
104
  }
103
105
  },
104
106
  "techstack": {