next-cloudinary 6.0.0-beta.6 → 6.0.0-beta.7

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/dist/index.d.mts CHANGED
@@ -2,6 +2,8 @@ import * as _cloudinary_util_url_loader_dist_schema_UX7RRFIR from '@cloudinary-u
2
2
  import React, { MutableRefObject } from 'react';
3
3
  import { ImageProps } from 'next/image';
4
4
  import { ImageOptions, ConfigOptions, AnalyticsOptions, VideoOptions } from '@cloudinary-util/url-loader';
5
+ import { CloudinaryUploadWidgetOptions, CloudinaryUploadWidgetError, CloudinaryUploadWidgetResults, CloudinaryUploadWidgetInstanceMethods, CloudinaryVideoPlayerOptions, CloudinaryVideoPlayer, CloudinaryVideoPlayerOptionsLogo } from '@cloudinary-util/types';
6
+ export { CloudinaryUploadWidgetError, CloudinaryUploadWidgetInfo, CloudinaryUploadWidgetInstanceMethodCloseOptions, CloudinaryUploadWidgetInstanceMethodDestroyOptions, CloudinaryUploadWidgetInstanceMethodOpenOptions, CloudinaryUploadWidgetInstanceMethodUpdateOptions, CloudinaryUploadWidgetInstanceMethods, CloudinaryUploadWidgetOptions, CloudinaryUploadWidgetResults, CloudinaryUploadWidgetSources, CloudinaryVideoPlayer, CloudinaryVideoPlayerOptions, CloudinaryVideoPlayerOptionsColors, CloudinaryVideoPlayerOptionsLogo } from '@cloudinary-util/types';
5
7
 
6
8
  type CldImageProps = Omit<ImageProps, 'src'> & ImageOptions & {
7
9
  config?: ConfigOptions;
@@ -255,72 +257,6 @@ declare const CldOgImage: ({ excludeTags, twitterTitle, keys, ...props }: CldOgI
255
257
 
256
258
  type CldUploadWidgetCloudinaryInstance = any;
257
259
  type CldUploadWidgetWidgetInstance = any;
258
- type CustomURL = `https://${string}.${string}`;
259
- interface CldUploadWidgetResults {
260
- event?: string;
261
- info?: string | CldUploadWidgetInfo;
262
- }
263
- interface CldUploadWidgetInfo {
264
- access_mode: 'public' | 'authenticated';
265
- api_key: string;
266
- asset_id: string;
267
- batchId: string;
268
- bytes: number;
269
- context: Record<string, Record<string, string>>;
270
- created_at: string;
271
- etag: string;
272
- folder: string;
273
- format: string;
274
- height: number;
275
- hook_execution: Record<string, unknown>;
276
- id: string;
277
- info: Record<string, unknown>;
278
- original_filename: string;
279
- pages: number;
280
- path: string;
281
- placeholder: boolean;
282
- public_id: string;
283
- resource_type: 'image' | 'raw' | 'video' | 'auto';
284
- secure_url: string;
285
- signature: string;
286
- tags: string[];
287
- thumbnail_url: string;
288
- type: 'upload' | 'private' | 'authenticated';
289
- url: string;
290
- version: number;
291
- width: number;
292
- [key: string]: unknown;
293
- }
294
- type CldUploadWidgetDestroyInstanceMethodOptions = {
295
- removeThumbnails: boolean;
296
- };
297
- type CldUploadWidgetCloseInstanceMethodOptions = {
298
- quiet: boolean;
299
- };
300
- type CldUploadWidgetOpenInstanceMethodOptions = {
301
- files: CustomURL[];
302
- };
303
- type CldUploadWidgetOpenWidgetSources = 'local' | 'url' | 'camera' | 'image_search' | 'google_drive' | 'dropbox' | 'facebook' | 'instagram' | 'shutterstock' | 'getty' | 'istock' | 'unsplash' | null;
304
- type CldUploadWidgetUpdateInstanceMethodOptions = Omit<CldUploadWidgetPropsOptions, "secure" | "uploadSignature" | "getTags" | "preBatch" | "inlineContainer" | "fieldName"> & {
305
- cloudName: string;
306
- uploadPreset: string;
307
- };
308
- interface CldUploadWidgetInstanceMethods {
309
- close: (options?: CldUploadWidgetCloseInstanceMethodOptions) => void;
310
- destroy: (options?: CldUploadWidgetDestroyInstanceMethodOptions) => Promise<void>;
311
- hide: () => void;
312
- isDestroyed: () => boolean;
313
- isMinimized: () => boolean;
314
- isShowing: () => boolean;
315
- minimize: () => void;
316
- open: (widgetSource?: CldUploadWidgetOpenWidgetSources, options?: CldUploadWidgetOpenInstanceMethodOptions) => void;
317
- show: () => void;
318
- update: (options: CldUploadWidgetUpdateInstanceMethodOptions) => void;
319
- }
320
- type CldUploadWidgetError = {
321
- status: string;
322
- statusText: string;
323
- } | string | null;
324
260
  interface CldUploadWidgetProps {
325
261
  children?: ({ cloudinary, widget, open, results, error }: CldUploadWidgetPropsChildren) => JSX.Element;
326
262
  onError?: CldUploadEventCallbackError;
@@ -339,92 +275,24 @@ interface CldUploadWidgetProps {
339
275
  onSuccess?: CldUploadEventCallback;
340
276
  onTags?: CldUploadEventCallback;
341
277
  onUploadAdded?: CldUploadEventCallback;
342
- options?: CldUploadWidgetPropsOptions;
278
+ options?: CloudinaryUploadWidgetOptions;
343
279
  signatureEndpoint?: URL | RequestInfo;
344
280
  uploadPreset?: string;
345
281
  }
346
282
  type CldUploadWidgetPropsChildren = {
347
283
  cloudinary: CldUploadWidgetCloudinaryInstance;
348
284
  widget: CldUploadWidgetWidgetInstance;
349
- error?: CldUploadWidgetError;
285
+ error?: CloudinaryUploadWidgetError;
350
286
  isLoading?: boolean;
351
- results?: CldUploadWidgetResults;
352
- } & CldUploadWidgetInstanceMethods;
353
- interface CldUploadWidgetPropsOptions {
354
- encryption?: {
355
- key: string;
356
- iv: string;
357
- };
358
- defaultSource?: string;
359
- maxFiles?: number;
360
- multiple?: boolean;
361
- sources?: Array<"camera" | "dropbox" | "facebook" | "gettyimages" | "google_drive" | "image_search" | "instagram" | "istock" | "local" | "shutterstock" | "unsplash" | "url">;
362
- cropping?: boolean;
363
- croppingAspectRatio?: number;
364
- croppingCoordinatesMode?: string;
365
- croppingDefaultSelectionRatio?: number;
366
- croppingShowBackButton?: boolean;
367
- croppingShowDimensions?: boolean;
368
- showSkipCropButton?: boolean;
369
- dropboxAppKey?: string;
370
- facebookAppId?: string;
371
- googleApiKey?: string;
372
- googleDriveClientId?: string;
373
- instagramClientId?: string;
374
- searchByRights?: boolean;
375
- searchBySites?: Array<string>;
376
- context?: object;
377
- folder?: string;
378
- publicId?: string;
379
- resourceType?: string;
380
- tags?: Array<string>;
381
- uploadSignature?: string | Function;
382
- uploadSignatureTimestamp?: number;
383
- clientAllowedFormats?: Array<string>;
384
- croppingValidateDimensions?: boolean;
385
- maxChunkSize?: number;
386
- maxImageFileSize?: number;
387
- maxImageHeight?: number;
388
- maxImageWidth?: number;
389
- maxFileSize?: number;
390
- maxRawFileSize?: number;
391
- maxVideoFileSize?: number;
392
- minImageHeight?: number;
393
- minImageWidth?: number;
394
- validateMaxWidthHeight?: boolean;
395
- fieldName?: string;
396
- form?: string;
397
- thumbnails?: string;
398
- thumbnailTransformation?: string | Array<object>;
399
- buttonCaption?: string;
400
- buttonClass?: string;
401
- text?: object;
402
- theme?: string;
403
- styles?: object;
404
- autoMinimize?: boolean;
405
- getTags?: Function;
406
- getUploadPresets?: Function;
407
- inlineContainer?: any;
408
- language?: string;
409
- preBatch?: Function;
410
- prepareUploadParams?: Function;
411
- queueViewPosition?: string;
412
- showAdvancedOptions?: boolean;
413
- showCompletedButton?: boolean;
414
- showInsecurePreview?: boolean;
415
- showPoweredBy?: boolean;
416
- showUploadMoreButton?: boolean;
417
- singleUploadAutoClose?: boolean;
418
- detection?: string;
419
- on_success?: string;
420
- }
421
- type CldUploadEventCallback = (results: CldUploadWidgetResults, widget: CldUploadEventCallbackWidget) => void;
422
- type CldUploadEventCallbackNoOptions = (results: CldUploadWidgetResults, widget: CldUploadWidgetWidgetInstance) => void;
287
+ results?: CloudinaryUploadWidgetResults;
288
+ } & CloudinaryUploadWidgetInstanceMethods;
289
+ type CldUploadEventCallback = (results: CloudinaryUploadWidgetResults, widget: CldUploadEventCallbackWidget) => void;
290
+ type CldUploadEventCallbackNoOptions = (results: CloudinaryUploadWidgetResults, widget: CldUploadWidgetWidgetInstance) => void;
423
291
  type CldUploadEventCallbackWidgetOnly = (widget: CldUploadWidgetWidgetInstance) => void;
424
- type CldUploadEventCallbackError = (error: CldUploadWidgetError, widget: CldUploadWidgetWidgetInstance) => void;
292
+ type CldUploadEventCallbackError = (error: CloudinaryUploadWidgetError, widget: CldUploadWidgetWidgetInstance) => void;
425
293
  type CldUploadEventCallbackWidget = {
426
294
  widget: CldUploadWidgetWidgetInstance;
427
- } & CldUploadWidgetInstanceMethods;
295
+ } & CloudinaryUploadWidgetInstanceMethods;
428
296
 
429
297
  declare const CldUploadWidget: ({ children, onClose, onError, onOpen, onUpload, options, signatureEndpoint, uploadPreset, ...props }: CldUploadWidgetProps) => React.JSX.Element;
430
298
 
@@ -435,84 +303,6 @@ interface CldUploadButtonProps extends Omit<CldUploadWidgetProps, 'children'> {
435
303
  }
436
304
  declare const CldUploadButton: ({ className, children, onClick, onError, onOpen, onUpload, onAbort, onBatchCancelled, onClose, onDisplayChanged, onPublicId, onQueuesEnd, onQueuesStart, onRetry, onShowCompleted, onSourceChanged, onSuccess, onTags, onUploadAdded, options, signatureEndpoint, uploadPreset, ...props }: CldUploadButtonProps) => React.JSX.Element;
437
305
 
438
- interface CloudinaryVideoPlayer {
439
- on: Function;
440
- }
441
- interface CloudinaryVideoPlayerOptionsLogo {
442
- logoImageUrl?: string;
443
- logoOnclickUrl?: string;
444
- showLogo?: boolean;
445
- }
446
- interface CloudinaryVideoPlayerOptions extends CloudinaryVideoPlayerOptionsLogo {
447
- aiHighlightsGraph?: boolean;
448
- bigPlayButton?: boolean | string;
449
- colors?: CloudinaryVideoPlayerOptionsColors;
450
- controlBar?: {
451
- pictureInPictureToggle?: boolean;
452
- chaptersButton?: boolean;
453
- };
454
- controls?: boolean;
455
- floatingWhenNotVisible?: string;
456
- fluid?: boolean;
457
- fontFace?: string;
458
- hideContextMenu?: boolean;
459
- interactionAreas?: any;
460
- playbackRates?: Array<any>;
461
- playlistWidget?: {
462
- direction?: string;
463
- total?: string;
464
- };
465
- posterOptions?: CloudinaryVideoPlayerOptionPosterOptions;
466
- showJumpControls?: boolean;
467
- seekThumbnails?: boolean;
468
- videoJS?: object;
469
- autoPlay?: string | boolean | undefined;
470
- autoplay?: string | boolean | undefined;
471
- autoplayMode?: string;
472
- autoShowRecommendations?: boolean;
473
- loop?: boolean;
474
- maxTries?: Number;
475
- muted?: boolean;
476
- playedEventPercents?: number[];
477
- playedEventTimes?: null | Array<any>;
478
- playsinline?: boolean;
479
- videoTimeout?: number;
480
- withCredentials?: boolean;
481
- chapters?: object;
482
- preload?: string;
483
- publicId?: string;
484
- sourceTransformation?: object;
485
- sourceTypes?: Array<string>;
486
- transformation?: Array<object> | object;
487
- ads?: {
488
- adTagUrl?: string;
489
- adsInPlaylist?: string;
490
- showCountdown?: boolean;
491
- adLabel?: string;
492
- locale?: string;
493
- prerollTimeout?: number;
494
- postrollTimeout?: number;
495
- };
496
- analytics?: boolean;
497
- allowUsageReport?: Boolean;
498
- cloud_name?: string;
499
- cname?: string;
500
- privateCdn?: boolean;
501
- queryParams?: Record<string, string | number | boolean> | string;
502
- secure?: boolean;
503
- secureDistribution?: string;
504
- language?: string;
505
- languages?: Record<string, object>;
506
- }
507
- interface CloudinaryVideoPlayerOptionsColors {
508
- accent?: string;
509
- base?: string;
510
- text?: string;
511
- }
512
- interface CloudinaryVideoPlayerOptionPosterOptions {
513
- publicId: string;
514
- }
515
-
516
306
  /**
517
307
  * getCldImageUrl
518
308
  */
@@ -547,8 +337,6 @@ type CldVideoPlayerProps = Omit<CloudinaryVideoPlayerOptions, "cloud_name" | "au
547
337
  quality?: string | number;
548
338
  width: string | number;
549
339
  };
