@microsoft/teams-js 2.0.0-beta.3-dev.39 → 2.0.0-beta.3-dev.40

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.
@@ -802,7 +802,6 @@ export namespace files {
802
802
  *
803
803
  * @param folder - Cloud storage folder (CloudStorageFolder) / sub directory (CloudStorageFolderItem)
804
804
  * @param providerCode - Code of the cloud storage folder provider
805
- * @param callback - Callback that will be triggered post contents are loaded
806
805
  */
807
806
  export function getCloudStorageFolderContents(folder: CloudStorageFolder | CloudStorageFolderItem, providerCode: CloudStorageProvider): Promise<CloudStorageFolderItem[]>;
808
807
  /**
@@ -3268,6 +3267,10 @@ export namespace media {
3268
3267
  * Additional properties for customization of select media - Image in mobile devices
3269
3268
  */
3270
3269
  imageProps?: ImageProps;
3270
+ /**
3271
+ * Additional properties for customization of select media - Video in mobile devices
3272
+ */
3273
+ videoProps?: VideoProps;
3271
3274
  /**
3272
3275
  * Additional properties for customization of select media - VideoAndImage in mobile devices
3273
3276
  */
@@ -3282,8 +3285,6 @@ export namespace media {
3282
3285
  * Hide from docs
3283
3286
  * --------
3284
3287
  * All properties common to Image and Video Props
3285
- *
3286
- * @internal
3287
3288
  */
3288
3289
  interface MediaProps {
3289
3290
  /**
@@ -3326,20 +3327,30 @@ export namespace media {
3326
3327
  enableFilter?: boolean;
3327
3328
  }
3328
3329
  /**
3329
- * @hidden
3330
- * Hide from docs
3331
- * --------
3332
3330
  * All properties in VideoProps are optional and have default values in the platform
3333
- *
3334
- * @internal
3335
3331
  */
3336
- interface VideoProps extends MediaProps {
3332
+ export interface VideoProps extends MediaProps {
3337
3333
  /**
3338
- * @hidden
3339
3334
  * Optional; the maximum duration in minutes after which the recording should terminate automatically.
3340
3335
  * Default value is defined by the platform serving the API.
3341
3336
  */
3342
3337
  maxDuration?: number;
3338
+ /**
3339
+ * Optional; to determine if the video capturing flow needs to be launched
3340
+ * in Full Screen Mode (Lens implementation) or PictureInPicture Mode (Native implementation).
3341
+ * Default value is true, indicating video will always launch in Full Screen Mode via lens.
3342
+ */
3343
+ isFullScreenMode?: boolean;
3344
+ /**
3345
+ * Optional; controls the visibility of stop button in PictureInPicture Mode.
3346
+ * Default value is true, indicating the user will be able to stop the video.
3347
+ */
3348
+ isStopButtonVisible?: boolean;
3349
+ /**
3350
+ * Optional; setting VideoController will register your app to listen to the lifecycle events during the video capture flow.
3351
+ * Your app can also dynamically control the experience while capturing the video by notifying the host client.
3352
+ */
3353
+ videoController?: VideoController;
3343
3354
  }
3344
3355
  /**
3345
3356
  * All properties in VideoAndImageProps are optional and have default values in the platform
@@ -3351,11 +3362,68 @@ export namespace media {
3351
3362
  */
3352
3363
  export interface AudioProps {
3353
3364
  /**
3354
- * Optional; the maximum duration in minutes after which the recording should terminate automatically.
3365
+ * Optional; the maximum duration in minutes after which the recording should terminate automatically
3355
3366
  * Default value is defined by the platform serving the API.
3356
3367
  */
3357
3368
  maxDuration?: number;
3358
3369
  }
3370
+ /**
3371
+ * @hidden
3372
+ * Hide from docs
3373
+ * --------
3374
+ * Base class which holds the callback and notifies events to the host client
3375
+ */
3376
+ abstract class MediaController<T> {
3377
+ protected controllerCallback: T;
3378
+ constructor(controllerCallback?: T);
3379
+ protected abstract getMediaType(): MediaType;
3380
+ /**
3381
+ * @hidden
3382
+ * Hide from docs
3383
+ * --------
3384
+ * This function will be implemented by the respective media class which holds the logic
3385
+ * of specific events that needs to be notified to the app.
3386
+ * @param mediaEvent indicates the event signed by the host client to the app
3387
+ */
3388
+ protected abstract notifyEventToApp(mediaEvent: MediaControllerEvent): void;
3389
+ /**
3390
+ * @hidden
3391
+ * Hide from docs
3392
+ * --------
3393
+ * Function to notify the host client to programatically control the experience
3394
+ * @param mediaEvent indicates what the event that needs to be signaled to the host client
3395
+ * Optional; @param callback is used to send app if host client has successfully handled the notification event or not
3396
+ */
3397
+ protected notifyEventToHost(mediaEvent: MediaControllerEvent, callback?: (err?: SdkError) => void): void;
3398
+ /**
3399
+ * Function to programatically stop the ongoing media event
3400
+ * Optional; @param callback is used to send app if host client has successfully stopped the event or not
3401
+ */
3402
+ stop(callback?: (err?: SdkError) => void): void;
3403
+ }
3404
+ /**
3405
+ * Callback which will register your app to listen to lifecycle events during the video capture flow
3406
+ */
3407
+ export interface VideoControllerCallback {
3408
+ onRecordingStarted?(): void;
3409
+ }
3410
+ /**
3411
+ * VideoController class is used to communicate between the app and the host client during the video capture flow
3412
+ */
3413
+ export class VideoController extends MediaController<VideoControllerCallback> {
3414
+ protected getMediaType(): MediaType;
3415
+ notifyEventToApp(mediaEvent: MediaControllerEvent): void;
3416
+ }
3417
+ /**
3418
+ * @hidden
3419
+ * Hide from docs
3420
+ * --------
3421
+ * Events which are used to communicate between the app and the host client during the media recording flow
3422
+ */
3423
+ enum MediaControllerEvent {
3424
+ StartRecording = 1,
3425
+ StopRecording = 2
3426
+ }
3359
3427
  /**
3360
3428
  * The modes in which camera can be launched in select Media API
3361
3429
  */
@@ -3377,6 +3445,7 @@ export namespace media {
3377
3445
  */
3378
3446
  export enum MediaType {
3379
3447
  Image = 1,
3448
+ Video = 2,
3380
3449
  VideoAndImage = 3,
3381
3450
  Audio = 4
3382
3451
  }
@@ -3427,12 +3496,6 @@ export namespace media {
3427
3496
  sequence: number;
3428
3497
  file: Blob;
3429
3498
  }
3430
- /**
3431
- * Select an attachment using camera/gallery
3432
- *
3433
- * @param mediaInputs - The input params to customize the media to be selected
3434
- * @returns A promise resolved with the collection of @see Media objects selected or rejected with a @see SdkError
3435
- */
3436
3499
  export function selectMedia(mediaInputs: MediaInputs): Promise<Media[]>;
3437
3500
  /**
3438
3501
  * Select an attachment using camera/gallery
@@ -3863,6 +3926,7 @@ export namespace meeting {
3863
3926
  */
3864
3927
  function registerLiveStreamChangedHandler(handler: (liveStreamState: LiveStreamState) => void): void;
3865
3928
  /**
3929
+ * @hidden
3866
3930
  * Allows an app to share contents in the meeting
3867
3931
  *
3868
3932
  * @param appContentUrl - appContentUrl is the input URL which needs to be shared on to the stage
@@ -3870,6 +3934,7 @@ export namespace meeting {
3870
3934
  */
3871
3935
  function shareAppContentToStage(appContentUrl: string): Promise<boolean>;
3872
3936
  /**
3937
+ * @hidden
3873
3938
  * @deprecated
3874
3939
  * As of 2.0.0-beta.1, please use {@link meeting.shareAppContentToStage meeting.shareAppContentToStage(appContentUrl: string): Promise\<boolean\>} instead.
3875
3940
  *
@@ -3882,12 +3947,14 @@ export namespace meeting {
3882
3947
  */
3883
3948
  function shareAppContentToStage(callback: (error: SdkError | null, result: boolean | null) => void, appContentUrl: string): void;
3884
3949
  /**
3950
+ * @hidden
3885
3951
  * Provides information related to app's in-meeting sharing capabilities
3886
3952
  *
3887
3953
  * @returns Promise resolved with sharing capability details or rejected with SdkError value
3888
3954
  */
3889
3955
  function getAppContentStageSharingCapabilities(): Promise<IAppContentStageSharingCapabilities>;
3890
3956
  /**
3957
+ * @hidden
3891
3958
  * @deprecated
3892
3959
  * As of 2.0.0-beta.1, please use {@link meeting.getAppContentStageSharingCapabilities meeting.getAppContentStageSharingCapabilities(): Promise\<IAppContentStageSharingCapabilities\>} instead.
3893
3960
  *