@microsoft/teams-js 2.23.0 → 2.24.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -2405,7 +2405,7 @@ var HostClientType;
2405
2405
  HostClientType["macos"] = "macos";
2406
2406
  /**
2407
2407
  * @deprecated
2408
- * As of 2.0.0, please use {@link teamsRoomsWindows} instead.
2408
+ * As of TeamsJS v2.0.0, please use {@link teamsRoomsWindows} instead.
2409
2409
  */
2410
2410
  HostClientType["rigel"] = "rigel";
2411
2411
  /** Represents the client of host, which runs on surface hub devices. */
@@ -2528,7 +2528,7 @@ var DialogDimension;
2528
2528
 
2529
2529
  /**
2530
2530
  * @deprecated
2531
- * As of 2.0.0, please use {@link DialogDimension} instead.
2531
+ * As of TeamsJS v2.0.0, please use {@link DialogDimension} instead.
2532
2532
  */
2533
2533
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
2534
2534
  var TaskModuleDimension = DialogDimension;
@@ -3395,7 +3395,7 @@ const _minRuntimeConfigToUninitialize = {
3395
3395
  * @hidden
3396
3396
  * Package version.
3397
3397
  */
3398
- const version = "2.23.0";
3398
+ const version = "2.24.0-beta.1";
3399
3399
 
3400
3400
  ;// CONCATENATED MODULE: ./src/internal/internalAPIs.ts
3401
3401
 
@@ -3662,6 +3662,185 @@ function validateOrigin(messageOrigin) {
3662
3662
  });
3663
3663
  }
3664
3664
 
3665
+ ;// CONCATENATED MODULE: ./src/private/messageChannels.ts
3666
+ var messageChannels_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
3667
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3668
+ return new (P || (P = Promise))(function (resolve, reject) {
3669
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
3670
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
3671
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
3672
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
3673
+ });
3674
+ };
3675
+
3676
+
3677
+
3678
+
3679
+
3680
+ /**
3681
+ * @hidden
3682
+ * Namespace to request message ports from the host application.
3683
+ *
3684
+ * @beta
3685
+ *
3686
+ * @internal
3687
+ * Limited to Microsoft-internal use
3688
+ */
3689
+ var messageChannels;
3690
+ (function (messageChannels) {
3691
+ let telemetry;
3692
+ (function (telemetry) {
3693
+ let telemetryPort;
3694
+ const messageChannelsTelemetryVersionNumber = "v1" /* ApiVersionNumber.V_1 */;
3695
+ const logger = getLogger('messageChannels.telemetry');
3696
+ /**
3697
+ * @hidden
3698
+ * @beta
3699
+ *
3700
+ * Fetches a MessagePort to batch telemetry through the host's telemetry worker.
3701
+ * The port is cached once received, so subsequent calls return the same port.
3702
+ * @returns MessagePort.
3703
+ *
3704
+ * @throws Error if {@linkcode app.initialize} has not successfully completed,
3705
+ * if the host does not support the feature, or if the port request is rejected.
3706
+ *
3707
+ * @internal
3708
+ * Limited to Microsoft-internal use
3709
+ */
3710
+ function getTelemetryPort() {
3711
+ return messageChannels_awaiter(this, void 0, void 0, function* () {
3712
+ // If the port has already been initialized, return it.
3713
+ if (telemetryPort) {
3714
+ logger('Returning telemetry port from cache');
3715
+ return telemetryPort;
3716
+ }
3717
+ if (!isSupported()) {
3718
+ throw errorNotSupportedOnPlatform;
3719
+ }
3720
+ // Send request for telemetry port, will throw if the request is rejected
3721
+ telemetryPort = yield requestPortFromParentWithVersion(getApiVersionTag(messageChannelsTelemetryVersionNumber, "messageChannels.telemetry.getTelemetryPort" /* ApiName.MessageChannels_Telemetry_GetTelemetryPort */), "messageChannels.telemetry.getTelemetryPort" /* ApiName.MessageChannels_Telemetry_GetTelemetryPort */);
3722
+ return telemetryPort;
3723
+ });
3724
+ }
3725
+ telemetry.getTelemetryPort = getTelemetryPort;
3726
+ /**
3727
+ * @hidden
3728
+ *
3729
+ * @beta
3730
+ *
3731
+ * Checks if the messageChannels.telemetry capability is supported by the host
3732
+ * @returns boolean to represent whether the messageChannels.telemetry capability is supported
3733
+ *
3734
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
3735
+ *
3736
+ * @internal
3737
+ * Limited to Microsoft-internal use
3738
+ */
3739
+ function isSupported() {
3740
+ var _a;
3741
+ return ensureInitialized(runtime) && ((_a = runtime.supports.messageChannels) === null || _a === void 0 ? void 0 : _a.telemetry) ? true : false;
3742
+ }
3743
+ telemetry.isSupported = isSupported;
3744
+ /**
3745
+ * @hidden
3746
+ * Undocumented function used to clear state between unit tests
3747
+ *
3748
+ * @beta
3749
+ *
3750
+ * @internal
3751
+ * Limited to Microsoft-internal use
3752
+ */
3753
+ function _clearTelemetryPort() {
3754
+ telemetryPort = undefined;
3755
+ }
3756
+ telemetry._clearTelemetryPort = _clearTelemetryPort;
3757
+ })(telemetry = messageChannels.telemetry || (messageChannels.telemetry = {}));
3758
+ let dataLayer;
3759
+ (function (dataLayer) {
3760
+ let dataLayerPort;
3761
+ const messageChannelsDataLayerVersionNumber = "v1" /* ApiVersionNumber.V_1 */;
3762
+ const logger = getLogger('messageChannels.dataLayer');
3763
+ /**
3764
+ * @hidden
3765
+ * @beta
3766
+ *
3767
+ * Fetches a MessagePort to allow access to the host's data layer worker.
3768
+ * The port is cached once received, so subsequent calls return the same port.
3769
+ * @returns MessagePort.
3770
+ *
3771
+ * @throws Error if {@linkcode app.initialize} has not successfully completed,
3772
+ * if the host does not support the feature, or if the port request is rejected.
3773
+ *
3774
+ * @internal
3775
+ * Limited to Microsoft-internal use
3776
+ */
3777
+ function getDataLayerPort() {
3778
+ return messageChannels_awaiter(this, void 0, void 0, function* () {
3779
+ // If the port has already been initialized, return it.
3780
+ if (dataLayerPort) {
3781
+ logger('Returning dataLayer port from cache');
3782
+ return dataLayerPort;
3783
+ }
3784
+ if (!isSupported()) {
3785
+ throw errorNotSupportedOnPlatform;
3786
+ }
3787
+ // Send request for telemetry port, will throw if the request is rejected
3788
+ dataLayerPort = yield requestPortFromParentWithVersion(getApiVersionTag(messageChannelsDataLayerVersionNumber, "messageChannels.dataLayer.getDataLayerPort" /* ApiName.MessageChannels_DataLayer_GetDataLayerPort */), "messageChannels.dataLayer.getDataLayerPort" /* ApiName.MessageChannels_DataLayer_GetDataLayerPort */);
3789
+ return dataLayerPort;
3790
+ });
3791
+ }
3792
+ dataLayer.getDataLayerPort = getDataLayerPort;
3793
+ /**
3794
+ * @hidden
3795
+ *
3796
+ * @beta
3797
+ *
3798
+ * Checks if the messageChannels.dataLayer capability is supported by the host
3799
+ * @returns boolean to represent whether the messageChannels.dataLayer capability is supported
3800
+ *
3801
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
3802
+ *
3803
+ * @internal
3804
+ * Limited to Microsoft-internal use
3805
+ */
3806
+ function isSupported() {
3807
+ var _a;
3808
+ return ensureInitialized(runtime) && ((_a = runtime.supports.messageChannels) === null || _a === void 0 ? void 0 : _a.dataLayer) ? true : false;
3809
+ }
3810
+ dataLayer.isSupported = isSupported;
3811
+ /**
3812
+ * @hidden
3813
+ * Undocumented function used to clear state between unit tests
3814
+ *
3815
+ * @beta
3816
+ *
3817
+ * @internal
3818
+ * Limited to Microsoft-internal use
3819
+ */
3820
+ function _clearDataLayerPort() {
3821
+ dataLayerPort = undefined;
3822
+ }
3823
+ dataLayer._clearDataLayerPort = _clearDataLayerPort;
3824
+ })(dataLayer = messageChannels.dataLayer || (messageChannels.dataLayer = {}));
3825
+ /**
3826
+ * @hidden
3827
+ *
3828
+ * @beta
3829
+ *
3830
+ * Checks if the messageChannels capability is supported by the host
3831
+ * @returns boolean to represent whether the messageChannels capability is supported
3832
+ *
3833
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
3834
+ *
3835
+ * @internal
3836
+ * Limited to Microsoft-internal use
3837
+ */
3838
+ function isSupported() {
3839
+ return ensureInitialized(runtime) && runtime.supports.messageChannels ? true : false;
3840
+ }
3841
+ messageChannels.isSupported = isSupported;
3842
+ })(messageChannels || (messageChannels = {}));
3843
+
3665
3844
  ;// CONCATENATED MODULE: ./src/public/authentication.ts
3666
3845
 
3667
3846
 
@@ -3698,7 +3877,7 @@ var authentication;
3698
3877
  let authParams;
