@microsoft/teams-js 2.53.1 → 2.54.0-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/dist/esm/packages/teams-js/dts/internal/telemetry.d.ts +1 -0
- package/dist/esm/packages/teams-js/dts/public/clipboard.d.ts +41 -0
- package/dist/esm/packages/teams-js/dts/public/index.d.ts +1 -0
- package/dist/esm/packages/teams-js/dts/public/interfaces.d.ts +22 -2
- package/dist/esm/packages/teams-js/dts/public/meeting/meeting.d.ts +4 -0
- package/dist/esm/packages/teams-js/dts/public/mouseRelay.d.ts +33 -0
- package/dist/esm/packages/teams-js/dts/public/runtime.d.ts +1 -0
- package/dist/esm/packages/teams-js/src/index.js +1 -1
- package/dist/esm/packages/teams-js/src/public/meeting/meeting.js +1 -1
- package/dist/esm/packages/teams-js/src/public/mouseRelay.js +1 -0
- package/dist/esm/packages/teams-js/src/public/version.js +1 -1
- package/dist/umd/MicrosoftTeams.js +201 -2
- package/dist/umd/MicrosoftTeams.js.map +1 -1
- package/dist/umd/MicrosoftTeams.min.js +1 -1
- package/dist/umd/MicrosoftTeams.min.js.map +1 -1
- package/package.json +1 -53
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ To install the stable [version](https://learn.microsoft.com/javascript/api/overv
|
|
|
24
24
|
|
|
25
25
|
### Production
|
|
26
26
|
|
|
27
|
-
You can reference these files directly [from here](https://res.cdn.office.net/teams-js/2.
|
|
27
|
+
You can reference these files directly [from here](https://res.cdn.office.net/teams-js/2.54.0/js/MicrosoftTeams.min.js) or point your package manager at them.
|
|
28
28
|
|
|
29
29
|
## Usage
|
|
30
30
|
|
|
@@ -45,13 +45,13 @@ Reference the library inside of your `.html` page using:
|
|
|
45
45
|
```html
|
|
46
46
|
<!-- Microsoft Teams JavaScript API (via CDN) -->
|
|
47
47
|
<script
|
|
48
|
-
src="https://res.cdn.office.net/teams-js/2.
|
|
49
|
-
integrity="sha384-
|
|
48
|
+
src="https://res.cdn.office.net/teams-js/2.54.0/js/MicrosoftTeams.min.js"
|
|
49
|
+
integrity="sha384-PIuQ2V7hlz4b1x3G1mPCYYZiWTjxzRTL6bf547xR9ARsAeNv2DAzti86LQnFCwlo"
|
|
50
50
|
crossorigin="anonymous"
|
|
51
51
|
></script>
|
|
52
52
|
|
|
53
53
|
<!-- Microsoft Teams JavaScript API (via npm) -->
|
|
54
|
-
<script src="node_modules/@microsoft/teams-js@2.
|
|
54
|
+
<script src="node_modules/@microsoft/teams-js@2.54.0/dist/MicrosoftTeams.min.js"></script>
|
|
55
55
|
|
|
56
56
|
<!-- Microsoft Teams JavaScript API (via local) -->
|
|
57
57
|
<script src="MicrosoftTeams.min.js"></script>
|
|
@@ -216,6 +216,7 @@ export declare const enum ApiName {
|
|
|
216
216
|
MessageChannels_Telemetry_GetTelemetryPort = "messageChannels.telemetry.getTelemetryPort",
|
|
217
217
|
MessageChannels_DataLayer_GetDataLayerPort = "messageChannels.dataLayer.getDataLayerPort",
|
|
218
218
|
Monetization_OpenPurchaseExperience = "monetization.openPurchaseExperience",
|
|
219
|
+
MouseRelay_NavigateHistory = "mouseRelay.navigateHistory",
|
|
219
220
|
Navigation_NavigateBack = "navigation.navigateBack",
|
|
220
221
|
Navigation_NavigateCrossDomain = "navigation.navigateCrossDomain",
|
|
221
222
|
Navigation_NavigateToTab = "navigation.navigateToTab",
|
|
@@ -1,11 +1,32 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Interact with the system clipboard
|
|
3
3
|
*
|
|
4
|
+
* @deprecated
|
|
5
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
6
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
7
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
8
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
9
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
10
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
11
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
12
|
+
* separate effort.
|
|
13
|
+
*
|
|
4
14
|
* @beta
|
|
5
15
|
* @module
|
|
6
16
|
*/
|
|
7
17
|
/**
|
|
8
18
|
* Function to copy data to clipboard.
|
|
19
|
+
*
|
|
20
|
+
* @deprecated
|
|
21
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
22
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
23
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
24
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
25
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
26
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
27
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
28
|
+
* separate effort.
|
|
29
|
+
*
|
|
9
30
|
* @remarks
|
|
10
31
|
* Note: clipboard.write only supports Text, HTML, PNG, and JPEG data format.
|
|
11
32
|
* MIME type for Text -> `text/plain`, HTML -> `text/html`, PNG/JPEG -> `image/(png | jpeg)`
|
|
@@ -19,6 +40,16 @@ export declare function write(blob: Blob): Promise<void>;
|
|
|
19
40
|
/**
|
|
20
41
|
* Function to read data from clipboard.
|
|
21
42
|
*
|
|
43
|
+
* @deprecated
|
|
44
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
45
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
46
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
47
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
48
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
49
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
50
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
51
|
+
* separate effort.
|
|
52
|
+
*
|
|
22
53
|
* @returns A promise blob which resolves to the data read from the clipboard or
|
|
23
54
|
* rejects stating the reason for failure.
|
|
24
55
|
* Note: Returned blob type will contain one of the MIME type `image/png`, `text/plain` or `text/html`.
|
|
@@ -30,6 +61,16 @@ export declare function read(): Promise<Blob>;
|
|
|
30
61
|
*
|
|
31
62
|
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
32
63
|
*
|
|
64
|
+
* @deprecated
|
|
65
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
66
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
67
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
68
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
69
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
70
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
71
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
72
|
+
* separate effort.
|
|
73
|
+
*
|
|
33
74
|
* @beta
|
|
34
75
|
*/
|
|
35
76
|
export declare function isSupported(): boolean;
|
|
@@ -47,5 +47,6 @@ export * as tasks from './tasks';
|
|
|
47
47
|
export * as liveShare from './liveShareHost';
|
|
48
48
|
export { LiveShareHost } from './liveShareHost';
|
|
49
49
|
export * as marketplace from './marketplace';
|
|
50
|
+
export * as mouseRelay from './mouseRelay';
|
|
50
51
|
export { ISerializable } from './serializable.interface';
|
|
51
52
|
export * as shortcutRelay from './shortcutRelay';
|
|
@@ -1225,7 +1225,17 @@ export declare enum EduType {
|
|
|
1225
1225
|
Other = "other"
|
|
1226
1226
|
}
|
|
1227
1227
|
/**
|
|
1228
|
-
* Currently supported
|
|
1228
|
+
* Currently supported MIME types
|
|
1229
|
+
*
|
|
1230
|
+
* @deprecated
|
|
1231
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
1232
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
1233
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
1234
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
1235
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
1236
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
1237
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
1238
|
+
* separate effort.
|
|
1229
1239
|
*/
|
|
1230
1240
|
export declare enum ClipboardSupportedMimeType {
|
|
1231
1241
|
TextPlain = "text/plain",
|
|
@@ -1235,9 +1245,19 @@ export declare enum ClipboardSupportedMimeType {
|
|
|
1235
1245
|
}
|
|
1236
1246
|
/**
|
|
1237
1247
|
* Clipboard write parameters
|
|
1248
|
+
*
|
|
1249
|
+
* @deprecated
|
|
1250
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
1251
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
1252
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
1253
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
1254
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
1255
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
1256
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
1257
|
+
* separate effort.
|
|
1238
1258
|
*/
|
|
1239
1259
|
export interface ClipboardParams {
|
|
1240
|
-
/**
|
|
1260
|
+
/** MIME type of data to be copied to Clipboard */
|
|
1241
1261
|
mimeType: ClipboardSupportedMimeType;
|
|
1242
1262
|
/** Blob content in Base64 string format */
|
|
1243
1263
|
content: string;
|
|
@@ -806,6 +806,10 @@ export declare enum EventActionSource {
|
|
|
806
806
|
* Source is calendar form join teams meeting button.
|
|
807
807
|
*/
|
|
808
808
|
M365CalendarFormJoinTeamsMeetingButton = "m365_calendar_form_join_teams_meeting_button",
|
|
809
|
+
/**
|
|
810
|
+
* Source is the M365 calendar Meet Now start action.
|
|
811
|
+
*/
|
|
812
|
+
M365CalendarMeetNow = "m365_calendar_meet_now",
|
|
809
813
|
/**
|
|
810
814
|
* Other sources.
|
|
811
815
|
*/
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Lets an app inside a Teams iframe relay the mouse back (X1) / forward (X2)
|
|
3
|
+
* buttons to the host so they drive Teams history navigation.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* The direction of a relayed history-navigation intent.
|
|
9
|
+
*/
|
|
10
|
+
export type NavigationDirection = 'back' | 'forward';
|
|
11
|
+
/**
|
|
12
|
+
* Enable the capability so the mouse back (X1) / forward (X2) buttons pressed
|
|
13
|
+
* inside this iframe drive Teams history navigation in the host.
|
|
14
|
+
*
|
|
15
|
+
* @throws Error if {@link app.initialize} has not successfully completed or the
|
|
16
|
+
* host does not support the mouseRelay capability.
|
|
17
|
+
*/
|
|
18
|
+
export declare function enableMouseRelayCapability(): Promise<void>;
|
|
19
|
+
/**
|
|
20
|
+
* Disable the mouse relay capability, detaching its listeners so the mouse
|
|
21
|
+
* back (X1) / forward (X2) buttons no longer drive Teams history navigation.
|
|
22
|
+
*
|
|
23
|
+
* @throws Error if {@link app.initialize} has not successfully completed or the
|
|
24
|
+
* host does not support the mouseRelay capability.
|
|
25
|
+
*/
|
|
26
|
+
export declare function disableMouseRelayCapability(): void;
|
|
27
|
+
/**
|
|
28
|
+
* Checks if the mouseRelay capability is supported by the host.
|
|
29
|
+
* @returns boolean to represent whether the mouseRelay capability is supported.
|
|
30
|
+
*
|
|
31
|
+
* @throws Error if {@link app.initialize} has not successfully completed.
|
|
32
|
+
*/
|
|
33
|
+
export declare function isSupported(): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export{NotificationTypes,UserSettingTypes,ViewerActionTypes}from"./private/interfaces.js";export{openFilePreview,registerCustomHandler,registerUserSettingsChangeHandler,sendCustomEvent,sendCustomMessage,uploadCustomApp}from"./private/privateAPIs.js";import*as e from"./private/externalAppAuthentication.js";export{e as externalAppAuthentication};export{UserAuthenticationState}from"./private/externalAppAuthentication.js";import*as r from"./private/logs.js";export{r as logs};import*as t from"./private/conversations.js";export{t as conversations};import*as o from"./private/copilot/copilot.js";export{o as copilot};import*as p from"./private/copilot/sidePanelInterfaces.js";export{p as sidePanelInterfaces};import*as i from"./private/externalAppAuthenticationForCEA.js";export{i as externalAppAuthenticationForCEA};import*as a from"./private/externalAppCardActions.js";export{a as externalAppCardActions};import*as s from"./private/externalAppCardActionsForCEA.js";export{s as externalAppCardActionsForCEA};import*as m from"./private/externalAppCardActionsForDA.js";export{m as externalAppCardActionsForDA};import*as n from"./private/externalAppCommands.js";export{n as externalAppCommands};import*as l from"./private/files.js";export{l as files};import*as c from"./private/meetingRoom.js";export{c as meetingRoom};import*as f from"./private/messageChannels/messageChannels.js";export{f as messageChannels};import*as u from"./private/nestedAppAuth/nestedAppAuthBridge.js";export{u as nestedAppAuthBridge};import*as x from"./private/notifications.js";export{x as notifications};import*as j from"./private/otherAppStateChange.js";export{j as otherAppStateChange};import*as d from"./private/plugins.js";export{d as plugins};import*as g from"./private/remoteCamera.js";export{g as remoteCamera};import*as b from"./private/appEntity.js";export{b as appEntity};import*as v from"./private/teams/teams.js";export{v as teams};import*as A from"./private/videoEffectsEx.js";export{A as videoEffectsEx};import*as C from"./private/hostEntity/hostEntity.js";export{C as hostEntity};import*as h from"./private/store.js";export{h as store};import*as S from"./private/widgetHosting/widgetHosting.js";export{S as widgetHosting};export{ChannelType,DialogDimension,FrameContexts,HostClientType,HostName,RenderingSurfaces,DialogDimension as TaskModuleDimension,TeamType,UserTeamRole}from"./public/constants.js";export{ActionObjectType,EduType,ErrorCode,FileOpenPreference,SecondaryM365ContentIdName}from"./public/interfaces.js";export{AppId}from"./public/appId.js";export{EmailAddress}from"./public/emailAddress.js";export{activateChildProxyingCommunication,getCurrentFeatureFlagsState,overwriteFeatureFlagsState,setFeatureFlagsState}from"./public/featureFlags.js";export{getAdaptiveCardSchemaVersion}from"./public/adaptiveCards.js";export{ChildAppWindow,ParentAppWindow}from"./public/appWindow.js";export{ValidatedSafeString}from"./public/validatedSafeString.js";export{version}from"./public/version.js";export{enablePrintCapability,executeDeepLink,getContext,getMruTabInstances,getTabInstances,initialize,initializeWithFrameContext,print,registerAppButtonClickHandler,registerAppButtonHoverEnterHandler,registerAppButtonHoverLeaveHandler,registerBackButtonHandler,registerBeforeUnloadHandler,registerChangeSettingsHandler,registerFocusEnterHandler,registerFullScreenHandler,registerOnLoadHandler,registerOnThemeChangeHandler,setFrameContext,shareDeepLink}from"./public/publicAPIs.js";export{navigateBack,navigateCrossDomain,navigateToTab,returnFocus}from"./public/navigation.js";export{UUID}from"./public/uuidObject.js";import*as H from"./public/liveShareHost.js";export{H as liveShare};export{LiveShareHost}from"./public/liveShareHost.js";import*as
|
|
1
|
+
export{NotificationTypes,UserSettingTypes,ViewerActionTypes}from"./private/interfaces.js";export{openFilePreview,registerCustomHandler,registerUserSettingsChangeHandler,sendCustomEvent,sendCustomMessage,uploadCustomApp}from"./private/privateAPIs.js";import*as e from"./private/externalAppAuthentication.js";export{e as externalAppAuthentication};export{UserAuthenticationState}from"./private/externalAppAuthentication.js";import*as r from"./private/logs.js";export{r as logs};import*as t from"./private/conversations.js";export{t as conversations};import*as o from"./private/copilot/copilot.js";export{o as copilot};import*as p from"./private/copilot/sidePanelInterfaces.js";export{p as sidePanelInterfaces};import*as i from"./private/externalAppAuthenticationForCEA.js";export{i as externalAppAuthenticationForCEA};import*as a from"./private/externalAppCardActions.js";export{a as externalAppCardActions};import*as s from"./private/externalAppCardActionsForCEA.js";export{s as externalAppCardActionsForCEA};import*as m from"./private/externalAppCardActionsForDA.js";export{m as externalAppCardActionsForDA};import*as n from"./private/externalAppCommands.js";export{n as externalAppCommands};import*as l from"./private/files.js";export{l as files};import*as c from"./private/meetingRoom.js";export{c as meetingRoom};import*as f from"./private/messageChannels/messageChannels.js";export{f as messageChannels};import*as u from"./private/nestedAppAuth/nestedAppAuthBridge.js";export{u as nestedAppAuthBridge};import*as x from"./private/notifications.js";export{x as notifications};import*as j from"./private/otherAppStateChange.js";export{j as otherAppStateChange};import*as d from"./private/plugins.js";export{d as plugins};import*as g from"./private/remoteCamera.js";export{g as remoteCamera};import*as b from"./private/appEntity.js";export{b as appEntity};import*as v from"./private/teams/teams.js";export{v as teams};import*as A from"./private/videoEffectsEx.js";export{A as videoEffectsEx};import*as C from"./private/hostEntity/hostEntity.js";export{C as hostEntity};import*as h from"./private/store.js";export{h as store};import*as S from"./private/widgetHosting/widgetHosting.js";export{S as widgetHosting};export{ChannelType,DialogDimension,FrameContexts,HostClientType,HostName,RenderingSurfaces,DialogDimension as TaskModuleDimension,TeamType,UserTeamRole}from"./public/constants.js";export{ActionObjectType,EduType,ErrorCode,FileOpenPreference,SecondaryM365ContentIdName}from"./public/interfaces.js";export{AppId}from"./public/appId.js";export{EmailAddress}from"./public/emailAddress.js";export{activateChildProxyingCommunication,getCurrentFeatureFlagsState,overwriteFeatureFlagsState,setFeatureFlagsState}from"./public/featureFlags.js";export{getAdaptiveCardSchemaVersion}from"./public/adaptiveCards.js";export{ChildAppWindow,ParentAppWindow}from"./public/appWindow.js";export{ValidatedSafeString}from"./public/validatedSafeString.js";export{version}from"./public/version.js";export{enablePrintCapability,executeDeepLink,getContext,getMruTabInstances,getTabInstances,initialize,initializeWithFrameContext,print,registerAppButtonClickHandler,registerAppButtonHoverEnterHandler,registerAppButtonHoverLeaveHandler,registerBackButtonHandler,registerBeforeUnloadHandler,registerChangeSettingsHandler,registerFocusEnterHandler,registerFullScreenHandler,registerOnLoadHandler,registerOnThemeChangeHandler,setFrameContext,shareDeepLink}from"./public/publicAPIs.js";export{navigateBack,navigateCrossDomain,navigateToTab,returnFocus}from"./public/navigation.js";export{UUID}from"./public/uuidObject.js";import*as H from"./public/liveShareHost.js";export{H as liveShare};export{LiveShareHost}from"./public/liveShareHost.js";import*as y from"./public/authentication.js";export{y as authentication};import*as F from"./public/app/app.js";export{F as app};import*as T from"./public/appPerformanceMetrics.js";export{T as appPerformanceMetrics};import*as E from"./public/appInstallDialog.js";export{E as appInstallDialog};import*as w from"./public/barCode.js";export{w as barCode};import*as I from"./public/chat.js";export{I as chat};import*as D from"./public/clipboard.js";export{D as clipboard};import*as P from"./public/dialog/dialog.js";export{P as dialog};import*as B from"./public/nestedAppAuth.js";export{B as nestedAppAuth};import*as k from"./public/geoLocation/geoLocation.js";export{k as geoLocation};import*as L from"./public/pages/pages.js";export{L as pages};import*as M from"./public/menus.js";export{M as menus};import*as U from"./public/media.js";export{U as media};import*as O from"./public/secondaryBrowser.js";export{O as secondaryBrowser};import*as R from"./public/location.js";export{R as location};import*as V from"./public/meeting/meeting.js";export{V as meeting};import*as z from"./public/monetization.js";export{z as monetization};import*as W from"./public/calendar.js";export{W as calendar};import*as N from"./public/mail/mail.js";export{N as mail};import*as q from"./public/teamsAPIs.js";export{q as teamsCore};import*as G from"./public/people.js";export{G as people};import*as J from"./public/profile.js";export{J as profile};import*as K from"./public/videoEffects.js";export{K as videoEffects};import*as Q from"./public/search.js";export{Q as search};import*as X from"./public/sharing/sharing.js";export{X as sharing};import*as Y from"./public/stageView/stageView.js";export{Y as stageView};import*as Z from"./public/visualMedia/visualMedia.js";export{Z as visualMedia};import*as $ from"./public/webStorage.js";export{$ as webStorage};import*as _ from"./public/call.js";export{_ as call};import*as ee from"./public/appInitialization.js";export{ee as appInitialization};import*as re from"./public/thirdPartyCloudStorage.js";export{re as thirdPartyCloudStorage};import*as te from"./public/settings.js";export{te as settings};import*as oe from"./public/tasks.js";export{oe as tasks};import*as pe from"./public/marketplace.js";export{pe as marketplace};import*as ie from"./public/mouseRelay.js";export{ie as mouseRelay};import*as ae from"./public/shortcutRelay.js";export{ae as shortcutRelay};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{__awaiter as e}from"../../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.55.1_tslib@2.8.1_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{sendMessageToParent as n,sendAndHandleSdkError as t}from"../../internal/communication.js";import{registerHandler as i,doesHandlerExist as a,removeHandler as o}from"../../internal/handlers.js";import{ensureInitialized as r}from"../../internal/internalAPIs.js";import{getApiVersionTag as l}from"../../internal/telemetry.js";import{FrameContexts as g}from"../constants.js";import{ErrorCode as s}from"../interfaces.js";import{runtime as d}from"../runtime.js";import*as c from"./appShareButton.js";export{c as appShareButton};const u="v1";var m,p,h,C,S,f;function b(e){if(!e)throw new Error("[get incoming client audio state] Callback cannot be null");r(d,g.sidePanel,g.meetingStage),n(l(u,"meeting.getIncomingClientAudioState"),"getIncomingClientAudioState",e)}function A(e){if(!e)throw new Error("[toggle incoming client audio] Callback cannot be null");r(d,g.sidePanel,g.meetingStage),n(l(u,"meeting.toggleIncomingClientAudio"),"toggleIncomingClientAudio",e)}function w(e){if(!e)throw new Error("[get meeting details] Callback cannot be null");r(d,g.sidePanel,g.meetingStage,g.settings,g.content),n(l(u,"meeting.getMeetingDetails"),"meeting.getMeetingDetails",e)}function v(){var n,i,a;return e(this,void 0,void 0,function*(){let e;r(d,g.sidePanel,g.meetingStage,g.settings,g.content);try{const n=!0;e=yield t(l("v2","meeting.getMeetingDetailsVerbose"),"meeting.getMeetingDetails",n)}catch(e){throw new Error(null===(n=null==e?void 0:e.errorCode)||void 0===n?void 0:n.toString())}if(((null===(i=e.details)||void 0===i?void 0:i.type)==C.GroupCall||(null===(a=e.details)||void 0===a?void 0:a.type)==C.OneOnOneCall)&&!e.details.originalCallerInfo)throw new Error(s.NOT_SUPPORTED_ON_PLATFORM.toString());return e})}function H(e){if(!e)throw new Error("[get Authentication Token For AnonymousUser] Callback cannot be null");r(d,g.sidePanel,g.meetingStage,g.task),n(l(u,"meeting.getAuthenticationTokenForAnonymousUser"),"meeting.getAuthenticationTokenForAnonymousUser",e)}function
|
|
1
|
+
import{__awaiter as e}from"../../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.55.1_tslib@2.8.1_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{sendMessageToParent as n,sendAndHandleSdkError as t}from"../../internal/communication.js";import{registerHandler as i,doesHandlerExist as a,removeHandler as o}from"../../internal/handlers.js";import{ensureInitialized as r}from"../../internal/internalAPIs.js";import{getApiVersionTag as l}from"../../internal/telemetry.js";import{FrameContexts as g}from"../constants.js";import{ErrorCode as s}from"../interfaces.js";import{runtime as d}from"../runtime.js";import*as c from"./appShareButton.js";export{c as appShareButton};const u="v1";var m,p,h,C,S,f;function b(e){if(!e)throw new Error("[get incoming client audio state] Callback cannot be null");r(d,g.sidePanel,g.meetingStage),n(l(u,"meeting.getIncomingClientAudioState"),"getIncomingClientAudioState",e)}function A(e){if(!e)throw new Error("[toggle incoming client audio] Callback cannot be null");r(d,g.sidePanel,g.meetingStage),n(l(u,"meeting.toggleIncomingClientAudio"),"toggleIncomingClientAudio",e)}function w(e){if(!e)throw new Error("[get meeting details] Callback cannot be null");r(d,g.sidePanel,g.meetingStage,g.settings,g.content),n(l(u,"meeting.getMeetingDetails"),"meeting.getMeetingDetails",e)}function v(){var n,i,a;return e(this,void 0,void 0,function*(){let e;r(d,g.sidePanel,g.meetingStage,g.settings,g.content);try{const n=!0;e=yield t(l("v2","meeting.getMeetingDetailsVerbose"),"meeting.getMeetingDetails",n)}catch(e){throw new Error(null===(n=null==e?void 0:e.errorCode)||void 0===n?void 0:n.toString())}if(((null===(i=e.details)||void 0===i?void 0:i.type)==C.GroupCall||(null===(a=e.details)||void 0===a?void 0:a.type)==C.OneOnOneCall)&&!e.details.originalCallerInfo)throw new Error(s.NOT_SUPPORTED_ON_PLATFORM.toString());return e})}function H(e){if(!e)throw new Error("[get Authentication Token For AnonymousUser] Callback cannot be null");r(d,g.sidePanel,g.meetingStage,g.task),n(l(u,"meeting.getAuthenticationTokenForAnonymousUser"),"meeting.getAuthenticationTokenForAnonymousUser",e)}function _(e){if(!e)throw new Error("[get live stream state] Callback cannot be null");r(d,g.sidePanel),n(l(u,"meeting.getLiveStreamState"),"meeting.getLiveStreamState",e)}function k(e,t,i){if(!e)throw new Error("[request start live streaming] Callback cannot be null");r(d,g.sidePanel),n(l(u,"meeting.requestStartLiveStreaming"),"meeting.requestStartLiveStreaming",[t,i],e)}function M(e){if(!e)throw new Error("[request stop live streaming] Callback cannot be null");r(d,g.sidePanel),n(l(u,"meeting.requestStopLiveStreaming"),"meeting.requestStopLiveStreaming",e)}function E(e){if(!e)throw new Error("[register live stream changed handler] Handler cannot be null");r(d,g.sidePanel),i(l(u,"meeting.registerLiveStreamChangedHandler"),"meeting.liveStreamChanged",e)}function P(e,t,i={sharingProtocol:S.Collaborative}){if(!e)throw new Error("[share app content to stage] Callback cannot be null");r(d,g.sidePanel,g.meetingStage),n(l(u,"meeting.shareAppContentToStage"),"meeting.shareAppContentToStage",[t,i],e)}function j(e){if(!e)throw new Error("[get app content stage sharing capabilities] Callback cannot be null");r(d,g.sidePanel,g.meetingStage),n(l(u,"meeting.getAppContentStageSharingCapabilities"),"meeting.getAppContentStageSharingCapabilities",e)}function q(e){if(!e)throw new Error("[stop sharing app content to stage] Callback cannot be null");r(d,g.sidePanel,g.meetingStage),n(l(u,"meeting.stopSharingAppContentToStage"),"meeting.stopSharingAppContentToStage",e)}function T(e){if(!e)throw new Error("[get app content stage sharing state] Callback cannot be null");r(d,g.sidePanel,g.meetingStage),n(l(u,"meeting.getAppContentStageSharingState"),"meeting.getAppContentStageSharingState",e)}function D(e){if(!e)throw new Error("[registerSpeakingStateChangeHandler] Handler cannot be null");r(d,g.sidePanel,g.meetingStage),i(l(u,"meeting.registerSpeakingStateChangeHandler"),"meeting.speakingStateChanged",e)}function y(e){if(!e)throw new Error("[registerRaiseHandStateChangedHandler] Handler cannot be null");r(d,g.sidePanel,g.meetingStage),i(l(u,"meeting.registerRaiseHandStateChangedHandler"),"meeting.raiseHandStateChanged",e)}function O(e){if(!e)throw new Error("[registerMeetingReactionReceivedHandler] Handler cannot be null");r(d,g.sidePanel,g.meetingStage),i(l(u,"meeting.registerMeetingReactionReceivedHandler"),"meeting.meetingReactionReceived",e)}function R(e){if(void 0===(null==e?void 0:e.joinWebUrl)||null===(null==e?void 0:e.joinWebUrl))return Promise.reject(new Error("Invalid joinMeetingParams"));r(d);const n={joinWebUrl:e.joinWebUrl.href,source:e.source||f.Other};return t(l("v2","meeting.joinMeeting"),"meeting.joinMeeting",n)}function I(t,s){if(!s)throw new Error("[requestAppAudioHandling] Callback response cannot be null");if(!t.micMuteStateChangedCallback)throw new Error("[requestAppAudioHandling] Callback Mic mute state handler cannot be null");r(d,g.sidePanel,g.meetingStage),t.isAppHandlingAudio?function(t,a){const o=(n,o)=>{if(n&&null!=o)throw new Error("[requestAppAudioHandling] Callback response - both parameters cannot be set");if(n)throw new Error(`[requestAppAudioHandling] Callback response - SDK error ${n.errorCode} ${n.message}`);if("boolean"!=typeof o)throw new Error("[requestAppAudioHandling] Callback response - isHostAudioless must be a boolean");const r=n=>e(this,void 0,void 0,function*(){try{const e=yield t.micMuteStateChangedCallback(n);F(e,e.isMicMuted===n.isMicMuted?m.HostInitiated:m.AppDeclinedToChange)}catch(e){F(n,m.AppFailedToChange)}});i(l(u,"meeting.registerMicStateChangeHandler"),"meeting.micStateChanged",r);const g=e=>{var n;null===(n=t.audioDeviceSelectionChangedCallback)||void 0===n||n.call(t,e)};i(l(u,"meeting.registerAudioDeviceSelectionChangedHandler"),"meeting.audioDeviceSelectionChanged",g),a(o)};n(l(u,"meeting.requestAppAudioHandling"),"meeting.requestAppAudioHandling",[t.isAppHandlingAudio],o)}(t,s):function(e,t){const i=(e,n)=>{if(e&&null!=n)throw new Error("[requestAppAudioHandling] Callback response - both parameters cannot be set");if(e)throw new Error(`[requestAppAudioHandling] Callback response - SDK error ${e.errorCode} ${e.message}`);if("boolean"!=typeof n)throw new Error("[requestAppAudioHandling] Callback response - isHostAudioless must be a boolean");a("meeting.micStateChanged")&&o("meeting.micStateChanged"),a("meeting.audioDeviceSelectionChanged")&&o("meeting.audioDeviceSelectionChanged"),t(n)};n(l(u,"meeting.requestAppAudioHandling"),"meeting.requestAppAudioHandling",[e.isAppHandlingAudio],i)}(t,s)}function U(e){F(e,m.AppInitiated)}function F(e,t){r(d,g.sidePanel,g.meetingStage),n(l(u,"meeting.setMicStateWithReason"),"meeting.updateMicState",[e,t])}!function(e){e[e.HostInitiated=0]="HostInitiated",e[e.AppInitiated=1]="AppInitiated",e[e.AppDeclinedToChange=2]="AppDeclinedToChange",e[e.AppFailedToChange=3]="AppFailedToChange"}(m||(m={})),function(e){e.like="like",e.heart="heart",e.laugh="laugh",e.surprised="surprised",e.applause="applause"}(p||(p={})),function(e){e.Unknown="Unknown",e.Adhoc="Adhoc",e.Scheduled="Scheduled",e.Recurring="Recurring",e.Broadcast="Broadcast",e.MeetNow="MeetNow"}(h||(h={})),function(e){e.OneOnOneCall="oneOnOneCall",e.GroupCall="groupCall"}(C||(C={})),function(e){e.Collaborative="Collaborative",e.ScreenShare="ScreenShare"}(S||(S={})),function(e){e.M365CalendarGridContextMenu="m365_calendar_grid_context_menu",e.M365CalendarGridPeek="m365_calendar_grid_peek",e.M365CalendarGridEventCardJoinButton="m365_calendar_grid_event_card_join_button",e.M365CalendarFormRibbonJoinButton="m365_calendar_form_ribbon_join_button",e.M365CalendarFormJoinTeamsMeetingButton="m365_calendar_form_join_teams_meeting_button",e.M365CalendarMeetNow="m365_calendar_meet_now",e.Other="other"}(f||(f={}));export{C as CallType,f as EventActionSource,p as MeetingReactionType,h as MeetingType,S as SharingProtocol,j as getAppContentStageSharingCapabilities,T as getAppContentStageSharingState,H as getAuthenticationTokenForAnonymousUser,b as getIncomingClientAudioState,_ as getLiveStreamState,w as getMeetingDetails,v as getMeetingDetailsVerbose,R as joinMeeting,E as registerLiveStreamChangedHandler,O as registerMeetingReactionReceivedHandler,y as registerRaiseHandStateChangedHandler,D as registerSpeakingStateChangeHandler,I as requestAppAudioHandling,k as requestStartLiveStreaming,M as requestStopLiveStreaming,P as shareAppContentToStage,q as stopSharingAppContentToStage,A as toggleIncomingClientAudio,U as updateMicState};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{__awaiter as t}from"../../../../node_modules/.pnpm/@rollup_plugin-typescript@11.1.6_rollup@4.55.1_tslib@2.8.1_typescript@4.9.5/node_modules/tslib/tslib.es6.js";import{callFunctionInHost as e}from"../internal/communication.js";import{ensureInitialized as o}from"../internal/internalAPIs.js";import{getApiVersionTag as n}from"../internal/telemetry.js";import{errorNotSupportedOnPlatform as r}from"./constants.js";import{runtime as i}from"./runtime.js";class u{constructor(t){this.direction=t}serialize(){return{direction:this.direction}}}function s(t){return 3===t?"back":4===t?"forward":void 0}function m(t){void 0!==s(t.button)&&(t.preventDefault(),t.stopImmediatePropagation())}function a(t){const o=s(t.button);o&&(t.preventDefault(),t.stopImmediatePropagation(),e("mouseRelay.navigateHistory",[new u(o)],n("v2","mouseRelay.navigateHistory")))}let c=!1;function p(){return t(this,void 0,void 0,function*(){if(!l())throw r;c||(document.addEventListener("mousedown",m,{capture:!0}),document.addEventListener("mouseup",a,{capture:!0}),document.addEventListener("auxclick",m,{capture:!0})),c=!0})}function d(){if(!l())throw r;c=!1,document.removeEventListener("mousedown",m,{capture:!0}),document.removeEventListener("mouseup",a,{capture:!0}),document.removeEventListener("auxclick",m,{capture:!0})}function l(){return!(!o(i)||!i.supports.mouseRelay)}export{d as disableMouseRelayCapability,p as enableMouseRelayCapability,l as isSupported};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const t="2.54.0-beta.0";export{t as version};
|
|
@@ -1059,6 +1059,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
1059
1059
|
menus: () => (/* reexport */ menus_namespaceObject),
|
|
1060
1060
|
messageChannels: () => (/* reexport */ messageChannels_namespaceObject),
|
|
1061
1061
|
monetization: () => (/* reexport */ monetization_namespaceObject),
|
|
1062
|
+
mouseRelay: () => (/* reexport */ mouseRelay_namespaceObject),
|
|
1062
1063
|
navigateBack: () => (/* reexport */ navigation_navigateBack),
|
|
1063
1064
|
navigateCrossDomain: () => (/* reexport */ navigation_navigateCrossDomain),
|
|
1064
1065
|
navigateToTab: () => (/* reexport */ navigation_navigateToTab),
|
|
@@ -2081,6 +2082,15 @@ __webpack_require__.d(marketplace_namespaceObject, {
|
|
|
2081
2082
|
updateCartStatus: () => (updateCartStatus)
|
|
2082
2083
|
});
|
|
2083
2084
|
|
|
2085
|
+
// NAMESPACE OBJECT: ./src/public/mouseRelay.ts
|
|
2086
|
+
var mouseRelay_namespaceObject = {};
|
|
2087
|
+
__webpack_require__.r(mouseRelay_namespaceObject);
|
|
2088
|
+
__webpack_require__.d(mouseRelay_namespaceObject, {
|
|
2089
|
+
disableMouseRelayCapability: () => (disableMouseRelayCapability),
|
|
2090
|
+
enableMouseRelayCapability: () => (enableMouseRelayCapability),
|
|
2091
|
+
isSupported: () => (mouseRelay_isSupported)
|
|
2092
|
+
});
|
|
2093
|
+
|
|
2084
2094
|
// NAMESPACE OBJECT: ./src/public/shortcutRelay.ts
|
|
2085
2095
|
var shortcutRelay_namespaceObject = {};
|
|
2086
2096
|
__webpack_require__.r(shortcutRelay_namespaceObject);
|
|
@@ -2294,7 +2304,17 @@ var EduType;
|
|
|
2294
2304
|
EduType["Other"] = "other";
|
|
2295
2305
|
})(EduType || (EduType = {}));
|
|
2296
2306
|
/**
|
|
2297
|
-
* Currently supported
|
|
2307
|
+
* Currently supported MIME types
|
|
2308
|
+
*
|
|
2309
|
+
* @deprecated
|
|
2310
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
2311
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
2312
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
2313
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
2314
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
2315
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
2316
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
2317
|
+
* separate effort.
|
|
2298
2318
|
*/
|
|
2299
2319
|
var ClipboardSupportedMimeType;
|
|
2300
2320
|
(function (ClipboardSupportedMimeType) {
|
|
@@ -4674,7 +4694,7 @@ function isSerializable(arg) {
|
|
|
4674
4694
|
* @hidden
|
|
4675
4695
|
* Package version.
|
|
4676
4696
|
*/
|
|
4677
|
-
const version = "2.
|
|
4697
|
+
const version = "2.54.0-beta.0";
|
|
4678
4698
|
|
|
4679
4699
|
;// ./src/public/featureFlags.ts
|
|
4680
4700
|
// All build feature flags are defined inside this object. Any build feature flag must have its own unique getter and setter function. This pattern allows for client apps to treeshake unused code and avoid including code guarded by this feature flags in the final bundle. If this property isn't desired, use the below runtime feature flags object.
|
|
@@ -16123,6 +16143,16 @@ function chat_isSupported() {
|
|
|
16123
16143
|
/**
|
|
16124
16144
|
* Interact with the system clipboard
|
|
16125
16145
|
*
|
|
16146
|
+
* @deprecated
|
|
16147
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
16148
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
16149
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
16150
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
16151
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
16152
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
16153
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
16154
|
+
* separate effort.
|
|
16155
|
+
*
|
|
16126
16156
|
* @beta
|
|
16127
16157
|
* @module
|
|
16128
16158
|
*/
|
|
@@ -16149,6 +16179,17 @@ var clipboard_awaiter = (undefined && undefined.__awaiter) || function (thisArg,
|
|
|
16149
16179
|
const clipboardTelemetryVersionNumber = "v2" /* ApiVersionNumber.V_2 */;
|
|
16150
16180
|
/**
|
|
16151
16181
|
* Function to copy data to clipboard.
|
|
16182
|
+
*
|
|
16183
|
+
* @deprecated
|
|
16184
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
16185
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
16186
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
16187
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
16188
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
16189
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
16190
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
16191
|
+
* separate effort.
|
|
16192
|
+
*
|
|
16152
16193
|
* @remarks
|
|
16153
16194
|
* Note: clipboard.write only supports Text, HTML, PNG, and JPEG data format.
|
|
16154
16195
|
* MIME type for Text -> `text/plain`, HTML -> `text/html`, PNG/JPEG -> `image/(png | jpeg)`
|
|
@@ -16178,6 +16219,16 @@ function write(blob) {
|
|
|
16178
16219
|
/**
|
|
16179
16220
|
* Function to read data from clipboard.
|
|
16180
16221
|
*
|
|
16222
|
+
* @deprecated
|
|
16223
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
16224
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
16225
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
16226
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
16227
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
16228
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
16229
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
16230
|
+
* separate effort.
|
|
16231
|
+
*
|
|
16181
16232
|
* @returns A promise blob which resolves to the data read from the clipboard or
|
|
16182
16233
|
* rejects stating the reason for failure.
|
|
16183
16234
|
* Note: Returned blob type will contain one of the MIME type `image/png`, `text/plain` or `text/html`.
|
|
@@ -16205,6 +16256,16 @@ function read() {
|
|
|
16205
16256
|
*
|
|
16206
16257
|
* @throws Error if {@linkcode app.initialize} has not successfully completed
|
|
16207
16258
|
*
|
|
16259
|
+
* @deprecated
|
|
16260
|
+
* As of TeamsJS v2.54.0, the clipboard capability is deprecated. These APIs may stop working at
|
|
16261
|
+
* any time without notice: support for this capability in Teams and other host apps may be removed
|
|
16262
|
+
* entirely and independently of a TeamsJS major release, so continued functionality is not
|
|
16263
|
+
* guaranteed. The intended long-term replacement is the standardized Clipboard API provided by the
|
|
16264
|
+
* browser ({@link https://developer.mozilla.org/docs/Web/API/Clipboard_API | Clipboard API}, `navigator.clipboard`).
|
|
16265
|
+
* Note that using the browser-native Clipboard API directly within Teams hosts is not yet fully
|
|
16266
|
+
* supported; it depends on native device permission handling that is still being enabled as a
|
|
16267
|
+
* separate effort.
|
|
16268
|
+
*
|
|
16208
16269
|
* @beta
|
|
16209
16270
|
*/
|
|
16210
16271
|
function clipboard_isSupported() {
|
|
@@ -17409,6 +17470,10 @@ var EventActionSource;
|
|
|
17409
17470
|
* Source is calendar form join teams meeting button.
|
|
17410
17471
|
*/
|
|
17411
17472
|
EventActionSource["M365CalendarFormJoinTeamsMeetingButton"] = "m365_calendar_form_join_teams_meeting_button";
|
|
17473
|
+
/**
|
|
17474
|
+
* Source is the M365 calendar Meet Now start action.
|
|
17475
|
+
*/
|
|
17476
|
+
EventActionSource["M365CalendarMeetNow"] = "m365_calendar_meet_now";
|
|
17412
17477
|
/**
|
|
17413
17478
|
* Other sources.
|
|
17414
17479
|
*/
|
|
@@ -20353,6 +20418,138 @@ function marketplace_isSupported() {
|
|
|
20353
20418
|
return ensureInitialized(runtime) && runtime.supports.marketplace ? true : false;
|
|
20354
20419
|
}
|
|
20355
20420
|
|
|
20421
|
+
;// ./src/public/mouseRelay.ts
|
|
20422
|
+
/**
|
|
20423
|
+
* Lets an app inside a Teams iframe relay the mouse back (X1) / forward (X2)
|
|
20424
|
+
* buttons to the host so they drive Teams history navigation.
|
|
20425
|
+
*
|
|
20426
|
+
* @module
|
|
20427
|
+
*/
|
|
20428
|
+
var mouseRelay_awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
20429
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
20430
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
20431
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
20432
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20433
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
20434
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
20435
|
+
});
|
|
20436
|
+
};
|
|
20437
|
+
|
|
20438
|
+
|
|
20439
|
+
|
|
20440
|
+
|
|
20441
|
+
|
|
20442
|
+
/* ------------------------------------------------------------------ */
|
|
20443
|
+
/* Utils */
|
|
20444
|
+
/* ------------------------------------------------------------------ */
|
|
20445
|
+
/** `MouseEvent.button` value for the back (X1) button. */
|
|
20446
|
+
const MOUSE_BUTTON_BACK = 3;
|
|
20447
|
+
/** `MouseEvent.button` value for the forward (X2) button. */
|
|
20448
|
+
const MOUSE_BUTTON_FORWARD = 4;
|
|
20449
|
+
class SerializableNavigationIntent {
|
|
20450
|
+
constructor(direction) {
|
|
20451
|
+
this.direction = direction;
|
|
20452
|
+
}
|
|
20453
|
+
serialize() {
|
|
20454
|
+
return { direction: this.direction };
|
|
20455
|
+
}
|
|
20456
|
+
}
|
|
20457
|
+
/**
|
|
20458
|
+
* Maps a `MouseEvent.button` value to a navigation direction, or `undefined`
|
|
20459
|
+
* for any button other than the back (X1) / forward (X2) buttons.
|
|
20460
|
+
*/
|
|
20461
|
+
function directionForButton(button) {
|
|
20462
|
+
if (button === MOUSE_BUTTON_BACK) {
|
|
20463
|
+
return 'back';
|
|
20464
|
+
}
|
|
20465
|
+
if (button === MOUSE_BUTTON_FORWARD) {
|
|
20466
|
+
return 'forward';
|
|
20467
|
+
}
|
|
20468
|
+
return undefined;
|
|
20469
|
+
}
|
|
20470
|
+
/**
|
|
20471
|
+
* Suppress the iframe's own native X1/X2 history navigation (and the synthetic
|
|
20472
|
+
* `click`). Attached to `mousedown` (earliest, most reliable) and `auxclick`;
|
|
20473
|
+
* never relays.
|
|
20474
|
+
*/
|
|
20475
|
+
function suppressX1X2(event) {
|
|
20476
|
+
if (directionForButton(event.button) !== undefined) {
|
|
20477
|
+
event.preventDefault();
|
|
20478
|
+
event.stopImmediatePropagation();
|
|
20479
|
+
}
|
|
20480
|
+
}
|
|
20481
|
+
/**
|
|
20482
|
+
* Relay the back/forward intent to the host on `mouseup` (release), matching
|
|
20483
|
+
* the browser's native timing so press-and-hold does nothing until release.
|
|
20484
|
+
*/
|
|
20485
|
+
function mouseupHandler(event) {
|
|
20486
|
+
const direction = directionForButton(event.button);
|
|
20487
|
+
if (!direction) {
|
|
20488
|
+
return; // not the back/forward button
|
|
20489
|
+
}
|
|
20490
|
+
event.preventDefault();
|
|
20491
|
+
event.stopImmediatePropagation();
|
|
20492
|
+
callFunctionInHost("mouseRelay.navigateHistory" /* ApiName.MouseRelay_NavigateHistory */, [new SerializableNavigationIntent(direction)], getApiVersionTag("v2" /* ApiVersionNumber.V_2 */, "mouseRelay.navigateHistory" /* ApiName.MouseRelay_NavigateHistory */));
|
|
20493
|
+
}
|
|
20494
|
+
/* ------------------------------------------------------------------ */
|
|
20495
|
+
/* In-memory */
|
|
20496
|
+
/* ------------------------------------------------------------------ */
|
|
20497
|
+
/**
|
|
20498
|
+
* @hidden
|
|
20499
|
+
* @internal
|
|
20500
|
+
* Flag to indicate the mouse relay capability has been enabled, so that we do
|
|
20501
|
+
* not register the event listeners multiple times.
|
|
20502
|
+
*/
|
|
20503
|
+
let isMouseRelayCapabilityEnabled = false;
|
|
20504
|
+
/* ------------------------------------------------------------------ */
|
|
20505
|
+
/* API */
|
|
20506
|
+
/* ------------------------------------------------------------------ */
|
|
20507
|
+
/**
|
|
20508
|
+
* Enable the capability so the mouse back (X1) / forward (X2) buttons pressed
|
|
20509
|
+
* inside this iframe drive Teams history navigation in the host.
|
|
20510
|
+
*
|
|
20511
|
+
* @throws Error if {@link app.initialize} has not successfully completed or the
|
|
20512
|
+
* host does not support the mouseRelay capability.
|
|
20513
|
+
*/
|
|
20514
|
+
function enableMouseRelayCapability() {
|
|
20515
|
+
return mouseRelay_awaiter(this, void 0, void 0, function* () {
|
|
20516
|
+
if (!mouseRelay_isSupported()) {
|
|
20517
|
+
throw errorNotSupportedOnPlatform;
|
|
20518
|
+
}
|
|
20519
|
+
if (!isMouseRelayCapabilityEnabled) {
|
|
20520
|
+
document.addEventListener('mousedown', suppressX1X2, { capture: true });
|
|
20521
|
+
document.addEventListener('mouseup', mouseupHandler, { capture: true });
|
|
20522
|
+
document.addEventListener('auxclick', suppressX1X2, { capture: true });
|
|
20523
|
+
}
|
|
20524
|
+
isMouseRelayCapabilityEnabled = true;
|
|
20525
|
+
});
|
|
20526
|
+
}
|
|
20527
|
+
/**
|
|
20528
|
+
* Disable the mouse relay capability, detaching its listeners so the mouse
|
|
20529
|
+
* back (X1) / forward (X2) buttons no longer drive Teams history navigation.
|
|
20530
|
+
*
|
|
20531
|
+
* @throws Error if {@link app.initialize} has not successfully completed or the
|
|
20532
|
+
* host does not support the mouseRelay capability.
|
|
20533
|
+
*/
|
|
20534
|
+
function disableMouseRelayCapability() {
|
|
20535
|
+
if (!mouseRelay_isSupported()) {
|
|
20536
|
+
throw errorNotSupportedOnPlatform;
|
|
20537
|
+
}
|
|
20538
|
+
isMouseRelayCapabilityEnabled = false;
|
|
20539
|
+
document.removeEventListener('mousedown', suppressX1X2, { capture: true });
|
|
20540
|
+
document.removeEventListener('mouseup', mouseupHandler, { capture: true });
|
|
20541
|
+
document.removeEventListener('auxclick', suppressX1X2, { capture: true });
|
|
20542
|
+
}
|
|
20543
|
+
/**
|
|
20544
|
+
* Checks if the mouseRelay capability is supported by the host.
|
|
20545
|
+
* @returns boolean to represent whether the mouseRelay capability is supported.
|
|
20546
|
+
*
|
|
20547
|
+
* @throws Error if {@link app.initialize} has not successfully completed.
|
|
20548
|
+
*/
|
|
20549
|
+
function mouseRelay_isSupported() {
|
|
20550
|
+
return ensureInitialized(runtime) && runtime.supports.mouseRelay ? true : false;
|
|
20551
|
+
}
|
|
20552
|
+
|
|
20356
20553
|
;// ./src/public/shortcutRelay.ts
|
|
20357
20554
|
/**
|
|
20358
20555
|
* Allows host shortcuts to function in your application by forwarding keyboard shortcuts to the host.
|
|
@@ -20695,6 +20892,8 @@ const DISABLE_SHORTCUT_FORWARDING_ATTRIBUTE = 'data-disable-shortcuts-forwarding
|
|
|
20695
20892
|
|
|
20696
20893
|
|
|
20697
20894
|
|
|
20895
|
+
|
|
20896
|
+
|
|
20698
20897
|
|
|
20699
20898
|
;// ./src/index.ts
|
|
20700
20899
|
|