@atlaskit/media-ui 23.0.2 → 23.0.4

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 CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/media-ui
2
2
 
3
+ ## 23.0.4
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 23.0.3
10
+
11
+ ### Patch Changes
12
+
13
+ - Updated dependencies
14
+
3
15
  ## 23.0.2
4
16
 
5
17
  ### Patch Changes
@@ -51,7 +51,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
51
51
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */ // Keep media player components used in media-viewer to use static colors from the new color palette to
52
52
  // support the hybrid theming in media viewer https://product-fabric.atlassian.net/browse/DSP-6067
53
53
  var packageName = "@atlaskit/media-ui";
54
- var packageVersion = "23.0.2";
54
+ var packageVersion = "23.0.4";
55
55
  var MEDIUM_VIDEO_MAX_WIDTH = 400;
56
56
  var SMALL_VIDEO_MAX_WIDTH = 160;
57
57
  var MINIMUM_DURATION_BEFORE_SAVING_TIME = 60;
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+ /* prettier-ignore */
7
8
  /**
8
9
  * NOTE:
9
10
  *
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-ui",
3
- "version": "23.0.2",
3
+ "version": "23.0.4",
4
4
  "sideEffects": false
5
5
  }
@@ -34,7 +34,7 @@ import Tooltip from '@atlaskit/tooltip';
34
34
  import { SkipTenBackwardIcon, SkipTenForwardIcon } from './icons';
35
35
  import { getControlsWrapperClassName } from './getControlsWrapperClassName';
36
36
  const packageName = "@atlaskit/media-ui";
37
- const packageVersion = "23.0.2";
37
+ const packageVersion = "23.0.4";
38
38
  const MEDIUM_VIDEO_MAX_WIDTH = 400;
39
39
  const SMALL_VIDEO_MAX_WIDTH = 160;
40
40
  const MINIMUM_DURATION_BEFORE_SAVING_TIME = 60;
@@ -1,3 +1,4 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-ui",
3
- "version": "23.0.2",
3
+ "version": "23.0.4",
4
4
  "sideEffects": false
5
5
  }
@@ -44,7 +44,7 @@ import Tooltip from '@atlaskit/tooltip';
44
44
  import { SkipTenBackwardIcon, SkipTenForwardIcon } from './icons';
45
45
  import { getControlsWrapperClassName } from './getControlsWrapperClassName';
46
46
  var packageName = "@atlaskit/media-ui";
47
- var packageVersion = "23.0.2";
47
+ var packageVersion = "23.0.4";
48
48
  var MEDIUM_VIDEO_MAX_WIDTH = 400;
49
49
  var SMALL_VIDEO_MAX_WIDTH = 160;
50
50
  var MINIMUM_DURATION_BEFORE_SAVING_TIME = 60;
@@ -1,3 +1,4 @@
1
+ /* prettier-ignore */
1
2
  /**
2
3
  * NOTE:
3
4
  *
@@ -1,5 +1,5 @@
1
1
  {
2
2
  "name": "@atlaskit/media-ui",
3
- "version": "23.0.2",
3
+ "version": "23.0.4",
4
4
  "sideEffects": false
5
5
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/media-ui",
3
- "version": "23.0.2",
3
+ "version": "23.0.4",
4
4
  "description": "Includes common components and utilities used by other media packages",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -41,7 +41,7 @@
41
41
  "atlassian": {
42
42
  "team": "Media Experience",
43
43
  "inPublicMirror": true,
44
- "releaseModel": "scheduled",
44
+ "releaseModel": "continuous",
45
45
  "website": {
46
46
  "name": "Media UI"
47
47
  }
@@ -53,11 +53,11 @@
53
53
  "@atlaskit/icon": "^21.12.0",
54
54
  "@atlaskit/icon-file-type": "^6.4.0",
55
55
  "@atlaskit/locale": "^2.5.0",
56
- "@atlaskit/media-common": "^5.0.0",
57
- "@atlaskit/select": "^16.3.0",
56
+ "@atlaskit/media-common": "^7.0.0",
57
+ "@atlaskit/select": "^16.5.0",
58
58
  "@atlaskit/spinner": "^15.5.0",
59
59
  "@atlaskit/theme": "^12.5.0",
60
- "@atlaskit/tokens": "^1.4.0",
60
+ "@atlaskit/tokens": "^1.5.0",
61
61
  "@atlaskit/tooltip": "^17.8.0",
62
62
  "@atlaskit/width-detector": "^4.1.0",
63
63
  "@babel/runtime": "^7.0.0",
@@ -0,0 +1,686 @@
1
+ ## API Report File for "@atlaskit/media-ui"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ /// <reference types="react" />
8
+
9
+ import { Appearance } from '@atlaskit/button/types';
10
+ import { Component } from 'react';
11
+ import { CustomThemeButtonProps } from '@atlaskit/button/types';
12
+ import { MediaFeatureFlags } from '@atlaskit/media-common';
13
+ import { MediaType } from '@atlaskit/media-common';
14
+ import { MessageDescriptor } from 'react-intl-next';
15
+ import { NumericalCardDimensions } from '@atlaskit/media-common';
16
+ import { default as React_2 } from 'react';
17
+ import { ReactElement } from 'react';
18
+ import { RefObject } from 'react';
19
+ import SourceCodeIcon from '@atlaskit/icon-file-type/glyph/source-code/24';
20
+ import { WithAnalyticsEventsProps } from '@atlaskit/analytics-next';
21
+
22
+ // @public (undocumented)
23
+ export const absolute: (top?: number, left?: number) => string;
24
+
25
+ // @public (undocumented)
26
+ export interface AccessContext {
27
+ // (undocumented)
28
+ accessType?: AccessTypes;
29
+ // (undocumented)
30
+ cloudId?: string;
31
+ // (undocumented)
32
+ smartLinksAccessMetadataExperimentCohort?: 'control' | 'experiment' | 'not-enrolled';
33
+ // (undocumented)
34
+ url?: string;
35
+ }
36
+
37
+ // @public (undocumented)
38
+ export type AccessTypes = 'ACCESS_EXISTS' | 'APPROVED_REQUEST_EXISTS' | 'DENIED_REQUEST_EXISTS' | 'DIRECT_ACCESS' | 'FORBIDDEN' | 'PENDING_REQUEST_EXISTS' | 'REQUEST_ACCESS';
39
+
40
+ // @public (undocumented)
41
+ export const borderRadius: string;
42
+
43
+ // @public (undocumented)
44
+ export const borderRadiusBottom: string;
45
+
46
+ // @public (undocumented)
47
+ export class Bounds extends Rectangle {
48
+ constructor(x: number, y: number, width: number, height: number);
49
+ // (undocumented)
50
+ get bottom(): number;
51
+ // (undocumented)
52
+ get center(): Vector2;
53
+ // (undocumented)
54
+ clone(): Bounds;
55
+ // (undocumented)
56
+ get corner(): Vector2;
57
+ // (undocumented)
58
+ equals(bounds: Bounds): boolean;
59
+ // (undocumented)
60
+ flipped(): Bounds;
61
+ // (undocumented)
62
+ readonly height: number;
63
+ // (undocumented)
64
+ hFlipWithin(containerBounds: Bounds): Bounds;
65
+ // (undocumented)
66
+ get left(): number;
67
+ // (undocumented)
68
+ map(fn: (value: number) => number): Bounds;
69
+ // (undocumented)
70
+ get origin(): Vector2;
71
+ // (undocumented)
72
+ get rect(): Rectangle;
73
+ // (undocumented)
74
+ relativeTo(bounds: Bounds): Bounds;
75
+ // (undocumented)
76
+ get right(): number;
77
+ // (undocumented)
78
+ rotate90DegWithin(containerBounds: Bounds): Bounds;
79
+ // (undocumented)
80
+ scaled(scale: number): Bounds;
81
+ // (undocumented)
82
+ get top(): number;
83
+ // (undocumented)
84
+ translated(xDelta: number, yDelta: number): Bounds;
85
+ // (undocumented)
86
+ vFlipWithin(containerBounds: Bounds): Bounds;
87
+ // (undocumented)
88
+ readonly width: number;
89
+ // (undocumented)
90
+ readonly x: number;
91
+ // (undocumented)
92
+ readonly y: number;
93
+ }
94
+
95
+ // @public (undocumented)
96
+ export class Camera {
97
+ constructor(viewport: Rectangle, originalImg: Rectangle);
98
+ // (undocumented)
99
+ get fittedImg(): Rectangle;
100
+ // (undocumented)
101
+ readonly originalImg: Rectangle;
102
+ // (undocumented)
103
+ resizedViewport(newViewport: Rectangle): Camera;
104
+ // (undocumented)
105
+ scaledImg(newScale: number): Rectangle;
106
+ // (undocumented)
107
+ scaledOffset(prevOffset: Vector2, prevScale: number, newScale: number): Vector2;
108
+ // (undocumented)
109
+ get scaleDownToFit(): number;
110
+ // (undocumented)
111
+ get scaleToFit(): number;
112
+ // (undocumented)
113
+ readonly viewport: Rectangle;
114
+ }
115
+
116
+ // @public (undocumented)
117
+ export const center = "\n display: flex;\n align-items: center;\n justify-content: center;\n";
118
+
119
+ // @public (undocumented)
120
+ export const CustomMediaPlayer: React_2.ComponentType<CustomMediaPlayerProps & WithAnalyticsEventsProps>;
121
+
122
+ // @public (undocumented)
123
+ interface CustomMediaPlayerProps extends WithPlaybackProps, WithShowControlMethodProp {
124
+ // (undocumented)
125
+ readonly featureFlags?: MediaFeatureFlags;
126
+ // (undocumented)
127
+ readonly fileId?: string;
128
+ // (undocumented)
129
+ readonly isShortcutEnabled?: boolean;
130
+ // (undocumented)
131
+ readonly lastWatchTimeConfig?: TimeSaverConfig;
132
+ // (undocumented)
133
+ readonly onCanPlay?: () => void;
134
+ // (undocumented)
135
+ readonly onDownloadClick?: () => void;
136
+ // (undocumented)
137
+ readonly onError?: () => void;
138
+ // (undocumented)
139
+ readonly onFirstPlay?: () => void;
140
+ // (undocumented)
141
+ readonly onFullscreenChange?: (fullscreen: boolean) => void;
142
+ // (undocumented)
143
+ readonly onHDToggleClick?: () => void;
144
+ // (undocumented)
145
+ readonly originalDimensions?: NumericalCardDimensions;
146
+ // (undocumented)
147
+ readonly poster?: string;
148
+ // (undocumented)
149
+ readonly src: string;
150
+ // (undocumented)
151
+ readonly type: CustomMediaPlayerType;
152
+ }
153
+
154
+ // @public (undocumented)
155
+ type CustomMediaPlayerType = 'audio' | 'video';
156
+
157
+ // @public (undocumented)
158
+ export function dataURItoFile(dataURI: string, filename?: string): File;
159
+
160
+ // @public (undocumented)
161
+ export const easeInOutCubic = "cubic-bezier(0.645, 0.045, 0.355, 1)";
162
+
163
+ // @public (undocumented)
164
+ export const Ellipsify: ({ text, lines, endLength, inline, testId, }: EllipsifyProps) => JSX.Element;
165
+
166
+ // @public (undocumented)
167
+ export interface EllipsifyProps {
168
+ // (undocumented)
169
+ endLength?: number;
170
+ // (undocumented)
171
+ inline?: boolean;
172
+ // (undocumented)
173
+ lines: number;
174
+ // (undocumented)
175
+ testId?: string;
176
+ // (undocumented)
177
+ text?: string;
178
+ }
179
+
180
+ // @public (undocumented)
181
+ export const ellipsis: (maxWidth?: number | string) => string;
182
+
183
+ // @public (undocumented)
184
+ export const errorIcon: JSX.Element;
185
+
186
+ // @public (undocumented)
187
+ export const ExifOrientation: {
188
+ [key: string]: number;
189
+ };
190
+
191
+ // @public (undocumented)
192
+ export type FileInfo = {
193
+ file: File;
194
+ src: string;
195
+ };
196
+
197
+ // @public (undocumented)
198
+ export function fileToArrayBuffer(file: File): Promise<Uint8Array>;
199
+
200
+ // @public (undocumented)
201
+ export function fileToDataURI(blob: Blob): Promise<string>;
202
+
203
+ // @public (undocumented)
204
+ export const findParentByClassname: (element: HTMLElement, className: string, maxParentElement?: HTMLElement) => HTMLElement | undefined;
205
+
206
+ // @public (undocumented)
207
+ export const formatDate: (timestamp: number, locale?: string) => string;
208
+
209
+ // @public (undocumented)
210
+ export const formatDuration: (seconds: number) => string;
211
+
212
+ // @public (undocumented)
213
+ export const getCssFromImageOrientation: (orientation: number) => string;
214
+
215
+ // @public (undocumented)
216
+ export function getFileInfo(file: File, src?: string): Promise<FileInfo>;
217
+
218
+ // @public (undocumented)
219
+ export function getFileInfoFromSrc(src: string, file?: File): Promise<FileInfo>;
220
+
221
+ // @public (undocumented)
222
+ export function getImageInfo(fileInfo: FileInfo): Promise<ImageInfo | null>;
223
+
224
+ // @public (undocumented)
225
+ export function getMetaTagNumericValue(tags: ImageMetaDataTags, key: string, defaultValue: number): number;
226
+
227
+ // @public (undocumented)
228
+ export function getMimeIcon(mimeType: string, fileName: string): MimeTypesRepresentation | undefined | {
229
+ label: string;
230
+ icon: typeof SourceCodeIcon;
231
+ };
232
+
233
+ // @public (undocumented)
234
+ export function getOrientation(file: File): Promise<number>;
235
+
236
+ // @public (undocumented)
237
+ export function getScaleFactor(file: File, tags: ImageMetaDataTags | null): number;
238
+
239
+ // @public (undocumented)
240
+ export function getScaleFactorFromFile(file: File): null | number;
241
+
242
+ // @public (undocumented)
243
+ export const hideControlsClassName = "mvng-hide-controls";
244
+
245
+ // @public (undocumented)
246
+ export type ImageInfo = {
247
+ scaleFactor: number;
248
+ width: number;
249
+ height: number;
250
+ };
251
+
252
+ // @public (undocumented)
253
+ export type ImageMetaData = {
254
+ type: string;
255
+ width: number;
256
+ height: number;
257
+ naturalWidth: number;
258
+ naturalHeight: number;
259
+ tags: ImageMetaDataTags | null;
260
+ };
261
+
262
+ // @public (undocumented)
263
+ export type ImageMetaDataTags = {
264
+ Orientation?: string;
265
+ PixelPerUnitX?: number;
266
+ PixelPerUnitY?: number;
267
+ [key: string]: number | string | undefined;
268
+ };
269
+
270
+ // @public
271
+ export class InactivityDetector extends Component<InactivityDetectorProps, InactivityDetectorState> {
272
+ // (undocumented)
273
+ componentDidMount(): void;
274
+ // (undocumented)
275
+ componentWillUnmount(): void;
276
+ // (undocumented)
277
+ render(): JSX.Element;
278
+ // (undocumented)
279
+ state: InactivityDetectorState;
280
+ }
281
+
282
+ // @public (undocumented)
283
+ interface InactivityDetectorProps {
284
+ // (undocumented)
285
+ children: (triggerActivityCallback: () => void) => ReactElement;
286
+ }
287
+
288
+ // @public (undocumented)
289
+ interface InactivityDetectorState {
290
+ // (undocumented)
291
+ controlsAreVisible: boolean;
292
+ }
293
+
294
+ // @public (undocumented)
295
+ type InlinePreloaderStyle = 'on-left-with-skeleton' | 'on-right-without-skeleton';
296
+
297
+ // @public (undocumented)
298
+ export const isIntersectionObserverSupported: () => boolean;
299
+
300
+ // @public
301
+ export const isRotated: (orientation: number) => boolean;
302
+
303
+ // @public (undocumented)
304
+ export const keyCodes: {
305
+ space: string;
306
+ m: string;
307
+ rightArrow: string;
308
+ leftArrow: string;
309
+ };
310
+
311
+ // @public (undocumented)
312
+ export const languages: {
313
+ zh: string;
314
+ cs: string;
315
+ da: string;
316
+ nl: string;
317
+ en: string;
318
+ en_GB: string;
319
+ et: string;
320
+ fi: string;
321
+ fr: string;
322
+ de: string;
323
+ hu: string;
324
+ is: string;
325
+ it: string;
326
+ ja: string;
327
+ ko: string;
328
+ nb: string;
329
+ pl: string;
330
+ pt_BR: string;
331
+ pt_PT: string;
332
+ ro: string;
333
+ ru: string;
334
+ sk: string;
335
+ es: string;
336
+ sv: string;
337
+ };
338
+
339
+ // @public (undocumented)
340
+ export function loadImage(src: string): Promise<HTMLImageElement>;
341
+
342
+ // @public (undocumented)
343
+ export const locales: {
344
+ [key: string]: any;
345
+ };
346
+
347
+ // @public (undocumented)
348
+ export function MediaButton({ appearance, buttonRef, ...rest }: Props): JSX.Element;
349
+
350
+ // @public (undocumented)
351
+ type MediaButtonAppearance = Appearance;
352
+
353
+ // @public (undocumented)
354
+ class MediaImage_2 extends Component<MediaImageProps, MediaImageState> {
355
+ constructor(props: MediaImageProps);
356
+ // (undocumented)
357
+ componentDidMount(): void;
358
+ // (undocumented)
359
+ static defaultProps: Partial<MediaImageProps>;
360
+ // (undocumented)
361
+ imageRef: React_2.RefObject<HTMLImageElement>;
362
+ // (undocumented)
363
+ onImageLoad: (e: React_2.SyntheticEvent<HTMLImageElement>) => void;
364
+ // (undocumented)
365
+ render(): JSX.Element;
366
+ }
367
+ export { MediaImage_2 as MediaImage }
368
+
369
+ // @public (undocumented)
370
+ export interface MediaImageProps {
371
+ // (undocumented)
372
+ alt?: string;
373
+ // (undocumented)
374
+ crop?: boolean;
375
+ // (undocumented)
376
+ crossOrigin?: '' | 'anonymous' | 'use-credentials';
377
+ // (undocumented)
378
+ dataURI: string;
379
+ // (undocumented)
380
+ forceSyncDisplay?: boolean;
381
+ // (undocumented)
382
+ loading?: 'auto' | 'eager' | 'lazy';
383
+ // (undocumented)
384
+ onImageError?: () => void;
385
+ // (undocumented)
386
+ onImageLoad?: (loadedImage: HTMLImageElement) => void;
387
+ // (undocumented)
388
+ previewOrientation?: 'from-image' | number;
389
+ // (undocumented)
390
+ stretch?: boolean;
391
+ }
392
+
393
+ // @public (undocumented)
394
+ export interface MediaImageState {
395
+ // (undocumented)
396
+ imgHeight: number;
397
+ // (undocumented)
398
+ imgWidth: number;
399
+ // (undocumented)
400
+ isImageLoaded: boolean;
401
+ // (undocumented)
402
+ parentHeight: number;
403
+ // (undocumented)
404
+ parentWidth: number;
405
+ }
406
+
407
+ // @public (undocumented)
408
+ export class MediaInlineCardErroredView extends React_2.Component<MediaInlineCardErroredViewProps> {
409
+ // (undocumented)
410
+ render(): JSX.Element;
411
+ // (undocumented)
412
+ renderMessage: () => JSX.Element;
413
+ }
414
+
415
+ // @public (undocumented)
416
+ export interface MediaInlineCardErroredViewProps {
417
+ // (undocumented)
418
+ icon?: React_2.ReactNode;
419
+ isSelected?: boolean;
420
+ message: string;
421
+ onClick?: React_2.EventHandler<React_2.KeyboardEvent | React_2.MouseEvent>;
422
+ testId?: string;
423
+ }
424
+
425
+ // @public (undocumented)
426
+ export class MediaInlineCardLoadedView extends React_2.Component<MediaInlineCardLoadedViewProps> {
427
+ // (undocumented)
428
+ render(): JSX.Element;
429
+ }
430
+
431
+ // @public (undocumented)
432
+ export interface MediaInlineCardLoadedViewProps {
433
+ icon?: React_2.ReactNode;
434
+ isSelected?: boolean;
435
+ onClick?: React_2.EventHandler<React_2.KeyboardEvent | React_2.MouseEvent>;
436
+ testId?: string;
437
+ title?: string;
438
+ titlePrefix?: React_2.ReactNode;
439
+ }
440
+
441
+ // @public (undocumented)
442
+ export class MediaInlineCardLoadingView extends React_2.Component<MediaInlineCardLoadingViewProps> {
443
+ // (undocumented)
444
+ render(): JSX.Element;
445
+ }
446
+
447
+ // @public (undocumented)
448
+ export interface MediaInlineCardLoadingViewProps {
449
+ // (undocumented)
450
+ inlinePreloaderStyle?: InlinePreloaderStyle;
451
+ isSelected?: boolean;
452
+ message: string;
453
+ onClick?: React_2.EventHandler<React_2.KeyboardEvent | React_2.MouseEvent>;
454
+ testId?: string;
455
+ // (undocumented)
456
+ withoutHover?: boolean;
457
+ }
458
+
459
+ // @public (undocumented)
460
+ type MediaTypeProps = {
461
+ testId?: string;
462
+ mediaType?: MediaType;
463
+ mimeType?: string;
464
+ name?: string;
465
+ size?: 'large' | 'small';
466
+ };
467
+
468
+ // @public (undocumented)
469
+ export type MessageKey = 'accounts' | 'actions' | 'add_account' | 'annotate' | 'annotate_confirmation_close_anyway' | 'annotate_confirmation_content' | 'annotate_confirmation_heading' | 'annotate_tool_arrow' | 'annotate_tool_blur' | 'annotate_tool_brush' | 'annotate_tool_color' | 'annotate_tool_line_thickness' | 'annotate_tool_shape' | 'annotate_tool_text' | 'archive' | 'audio' | 'cancel' | 'cant_preview_file_type' | 'cant_retrieve_files' | 'cant_retrieve_gifs' | 'changeView' | 'check_your_network' | 'close' | 'close_and_reopen' | 'connect_account_description' | 'connect_link_account' | 'connect_link_account_card' | 'connect_link_account_card_description' | 'connect_link_account_card_name' | 'connect_to' | 'could_not_load_editor' | 'could_not_load_link' | 'could_not_save_image' | 'couldnt_generate_encrypted_entry_preview' | 'couldnt_generate_preview' | 'couldnt_load_file' | 'creating_preview' | 'default_avatars' | 'disable_fullscreen' | 'displayThumbnail' | 'document' | 'download' | 'drag_and_drop_images_here' | 'drag_and_drop_your_files' | 'drag_and_drop_your_files_and_folders' | 'drop_your_files' | 'drop_your_files_here' | 'email' | 'enable_fullscreen' | 'error_429' | 'error_generating_preview' | 'error_hint_critical' | 'error_hint_retry' | 'error_loading_file' | 'failed_to_load' | 'failed_to_upload' | 'give_feedback' | 'image' | 'image_format_invalid_error' | 'image_size_too_large_error' | 'image_url_invalid_error' | 'insert_files' | 'invalid_permissions' | 'invalid_permissions_description' | 'item_not_found_in_list' | 'learn_more' | 'load_more_gifs' | 'loading' | 'loading_file' | 'might_be_a_hiccup' | 'no_gifs_found' | 'no_gifs_found_suggestion' | 'no_pdf_artifacts' | 'not_found_description' | 'not_found_title' | 'or' | 'pause' | 'play' | 'playbackDefaultSpeed' | 'playbackSpeed' | 'preview' | 'preview_currently_unavailable' | 'preview_unavailable' | 'recent_uploads' | 'remove_image' | 'retry' | 'save' | 'search' | 'search_all_gifs' | 'share_files_instantly' | 'skipBackward' | 'skipForward' | 'something_went_wrong' | 'text' | 'try_again' | 'try_another_account' | 'try_downloading_file' | 'unable_to_annotate_image' | 'unknown' | 'unlink_account' | 'upload' | 'upload_an_avatar' | 'upload_file' | 'upload_file_from' | 'upload_image' | 'upload_photo' | 'video' | 'view' | 'viewIn' | 'viewOriginal' | 'viewer_rateLimited' | 'webgl_warning_description' | 'zip_entry_load_fail' | 'zoom_in' | 'zoom_out' | RequestAccessMessageKey;
470
+
471
+ // @public (undocumented)
472
+ type Messages = {
473
+ [K in MessageKey]: MessageDescriptor;
474
+ };
475
+
476
+ // @public (undocumented)
477
+ export const messages: Messages;
478
+
479
+ // @public (undocumented)
480
+ export const MimeTypeIcon: ({ mediaType, mimeType, name, testId, size, }: MediaTypeProps) => JSX.Element;
481
+
482
+ // @public (undocumented)
483
+ interface MimeTypesRepresentation {
484
+ // (undocumented)
485
+ icon: any;
486
+ // (undocumented)
487
+ label: string;
488
+ // (undocumented)
489
+ mimeTypes: string[];
490
+ }
491
+
492
+ // @public (undocumented)
493
+ export const ModalSpinner: ({ blankedColor, invertSpinnerColor }: Props_2) => JSX.Element;
494
+
495
+ // @public (undocumented)
496
+ type Props = WithMediaButtonAppearance<CustomThemeButtonProps> & {
497
+ buttonRef?: RefObject<HTMLButtonElement>;
498
+ };
499
+
500
+ // @public (undocumented)
501
+ interface Props_2 {
502
+ // (undocumented)
503
+ blankedColor?: string;
504
+ // (undocumented)
505
+ invertSpinnerColor?: boolean;
506
+ }
507
+
508
+ // @public (undocumented)
509
+ export function readImageMetaData(fileInfo: FileInfo): Promise<ImageMetaData | null>;
510
+
511
+ // @public (undocumented)
512
+ export class Rectangle {
513
+ constructor(width: number, height: number);
514
+ // (undocumented)
515
+ get aspectRatio(): number;
516
+ // (undocumented)
517
+ get center(): Vector2;
518
+ // (undocumented)
519
+ clone(): Rectangle;
520
+ // (undocumented)
521
+ flipped(): Rectangle;
522
+ // (undocumented)
523
+ readonly height: number;
524
+ // (undocumented)
525
+ resized(width: number, height: number): Rectangle;
526
+ // (undocumented)
527
+ scaled(scale: number): Rectangle;
528
+ // (undocumented)
529
+ scaleToFit(containing: Rectangle): number;
530
+ // (undocumented)
531
+ scaleToFitLargestSide(containing: Rectangle): number;
532
+ // (undocumented)
533
+ scaleToFitSmallestSide(containing: Rectangle): number;
534
+ // (undocumented)
535
+ readonly width: number;
536
+ }
537
+
538
+ // @public (undocumented)
539
+ type RequestAccessMessageKey = 'click_to_join' | 'click_to_join_description' | 'forbidden_description' | 'request_access' | 'request_access_description' | 'request_access_pending' | 'request_access_pending_description' | 'request_denied_description';
540
+
541
+ // @public (undocumented)
542
+ export class Shortcut extends Component<ShortcutProps, {}> {
543
+ // (undocumented)
544
+ componentDidMount(): void;
545
+ // (undocumented)
546
+ componentWillUnmount(): void;
547
+ // (undocumented)
548
+ render(): null;
549
+ }
550
+
551
+ // @public (undocumented)
552
+ export type ShortcutProps = {
553
+ handler: () => void;
554
+ } & (WithCode | WithKeyCode);
555
+
556
+ // @public (undocumented)
557
+ export const size: (value?: number | string) => string;
558
+
559
+ // @public (undocumented)
560
+ export class TimeRange extends Component<TimeRangeProps, TimeRangeState> {
561
+ // (undocumented)
562
+ componentDidMount(): void;
563
+ // (undocumented)
564
+ componentWillUnmount(): void;
565
+ // (undocumented)
566
+ static defaultProps: Partial<TimeRangeProps>;
567
+ // (undocumented)
568
+ onMouseMove: (e: MouseEvent) => void;
569
+ // (undocumented)
570
+ onMouseUp: () => void;
571
+ // (undocumented)
572
+ onThumbMouseDown: (e: React_2.SyntheticEvent<HTMLDivElement>) => void;
573
+ // (undocumented)
574
+ render(): JSX.Element;
575
+ // (undocumented)
576
+ state: TimeRangeState;
577
+ // (undocumented)
578
+ thumbElement: React_2.RefObject<HTMLDivElement>;
579
+ // (undocumented)
580
+ wrapperElement: React_2.RefObject<HTMLDivElement>;
581
+ // (undocumented)
582
+ wrapperElementWidth: number;
583
+ }
584
+
585
+ // @public (undocumented)
586
+ export interface TimeRangeProps {
587
+ // (undocumented)
588
+ bufferedTime: number;
589
+ // (undocumented)
590
+ currentTime: number;
591
+ // (undocumented)
592
+ disableThumbTooltip: boolean;
593
+ // (undocumented)
594
+ duration: number;
595
+ // (undocumented)
596
+ isAlwaysActive: boolean;
597
+ // (undocumented)
598
+ onChange: (newTime: number) => void;
599
+ // (undocumented)
600
+ onChanged?: () => void;
601
+ }
602
+
603
+ // @public (undocumented)
604
+ export interface TimeRangeState {
605
+ // (undocumented)
606
+ dragStartClientX: number;
607
+ // (undocumented)
608
+ isDragging: boolean;
609
+ }
610
+
611
+ // @public (undocumented)
612
+ interface TimeSaverConfig {
613
+ // (undocumented)
614
+ contentId: string;
615
+ }
616
+
617
+ // @public
618
+ export function toHumanReadableMediaSize(size: number): string;
619
+
620
+ // @public (undocumented)
621
+ export const Truncate: React_2.FC<TruncateProps>;
622
+
623
+ // @public (undocumented)
624
+ export type TruncateProps = {
625
+ text: string;
626
+ fontSizePX?: number;
627
+ startFixedChars?: number;
628
+ endFixedChars?: number;
629
+ };
630
+
631
+ // @public (undocumented)
632
+ export class Vector2 {
633
+ constructor(x: number, y: number);
634
+ // (undocumented)
635
+ add({ x: thatX, y: thatY }: Vector2): Vector2;
636
+ // (undocumented)
637
+ clone(): Vector2;
638
+ // (undocumented)
639
+ map(fn: (component: number) => number): Vector2;
640
+ // (undocumented)
641
+ rounded(): Vector2;
642
+ // (undocumented)
643
+ scaled(scalar: number): Vector2;
644
+ // (undocumented)
645
+ sub({ x: thatX, y: thatY }: Vector2): Vector2;
646
+ // (undocumented)
647
+ toString(): string;
648
+ // (undocumented)
649
+ readonly x: number;
650
+ // (undocumented)
651
+ readonly y: number;
652
+ }
653
+
654
+ // @public (undocumented)
655
+ type WithCode = {
656
+ code: string;
657
+ keyCode?: never;
658
+ };
659
+
660
+ // @public (undocumented)
661
+ type WithKeyCode = {
662
+ keyCode: number;
663
+ code?: never;
664
+ };
665
+
666
+ // @public (undocumented)
667
+ type WithMediaButtonAppearance<T> = Omit<T, 'appearance'> & {
668
+ appearance?: MediaButtonAppearance;
669
+ };
670
+
671
+ // @public (undocumented)
672
+ type WithPlaybackProps = {
673
+ readonly isAutoPlay: boolean;
674
+ readonly isHDAvailable?: boolean;
675
+ readonly isHDActive?: boolean;
676
+ };
677
+
678
+ // @public (undocumented)
679
+ export interface WithShowControlMethodProp {
680
+ // (undocumented)
681
+ showControls?: () => void;
682
+ }
683
+
684
+ // (No @packageDocumentation comment for this package)
685
+
686
+ ```