3699
3878
  /**
3700
3879
  * @deprecated
3701
- * As of 2.0.0, this function has been deprecated in favor of a Promise-based pattern using {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>}
3880
+ * As of TeamsJS v2.0.0, this function has been deprecated in favor of a Promise-based pattern using {@link authentication.authenticate authentication.authenticate(authenticateParameters: AuthenticatePopUpParameters): Promise\<string\>}
3702
3881
  *
3703
3882
  * Registers handlers to be called with the result of an authentication flow triggered using {@link authentication.authenticate authentication.authenticate(authenticateParameters?: AuthenticateParameters): void}
3704
3883
  *
@@ -4706,6 +4885,7 @@ var menus;
4706
4885
 
4707
4886
 
4708
4887
 
4888
+
4709
4889
  /**
4710
4890
  * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
4711
4891
  */
@@ -4982,6 +5162,8 @@ var app;
4982
5162
  GlobalVars.frameContext = undefined;
4983
5163
  GlobalVars.hostClientType = undefined;
4984
5164
  GlobalVars.isFramelessWindow = false;
5165
+ messageChannels.telemetry._clearTelemetryPort();
5166
+ messageChannels.dataLayer._clearDataLayerPort();
4985
5167
  uninitializeCommunication();
4986
5168
  }
4987
5169
  app._uninitialize = _uninitialize;
@@ -5047,10 +5229,35 @@ var app;
5047
5229
  }
5048
5230
  app.registerOnThemeChangeHandler = registerOnThemeChangeHandler;
5049
5231
  /**
5050
- * open link API.
5232
+ * This function opens deep links to other modules in the host such as chats or channels or
5233
+ * general-purpose links (to external websites). It should not be used for navigating to your
5234
+ * own or other apps.
5051
5235
  *
5052
- * @param deepLink - deep link.
5053
- * @returns Promise that will be fulfilled when the operation has completed
5236
+ * @remarks
5237
+ * If you need to navigate to your own or other apps, use:
5238
+ *
5239
+ * - {@link pages.currentApp.navigateToDefaultPage} for navigating to the default page of your own app
5240
+ * - {@link pages.currentApp.navigateTo} for navigating to a section of your own app
5241
+ * - {@link pages.navigateToApp} for navigating to other apps besides your own
5242
+ *
5243
+ * Many areas of functionality previously provided by deep links are now handled by strongly-typed functions in capabilities.
5244
+ * If your app is using a deep link to trigger these specific components, use the strongly-typed alternatives.
5245
+ * For example (this list is not exhaustive):
5246
+ * - To open an app installation dialog, use the {@link appInstallDialog} capability
5247
+ * - To start a call, use the {@link call} capability
5248
+ * - To open a chat, use the {@link chat} capability
5249
+ * - To open a dialog, use the {@link dialog} capability
5250
+ * - To create a new meeting, use the {@link calendar.composeMeeting} function
5251
+ * - To open a Stage View, use the {@link stageView} capability
5252
+ *
5253
+ * In each of these capabilities, you can use the `isSupported()` function to determine if the host supports that capability.
5254
+ * When using a deep link to trigger these components, there's no way to determine whether the host supports it.
5255
+ *
5256
+ * For more information on crafting deep links to the host, see [Configure deep links](https://learn.microsoft.com/microsoftteams/platform/concepts/build-and-test/deep-links)
5257
+ *
5258
+ * @param deepLink The host deep link or external web URL to which to navigate
5259
+ * @returns `Promise` that will be fulfilled when the navigation has initiated. A successful `Promise` resolution
5260
+ * does not necessarily indicate whether the target loaded successfully.
5054
5261
  */