550
- interface CldVideoPlayerPropsColors extends CloudinaryVideoPlayerOptionsColors {
551
- }
552
340
  interface CldVideoPlayerPropsLogo {
553
341
  imageUrl?: CloudinaryVideoPlayerOptionsLogo['logoImageUrl'];
554
342
  logo?: boolean;
@@ -578,4 +366,4 @@ declare function cloudinaryLoader({ loaderOptions, imageProps, cldOptions, cldCo
578
366
  type GetCldOgImageUrlOptions = GetCldImageUrlOptions;
579
367
  declare function getCldOgImageUrl(options: GetCldOgImageUrlOptions): string;
580
368
 
581
- export { CldImage, type CldImageProps, CldOgImage, type CldOgImageProps, CldUploadButton, type CldUploadButtonProps, CldUploadWidget, type CldUploadWidgetInfo, type CldUploadWidgetProps, type CldUploadWidgetPropsChildren, type CldUploadWidgetPropsOptions, type CldUploadWidgetResults, CldVideoPlayer, type CldVideoPlayerProps, type CldVideoPlayerPropsColors, type CldVideoPlayerPropsLogo, type CloudinaryLoader, type CloudinaryLoaderCldOptions, type CloudinaryLoaderLoaderOptions, type CloudinaryVideoPlayer, type CloudinaryVideoPlayerOptions, type CloudinaryVideoPlayerOptionsColors, type CloudinaryVideoPlayerOptionsLogo, type GetCldImageUrlAnalytics, type GetCldImageUrlConfig, type GetCldImageUrlOptions, type GetCldOgImageUrlOptions, type GetCldVideoUrlAnalytics, type GetCldVideoUrlConfig, type GetCldVideoUrlOptions, cloudinaryLoader, getCldImageUrl, getCldOgImageUrl, getCldVideoUrl };
369
+ export { CldImage, type CldImageProps, CldOgImage, type CldOgImageProps, CldUploadButton, type CldUploadButtonProps, CldUploadWidget, type CldUploadWidgetProps, type CldUploadWidgetPropsChildren, CldVideoPlayer, type CldVideoPlayerProps, type CldVideoPlayerPropsLogo, type CloudinaryLoader, type CloudinaryLoaderCldOptions, type CloudinaryLoaderLoaderOptions, type GetCldImageUrlAnalytics, type GetCldImageUrlConfig, type GetCldImageUrlOptions, type GetCldOgImageUrlOptions, type GetCldVideoUrlAnalytics, type GetCldVideoUrlConfig, type GetCldVideoUrlOptions, cloudinaryLoader, getCldImageUrl, getCldOgImageUrl, getCldVideoUrl };
package/dist/index.d.ts CHANGED
@@ -2,6 +2,8 @@ import * as _cloudinary_util_url_loader_dist_schema_UX7RRFIR from '@cloudinary-u
2
2
  import React, { MutableRefObject } from 'react';
3
3
  import { ImageProps } from 'next/image';
4
4
  import { ImageOptions, ConfigOptions, AnalyticsOptions, VideoOptions } from '@cloudinary-util/url-loader';
5
+ import { CloudinaryUploadWidgetOptions, CloudinaryUploadWidgetError, CloudinaryUploadWidgetResults, CloudinaryUploadWidgetInstanceMethods, CloudinaryVideoPlayerOptions, CloudinaryVideoPlayer, CloudinaryVideoPlayerOptionsLogo } from '@cloudinary-util/types';
6
+ export { CloudinaryUploadWidgetError, CloudinaryUploadWidgetInfo, CloudinaryUploadWidgetInstanceMethodCloseOptions, CloudinaryUploadWidgetInstanceMethodDestroyOptions, CloudinaryUploadWidgetInstanceMethodOpenOptions, CloudinaryUploadWidgetInstanceMethodUpdateOptions, CloudinaryUploadWidgetInstanceMethods, CloudinaryUploadWidgetOptions, CloudinaryUploadWidgetResults, CloudinaryUploadWidgetSources, CloudinaryVideoPlayer, CloudinaryVideoPlayerOptions, CloudinaryVideoPlayerOptionsColors, CloudinaryVideoPlayerOptionsLogo } from '@cloudinary-util/types';
5
7
 
6
8
  type CldImageProps = Omit<ImageProps, 'src'> & ImageOptions & {
7
9
  config?: ConfigOptions;
@@ -255,72 +257,6 @@ declare const CldOgImage: ({ excludeTags, twitterTitle, keys, ...props }: CldOgI
255
257
 
256
258
  type CldUploadWidgetCloudinaryInstance = any;
257
259
  type CldUploadWidgetWidgetInstance = any;
258
- type CustomURL = `https://${string}.${string}`;
259
- interface CldUploadWidgetResults {
260
- event?: string;
261
- info?: string | CldUploadWidgetInfo;
262
- }
263
- interface CldUploadWidgetInfo {
264
- access_mode: 'public' | 'authenticated';
265
- api_key: string;
266
- asset_id: string;
267
- batchId: string;
268
- bytes: number;
269
- context: Record<string, Record<string, string>>;
270
- created_at: string;
271
- etag: string;
272
- folder: string;
273
- format: string;
274
- height: number;
275
- hook_execution: Record<string, unknown>;
276
- id: string;
277
- info: Record<string, unknown>;
278
- original_filename: string;
279
- pages: number;
280
- path: string;
281
- placeholder: boolean;
282
- public_id: string;
283
- resource_type: 'image' | 'raw' | 'video' | 'auto';
284
- secure_url: string;
285
- signature: string;
286
- tags: string[];
287
- thumbnail_url: string;
288
- type: 'upload' | 'private' | 'authenticated';
289
- url: string;
290
- version: number;
291
- width: number;
292
- [key: string]: unknown;
293
- }
294
- type CldUploadWidgetDestroyInstanceMethodOptions = {
295
- removeThumbnails: boolean;
296
- };
297
- type CldUploadWidgetCloseInstanceMethodOptions = {
298
- quiet: boolean;
299
- };
300
- type CldUploadWidgetOpenInstanceMethodOptions = {
301
- files: CustomURL[];
302
- };
303
- type CldUploadWidgetOpenWidgetSources = 'local' | 'url' | 'camera' | 'image_search' | 'google_drive' | 'dropbox' | 'facebook' | 'instagram' | 'shutterstock' | 'getty' | 'istock' | 'unsplash' | null;
304
- type CldUploadWidgetUpdateInstanceMethodOptions = Omit<CldUploadWidgetPropsOptions, "secure" | "uploadSignature" | "getTags" | "preBatch" | "inlineContainer" | "fieldName"> & {
305
- cloudName: string;
306
- uploadPreset: string;
307
- };
308
- interface CldUploadWidgetInstanceMethods {
309
- close: (options?: CldUploadWidgetCloseInstanceMethodOptions) => void;
310
- destroy: (options?: CldUploadWidgetDestroyInstanceMethodOptions) => Promise<void>;
311
- hide: () => void;
312
- isDestroyed: () => boolean;
313
- isMinimized: () => boolean;
314
- isShowing: () => boolean;
315
- minimize: () => void;
316
- open: (widgetSource?: CldUploadWidgetOpenWidgetSources, options?: CldUploadWidgetOpenInstanceMethodOptions) => void;
317
- show: () => void;
318
- update: (options: CldUploadWidgetUpdateInstanceMethodOptions) => void;
319
- }
320
- type CldUploadWidgetError = {
321
- status: string;
322
- statusText: string;
323
- } | string | null;
324
260
  interface CldUploadWidgetProps {
325
261
  children?: ({ cloudinary, widget, open, results, error }: CldUploadWidgetPropsChildren) => JSX.Element;
326
262
  onError?: CldUploadEventCallbackError;
@@ -339,92 +275,24 @@ interface CldUploadWidgetProps {
339
275
  onSuccess?: CldUploadEventCallback;
340
276
  onTags?: CldUploadEventCallback;
341
277
  onUploadAdded?: CldUploadEventCallback;
342
- options?: CldUploadWidgetPropsOptions;
278
+ options?: CloudinaryUploadWidgetOptions;
343
279
  signatureEndpoint?: URL | RequestInfo;
344
280
  uploadPreset?: string;
345
281
  }
346
282
  type CldUploadWidgetPropsChildren = {
347
283
  cloudinary: CldUploadWidgetCloudinaryInstance;
348
284
  widget: CldUploadWidgetWidgetInstance;
349
- error?: CldUploadWidgetError;
285
+ error?: CloudinaryUploadWidgetError;
350
286
  isLoading?: boolean;
351
- results?: CldUploadWidgetResults;
352
- } & CldUploadWidgetInstanceMethods;
353
- interface CldUploadWidgetPropsOptions {
354
- encryption?: {
355
- key: string;
356
- iv: string;
357
- };
358
- defaultSource?: string;
359
- maxFiles?: number;
360
- multiple?: boolean;
361
- sources?: Array<"camera" | "dropbox" | "facebook" | "gettyimages" | "google_drive" | "image_search" | "instagram" | "istock" | "local" | "shutterstock" | "unsplash" | "url">;
362
- cropping?: boolean;
363
- croppingAspectRatio?: number;
364
- croppingCoordinatesMode?: string;
365
- croppingDefaultSelectionRatio?: number;
366
- croppingShowBackButton?: boolean;
367
- croppingShowDimensions?: boolean;
368
- showSkipCropButton?: boolean;
369
- dropboxAppKey?: string;
370
- facebookAppId?: string;
371
- googleApiKey?: string;
372
- googleDriveClientId?: string;
373
- instagramClientId?: string;
374
- searchByRights?: boolean;
375
- searchBySites?: Array<string>;
376
- context?: object;
377
- folder?: string;
378
- publicId?: string;
379
- resourceType?: string;
380
- tags?: Array<string>;
381
- uploadSignature?: string | Function;
382
- uploadSignatureTimestamp?: number;
383
- clientAllowedFormats?: Array<string>;
384
- croppingValidateDimensions?: boolean;
385
- maxChunkSize?: number;
386
- maxImageFileSize?: number;
387
- maxImageHeight?: number;
388
- maxImageWidth?: number;
389
- maxFileSize?: number;
390
- maxRawFileSize?: number;
391
- maxVideoFileSize?: number;
392
- minImageHeight?: number;
393
- minImageWidth?: number;
394
- validateMaxWidthHeight?: boolean;
395
- fieldName?: string;
396
- form?: string;
397
- thumbnails?: string;
398
- thumbnailTransformation?: string | Array<object>;
399
- buttonCaption?: string;
400
- buttonClass?: string;
401
- text?: object;
402
- theme?: string;
403
- styles?: object;
404
- autoMinimize?: boolean;
405
- getTags?: Function;
406
- getUploadPresets?: Function;
407
- inlineContainer?: any;
408
- language?: string;
409
- preBatch?: Function;
410
- prepareUploadParams?: Function;
411
- queueViewPosition?: string;
412
- showAdvancedOptions?: boolean;
413
- showCompletedButton?: boolean;
414
- showInsecurePreview?: boolean;
415
- showPoweredBy?: boolean;
416
- showUploadMoreButton?: boolean;
417
- singleUploadAutoClose?: boolean;
418
- detection?: string;
419
- on_success?: string;
420
- }
421
- type CldUploadEventCallback = (results: CldUploadWidgetResults, widget: CldUploadEventCallbackWidget) => void;
422
- type CldUploadEventCallbackNoOptions = (results: CldUploadWidgetResults, widget: CldUploadWidgetWidgetInstance) => void;
287
+ results?: CloudinaryUploadWidgetResults;
288
+ } & CloudinaryUploadWidgetInstanceMethods;
289
+ type CldUploadEventCallback = (results: CloudinaryUploadWidgetResults, widget: CldUploadEventCallbackWidget) => void;
290
+ type CldUploadEventCallbackNoOptions = (results: CloudinaryUploadWidgetResults, widget: CldUploadWidgetWidgetInstance) => void;
423
291
  type CldUploadEventCallbackWidgetOnly = (widget: CldUploadWidgetWidgetInstance) => void;
424
- type CldUploadEventCallbackError = (error: CldUploadWidgetError, widget: CldUploadWidgetWidgetInstance) => void;
292
+ type CldUploadEventCallbackError = (error: CloudinaryUploadWidgetError, widget: CldUploadWidgetWidgetInstance) => void;
425
293
  type CldUploadEventCallbackWidget = {
426
294
  widget: CldUploadWidgetWidgetInstance;
427
- } & CldUploadWidgetInstanceMethods;
295
+ } & CloudinaryUploadWidgetInstanceMethods;
428
296
 
429
297
  declare const CldUploadWidget: ({ children, onClose, onError, onOpen, onUpload, options, signatureEndpoint, uploadPreset, ...props }: CldUploadWidgetProps) => React.JSX.Element;
430
298
 
@@ -435,84 +303,6 @@ interface CldUploadButtonProps extends Omit<CldUploadWidgetProps, 'children'> {
435
303
  }
436
304
  declare const CldUploadButton: ({ className, children, onClick, onError, onOpen, onUpload, onAbort, onBatchCancelled, onClose, onDisplayChanged, onPublicId, onQueuesEnd, onQueuesStart, onRetry, onShowCompleted, onSourceChanged, onSuccess, onTags, onUploadAdded, options, signatureEndpoint, uploadPreset, ...props }: CldUploadButtonProps) => React.JSX.Element;
437
305
 
438
- interface CloudinaryVideoPlayer {
439
- on: Function;
440
- }
441
- interface CloudinaryVideoPlayerOptionsLogo {
442
- logoImageUrl?: string;
443
- logoOnclickUrl?: string;
444
- showLogo?: boolean;
445
- }
446
- interface CloudinaryVideoPlayerOptions extends CloudinaryVideoPlayerOptionsLogo {
447
- aiHighlightsGraph?: boolean;
448
- bigPlayButton?: boolean | string;
449
- colors?: CloudinaryVideoPlayerOptionsColors;
450
- controlBar?: {
451
- pictureInPictureToggle?: boolean;
452
- chaptersButton?: boolean;
453
- };
454
- controls?: boolean;
455
- floatingWhenNotVisible?: string;
456
- fluid?: boolean;
457
- fontFace?: string;
458
- hideContextMenu?: boolean;
459
- interactionAreas?: any;
460
- playbackRates?: Array<any>;
461
- playlistWidget?: {
462
- direction?: string;
463
- total?: string;
464
- };
465
- posterOptions?: CloudinaryVideoPlayerOptionPosterOptions;
466
- showJumpControls?: boolean;
467
- seekThumbnails?: boolean;
468
- videoJS?: object;
469
- autoPlay?: string | boolean | undefined;
470
- autoplay?: string | boolean | undefined;
471
- autoplayMode?: string;
472
- autoShowRecommendations?: boolean;
473
- loop?: boolean;
474
- maxTries?: Number;
475
- muted?: boolean;
476
- playedEventPercents?: number[];
477
- playedEventTimes?: null | Array<any>;
478
- playsinline?: boolean;
479
- videoTimeout?: number;
480
- withCredentials?: boolean;
481
- chapters?: object;
482
- preload?: string;
483
- publicId?: string;
484
- sourceTransformation?: object;
485
- sourceTypes?: Array<string>;
486
- transformation?: Array<object> | object;
487
- ads?: {
488
- adTagUrl?: string;
489
- adsInPlaylist?: string;
490
- showCountdown?: boolean;
491
- adLabel?: string;
492
- locale?: string;
493
- prerollTimeout?: number;
494
- postrollTimeout?: number;
495
- };
496
- analytics?: boolean;
497
- allowUsageReport?: Boolean;
498
- cloud_name?: string;
499
- cname?: string;
500
- privateCdn?: boolean;
501
- queryParams?: Record<string, string | number | boolean> | string;
502
- secure?: boolean;
503
- secureDistribution?: string;
504
- language?: string;
505
- languages?: Record<string, object>;
506
- }
507
- interface CloudinaryVideoPlayerOptionsColors {
508
- accent?: string;
509
- base?: string;
510
- text?: string;
511
- }
512
- interface CloudinaryVideoPlayerOptionPosterOptions {
513
- publicId: string;
514
- }
515
-
516
306
  /**
517
307
  * getCldImageUrl
518
308
  */
@@ -547,8 +337,6 @@ type CldVideoPlayerProps = Omit<CloudinaryVideoPlayerOptions, "cloud_name" | "au
547
337
  quality?: string | number;
548
338
  width: string | number;
549
339
  };
550
- interface CldVideoPlayerPropsColors extends CloudinaryVideoPlayerOptionsColors {
551
- }
552
340
  interface CldVideoPlayerPropsLogo {
553
341
  imageUrl?: CloudinaryVideoPlayerOptionsLogo['logoImageUrl'];
554
342
  logo?: boolean;
@@ -578,4 +366,4 @@ declare function cloudinaryLoader({ loaderOptions, imageProps, cldOptions, cldCo
578
366
  type GetCldOgImageUrlOptions = GetCldImageUrlOptions;
579
367
  declare function getCldOgImageUrl(options: GetCldOgImageUrlOptions): string;
580
368
 
581
- export { CldImage, type CldImageProps, CldOgImage, type CldOgImageProps, CldUploadButton, type CldUploadButtonProps, CldUploadWidget, type CldUploadWidgetInfo, type CldUploadWidgetProps, type CldUploadWidgetPropsChildren, type CldUploadWidgetPropsOptions, type CldUploadWidgetResults, CldVideoPlayer, type CldVideoPlayerProps, type CldVideoPlayerPropsColors, type CldVideoPlayerPropsLogo, type CloudinaryLoader, type CloudinaryLoaderCldOptions, type CloudinaryLoaderLoaderOptions, type CloudinaryVideoPlayer, type CloudinaryVideoPlayerOptions, type CloudinaryVideoPlayerOptionsColors, type CloudinaryVideoPlayerOptionsLogo, type GetCldImageUrlAnalytics, type GetCldImageUrlConfig, type GetCldImageUrlOptions, type GetCldOgImageUrlOptions, type GetCldVideoUrlAnalytics, type GetCldVideoUrlConfig, type GetCldVideoUrlOptions, cloudinaryLoader, getCldImageUrl, getCldOgImageUrl, getCldVideoUrl };
369
+ export { CldImage, type CldImageProps, CldOgImage, type CldOgImageProps, CldUploadButton, type CldUploadButtonProps, CldUploadWidget, type CldUploadWidgetProps, type CldUploadWidgetPropsChildren, CldVideoPlayer, type CldVideoPlayerProps, type CldVideoPlayerPropsLogo, type CloudinaryLoader, type CloudinaryLoaderCldOptions, type CloudinaryLoaderLoaderOptions, type GetCldImageUrlAnalytics, type GetCldImageUrlConfig, type GetCldImageUrlOptions, type GetCldOgImageUrlOptions, type GetCldVideoUrlAnalytics, type GetCldVideoUrlConfig, type GetCldVideoUrlOptions, cloudinaryLoader, getCldImageUrl, getCldOgImageUrl, getCldVideoUrl };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var ve=Object.create;var q=Object.defineProperty;var We=Object.getOwnPropertyDescriptor;var Me=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,De=Object.prototype.hasOwnProperty;var Se=(e,t)=>{for(var a in t)q(e,a,{get:t[a],enumerable:!0})},fe=(e,t,a,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of Me(t))!De.call(e,o)&&o!==a&&q(e,o,{get:()=>t[o],enumerable:!(i=We(t,o))||i.enumerable});return e};var E=(e,t,a)=>(a=e!=null?ve(Ve(e)):{},fe(t||!e||!e.__esModule?q(a,"default",{value:e,enumerable:!0}):a,e)),ke=e=>fe(q({},"__esModule",{value:!0}),e);var ze={};Se(ze,{CldImage:()=>de,CldOgImage:()=>se,CldUploadButton:()=>pe,CldUploadWidget:()=>Y,CldVideoPlayer:()=>ce,cloudinaryLoader:()=>ee,getCldImageUrl:()=>y,getCldOgImageUrl:()=>xe,getCldVideoUrl:()=>te});module.exports=ke(ze);var x=E(require("react")),Ie=E(require("next/image")),Ue=require("@cloudinary-util/util"),Oe=require("@cloudinary-util/url-loader");async function K(e){let{src:t}=e;try{await new Promise((a,i)=>{fetch(t).then(o=>{if(!o.ok){i(o);return}a(o)})})}catch(a){return a.status===423?await K(e):!1}return!0}function T(e){if(!e)throw new Error("A Cloudinary Cloud name is required, please make sure NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME is set and configured in your environment.")}var he=require("@cloudinary-util/url-loader");var Ce=E(require("next/package.json"));var ye={name:"next-cloudinary",version:"6.0.0-beta.6",license:"MIT",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",source:"src/index.ts",scripts:{build:"tsup",dev:"tsup --watch",prepublishOnly:"cp ../README.md . && cp ../LICENSE . && pnpm build",postpublish:"rm ./README.md && rm ./LICENSE",test:"jest","test:app":'NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME="test" pnpm build && cd tests/nextjs-app && pnpm build'},dependencies:{"@cloudinary-util/url-loader":"4.2.0","@cloudinary-util/util":"^2.3.0"},devDependencies:{"@babel/core":"^7.23.2","@babel/preset-env":"^7.23.2","@types/jest":"^29.5.6","@types/node":"^20.11.5","@types/react":"^18.2.33","@types/react-dom":"^18.2.14","babel-jest":"^29.7.0",dotenv:"^16.3.1",jest:"^29.7.0","jest-environment-jsdom":"^29.7.0",mkdirp:"^3.0.1","ts-jest":"^29.1.1",tsup:"^7.2.0",typescript:"^5.2.2"},peerDependencies:{next:"^12 || ^13 || ^14",react:"^17 || ^18"}};var Q="V",J=ye.version,Z=Ce.default.version;function y(e,t,a){var o,n;let i=(n=(o=t==null?void 0:t.cloud)==null?void 0:o.cloudName)!=null?n:process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME;return T(i),(0,he.constructCloudinaryUrl)({options:e,config:Object.assign({cloud:{cloudName:i}},t),analytics:Object.assign({sdkCode:Q,sdkSemver:J,techVersion:Z,feature:""},a)})}function ee({loaderOptions:e,imageProps:t,cldOptions:a,cldConfig:i={}}){let o={...t,...a};o.width=typeof o.width=="string"?parseInt(o.width):o.width,o.height=typeof o.height=="string"?parseInt(o.height):o.height;let n;return typeof(e==null?void 0:e.width)=="number"&&typeof o.width=="number"&&e.width!==o.width?n=e.width:typeof(e==null?void 0:e.width)=="number"&&typeof(o==null?void 0:o.width)!="number"&&(n=e.width,o.width=n),o.width&&n&&n<o.width&&(o.widthResize=e.width),y(o,i)}var je=(0,x.forwardRef)(function(t,a){let i=!1,o=["deliveryType","preserveTransformations","strictTransformations","assetType"];Oe.transformationPlugins.forEach(({props:d})=>{Object.keys(d).forEach(O=>{if(o.includes(O))throw new Error(`Option ${O} already exists!`);o.push(O)})});let n={alt:t.alt,src:t.src};Object.keys(t).filter(d=>!o.includes(d)).forEach(d=>n[d]=t[d]);let c=Object.keys(n).map(d=>`${d}:${n[d]}`).join(";"),[C,h]=(0,x.useState)(c),u={};if(o.forEach(d=>{t[d]&&(u[d]=t[d]||void 0)}),t.preserveTransformations)try{let d=(0,Ue.getTransformations)(t.src).map(I=>I.join(","));u.rawTransformations=[...d.flat(),...t.rawTransformations||[]]}catch(d){console.warn(`Failed to preserve transformations: ${d.message}`)}let r=process.env.__NEXT_IMAGE_OPTS||{};(t.unoptimized===!0||(r==null?void 0:r.unoptimized)===!0)&&(n.src=y({...u,width:n.width,height:n.height,src:n.src,format:"default",quality:"default"},t.config));async function A(d){let I=!0;if(i)return;if(i=!0,typeof t.onError=="function"){let _=t.onError(d);typeof _=="boolean"&&_===!1&&(I=!1)}else typeof t.onError=="boolean"&&t.onError===!1&&(I=!1);if(I===!1)return;let O=d.target;await K({src:O.src})&&h(`${c};${Date.now()}`)}let P=(0,x.useCallback)(A,[K,c]),w=Ie.default;return"default"in w&&(w=w.default),x.default.createElement(w,{key:C,...n,loader:d=>ee({loaderOptions:d,imageProps:n,cldOptions:u,cldConfig:t.config}),onError:P,ref:a})}),de=je;var b=E(require("react")),Ee=E(require("next/head"));var Re="summary_large_image",He=({excludeTags:e=[],twitterTitle:t,keys:a={},...i})=>{let{alt:o}=i,n={...i,crop:i.crop||"fill",gravity:i.gravity||"center",height:i.height||1254,src:i.src,width:i.width||2400,widthResize:i.width||1200},c=typeof n.width=="string"?parseInt(n.width):n.width,C=typeof n.height=="string"?parseInt(n.height):n.height;typeof C=="number"&&typeof c=="number"&&(C=1200/c*C),c=1200;let h=y({...n,format:i.format||"jpg"}),u=y({...n,format:i.format||"webp"}),r={"og:image":"og-image","og:image:secure_url":"og-image-secureurl","og:image:width":"og-image-width","og:image:height":"og-image-height","og:image:alt":"og-image-alt","twitter:title":"twitter-title","twitter:card":"twitter-card","twitter:image":"twitter-image",...a};return b.default.createElement(Ee.default,null,b.default.createElement("meta",{key:r["og:image"],property:"og:image",content:h}),b.default.createElement("meta",{key:r["og:image:secure_url"],property:"og:image:secure_url",content:h}),b.default.createElement("meta",{key:r["og:image:width"],property:"og:image:width",content:`${c}`}),b.default.createElement("meta",{key:r["og:image:height"],property:"og:image:height",content:`${C}`}),o&&b.default.createElement("meta",{key:r["og:image:alt"],property:"og:image:alt",content:o}),!e.includes("twitter:title")&&b.default.createElement("meta",{key:r["twitter:title"],property:"twitter:title",content:t||" "}),b.default.createElement("meta",{key:r["twitter:card"],property:"twitter:card",content:Re}),b.default.createElement("meta",{key:r["twitter:image"],property:"twitter:image",content:u}))},se=He;var $=E(require("react"));var g=E(require("react")),we=E(require("next/script"));function Pe(e){return window&&"requestIdleCallback"in window?requestIdleCallback(e):setTimeout(()=>e(),1)}var Xe=["success","display-changed"],Be={abort:"onAbort","batch-cancelled":"onBatchCancelled","display-changed":"onDisplayChanged",publicid:"onPublicId","queues-end":"onQueuesEnd","queues-start":"onQueuesStart",retry:"onRetry","show-completed":"onShowCompleted","source-changed":"onSourceChanged",success:"onSuccess",tags:"onTags","upload-added":"onUploadAdded"},Fe=({children:e,onClose:t,onError:a,onOpen:i,onUpload:o,options:n,signatureEndpoint:c,uploadPreset:C,...h})=>{let u=(0,g.useRef)(),r=(0,g.useRef)(),A=!!c,[P,w]=(0,g.useState)(void 0),[d,I]=(0,g.useState)(void 0),[O,S]=(0,g.useState)(!0),_={cloudName:process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME,uploadPreset:C||process.env.NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET,apiKey:process.env.NEXT_PUBLIC_CLOUDINARY_API_KEY,...n};T(process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME),A&&(_.uploadSignature=k,_.apiKey||console.warn("Missing dependency: Signed Upload requires an API key")),(0,g.useEffect)(()=>{if(typeof d=="undefined")return;let l=d.event==="success",U=d.event==="display-changed"&&d.info==="hidden";l&&typeof o=="function"&&o(d,r.current),U&&typeof t=="function"&&t(r.current)},[d]),(0,g.useEffect)(()=>{P&&typeof a=="function"&&a(P,r.current)},[P]);function L(){S(!1),u.current||(u.current=window.cloudinary),Pe(()=>{r.current||(r.current=N())})}(0,g.useEffect)(()=>()=>{var l;(l=r.current)==null||l.destroy(),r.current=void 0},[]);function k(l,U){if(typeof c=="undefined")throw Error("Failed to generate signature: signatureEndpoint undefined.");fetch(c,{method:"POST",body:JSON.stringify({paramsToSign:U}),headers:{"Content-Type":"application/json"}}).then(p=>p.json()).then(({signature:p})=>{l(p)})}function m(l,U=[]){if(r.current||(r.current=N()),typeof(r==null?void 0:r.current[l])=="function")return r.current[l](...U)}function v(l){m("close",[l])}function R(l){return m("destroy",[l])}function H(){m("hide")}function X(){return m("isDestroyed")}function W(){return m("isMinimized")}function M(){return m("isShowing")}function z(){m("minimize")}function re(l,U){m("open",[l,U]),typeof i=="function"&&i(r.current)}function B(){m("show")}function ne(){m("update")}let V={close:v,destroy:R,hide:H,isDestroyed:X,isMinimized:W,isShowing:M,minimize:z,open:re,show:B,update:ne};function N(){var l;return(l=u.current)==null?void 0:l.createUploadWidget(_,(U,p)=>{if(U&&U!==null&&w(U),typeof(p==null?void 0:p.event)=="string"){Xe.includes(p==null?void 0:p.event)&&I(p);let G=Be[p.event];if(typeof G=="string"&&typeof h[G]=="function"&&typeof h[G]){let ie=h[G];ie(p,{widget:r.current,...V})}}})}return g.default.createElement(g.default.Fragment,null,typeof e=="function"&&e({cloudinary:u.current,widget:r.current,results:d,error:P,isLoading:O,...V}),g.default.createElement(we.default,{id:`cloudinary-uploadwidget-${Math.floor(Math.random()*100)}`,src:"https://upload-widget.cloudinary.com/global/all.js",onLoad:L,onError:l=>console.error(`Failed to load Cloudinary Upload Widget: ${l.message}`)}))},Y=Fe;var Ye=({className:e,children:t,onClick:a,onError:i,onOpen:o,onUpload:n,onAbort:c,onBatchCancelled:C,onClose:h,onDisplayChanged:u,onPublicId:r,onQueuesEnd:A,onQueuesStart:P,onRetry:w,onShowCompleted:d,onSourceChanged:I,onSuccess:O,onTags:S,onUploadAdded:_,options:L,signatureEndpoint:k,uploadPreset:m,...v})=>$.default.createElement($.default.Fragment,null,$.default.createElement(Y,{onError:i,onOpen:o,onUpload:n,onAbort:c,onBatchCancelled:C,onClose:h,onDisplayChanged:u,onPublicId:r,onQueuesEnd:A,onQueuesStart:P,onRetry:w,onShowCompleted:d,onSourceChanged:I,onSuccess:O,onTags:S,onUploadAdded:_,options:L,signatureEndpoint:k,uploadPreset:m},({open:R,isLoading:H})=>{function X(W){W.preventDefault(),R(),typeof a=="function"&&a(W)}return $.default.createElement("button",{...v,className:e||"",onClick:X,disabled:H},t||"Upload")})),pe=Ye;var f=E(require("react")),be=E(require("next/script")),Ne=E(require("next/head")),Te=require("@cloudinary-util/util");var _e=require("@cloudinary-util/url-loader");function te(e,t,a){var o,n;let i=(n=(o=t==null?void 0:t.cloud)==null?void 0:o.cloudName)!=null?n:process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME;return T(i),(0,_e.constructCloudinaryUrl)({options:{assetType:"video",...e},config:Object.assign({cloud:{cloudName:i}},t),analytics:Object.assign({sdkCode:Q,sdkSemver:J,techVersion:Z,feature:""},a)})}var oe=[],Le="1.10.4",$e=e=>{let{autoplay:t,className:a,colors:i,controls:o=!0,fontFace:n,height:c,id:C,language:h,languages:u,logo:r=!0,loop:A=!1,muted:P=!1,onDataLoad:w,onError:d,onMetadataLoad:I,onPause:O,onPlay:S,onEnded:_,poster:L,src:k,sourceTypes:m,transformation:v,quality:R="auto",width:H,...X}=e,W=Array.isArray(v)?v:[v],M=k||"";if(M.startsWith("http"))try{let s=(0,Te.parseUrl)(k);typeof(s==null?void 0:s.publicId)=="string"&&(M=s==null?void 0:s.publicId)}catch(s){}W.unshift({quality:R});let z=(0,f.useRef)(),re=(0,f.useRef)(),B=e.videoRef||re,ne=(0,f.useRef)(),V=e.playerRef||ne,N=C||`player-${M.replace("/","-")}`,l="cld-video-player cld-fluid";a&&(l=`${l} ${a}`),oe.filter(s=>s===N).length>1?console.warn(`Multiple instances of the same video detected on the
1
+ "use strict";var ve=Object.create;var q=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var We=Object.getOwnPropertyNames;var Ve=Object.getPrototypeOf,De=Object.prototype.hasOwnProperty;var Se=(e,t)=>{for(var d in t)q(e,d,{get:t[d],enumerable:!0})},fe=(e,t,d,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of We(t))!De.call(e,o)&&o!==d&&q(e,o,{get:()=>t[o],enumerable:!(i=Me(t,o))||i.enumerable});return e};var E=(e,t,d)=>(d=e!=null?ve(Ve(e)):{},fe(t||!e||!e.__esModule?q(d,"default",{value:e,enumerable:!0}):d,e)),ke=e=>fe(q({},"__esModule",{value:!0}),e);var ze={};Se(ze,{CldImage:()=>ae,CldOgImage:()=>se,CldUploadButton:()=>pe,CldUploadWidget:()=>Y,CldVideoPlayer:()=>ce,cloudinaryLoader:()=>ee,getCldImageUrl:()=>y,getCldOgImageUrl:()=>Te,getCldVideoUrl:()=>te});module.exports=ke(ze);var T=E(require("react")),Ie=E(require("next/image")),Ue=require("@cloudinary-util/util"),Oe=require("@cloudinary-util/url-loader");async function K(e){let{src:t}=e;try{await new Promise((d,i)=>{fetch(t).then(o=>{if(!o.ok){i(o);return}d(o)})})}catch(d){return d.status===423?await K(e):!1}return!0}function x(e){if(!e)throw new Error("A Cloudinary Cloud name is required, please make sure NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME is set and configured in your environment.")}var he=require("@cloudinary-util/url-loader");var Ce=E(require("next/package.json"));var ye={name:"next-cloudinary",version:"6.0.0-beta.7",license:"MIT",main:"./dist/index.js",module:"./dist/index.mjs",types:"./dist/index.d.ts",source:"src/index.ts",scripts:{build:"tsup",dev:"tsup --watch",prepublishOnly:"cp ../README.md . && cp ../LICENSE . && pnpm build",postpublish:"rm ./README.md && rm ./LICENSE",test:"jest","test:app":'NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME="test" pnpm build && cd tests/nextjs-app && pnpm build'},dependencies:{"@cloudinary-util/types":"1.0.0","@cloudinary-util/url-loader":"4.2.0","@cloudinary-util/util":"^2.3.0"},devDependencies:{"@babel/core":"^7.23.2","@babel/preset-env":"^7.23.2","@types/jest":"^29.5.6","@types/node":"^20.11.5","@types/react":"^18.2.33","@types/react-dom":"^18.2.14","babel-jest":"^29.7.0",dotenv:"^16.3.1",jest:"^29.7.0","jest-environment-jsdom":"^29.7.0",mkdirp:"^3.0.1","ts-jest":"^29.1.1",tsup:"^7.2.0",typescript:"^5.2.2"},peerDependencies:{next:"^12 || ^13 || ^14",react:"^17 || ^18"}};var Q="V",J=ye.version,Z=Ce.default.version;function y(e,t,d){var o,n;let i=(n=(o=t==null?void 0:t.cloud)==null?void 0:o.cloudName)!=null?n:process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME;return x(i),(0,he.constructCloudinaryUrl)({options:e,config:Object.assign({cloud:{cloudName:i}},t),analytics:Object.assign({sdkCode:Q,sdkSemver:J,techVersion:Z,feature:""},d)})}function ee({loaderOptions:e,imageProps:t,cldOptions:d,cldConfig:i={}}){let o={...t,...d};o.width=typeof o.width=="string"?parseInt(o.width):o.width,o.height=typeof o.height=="string"?parseInt(o.height):o.height;let n;return typeof(e==null?void 0:e.width)=="number"&&typeof o.width=="number"&&e.width!==o.width?n=e.width:typeof(e==null?void 0:e.width)=="number"&&typeof(o==null?void 0:o.width)!="number"&&(n=e.width,o.width=n),o.width&&n&&n<o.width&&(o.widthResize=e.width),y(o,i)}var je=(0,T.forwardRef)(function(t,d){let i=!1,o=["deliveryType","preserveTransformations","strictTransformations","assetType"];Oe.transformationPlugins.forEach(({props:a})=>{Object.keys(a).forEach(O=>{if(o.includes(O))throw new Error(`Option ${O} already exists!`);o.push(O)})});let n={alt:t.alt,src:t.src};Object.keys(t).filter(a=>!o.includes(a)).forEach(a=>n[a]=t[a]);let c=Object.keys(n).map(a=>`${a}:${n[a]}`).join(";"),[C,h]=(0,T.useState)(c),u={};if(o.forEach(a=>{t[a]&&(u[a]=t[a]||void 0)}),t.preserveTransformations)try{let a=(0,Ue.getTransformations)(t.src).map(I=>I.join(","));u.rawTransformations=[...a.flat(),...t.rawTransformations||[]]}catch(a){console.warn(`Failed to preserve transformations: ${a.message}`)}let r=process.env.__NEXT_IMAGE_OPTS||{};(t.unoptimized===!0||(r==null?void 0:r.unoptimized)===!0)&&(n.src=y({...u,width:n.width,height:n.height,src:n.src,format:"default",quality:"default"},t.config));async function A(a){let I=!0;if(i)return;if(i=!0,typeof t.onError=="function"){let _=t.onError(a);typeof _=="boolean"&&_===!1&&(I=!1)}else typeof t.onError=="boolean"&&t.onError===!1&&(I=!1);if(I===!1)return;let O=a.target;await K({src:O.src})&&h(`${c};${Date.now()}`)}let w=(0,T.useCallback)(A,[K,c]),P=Ie.default;return"default"in P&&(P=P.default),T.default.createElement(P,{key:C,...n,loader:a=>ee({loaderOptions:a,imageProps:n,cldOptions:u,cldConfig:t.config}),onError:w,ref:d})}),ae=je;var b=E(require("react")),Ee=E(require("next/head"));var Re="summary_large_image",He=({excludeTags:e=[],twitterTitle:t,keys:d={},...i})=>{let{alt:o}=i,n={...i,crop:i.crop||"fill",gravity:i.gravity||"center",height:i.height||1254,src:i.src,width:i.width||2400,widthResize:i.width||1200},c=typeof n.width=="string"?parseInt(n.width):n.width,C=typeof n.height=="string"?parseInt(n.height):n.height;typeof C=="number"&&typeof c=="number"&&(C=1200/c*C),c=1200;let h=y({...n,format:i.format||"jpg"}),u=y({...n,format:i.format||"webp"}),r={"og:image":"og-image","og:image:secure_url":"og-image-secureurl","og:image:width":"og-image-width","og:image:height":"og-image-height","og:image:alt":"og-image-alt","twitter:title":"twitter-title","twitter:card":"twitter-card","twitter:image":"twitter-image",...d};return b.default.createElement(Ee.default,null,b.default.createElement("meta",{key:r["og:image"],property:"og:image",content:h}),b.default.createElement("meta",{key:r["og:image:secure_url"],property:"og:image:secure_url",content:h}),b.default.createElement("meta",{key:r["og:image:width"],property:"og:image:width",content:`${c}`}),b.default.createElement("meta",{key:r["og:image:height"],property:"og:image:height",content:`${C}`}),o&&b.default.createElement("meta",{key:r["og:image:alt"],property:"og:image:alt",content:o}),!e.includes("twitter:title")&&b.default.createElement("meta",{key:r["twitter:title"],property:"twitter:title",content:t||" "}),b.default.createElement("meta",{key:r["twitter:card"],property:"twitter:card",content:Re}),b.default.createElement("meta",{key:r["twitter:image"],property:"twitter:image",content:u}))},se=He;var $=E(require("react"));var g=E(require("react")),Pe=E(require("next/script"));function we(e){return window&&"requestIdleCallback"in window?requestIdleCallback(e):setTimeout(()=>e(),1)}var Xe=["success","display-changed"],Be={abort:"onAbort","batch-cancelled":"onBatchCancelled","display-changed":"onDisplayChanged",publicid:"onPublicId","queues-end":"onQueuesEnd","queues-start":"onQueuesStart",retry:"onRetry","show-completed":"onShowCompleted","source-changed":"onSourceChanged",success:"onSuccess",tags:"onTags","upload-added":"onUploadAdded"},Fe=({children:e,onClose:t,onError:d,onOpen:i,onUpload:o,options:n,signatureEndpoint:c,uploadPreset:C,...h})=>{let u=(0,g.useRef)(),r=(0,g.useRef)(),A=!!c,[w,P]=(0,g.useState)(void 0),[a,I]=(0,g.useState)(void 0),[O,S]=(0,g.useState)(!0),_={cloudName:process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME,uploadPreset:C||process.env.NEXT_PUBLIC_CLOUDINARY_UPLOAD_PRESET,apiKey:process.env.NEXT_PUBLIC_CLOUDINARY_API_KEY,...n};x(process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME),A&&(_.uploadSignature=k,_.apiKey||console.warn("Missing dependency: Signed Upload requires an API key")),(0,g.useEffect)(()=>{if(typeof a=="undefined")return;let l=a.event==="success",U=a.event==="display-changed"&&a.info==="hidden";l&&typeof o=="function"&&o(a,r.current),U&&typeof t=="function"&&t(r.current)},[a]),(0,g.useEffect)(()=>{w&&typeof d=="function"&&d(w,r.current)},[w]);function L(){S(!1),u.current||(u.current=window.cloudinary),we(()=>{r.current||(r.current=N())})}(0,g.useEffect)(()=>()=>{var l;(l=r.current)==null||l.destroy(),r.current=void 0},[]);function k(l,U){if(typeof c=="undefined")throw Error("Failed to generate signature: signatureEndpoint undefined.");fetch(c,{method:"POST",body:JSON.stringify({paramsToSign:U}),headers:{"Content-Type":"application/json"}}).then(p=>p.json()).then(({signature:p})=>{l(p)})}function m(l,U=[]){if(r.current||(r.current=N()),typeof(r==null?void 0:r.current[l])=="function")return r.current[l](...U)}function v(l){m("close",[l])}function R(l){return m("destroy",[l])}function H(){m("hide")}function X(){return m("isDestroyed")}function M(){return m("isMinimized")}function W(){return m("isShowing")}function z(){m("minimize")}function re(l,U){m("open",[l,U]),typeof i=="function"&&i(r.current)}function B(){m("show")}function ne(){m("update")}let V={close:v,destroy:R,hide:H,isDestroyed:X,isMinimized:M,isShowing:W,minimize:z,open:re,show:B,update:ne};function N(){var l;return(l=u.current)==null?void 0:l.createUploadWidget(_,(U,p)=>{if(U&&U!==null&&P(U),typeof(p==null?void 0:p.event)=="string"){Xe.includes(p==null?void 0:p.event)&&I(p);let G=Be[p.event];if(typeof G=="string"&&typeof h[G]=="function"&&typeof h[G]){let ie=h[G];ie(p,{widget:r.current,...V})}}})}return g.default.createElement(g.default.Fragment,null,typeof e=="function"&&e({cloudinary:u.current,widget:r.current,results:a,error:w,isLoading:O,...V}),g.default.createElement(Pe.default,{id:`cloudinary-uploadwidget-${Math.floor(Math.random()*100)}`,src:"https://upload-widget.cloudinary.com/global/all.js",onLoad:L,onError:l=>console.error(`Failed to load Cloudinary Upload Widget: ${l.message}`)}))},Y=Fe;var Ye=({className:e,children:t,onClick:d,onError:i,onOpen:o,onUpload:n,onAbort:c,onBatchCancelled:C,onClose:h,onDisplayChanged:u,onPublicId:r,onQueuesEnd:A,onQueuesStart:w,onRetry:P,onShowCompleted:a,onSourceChanged:I,onSuccess:O,onTags:S,onUploadAdded:_,options:L,signatureEndpoint:k,uploadPreset:m,...v})=>$.default.createElement($.default.Fragment,null,$.default.createElement(Y,{onError:i,onOpen:o,onUpload:n,onAbort:c,onBatchCancelled:C,onClose:h,onDisplayChanged:u,onPublicId:r,onQueuesEnd:A,onQueuesStart:w,onRetry:P,onShowCompleted:a,onSourceChanged:I,onSuccess:O,onTags:S,onUploadAdded:_,options:L,signatureEndpoint:k,uploadPreset:m},({open:R,isLoading:H})=>{function X(M){M.preventDefault(),R(),typeof d=="function"&&d(M)}return $.default.createElement("button",{...v,className:e||"",onClick:X,disabled:H},t||"Upload")})),pe=Ye;var f=E(require("react")),be=E(require("next/script")),Ne=E(require("next/head")),xe=require("@cloudinary-util/util");var _e=require("@cloudinary-util/url-loader");function te(e,t,d){var o,n;let i=(n=(o=t==null?void 0:t.cloud)==null?void 0:o.cloudName)!=null?n:process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME;return x(i),(0,_e.constructCloudinaryUrl)({options:{assetType:"video",...e},config:Object.assign({cloud:{cloudName:i}},t),analytics:Object.assign({sdkCode:Q,sdkSemver:J,techVersion:Z,feature:""},d)})}var oe=[],Le="1.10.4",$e=e=>{let{autoplay:t,className:d,colors:i,controls:o=!0,fontFace:n,height:c,id:C,language:h,languages:u,logo:r=!0,loop:A=!1,muted:w=!1,onDataLoad:P,onError:a,onMetadataLoad:I,onPause:O,onPlay:S,onEnded:_,poster:L,src:k,sourceTypes:m,transformation:v,quality:R="auto",width:H,...X}=e,M=Array.isArray(v)?v:[v],W=k||"";if(W.startsWith("http"))try{let s=(0,xe.parseUrl)(k);typeof(s==null?void 0:s.publicId)=="string"&&(W=s==null?void 0:s.publicId)}catch(s){}M.unshift({quality:R});let z=(0,f.useRef)(),re=(0,f.useRef)(),B=e.videoRef||re,ne=(0,f.useRef)(),V=e.playerRef||ne,N=C||`player-${W.replace("/","-")}`,l="cld-video-player cld-fluid";d&&(l=`${l} ${d}`),oe.filter(s=>s===N).length>1?console.warn(`Multiple instances of the same video detected on the
2
2
  page which may cause some features to not work.
3
- Try adding a unique id to each player.`):oe.push(N);let p={error:d,loadeddata:w,loadedmetadata:I,pause:O,play:S,ended:_};function G(s){let D=p[s.type];typeof D=="function"&&D(Ae())}T(process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME);function ie(){if("cloudinary"in window){z.current=window.cloudinary;let s={};typeof r=="boolean"?s.showLogo=r:typeof r=="object"&&(s={...s,showLogo:!0,logoImageUrl:r.imageUrl,logoOnclickUrl:r.onClickUrl});let D=!1,ue;(typeof t=="boolean"||t==="true"||t==="false")&&(D=t),typeof t=="string"&&t!=="true"&&t!=="false"&&(ue=t);let j={autoplayMode:ue,autoplay:D,cloud_name:process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME,controls:o,fontFace:n||"",language:h,languages:u,loop:A,muted:P,publicId:M,transformation:W,...s,...X};Array.isArray(m)&&(j.sourceTypes=m),typeof i=="object"&&(j.colors=i),typeof L=="string"?j.posterOptions={publicId:L}:typeof L=="object"&&(typeof L.src!="string"?j.posterOptions={publicId:te({...L,src:M,format:"auto:image"})}:j.posterOptions={publicId:y(L)}),V.current=z.current.videoPlayer(B.current,j),Object.keys(p).forEach(me=>{var ge;typeof p[me]=="function"&&((ge=V.current)==null||ge.on(me,G))})}}(0,f.useEffect)(()=>()=>{var s;(s=V.current)==null||s.videojs.cloudinary.dispose(),oe=oe.filter(D=>D!==N)},[]);function Ae(){return{player:V.current,video:B.current}}return f.default.createElement(f.default.Fragment,null,f.default.createElement(Ne.default,null,f.default.createElement("link",{href:`https://unpkg.com/cloudinary-video-player@${Le}/dist/cld-video-player.min.css`,rel:"stylesheet"})),f.default.createElement("div",{style:{width:"100%",aspectRatio:`${e.width} / ${e.height}`}},f.default.createElement("video",{ref:B,id:N,className:l,width:H,height:c}),f.default.createElement(be.default,{id:`cloudinary-videoplayer-${N}-${Math.floor(Math.random()*100)}`,src:`https://unpkg.com/cloudinary-video-player@${Le}/dist/cld-video-player.min.js`,onLoad:ie,onError:s=>console.error(`Failed to load Cloudinary Video Player: ${s.message}`)})))},ce=$e;function xe(e){return y({...e,crop:e.crop||"fill",format:e.format||"jpg",gravity:e.gravity||"center",height:e.height||1254,width:e.width||2400,widthResize:e.width||1200})}0&&(module.exports={CldImage,CldOgImage,CldUploadButton,CldUploadWidget,CldVideoPlayer,cloudinaryLoader,getCldImageUrl,getCldOgImageUrl,getCldVideoUrl});
3
+ Try adding a unique id to each player.`):oe.push(N);let p={error:a,loadeddata:P,loadedmetadata:I,pause:O,play:S,ended:_};function G(s){let D=p[s.type];typeof D=="function"&&D(Ae())}x(process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME);function ie(){if("cloudinary"in window){z.current=window.cloudinary;let s={};typeof r=="boolean"?s.showLogo=r:typeof r=="object"&&(s={...s,showLogo:!0,logoImageUrl:r.imageUrl,logoOnclickUrl:r.onClickUrl});let D=!1,ue;(typeof t=="boolean"||t==="true"||t==="false")&&(D=t),typeof t=="string"&&t!=="true"&&t!=="false"&&(ue=t);let j={autoplayMode:ue,autoplay:D,cloud_name:process.env.NEXT_PUBLIC_CLOUDINARY_CLOUD_NAME,controls:o,fontFace:n||"",language:h,languages:u,loop:A,muted:w,publicId:W,transformation:M,...s,...X};Array.isArray(m)&&(j.sourceTypes=m),typeof i=="object"&&(j.colors=i),typeof L=="string"?j.posterOptions={publicId:L}:typeof L=="object"&&(typeof L.src!="string"?j.posterOptions={publicId:te({...L,src:W,format:"auto:image"})}:j.posterOptions={publicId:y(L)}),V.current=z.current.videoPlayer(B.current,j),Object.keys(p).forEach(me=>{var ge;typeof p[me]=="function"&&((ge=V.current)==null||ge.on(me,G))})}}(0,f.useEffect)(()=>()=>{var s;(s=V.current)==null||s.videojs.cloudinary.dispose(),oe=oe.filter(D=>D!==N)},[]);function Ae(){return{player:V.current,video:B.current}}return f.default.createElement(f.default.Fragment,null,f.default.createElement(Ne.default,null,f.default.createElement("link",{href:`https://unpkg.com/cloudinary-video-player@${Le}/dist/cld-video-player.min.css`,rel:"stylesheet"})),f.default.createElement("div",{style:{width:"100%",aspectRatio:`${e.width} / ${e.height}`}},f.default.createElement("video",{ref:B,id:N,className:l,width:H,height:c}),f.default.createElement(be.default,{id:`cloudinary-videoplayer-${N}-${Math.floor(Math.random()*100)}`,src:`https://unpkg.com/cloudinary-video-player@${Le}/dist/cld-video-player.min.js`,onLoad:ie,onError:s=>console.error(`Failed to load Cloudinary Video Player: ${s.message}`)})))},ce=$e;function Te(e){return y({...e,crop:e.crop||"fill",format:e.format||"jpg",gravity:e.gravity||"center",height:e.height||1254,width:e.width||2400,widthResize:e.width||1200})}0&&(module.exports={CldImage,CldOgImage,CldUploadButton,CldUploadWidget,CldVideoPlayer,cloudinaryLoader,getCldImageUrl,getCldOgImageUrl,getCldVideoUrl});
4
4
  //# sourceMappingURL=index.js.map