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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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
  *