5055
5262
  function openLink(deepLink) {
5056
5263
  return openLinkHelper(getApiVersionTag(appTelemetryVersionNumber, "app.openLink" /* ApiName.App_OpenLink */), deepLink);
@@ -5137,6 +5344,7 @@ function transformLegacyContextToAppContext(legacyContext) {
5137
5344
  subPageId: legacyContext.subEntityId,
5138
5345
  isFullScreen: legacyContext.isFullScreen,
5139
5346
  isMultiWindow: legacyContext.isMultiWindow,
5347
+ isBackgroundLoad: legacyContext.isBackgroundLoad,
5140
5348
  sourceOrigin: legacyContext.sourceOrigin,
5141
5349
  },
5142
5350
  user: {
@@ -5404,13 +5612,12 @@ var pages;
5404
5612
  }
5405
5613
  pages.navigateCrossDomain = navigateCrossDomain;
5406
5614
  /**
5407
- * Navigate to the given application ID and page ID, with optional parameters for a WebURL (if the application
5408
- * cannot be navigated to, such as if it is not installed), Channel ID (for applications installed as a channel tab),
5409
- * and sub-page ID (for navigating to specific content within the page). This is equivalent to navigating to
5410
- * a deep link with the above data, but does not require the application to build a URL or worry about different
5411
- * deep link formats for different hosts.
5412
- * @param params - Parameters for the navigation
5413
- * @returns a promise that will resolve if the navigation was successful
5615
+ * Used to navigate to apps other than your own.
5616
+ *
5617
+ * If you are looking to navigate within your own app, use {@link pages.currentApp.navigateToDefaultPage} or {@link pages.currentApp.navigateTo}
5618
+ *
5619
+ * @param params Parameters for the navigation
5620
+ * @returns a `Promise` that will resolve if the navigation was successful or reject if it was not
5414
5621
  */
5415
5622
  function navigateToApp(params) {
5416
5623
  return new Promise((resolve) => {
@@ -5928,15 +6135,21 @@ var pages;
5928
6135
  appButton.isSupported = isSupported;
5929
6136
  })(appButton = pages.appButton || (pages.appButton = {}));
5930
6137
  /**
5931
- * Provides functions for navigating without needing to specify your application ID.
6138
+ * Provides functions for navigating within your own app
6139
+ *
6140
+ * @remarks
6141
+ * If you are looking to navigate to a different app, use {@link pages.navigateToApp}.
5932
6142
  */
5933
6143
  let currentApp;
5934
6144
  (function (currentApp) {
5935
6145
  /**
5936
- * Navigate within the currently running application with page ID, and sub-page ID (for navigating to
5937
- * specific content within the page).
5938
- * @param params - Parameters for the navigation
5939
- * @returns a promise that will resolve if the navigation was successful
6146
+ * Navigate within the currently running app
6147
+ *
6148
+ * @remarks
6149
+ * If you are looking to navigate to a different app, use {@link pages.navigateToApp}.
6150
+ *
6151
+ * @param params Parameters for the navigation
6152
+ * @returns `Promise` that will resolve if the navigation was successful and reject if not
5940
6153
  */
5941
6154
  function navigateTo(params) {
5942
6155
  return new Promise((resolve) => {
@@ -5949,8 +6162,10 @@ var pages;
5949
6162
  }
5950
6163
  currentApp.navigateTo = navigateTo;
5951
6164
  /**
5952
- * Navigate to the currently running application's first static page defined in the application
6165
+ * Navigate to the currently running app's first static page defined in the application
5953
6166
  * manifest.
6167
+ *
6168
+ * @returns `Promise` that will resolve if the navigation was successful and reject if not
5954
6169
  */
5955
6170
  function navigateToDefaultPage() {
5956
6171
  return new Promise((resolve) => {
@@ -6217,6 +6432,60 @@ function handlers_registerOnResumeHandler(handler) {
6217
6432
  ]);
6218
6433
  }
6219
6434
 
6435
+ ;// CONCATENATED MODULE: ./src/internal/uuidObject.ts
6436
+
6437
+ /**
6438
+ * @internal
6439
+ * Limited to Microsoft-internal use
6440
+ *
6441
+ * UUID object
6442
+ */
6443
+ class UUID {
6444
+ constructor(uuid = generateGUID()) {
6445
+ this.uuid = uuid;
6446
+ validateUuid(uuid);
6447
+ }
6448
+ toString() {
6449
+ return this.uuid;
6450
+ }
6451
+ }
6452
+
6453
+ ;// CONCATENATED MODULE: ./src/internal/messageObjects.ts
6454
+ var messageObjects_rest = (undefined && undefined.__rest) || function (s, e) {
6455
+ var t = {};
6456
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
6457
+ t[p] = s[p];
6458
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
6459
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
6460
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
6461
+ t[p[i]] = s[p[i]];
6462
+ }
6463
+ return t;
6464
+ };
6465
+
6466
+ const serializeMessageRequest = (message) => {
6467
+ const { uuid } = message, restOfMessage = messageObjects_rest(message, ["uuid"]);
6468
+ const uuidAsString = uuid === null || uuid === void 0 ? void 0 : uuid.toString();
6469
+ const request = Object.assign(Object.assign({}, restOfMessage), { uuidAsString: uuidAsString });
6470
+ return request;
6471
+ };
6472
+ const deserializeMessageRequest = (message) => {
6473
+ const { uuidAsString } = message, restOfMessage = messageObjects_rest(message, ["uuidAsString"]);
6474
+ const request = Object.assign(Object.assign({}, restOfMessage), { uuid: uuidAsString ? new UUID(uuidAsString) : undefined });
6475
+ return request;
6476
+ };
6477
+ const deserializeMessageResponse = (serializedResponse) => {
6478
+ const { uuidAsString } = serializedResponse, restOfResponse = messageObjects_rest(serializedResponse, ["uuidAsString"]);
6479
+ const messageResponse = Object.assign(Object.assign({}, restOfResponse), { uuid: uuidAsString ? new UUID(uuidAsString) : undefined });
6480
+ return messageResponse;
6481
+ };
6482
+ const serializeMessageResponse = (response) => {
6483
+ const { uuid } = response, restOfResponse = messageObjects_rest(response, ["uuid"]);
6484
+ const uuidAsString = uuid === null || uuid === void 0 ? void 0 : uuid.toString();
6485
+ const messageResponse = Object.assign(Object.assign({}, restOfResponse), { uuidAsString: uuidAsString });
6486
+ return messageResponse;
6487
+ };
6488
+
6220
6489
  ;// CONCATENATED MODULE: ./src/internal/nestedAppAuthUtils.ts
6221
6490
 
6222
6491
 
@@ -6341,6 +6610,8 @@ var communication_awaiter = (undefined && undefined.__awaiter) || function (this
6341
6610
 
6342
6611
 
6343
6612
 
6613
+
6614
+
6344
6615
  const communicationLogger = getLogger('communication');
6345
6616
  /**
6346
6617
  * @internal
@@ -6358,9 +6629,10 @@ CommunicationPrivate.parentMessageQueue = [];
6358
6629
  CommunicationPrivate.childMessageQueue = [];
6359
6630
  CommunicationPrivate.topMessageQueue = [];
6360
6631
  CommunicationPrivate.nextMessageId = 0;
6361
- CommunicationPrivate.callbacks = {};
6362
- CommunicationPrivate.promiseCallbacks = {};
6363
- CommunicationPrivate.portCallbacks = {};
6632
+ CommunicationPrivate.callbacks = new Map();
6633
+ CommunicationPrivate.promiseCallbacks = new Map();
6634
+ CommunicationPrivate.portCallbacks = new Map();
6635
+ CommunicationPrivate.legacyMessageIdsToUuidMap = {};
6364
6636
  /**
6365
6637
  * @internal
6366
6638
  * Limited to Microsoft-internal use
@@ -6428,9 +6700,10 @@ function uninitializeCommunication() {
6428
6700
  CommunicationPrivate.parentMessageQueue = [];
6429
6701
  CommunicationPrivate.childMessageQueue = [];
6430
6702
  CommunicationPrivate.nextMessageId = 0;
6431
- CommunicationPrivate.callbacks = {};
6432
- CommunicationPrivate.promiseCallbacks = {};
6433
- CommunicationPrivate.portCallbacks = {};
6703
+ CommunicationPrivate.callbacks.clear();
6704
+ CommunicationPrivate.promiseCallbacks.clear();
6705
+ CommunicationPrivate.portCallbacks.clear();
6706
+ CommunicationPrivate.legacyMessageIdsToUuidMap = {};
6434
6707
  }
6435
6708
  /**
6436
6709
  * @hidden
@@ -6505,7 +6778,7 @@ function sendMessageToParentAsync(apiVersionTag, actionName, args = undefined) {
6505
6778
  }
6506
6779
  return new Promise((resolve) => {
6507
6780
  const request = sendMessageToParentHelper(apiVersionTag, actionName, args);
6508
- resolve(waitForResponse(request.id));
6781
+ resolve(waitForResponse(request.uuid));
6509
6782
  });
6510
6783
  }
6511
6784
  /**
@@ -6519,15 +6792,15 @@ function requestPortFromParentWithVersion(apiVersionTag, actionName, args = unde
6519
6792
  throw Error(`apiVersionTag: ${apiVersionTag} passed in doesn't follow the pattern starting with 'v' followed by digits, then underscore with words, please check.`);
6520
6793
  }
6521
6794
  const request = sendMessageToParentHelper(apiVersionTag, actionName, args);
6522
- return waitForPort(request.id);
6795
+ return waitForPort(request.uuid);
6523
6796
  }
6524
6797
  /**
6525
6798
  * @internal
6526
6799
  * Limited to Microsoft-internal use
6527
6800
  */
6528
- function waitForPort(requestId) {
6801
+ function waitForPort(requestUuid) {
6529
6802
  return new Promise((resolve, reject) => {
6530
- CommunicationPrivate.portCallbacks[requestId] = (port, args) => {
6803
+ CommunicationPrivate.portCallbacks.set(requestUuid, (port, args) => {
6531
6804
  if (port instanceof MessagePort) {
6532
6805
  resolve(port);
6533
6806
  }
@@ -6535,16 +6808,16 @@ function waitForPort(requestId) {
6535
6808
  // First arg is the error message, if present
6536
6809
  reject(args && args.length > 0 ? args[0] : new Error('Host responded without port or error details.'));
6537
6810
  }
6538
- };
6811
+ });
6539
6812
  });
6540
6813
  }
6541
6814
  /**
6542
6815
  * @internal
6543
6816
  * Limited to Microsoft-internal use
6544
6817
  */
6545
- function waitForResponse(requestId) {
6818
+ function waitForResponse(requestUuid) {
6546
6819
  return new Promise((resolve) => {
6547
- CommunicationPrivate.promiseCallbacks[requestId] = resolve;
6820
+ CommunicationPrivate.promiseCallbacks.set(requestUuid, resolve);
6548
6821
  });
6549
6822
  }
6550
6823
  /**
@@ -6567,9 +6840,7 @@ function sendMessageToParent(apiVersionTag, actionName, argsOrCallback, callback
6567
6840
  }
6568
6841
  const request = sendMessageToParentHelper(apiVersionTag, actionName, args);
6569
6842
  if (callback) {
6570
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6571
- // @ts-ignore
6572
- CommunicationPrivate.callbacks[request.id] = callback;
6843
+ CommunicationPrivate.callbacks.set(request.uuid, callback);
6573
6844
  }
6574
6845
  }
6575
6846
  const sendNestedAuthRequestToTopWindowLogger = communicationLogger.extend('sendNestedAuthRequestToTopWindow');
@@ -6581,7 +6852,7 @@ function sendNestedAuthRequestToTopWindow(message) {
6581
6852
  const logger = sendNestedAuthRequestToTopWindowLogger;
6582
6853
  const targetWindow = Communication.topWindow;
6583
6854
  const request = createNestedAppAuthRequest(message);
6584
- logger('Message %i information: %o', request.id, { actionName: request.func });
6855
+ logger('Message %i information: %o', request.uuid, { actionName: request.func });
6585
6856
  return sendRequestToTargetWindowHelper(targetWindow, request);
6586
6857
  }
6587
6858
  const sendRequestToTargetWindowHelperLogger = communicationLogger.extend('sendRequestToTargetWindowHelper');
@@ -6589,12 +6860,13 @@ const sendRequestToTargetWindowHelperLogger = communicationLogger.extend('sendRe
6589
6860
  * @internal
6590
6861
  * Limited to Microsoft-internal use
6591
6862
  */
6592
- function sendRequestToTargetWindowHelper(targetWindow, request) {
6863
+ function sendRequestToTargetWindowHelper(targetWindow, messageRequest) {
6593
6864
  const logger = sendRequestToTargetWindowHelperLogger;
6594
6865
  const targetWindowName = getTargetName(targetWindow);
6866
+ const request = serializeMessageRequest(messageRequest);
6595
6867
  if (GlobalVars.isFramelessWindow) {
6596
6868
  if (Communication.currentWindow && Communication.currentWindow.nativeInterface) {
6597
- logger(`Sending message %i to ${targetWindowName} via framelessPostMessage interface`, request.id);
6869
+ logger(`Sending message %i to ${targetWindowName} via framelessPostMessage interface`, request.uuidAsString);
6598
6870
  Communication.currentWindow.nativeInterface.framelessPostMessage(JSON.stringify(request));
6599
6871
  }
6600
6872
  }
@@ -6603,15 +6875,15 @@ function sendRequestToTargetWindowHelper(targetWindow, request) {
6603
6875
  // If the target window isn't closed and we already know its origin, send the message right away; otherwise,
6604
6876
  // queue the message and send it after the origin is established
6605
6877
  if (targetWindow && targetOrigin) {
6606
- logger(`Sending message %i to ${targetWindowName} via postMessage`, request.id);
6878
+ logger(`Sending message %i to ${targetWindowName} via postMessage`, request.uuidAsString);
6607
6879
  targetWindow.postMessage(request, targetOrigin);
6608
6880
  }
6609
6881
  else {
6610
- logger(`Adding message %i to ${targetWindowName} message queue`, request.id);
6611
- getTargetMessageQueue(targetWindow).push(request);
6882
+ logger(`Adding message %i to ${targetWindowName} message queue`, request.uuidAsString);
6883
+ getTargetMessageQueue(targetWindow).push(messageRequest);
6612
6884
  }
6613
6885
  }
6614
- return request;
6886
+ return messageRequest;
6615
6887
  }
6616
6888
  const sendMessageToParentHelperLogger = communicationLogger.extend('sendMessageToParentHelper');
6617
6889
  /**
@@ -6622,8 +6894,7 @@ function sendMessageToParentHelper(apiVersionTag, actionName, args) {
6622
6894
  const logger = sendMessageToParentHelperLogger;
6623
6895
  const targetWindow = Communication.parentWindow;
6624
6896
  const request = createMessageRequest(apiVersionTag, actionName, args);
6625
- /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
6626
- logger('Message %i information: %o', request.id, { actionName, args });
6897
+ logger('Message %i information: %o', request.uuid, { actionName, args });
6627
6898
  return sendRequestToTargetWindowHelper(targetWindow, request);
6628
6899
  }
6629
6900
  const processMessageLogger = communicationLogger.extend('processMessage');
@@ -6787,6 +7058,70 @@ function updateRelationships(messageSource, messageOrigin) {
6787
7058
  flushMessageQueue(Communication.childWindow);
6788
7059
  }
6789
7060
  const handleParentMessageLogger = communicationLogger.extend('handleParentMessage');
7061
+ /**
7062
+ * @internal
7063
+ * Limited to Microsoft-internal use
7064
+ */
7065
+ function retrieveMessageUUIDFromResponse(response) {
7066
+ var _a;
7067
+ const logger = handleParentMessageLogger;
7068
+ if (response.uuid) {
7069
+ const responseUUID = response.uuid;
7070
+ const callbackUUID = retrieveMessageUUIDFromCallback(CommunicationPrivate.callbacks, responseUUID);
7071
+ if (callbackUUID) {
7072
+ return callbackUUID;
7073
+ }
7074
+ const promiseCallbackUUID = retrieveMessageUUIDFromCallback(CommunicationPrivate.promiseCallbacks, responseUUID);
7075
+ if (promiseCallbackUUID) {
7076
+ return promiseCallbackUUID;
7077
+ }
7078
+ const portCallbackUUID = retrieveMessageUUIDFromCallback(CommunicationPrivate.portCallbacks, responseUUID);
7079
+ if (portCallbackUUID) {
7080
+ return portCallbackUUID;
7081
+ }
7082
+ }
7083
+ else {
7084
+ return CommunicationPrivate.legacyMessageIdsToUuidMap[response.id];
7085
+ }
7086
+ logger(`Received a message with uuid: ${(_a = response.uuid) === null || _a === void 0 ? void 0 : _a.toString()} and legacyId: %i that failed to produce a callbackId`, response.id);
7087
+ return undefined;
7088
+ }
7089
+ /**
7090
+ * @internal
7091
+ * Limited to Microsoft-internal use
7092
+ *
7093
+ * This function is used to compare a new MessageUUID object value to the key values in the specified callback and retrieving that key
7094
+ * We use this because two objects with the same value are not considered equivalent therefore we can't use the new MessageUUID object
7095
+ * as a key to retrieve the value assosciated with it and should use this function instead.
7096
+ */
7097
+ function retrieveMessageUUIDFromCallback(map, responseUUID) {
7098
+ if (responseUUID) {
7099
+ const callback = [...map].find(([key, _value]) => {
7100
+ return key.toString() === responseUUID.toString();
7101
+ });
7102
+ if (callback) {
7103
+ return callback[0];
7104
+ }
7105
+ }
7106
+ return undefined;
7107
+ }
7108
+ /**
7109
+ * @internal
7110
+ * Limited to Microsoft-internal use
7111
+ */
7112
+ function removeMessageHandlers(message, map) {
7113
+ const callbackId = retrieveMessageUUIDFromCallback(map, message.uuid);
7114
+ if (callbackId) {
7115
+ map.delete(callbackId);
7116
+ }
7117
+ if (!message.uuid) {
7118
+ delete CommunicationPrivate.legacyMessageIdsToUuidMap[message.id];
7119
+ }
7120
+ else {
7121
+ //If we are here, then the parent is capable of sending UUIDs, therefore free up memory
7122
+ CommunicationPrivate.legacyMessageIdsToUuidMap = {};
7123
+ }
7124
+ }
6790
7125
  /**
6791
7126
  * @internal
6792
7127
  * Limited to Microsoft-internal use
@@ -6795,37 +7130,44 @@ function handleParentMessage(evt) {
6795
7130
  const logger = handleParentMessageLogger;
6796
7131
  if ('id' in evt.data && typeof evt.data.id === 'number') {
6797
7132
  // Call any associated Communication.callbacks
6798
- const message = evt.data;
6799
- const callback = CommunicationPrivate.callbacks[message.id];
6800
- logger('Received a response from parent for message %i', message.id);
6801
- if (callback) {
6802
- logger('Invoking the registered callback for message %i with arguments %o', message.id, message.args);
6803
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6804
- // @ts-ignore
6805
- callback.apply(null, [...message.args, message.isPartialResponse]);
6806
- // Remove the callback to ensure that the callback is called only once and to free up memory if response is a complete response
6807
- if (!isPartialResponse(evt)) {
6808
- logger('Removing registered callback for message %i', message.id);
6809
- delete CommunicationPrivate.callbacks[message.id];
7133
+ const serializedResponse = evt.data;
7134
+ const message = deserializeMessageResponse(serializedResponse);
7135
+ const callbackId = retrieveMessageUUIDFromResponse(message);
7136
+ if (callbackId) {
7137
+ const callback = CommunicationPrivate.callbacks.get(callbackId);
7138
+ logger('Received a response from parent for message %i', callbackId);
7139
+ if (callback) {
7140
+ logger('Invoking the registered callback for message %i with arguments %o', callbackId, message.args);
7141
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
7142
+ // @ts-ignore
7143
+ callback.apply(null, [...message.args, message.isPartialResponse]);
7144
+ // Remove the callback to ensure that the callback is called only once and to free up memory if response is a complete response
7145
+ if (!isPartialResponse(evt)) {
7146
+ logger('Removing registered callback for message %i', callbackId);
7147
+ removeMessageHandlers(message, CommunicationPrivate.callbacks);
7148
+ }
6810
7149
  }
6811
- }
6812
- const promiseCallback = CommunicationPrivate.promiseCallbacks[message.id];
6813
- if (promiseCallback) {
6814
- logger('Invoking the registered promise callback for message %i with arguments %o', message.id, message.args);
6815
- promiseCallback(message.args);
6816
- logger('Removing registered promise callback for message %i', message.id);
6817
- delete CommunicationPrivate.promiseCallbacks[message.id];
6818
- }
6819
- const portCallback = CommunicationPrivate.portCallbacks[message.id];
6820
- if (portCallback) {
6821
- logger('Invoking the registered port callback for message %i with arguments %o', message.id, message.args);
6822
- let port;
6823
- if (evt.ports && evt.ports[0] instanceof MessagePort) {
6824
- port = evt.ports[0];
7150
+ const promiseCallback = CommunicationPrivate.promiseCallbacks.get(callbackId);
7151
+ if (promiseCallback) {
7152
+ logger('Invoking the registered promise callback for message %i with arguments %o', callbackId, message.args);
7153
+ promiseCallback(message.args);
7154
+ logger('Removing registered promise callback for message %i', callbackId);
7155
+ removeMessageHandlers(message, CommunicationPrivate.promiseCallbacks);
7156
+ }
7157
+ const portCallback = CommunicationPrivate.portCallbacks.get(callbackId);
7158
+ if (portCallback) {
7159
+ logger('Invoking the registered port callback for message %i with arguments %o', callbackId, message.args);
7160
+ let port;
7161
+ if (evt.ports && evt.ports[0] instanceof MessagePort) {
7162
+ port = evt.ports[0];
7163
+ }
7164
+ portCallback(port, message.args);
7165
+ logger('Removing registered port callback for message %i', callbackId);
7166
+ removeMessageHandlers(message, CommunicationPrivate.portCallbacks);
7167
+ }
7168
+ if (message.uuid) {
7169
+ CommunicationPrivate.legacyMessageIdsToUuidMap = {};
6825
7170
  }
6826
- portCallback(port, message.args);
6827
- logger('Removing registered port callback for message %i', message.id);
6828
- delete CommunicationPrivate.portCallbacks[message.id];
6829
7171
  }
6830
7172
  }
6831
7173
  else if ('func' in evt.data && typeof evt.data.func === 'string') {
@@ -6852,12 +7194,12 @@ function isPartialResponse(evt) {
6852
7194
  function handleChildMessage(evt) {
6853
7195
  if ('id' in evt.data && 'func' in evt.data) {
6854
7196
  // Try to delegate the request to the proper handler, if defined
6855
- const message = evt.data;
7197
+ const message = deserializeMessageRequest(evt.data);
6856
7198
  const [called, result] = callHandler(message.func, message.args);
6857
7199
  if (called && typeof result !== 'undefined') {
6858
7200
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6859
7201
  // @ts-ignore
6860
- sendMessageResponseToChild(message.id, Array.isArray(result) ? result : [result]);
7202
+ sendMessageResponseToChild(message.id, message.uuid, Array.isArray(result) ? result : [result]);
6861
7203
  }
6862
7204
  else {
6863
7205
  // No handler, proxy to parent
@@ -6866,7 +7208,7 @@ function handleChildMessage(evt) {
6866
7208
  const isPartialResponse = args.pop();
6867
7209
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6868
7210
  // @ts-ignore
6869
- sendMessageResponseToChild(message.id, args, isPartialResponse);
7211
+ sendMessageResponseToChild(message.id, message.uuid, args, isPartialResponse);
6870
7212
  }
6871
7213
  });
6872
7214
  }
@@ -6947,10 +7289,13 @@ function flushMessageQueue(targetWindow) {
6947
7289
  const targetMessageQueue = getTargetMessageQueue(targetWindow);
6948
7290
  const target = getTargetName(targetWindow);
6949
7291
  while (targetWindow && targetOrigin && targetMessageQueue.length > 0) {
6950
- const request = targetMessageQueue.shift();
6951
- /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
6952
- flushMessageQueueLogger('Flushing message %i from ' + target + ' message queue via postMessage.', request === null || request === void 0 ? void 0 : request.id);
6953
- targetWindow.postMessage(request, targetOrigin);
7292
+ const messageRequest = targetMessageQueue.shift();
7293
+ if (messageRequest) {
7294
+ const request = serializeMessageRequest(messageRequest);
7295
+ /* eslint-disable-next-line strict-null-checks/all */ /* Fix tracked by 5730662 */
7296
+ flushMessageQueueLogger('Flushing message %i from ' + target + ' message queue via postMessage.', request === null || request === void 0 ? void 0 : request.uuidAsString);
7297
+ targetWindow.postMessage(request, targetOrigin);
7298
+ }
6954
7299
  }
6955
7300
  }
6956
7301
  /**
@@ -6976,12 +7321,13 @@ function waitForMessageQueue(targetWindow, callback) {
6976
7321
  * @internal
6977
7322
  * Limited to Microsoft-internal use
6978
7323
  */
6979
- function sendMessageResponseToChild(id, args, isPartialResponse) {
7324
+ function sendMessageResponseToChild(id, uuid, args, isPartialResponse) {
6980
7325
  const targetWindow = Communication.childWindow;
6981
- const response = createMessageResponse(id, args, isPartialResponse);
7326
+ const response = createMessageResponse(id, uuid, args, isPartialResponse);
7327
+ const serializedResponse = serializeMessageResponse(response);
6982
7328
  const targetOrigin = getTargetOrigin(targetWindow);
6983
7329
  if (targetWindow && targetOrigin) {
6984
- targetWindow.postMessage(response, targetOrigin);
7330
+ targetWindow.postMessage(serializedResponse, targetOrigin);
6985
7331
  }
6986
7332
  }
6987
7333
  /**
@@ -7011,8 +7357,12 @@ function sendMessageEventToChild(actionName, args) {
7011
7357
  * Limited to Microsoft-internal use
7012
7358
  */
7013
7359
  function createMessageRequest(apiVersionTag, func, args) {
7360
+ const messageId = CommunicationPrivate.nextMessageId++;
7361
+ const messageUuid = new UUID();
7362
+ CommunicationPrivate.legacyMessageIdsToUuidMap[messageId] = messageUuid;
7014
7363
  return {
7015
- id: CommunicationPrivate.nextMessageId++,
7364
+ id: messageId,
7365
+ uuid: messageUuid,
7016
7366
  func: func,
7017
7367
  timestamp: Date.now(),
7018
7368
  args: args || [],
@@ -7031,8 +7381,12 @@ function createMessageRequest(apiVersionTag, func, args) {
7031
7381
  * @returns {NestedAppAuthRequest} Returns a NestedAppAuthRequest object with a unique id, the function name set to 'nestedAppAuthRequest', the current timestamp, an empty args array, and the provided message as data.
7032
7382
  */
7033
7383
  function createNestedAppAuthRequest(message) {
7384
+ const messageId = CommunicationPrivate.nextMessageId++;
7385
+ const messageUuid = new UUID();
7386
+ CommunicationPrivate.legacyMessageIdsToUuidMap[messageId] = messageUuid;
7034
7387
  return {
7035
- id: CommunicationPrivate.nextMessageId++,
7388
+ id: messageId,
7389
+ uuid: messageUuid,
7036
7390
  func: 'nestedAppAuth.execute',
7037
7391
  timestamp: Date.now(),
7038
7392
  // Since this is a nested app auth request, we don't need to send any args.
@@ -7045,9 +7399,10 @@ function createNestedAppAuthRequest(message) {
7045
7399
  * @internal
7046
7400
  * Limited to Microsoft-internal use
7047
7401
  */
7048
- function createMessageResponse(id, args, isPartialResponse) {
7402
+ function createMessageResponse(id, uuid, args, isPartialResponse) {
7049
7403
  return {
7050
7404
  id: id,
7405
+ uuid: uuid,
7051
7406
  args: args || [],
7052
7407
  isPartialResponse,
7053
7408
  };
@@ -8562,185 +8917,6 @@ var meetingRoom;
8562
8917
  meetingRoom.isSupported = isSupported;
8563
8918
  })(meetingRoom || (meetingRoom = {}));
8564
8919
 
8565
- ;// CONCATENATED MODULE: ./src/private/messageChannels.ts
8566
- var messageChannels_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
8567
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
8568
- return new (P || (P = Promise))(function (resolve, reject) {
8569
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8570
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
8571
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8572
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8573
- });
8574
- };
8575
-
8576
-
8577
-
8578
-
8579
-
8580
- /**
8581
- * @hidden
8582
- * Namespace to request message ports from the host application.
8583
- *
8584
- * @beta
8585
- *
8586
- * @internal
8587
- * Limited to Microsoft-internal use
8588
- */
8589
- var messageChannels;
8590
- (function (messageChannels) {
8591
- let telemetry;
8592
- (function (telemetry) {
8593
- let telemetryPort;
8594
- const messageChannelsTelemetryVersionNumber = "v1" /* ApiVersionNumber.V_1 */;
8595
- const logger = getLogger('messageChannels.telemetry');
8596
- /**
8597
- * @hidden
8598
- * @beta
8599
- *
8600
- * Fetches a MessagePort to batch telemetry through the host's telemetry worker.
8601
- * The port is cached once received, so subsequent calls return the same port.
8602
- * @returns MessagePort.
8603
- *
8604
- * @throws Error if {@linkcode app.initialize} has not successfully completed,
8605
- * if the host does not support the feature, or if the port request is rejected.
8606
- *
8607
- * @internal
8608
- * Limited to Microsoft-internal use
8609
- */
8610
- function getTelemetryPort() {
8611
- return messageChannels_awaiter(this, void 0, void 0, function* () {
8612
- // If the port has already been initialized, return it.
8613
- if (telemetryPort) {
8614
- logger('Returning telemetry port from cache');
8615
- return telemetryPort;
8616
- }
8617
- if (!isSupported()) {
8618
- throw errorNotSupportedOnPlatform;
8619
- }
8620
- // Send request for telemetry port, will throw if the request is rejected
8621
- telemetryPort = yield requestPortFromParentWithVersion(getApiVersionTag(messageChannelsTelemetryVersionNumber, "messageChannels.telemetry.getTelemetryPort" /* ApiName.MessageChannels_Telemetry_GetTelemetryPort */), "messageChannels.telemetry.getTelemetryPort" /* ApiName.MessageChannels_Telemetry_GetTelemetryPort */);
8622
- return telemetryPort;
8623
- });
8624
- }
8625
- telemetry.getTelemetryPort = getTelemetryPort;
8626
- /**
8627
- * @hidden
8628
- *
8629
- * @beta
8630
- *
8631
- * Checks if the messageChannels.telemetry capability is supported by the host
8632
- * @returns boolean to represent whether the messageChannels.telemetry capability is supported
8633
- *
8634
- * @throws Error if {@linkcode app.initialize} has not successfully completed
8635
- *
8636
- * @internal
8637
- * Limited to Microsoft-internal use
8638
- */
8639
- function isSupported() {
8640
- var _a;
8641
- return ensureInitialized(runtime) && ((_a = runtime.supports.messageChannels) === null || _a === void 0 ? void 0 : _a.telemetry) ? true : false;
8642
- }
8643
- telemetry.isSupported = isSupported;
8644
- /**
8645
- * @hidden
8646
- * Undocumented function used to clear state between unit tests
8647
- *
8648
- * @beta
8649
- *
8650
- * @internal
8651
- * Limited to Microsoft-internal use
8652
- */
8653
- function _clearTelemetryPort() {
8654
- telemetryPort = undefined;
8655
- }
8656
- telemetry._clearTelemetryPort = _clearTelemetryPort;
8657
- })(telemetry = messageChannels.telemetry || (messageChannels.telemetry = {}));
8658
- let dataLayer;
8659
- (function (dataLayer) {
8660
- let dataLayerPort;
8661
- const messageChannelsDataLayerVersionNumber = "v1" /* ApiVersionNumber.V_1 */;
8662
- const logger = getLogger('messageChannels.dataLayer');
8663
- /**
8664
- * @hidden
8665
- * @beta
8666
- *
8667
- * Fetches a MessagePort to allow access to the host's data layer worker.
8668
- * The port is cached once received, so subsequent calls return the same port.
8669
- * @returns MessagePort.
8670
- *
8671
- * @throws Error if {@linkcode app.initialize} has not successfully completed,
8672
- * if the host does not support the feature, or if the port request is rejected.
8673
- *
8674
- * @internal
8675
- * Limited to Microsoft-internal use
8676
- */
8677
- function getDataLayerPort() {
8678
- return messageChannels_awaiter(this, void 0, void 0, function* () {
8679
- // If the port has already been initialized, return it.
8680
- if (dataLayerPort) {
8681
- logger('Returning dataLayer port from cache');
8682
- return dataLayerPort;
8683
- }
8684
- if (!isSupported()) {
8685
- throw errorNotSupportedOnPlatform;
8686
- }
8687
- // Send request for telemetry port, will throw if the request is rejected
8688
- dataLayerPort = yield requestPortFromParentWithVersion(getApiVersionTag(messageChannelsDataLayerVersionNumber, "messageChannels.dataLayer.getDataLayerPort" /* ApiName.MessageChannels_DataLayer_GetDataLayerPort */), "messageChannels.dataLayer.getDataLayerPort" /* ApiName.MessageChannels_DataLayer_GetDataLayerPort */);
8689
- return dataLayerPort;
8690
- });
8691
- }
8692
- dataLayer.getDataLayerPort = getDataLayerPort;
8693
- /**
8694
- * @hidden
8695
- *
8696
- * @beta
8697
- *
8698
- * Checks if the messageChannels.dataLayer capability is supported by the host
8699
- * @returns boolean to represent whether the messageChannels.dataLayer capability is supported
8700
- *
8701
- * @throws Error if {@linkcode app.initialize} has not successfully completed
8702
- *
8703
- * @internal
8704
- * Limited to Microsoft-internal use
8705
- */
8706
- function isSupported() {
8707
- var _a;
8708
- return ensureInitialized(runtime) && ((_a = runtime.supports.messageChannels) === null || _a === void 0 ? void 0 : _a.dataLayer) ? true : false;
8709
- }
8710
- dataLayer.isSupported = isSupported;
8711
- /**
8712
- * @hidden
8713
- * Undocumented function used to clear state between unit tests
8714
- *
8715
- * @beta
8716
- *
8717
- * @internal
8718
- * Limited to Microsoft-internal use
8719
- */
8720
- function _clearDataLayerPort() {
8721
- dataLayerPort = undefined;
8722
- }
8723
- dataLayer._clearDataLayerPort = _clearDataLayerPort;
8724
- })(dataLayer = messageChannels.dataLayer || (messageChannels.dataLayer = {}));
8725
- /**
8726
- * @hidden
8727
- *
8728
- * @beta
8729
- *
8730
- * Checks if the messageChannels capability is supported by the host
8731
- * @returns boolean to represent whether the messageChannels capability is supported
8732
- *
8733
- * @throws Error if {@linkcode app.initialize} has not successfully completed
8734
- *
8735
- * @internal
8736
- * Limited to Microsoft-internal use
8737
- */
8738
- function isSupported() {
8739
- return ensureInitialized(runtime) && runtime.supports.messageChannels ? true : false;
8740
- }
8741
- messageChannels.isSupported = isSupported;
8742
- })(messageChannels || (messageChannels = {}));
8743
-
8744
8920
  ;// CONCATENATED MODULE: ./src/private/notifications.ts
8745
8921
 
8746
8922
 
@@ -14073,7 +14249,7 @@ var call;
14073
14249
 
14074
14250
  /**
14075
14251
  * @deprecated
14076
- * As of 2.0.0, please use {@link app} namespace instead.
14252
+ * As of TeamsJS v2.0.0, please use {@link app} namespace instead.
14077
14253
  *
14078
14254
  * v1 APIs telemetry file: All of APIs in this capability file should send out API version v1 ONLY
14079
14255
  */
@@ -14082,25 +14258,25 @@ var appInitialization;
14082
14258
  (function (appInitialization) {
14083
14259
  /**
14084
14260
  * @deprecated
14085
- * As of 2.0.0, please use {@link app.Messages} instead.
14261
+ * As of TeamsJS v2.0.0, please use {@link app.Messages} instead.
14086
14262
  */
14087
14263
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
14088
14264
  appInitialization.Messages = app.Messages;
14089
14265
  /**
14090
14266
  * @deprecated
14091
- * As of 2.0.0, please use {@link app.FailedReason} instead.
14267
+ * As of TeamsJS v2.0.0, please use {@link app.FailedReason} instead.
14092
14268
  */
14093
14269
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
14094
14270
  appInitialization.FailedReason = app.FailedReason;
14095
14271
  /**
14096
14272
  * @deprecated
14097
- * As of 2.0.0, please use {@link app.ExpectedFailureReason} instead.
14273
+ * As of TeamsJS v2.0.0, please use {@link app.ExpectedFailureReason} instead.
14098
14274
  */
14099
14275
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
14100
14276
  appInitialization.ExpectedFailureReason = app.ExpectedFailureReason;
14101
14277
  /**
14102
14278
  * @deprecated
14103
- * As of 2.0.0, please use {@link app.notifyAppLoaded app.notifyAppLoaded(): void} instead.
14279
+ * As of TeamsJS v2.0.0, please use {@link app.notifyAppLoaded app.notifyAppLoaded(): void} instead.
14104
14280
  *
14105
14281
  * Notifies the frame that app has loaded and to hide the loading indicator if one is shown.
14106
14282
  */
@@ -14110,7 +14286,7 @@ var appInitialization;
14110
14286
  appInitialization.notifyAppLoaded = notifyAppLoaded;
14111
14287
  /**
14112
14288
  * @deprecated
14113
- * As of 2.0.0, please use {@link app.notifySuccess app.notifySuccess(): void} instead.
14289
+ * As of TeamsJS v2.0.0, please use {@link app.notifySuccess app.notifySuccess(): void} instead.
14114
14290
  *
14115
14291
  * Notifies the frame that app initialization is successful and is ready for user interaction.
14116
14292
  */
@@ -14120,7 +14296,7 @@ var appInitialization;
14120
14296
  appInitialization.notifySuccess = notifySuccess;
14121
14297
  /**
14122
14298
  * @deprecated
14123
- * As of 2.0.0, please use {@link app.notifyFailure app.notifyFailure(appInitializationFailedRequest: IFailedRequest): void} instead.
14299
+ * As of TeamsJS v2.0.0, please use {@link app.notifyFailure app.notifyFailure(appInitializationFailedRequest: IFailedRequest): void} instead.
14124
14300
  *
14125
14301
  * Notifies the frame that app initialization has failed and to show an error page in its place.
14126
14302
  * @param appInitializationFailedRequest - The failure request containing the reason for why the app failed
@@ -14132,7 +14308,7 @@ var appInitialization;
14132
14308
  appInitialization.notifyFailure = notifyFailure;
14133
14309
  /**
14134
14310
  * @deprecated
14135
- * As of 2.0.0, please use {@link app.notifyExpectedFailure app.notifyExpectedFailure(expectedFailureRequest: IExpectedFailureRequest): void} instead.
14311
+ * As of TeamsJS v2.0.0, please use {@link app.notifyExpectedFailure app.notifyExpectedFailure(expectedFailureRequest: IExpectedFailureRequest): void} instead.
14136
14312
  *
14137
14313
  * Notifies the frame that app initialized with some expected errors.
14138
14314
  * @param expectedFailureRequest - The expected failure request containing the reason and an optional message
@@ -14316,7 +14492,7 @@ var thirdPartyCloudStorage;
14316
14492
  const publicAPIsTelemetryVersionNumber = "v1" /* ApiVersionNumber.V_1 */;
14317
14493
  /**
14318
14494
  * @deprecated
14319
- * As of 2.0.0, please use {@link app.initialize app.initialize(validMessageOrigins?: string[]): Promise\<void\>} instead.
14495
+ * As of TeamsJS v2.0.0, please use {@link app.initialize app.initialize(validMessageOrigins?: string[]): Promise\<void\>} instead.
14320
14496
  *
14321
14497
  * Initializes the library. This must be called before any other SDK calls
14322
14498
  * but after the frame is loaded successfully.
@@ -14333,7 +14509,7 @@ function initialize(callback, validMessageOrigins) {
14333
14509
  }
14334
14510
  /**
14335
14511
  * @deprecated
14336
- * As of 2.0.0, please use {@link teamsCore.enablePrintCapability teamsCore.enablePrintCapability(): void} instead.
14512
+ * As of TeamsJS v2.0.0, please use {@link teamsCore.enablePrintCapability teamsCore.enablePrintCapability(): void} instead.
14337
14513
  *
14338
14514
  * Enable print capability to support printing page using Ctrl+P and cmd+P
14339
14515
  */
@@ -14342,7 +14518,7 @@ function enablePrintCapability() {
14342
14518
  }
14343
14519
  /**
14344
14520
  * @deprecated
14345
- * As of 2.0.0, please use {@link teamsCore.print teamsCore.print(): void} instead.
14521
+ * As of TeamsJS v2.0.0, please use {@link teamsCore.print teamsCore.print(): void} instead.
14346
14522
  *
14347
14523
  * Default print handler
14348
14524
  */
@@ -14351,7 +14527,7 @@ function print() {
14351
14527
  }
14352
14528
  /**
14353
14529
  * @deprecated
14354
- * As of 2.0.0, please use {@link app.getContext app.getContext(): Promise\<app.Context\>} instead.
14530
+ * As of TeamsJS v2.0.0, please use {@link app.getContext app.getContext(): Promise\<app.Context\>} instead.
14355
14531
  *
14356
14532
  * Retrieves the current context the frame is running in.
14357
14533
  *
@@ -14369,7 +14545,7 @@ function getContext(callback) {
14369
14545
  }
14370
14546
  /**
14371
14547
  * @deprecated
14372
- * As of 2.0.0, please use {@link app.registerOnThemeChangeHandler app.registerOnThemeChangeHandler(handler: registerOnThemeChangeHandlerFunctionType): void} instead.
14548
+ * As of TeamsJS v2.0.0, please use {@link app.registerOnThemeChangeHandler app.registerOnThemeChangeHandler(handler: registerOnThemeChangeHandlerFunctionType): void} instead.
14373
14549
  *
14374
14550
  * Registers a handler for theme changes.
14375
14551
  * Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
@@ -14381,7 +14557,7 @@ function publicAPIs_registerOnThemeChangeHandler(handler) {
14381
14557
  }
14382
14558
  /**
14383
14559
  * @deprecated
14384
- * As of 2.0.0, please use {@link pages.registerFullScreenHandler pages.registerFullScreenHandler(handler: registerFullScreenHandlerFunctionType): void} instead.
14560
+ * As of TeamsJS v2.0.0, please use {@link pages.registerFullScreenHandler pages.registerFullScreenHandler(handler: registerFullScreenHandlerFunctionType): void} instead.
14385
14561
  *
14386
14562
  * Registers a handler for changes from or to full-screen view for a tab.
14387
14563
  * Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
@@ -14393,7 +14569,7 @@ function registerFullScreenHandler(handler) {
14393
14569
  }
14394
14570
  /**
14395
14571
  * @deprecated
14396
- * As of 2.0.0, please use {@link pages.appButton.onClick pages.appButton.onClick(handler: callbackFunctionType): void} instead.
14572
+ * As of TeamsJS v2.0.0, please use {@link pages.appButton.onClick pages.appButton.onClick(handler: callbackFunctionType): void} instead.
14397
14573
  *
14398
14574
  * Registers a handler for clicking the app button.
14399
14575
  * Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
@@ -14405,7 +14581,7 @@ function registerAppButtonClickHandler(handler) {
14405
14581
  }
14406
14582
  /**
14407
14583
  * @deprecated
14408
- * As of 2.0.0, please use {@link pages.appButton.onHoverEnter pages.appButton.onHoverEnter(handler: callbackFunctionType): void} instead.
14584
+ * As of TeamsJS v2.0.0, please use {@link pages.appButton.onHoverEnter pages.appButton.onHoverEnter(handler: callbackFunctionType): void} instead.
14409
14585
  *
14410
14586
  * Registers a handler for entering hover of the app button.
14411
14587
  * Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
@@ -14417,7 +14593,7 @@ function registerAppButtonHoverEnterHandler(handler) {
14417
14593
  }
14418
14594
  /**
14419
14595
  * @deprecated
14420
- * As of 2.0.0, please use {@link pages.appButton.onHoverLeave pages.appButton.onHoverLeave(handler: callbackFunctionType): void} instead.
14596
+ * As of TeamsJS v2.0.0, please use {@link pages.appButton.onHoverLeave pages.appButton.onHoverLeave(handler: callbackFunctionType): void} instead.
14421
14597
  *
14422
14598
  * Registers a handler for exiting hover of the app button.
14423
14599
  * Only one handler can be registered at a time. A subsequent registration replaces an existing registration.
@@ -14429,7 +14605,7 @@ function registerAppButtonHoverLeaveHandler(handler) {
14429
14605
  }
14430
14606
  /**
14431
14607
  * @deprecated
14432
- * As of 2.0.0, please use {@link pages.backStack.registerBackButtonHandler pages.backStack.registerBackButtonHandler(handler: registerBackButtonHandlerFunctionType): void} instead.
14608
+ * As of TeamsJS v2.0.0, please use {@link pages.backStack.registerBackButtonHandler pages.backStack.registerBackButtonHandler(handler: registerBackButtonHandlerFunctionType): void} instead.
14433
14609
  *
14434
14610
  * Registers a handler for user presses of the Team client's back button. Experiences that maintain an internal
14435
14611
  * navigation stack should use this handler to navigate the user back within their frame. If an app finds
@@ -14443,7 +14619,7 @@ function registerBackButtonHandler(handler) {
14443
14619
  }
14444
14620
  /**
14445
14621
  * @deprecated
14446
- * As of 2.0.0, please use {@link teamsCore.registerOnLoadHandler teamsCore.registerOnLoadHandler(handler: (context: LoadContext) => void): void} instead.
14622
+ * As of TeamsJS v2.0.0, please use {@link teamsCore.registerOnLoadHandler teamsCore.registerOnLoadHandler(handler: (context: LoadContext) => void): void} instead.
14447
14623
  *
14448
14624
  * @hidden
14449
14625
  * Registers a handler to be called when the page has been requested to load.
@@ -14455,7 +14631,7 @@ function registerOnLoadHandler(handler) {
14455
14631
  }
14456
14632
  /**
14457
14633
  * @deprecated
14458
- * As of 2.0.0, please use {@link teamsCore.registerBeforeUnloadHandler teamsCore.registerBeforeUnloadHandler(handler: (readyToUnload: callbackFunctionType) => boolean): void} instead.
14634
+ * As of TeamsJS v2.0.0, please use {@link teamsCore.registerBeforeUnloadHandler teamsCore.registerBeforeUnloadHandler(handler: (readyToUnload: callbackFunctionType) => boolean): void} instead.
14459
14635
  *
14460
14636
  * @hidden
14461
14637
  * Registers a handler to be called before the page is unloaded.
@@ -14468,7 +14644,7 @@ function registerBeforeUnloadHandler(handler) {
14468
14644
  }
14469
14645
  /**
14470
14646
  * @deprecated
14471
- * As of 2.0.0, please use {@link pages.registerFocusEnterHandler pages.registerFocusEnterHandler(handler: (navigateForward: boolean) => void): void} instead.
14647
+ * As of TeamsJS v2.0.0, please use {@link pages.registerFocusEnterHandler pages.registerFocusEnterHandler(handler: (navigateForward: boolean) => void): void} instead.
14472
14648
  *
14473
14649
  * @hidden
14474
14650
  * Registers a handler when focus needs to be passed from teams to the place of choice on app.
@@ -14480,7 +14656,7 @@ function registerFocusEnterHandler(handler) {
14480
14656
  }
14481
14657
  /**
14482
14658
  * @deprecated
14483
- * As of 2.0.0, please use {@link pages.config.registerChangeConfigHandler pages.config.registerChangeConfigHandler(handler: callbackFunctionType): void} instead.
14659
+ * As of TeamsJS v2.0.0, please use {@link pages.config.registerChangeConfigHandler pages.config.registerChangeConfigHandler(handler: callbackFunctionType): void} instead.
14484
14660
  *
14485
14661
  * Registers a handler for when the user reconfigurated tab.
14486
14662
  *
@@ -14491,7 +14667,7 @@ function registerChangeSettingsHandler(handler) {
14491
14667
  }
14492
14668
  /**
14493
14669
  * @deprecated
14494
- * As of 2.0.0, please use {@link pages.tabs.getTabInstances pages.tabs.getTabInstances(tabInstanceParameters?: TabInstanceParameters): Promise\<TabInformation\>} instead.
14670
+ * As of TeamsJS v2.0.0, please use {@link pages.tabs.getTabInstances pages.tabs.getTabInstances(tabInstanceParameters?: TabInstanceParameters): Promise\<TabInformation\>} instead.
14495
14671
  *
14496
14672
  * Allows an app to retrieve for this user tabs that are owned by this app.
14497
14673
  * If no TabInstanceParameters are passed, the app defaults to favorite teams and favorite channels.
@@ -14507,7 +14683,7 @@ function getTabInstances(callback, tabInstanceParameters) {
14507
14683
  }
14508
14684
  /**
14509
14685
  * @deprecated
14510
- * As of 2.0.0, please use {@link pages.tabs.getMruTabInstances pages.tabs.getMruTabInstances(tabInstanceParameters?: TabInstanceParameters): Promise\<TabInformation\>} instead.
14686
+ * As of TeamsJS v2.0.0, please use {@link pages.tabs.getMruTabInstances pages.tabs.getMruTabInstances(tabInstanceParameters?: TabInstanceParameters): Promise\<TabInformation\>} instead.
14511
14687
  *
14512
14688
  * Allows an app to retrieve the most recently used tabs for this user.
14513
14689
  *
@@ -14522,7 +14698,7 @@ function getMruTabInstances(callback, tabInstanceParameters) {
14522
14698
  }
14523
14699
  /**
14524
14700
  * @deprecated
14525
- * As of 2.0.0, please use {@link pages.shareDeepLink pages.shareDeepLink(deepLinkParameters: DeepLinkParameters): void} instead.
14701
+ * As of TeamsJS v2.0.0, please use {@link pages.shareDeepLink pages.shareDeepLink(deepLinkParameters: DeepLinkParameters): void} instead.
14526
14702
  *
14527
14703
  * Shares a deep link that a user can use to navigate back to a specific state in this page.
14528
14704
  *
@@ -14537,11 +14713,16 @@ function shareDeepLink(deepLinkParameters) {
14537
14713
  }
14538
14714
  /**
14539
14715
  * @deprecated
14540
- * As of 2.0.0, please use {@link app.openLink app.openLink(deepLink: string): Promise\<void\>} instead.
14716
+ * This function was previously used for opening various types of links. As of TeamsJS v2.0.0, it has been replaced with multiple different
14717
+ * functions depending on the type of link:
14541
14718
  *
14542
- * Execute deep link API.
14719
+ * - Use {@link pages.currentApp.navigateToDefaultPage} to navigate to the default page of your own app
14720
+ * - Use {@link pages.currentApp.navigateTo} to navigate to a section of your own app
14721
+ * - Use {@link pages.navigateToApp} to navigate to other apps besides your own
14722
+ * - Use {@link app.openLink} for opening deep links to other parts of the host (e.g., to chats or channels) or
14723
+ * general-purpose links (e.g., to external websites).
14543
14724
  *
14544
- * @param deepLink - deep link.
14725
+ * @param deepLink deep link.
14545
14726
  */
14546
14727
  function executeDeepLink(deepLink, onComplete) {
14547
14728
  ensureInitialized(runtime, FrameContexts.content, FrameContexts.sidePanel, FrameContexts.settings, FrameContexts.task, FrameContexts.stage, FrameContexts.meetingStage);
@@ -14556,7 +14737,7 @@ function executeDeepLink(deepLink, onComplete) {
14556
14737
  }
14557
14738
  /**
14558
14739
  * @deprecated
14559
- * As of 2.0.0, please use {@link pages.setCurrentFrame pages.setCurrentFrame(frameInfo: FrameInfo): void} instead.
14740
+ * As of TeamsJS v2.0.0, please use {@link pages.setCurrentFrame pages.setCurrentFrame(frameInfo: FrameInfo): void} instead.
14560
14741
  *
14561
14742
  * Set the current Frame Context
14562
14743
  *
@@ -14567,7 +14748,7 @@ function setFrameContext(frameContext) {
14567
14748
  }
14568
14749
  /**
14569
14750
  * @deprecated
14570
- * As of 2.0.0, please use {@link pages.initializeWithFrameContext pages.initializeWithFrameContext(frameInfo: FrameInfo, callback?: callbackFunctionType, validMessageOrigins?: string[],): void} instead.
14751
+ * As of TeamsJS v2.0.0, please use {@link pages.initializeWithFrameContext pages.initializeWithFrameContext(frameInfo: FrameInfo, callback?: callbackFunctionType, validMessageOrigins?: string[],): void} instead.
14571
14752
  *
14572
14753
  * Initialize with FrameContext
14573
14754
  *
@@ -14594,7 +14775,7 @@ function initializeWithFrameContext(frameContext, callback, validMessageOrigins)
14594
14775
  const navigationTelemetryVersionNumber = "v1" /* ApiVersionNumber.V_1 */;
14595
14776
  /**
14596
14777
  * @deprecated
14597
- * As of 2.0.0, please use {@link pages.returnFocus pages.returnFocus(navigateForward?: boolean): void} instead.
14778
+ * As of TeamsJS v2.0.0, please use {@link pages.returnFocus pages.returnFocus(navigateForward?: boolean): void} instead.
14598
14779
  *
14599
14780
  * Return focus to the main Teams app. Will focus search bar if navigating foward and app bar if navigating back.
14600
14781
  *
@@ -14605,7 +14786,7 @@ function returnFocus(navigateForward) {
14605
14786
  }
14606
14787
  /**
14607
14788
  * @deprecated
14608
- * As of 2.0.0, please use {@link pages.tabs.navigateToTab pages.tabs.navigateToTab(tabInstance: TabInstance): Promise\<void\>} instead.
14789
+ * As of TeamsJS v2.0.0, please use {@link pages.tabs.navigateToTab pages.tabs.navigateToTab(tabInstance: TabInstance): Promise\<void\>} instead.
14609
14790
  *
14610
14791
  * Navigates the Microsoft Teams app to the specified tab instance.
14611
14792
  *
@@ -14625,7 +14806,7 @@ function navigateToTab(tabInstance, onComplete) {
14625
14806
  }
14626
14807
  /**
14627
14808
  * @deprecated
14628
- * As of 2.0.0, please use {@link pages.navigateCrossDomain pages.navigateCrossDomain(url: string): Promise\<void\>} instead.
14809
+ * As of TeamsJS v2.0.0, please use {@link pages.navigateCrossDomain pages.navigateCrossDomain(url: string): Promise\<void\>} instead.
14629
14810
  *
14630
14811
  * Navigates the frame to a new cross-domain URL. The domain of this URL must match at least one of the
14631
14812
  * valid domains specified in the validDomains block of the manifest; otherwise, an exception will be
@@ -14649,7 +14830,7 @@ function navigateCrossDomain(url, onComplete) {
14649
14830
  }
14650
14831
  /**
14651
14832
  * @deprecated
14652
- * As of 2.0.0, please use {@link pages.backStack.navigateBack pages.backStack.navigateBack(): Promise\<void\>} instead.
14833
+ * As of TeamsJS v2.0.0, please use {@link pages.backStack.navigateBack pages.backStack.navigateBack(): Promise\<void\>} instead.
14653
14834
  *
14654
14835
  * Navigates back in the Teams client.
14655
14836
  * See registerBackButtonHandler for more information on when it's appropriate to use this method.
@@ -14681,7 +14862,7 @@ function navigateBack(onComplete) {
14681
14862
  const settingsTelemetryVersionNumber = "v1" /* ApiVersionNumber.V_1 */;
14682
14863
  /**
14683
14864
  * @deprecated
14684
- * As of 2.0.0, please use {@link pages.config} namespace instead.
14865
+ * As of TeamsJS v2.0.0, please use {@link pages.config} namespace instead.
14685
14866
  *
14686
14867
  * Namespace to interact with the settings-specific part of the SDK.
14687
14868
  * This object is usable only on the settings frame.
@@ -14690,7 +14871,7 @@ var settings;
14690
14871
  (function (settings) {
14691
14872
  /**
14692
14873
  * @deprecated
14693
- * As of 2.0.0, please use {@link pages.config.setValidityState pages.config.setValidityState(validityState: boolean): void} instead.
14874
+ * As of TeamsJS v2.0.0, please use {@link pages.config.setValidityState pages.config.setValidityState(validityState: boolean): void} instead.
14694
14875
  *
14695
14876
  * Sets the validity state for the settings.
14696
14877
  * The initial value is false, so the user cannot save the settings until this is called with true.
@@ -14703,7 +14884,7 @@ var settings;
14703
14884
  settings.setValidityState = setValidityState;
14704
14885
  /**
14705
14886
  * @deprecated
14706
- * As of 2.0.0, please use {@link pages.getConfig pages.getConfig(): Promise\<InstanceConfig\>} instead.
14887
+ * As of TeamsJS v2.0.0, please use {@link pages.getConfig pages.getConfig(): Promise\<InstanceConfig\>} instead.
14707
14888
  *
14708
14889
  * Gets the settings for the current instance.
14709
14890
  *
@@ -14718,7 +14899,7 @@ var settings;
14718
14899
  settings.getSettings = getSettings;
14719
14900
  /**
14720
14901
  * @deprecated
14721
- * As of 2.0.0, please use {@link pages.config.setConfig pages.config.setConfig(instanceSettings: Config): Promise\<void\>} instead.
14902
+ * As of TeamsJS v2.0.0, please use {@link pages.config.setConfig pages.config.setConfig(instanceSettings: Config): Promise\<void\>} instead.
14722
14903
  *
14723
14904
  * Sets the settings for the current instance.
14724
14905
  * This is an asynchronous operation; calls to getSettings are not guaranteed to reflect the changed state.
@@ -14739,7 +14920,7 @@ var settings;
14739
14920
  settings.setSettings = setSettings;
14740
14921
  /**
14741
14922
  * @deprecated
14742
- * As of 2.0.0, please use {@link pages.config.registerOnSaveHandler pages.config.registerOnSaveHandler(handler: registerOnSaveHandlerFunctionType): void} instead.
14923
+ * As of TeamsJS v2.0.0, please use {@link pages.config.registerOnSaveHandler pages.config.registerOnSaveHandler(handler: registerOnSaveHandlerFunctionType): void} instead.
14743
14924
  *
14744
14925
  * Registers a handler for when the user attempts to save the settings. This handler should be used
14745
14926
  * to create or update the underlying resource powering the content.
@@ -14754,7 +14935,7 @@ var settings;
14754
14935
  settings.registerOnSaveHandler = registerOnSaveHandler;
14755
14936
  /**
14756
14937
  * @deprecated
14757
- * As of 2.0.0, please use {@link pages.config.registerOnRemoveHandler pages.config.registerOnRemoveHandler(handler: registerOnRemoveHandlerFunctionType): void} instead.
14938
+ * As of TeamsJS v2.0.0, please use {@link pages.config.registerOnRemoveHandler pages.config.registerOnRemoveHandler(handler: registerOnRemoveHandlerFunctionType): void} instead.
14758
14939
  *
14759
14940
  * Registers a handler for user attempts to remove content. This handler should be used
14760
14941
  * to remove the underlying resource powering the content.
@@ -14795,7 +14976,7 @@ var tasks_rest = (undefined && undefined.__rest) || function (s, e) {
14795
14976
  const tasksTelemetryVersionNumber = "v1" /* ApiVersionNumber.V_1 */;
14796
14977
  /**
14797
14978
  * @deprecated
14798
- * As of 2.0.0, please use {@link dialog} namespace instead.
14979
+ * As of TeamsJS v2.0.0, please use {@link dialog} namespace instead.
14799
14980
  *
14800
14981
  * Namespace to interact with the task module-specific part of the SDK.
14801
14982
  * This object is usable only on the content frame.
@@ -14842,7 +15023,7 @@ var tasks;
14842
15023
  tasks.startTask = startTask;
14843
15024
  /**
14844
15025
  * @deprecated
14845
- * As of 2.0.0, please use {@link dialog.update.resize dialog.update.resize(dimensions: DialogSize): void} instead.
15026
+ * As of TeamsJS v2.0.0, please use {@link dialog.update.resize dialog.update.resize(dimensions: DialogSize): void} instead.
14846
15027
  *
14847
15028
  * Update height/width task info properties.
14848
15029
  *