@microsoft/teams-js 2.30.0 → 2.31.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/dist/esm/_virtual/__polyfill-node.os.js +1 -0
- package/dist/esm/_virtual/_polyfill-node.os.js +1 -0
- package/dist/esm/node_modules/.pnpm/debug@4.3.5/node_modules/debug/src/node.js +1 -1
- package/dist/esm/node_modules/.pnpm/has-flag@4.0.0/node_modules/has-flag/index.js +1 -0
- package/dist/esm/node_modules/.pnpm/supports-color@7.2.0/node_modules/supports-color/index.js +1 -0
- package/dist/esm/packages/teams-js/dts/index.d.ts +2 -0
- package/dist/esm/packages/teams-js/dts/internal/VideoFrameTypes.d.ts +78 -0
- package/dist/esm/packages/teams-js/dts/internal/appHelpers.d.ts +8 -0
- package/dist/esm/packages/teams-js/dts/internal/appIdValidation.d.ts +16 -0
- package/dist/esm/packages/teams-js/dts/internal/communication.d.ts +162 -0
- package/dist/esm/packages/teams-js/dts/internal/constants.d.ts +146 -0
- package/dist/esm/packages/teams-js/dts/internal/deepLinkConstants.d.ts +26 -0
- package/dist/esm/packages/teams-js/dts/internal/deepLinkUtilities.d.ts +4 -0
- package/dist/esm/packages/teams-js/dts/internal/emailAddressValidation.d.ts +1 -0
- package/dist/esm/packages/teams-js/dts/internal/globalVars.d.ts +12 -0
- package/dist/esm/packages/teams-js/dts/internal/handlers.d.ts +80 -0
- package/dist/esm/packages/teams-js/dts/internal/interfaces.d.ts +47 -0
- package/dist/esm/packages/teams-js/dts/internal/internalAPIs.d.ts +61 -0
- package/dist/esm/packages/teams-js/dts/internal/marketplaceUtils.d.ts +94 -0
- package/dist/esm/packages/teams-js/dts/internal/mediaUtil.d.ts +95 -0
- package/dist/esm/packages/teams-js/dts/internal/messageObjects.d.ts +73 -0
- package/dist/esm/packages/teams-js/dts/internal/nestedAppAuthUtils.d.ts +105 -0
- package/dist/esm/packages/teams-js/dts/internal/profileUtil.d.ts +11 -0
- package/dist/esm/packages/teams-js/dts/internal/responseHandler.d.ts +30 -0
- package/dist/esm/packages/teams-js/dts/internal/telemetry.d.ts +344 -0
- package/dist/esm/packages/teams-js/dts/internal/typeCheckUtilities.d.ts +1 -0
- package/dist/esm/packages/teams-js/dts/internal/utils.d.ts +200 -0
- package/dist/esm/packages/teams-js/dts/internal/uuidObject.d.ts +11 -0
- package/dist/esm/packages/teams-js/dts/internal/validOrigins.d.ts +6 -0
- package/dist/esm/packages/teams-js/dts/internal/videoEffectsUtils.d.ts +31 -0
- package/dist/esm/packages/teams-js/dts/internal/videoFrameTick.d.ts +10 -0
- package/dist/esm/packages/teams-js/dts/internal/videoPerformanceMonitor.d.ts +54 -0
- package/dist/esm/packages/teams-js/dts/internal/videoPerformanceStatistics.d.ts +49 -0
- package/dist/esm/packages/teams-js/dts/private/appEntity.d.ts +89 -0
- package/dist/esm/packages/teams-js/dts/private/constants.d.ts +9 -0
- package/dist/esm/packages/teams-js/dts/private/conversations.d.ts +152 -0
- package/dist/esm/packages/teams-js/dts/private/copilot.d.ts +39 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppAuthentication.d.ts +378 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppAuthenticationForCEA.d.ts +75 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppCardActions.d.ts +112 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppCardActionsForCEA.d.ts +49 -0
- package/dist/esm/packages/teams-js/dts/private/externalAppCommands.d.ts +123 -0
- package/dist/esm/packages/teams-js/dts/private/files.d.ts +758 -0
- package/dist/esm/packages/teams-js/dts/private/hostEntity.d.ts +176 -0
- package/dist/esm/packages/teams-js/dts/private/index.d.ts +20 -0
- package/dist/esm/packages/teams-js/dts/private/interfaces.d.ts +250 -0
- package/dist/esm/packages/teams-js/dts/private/logs.d.ts +25 -0
- package/dist/esm/packages/teams-js/dts/private/meetingRoom.d.ts +203 -0
- package/dist/esm/packages/teams-js/dts/private/messageChannels.d.ts +107 -0
- package/dist/esm/packages/teams-js/dts/private/notifications.d.ts +26 -0
- package/dist/esm/packages/teams-js/dts/private/otherAppStateChange.d.ts +81 -0
- package/dist/esm/packages/teams-js/dts/private/privateAPIs.d.ts +60 -0
- package/dist/esm/packages/teams-js/dts/private/remoteCamera.d.ts +298 -0
- package/dist/esm/packages/teams-js/dts/private/teams.d.ts +116 -0
- package/dist/esm/packages/teams-js/dts/private/videoEffectsEx.d.ts +244 -0
- package/dist/esm/packages/teams-js/dts/public/adaptiveCards.d.ts +6 -0
- package/dist/esm/packages/teams-js/dts/public/app.d.ts +592 -0
- package/dist/esm/packages/teams-js/dts/public/appId.d.ts +33 -0
- package/dist/esm/packages/teams-js/dts/public/appInitialization.d.ts +57 -0
- package/dist/esm/packages/teams-js/dts/public/appInstallDialog.d.ts +18 -0
- package/dist/esm/packages/teams-js/dts/public/appWindow.d.ts +66 -0
- package/dist/esm/packages/teams-js/dts/public/authentication.d.ts +409 -0
- package/dist/esm/packages/teams-js/dts/public/barCode.d.ts +53 -0
- package/dist/esm/packages/teams-js/dts/public/calendar.d.ts +40 -0
- package/dist/esm/packages/teams-js/dts/public/call.d.ts +53 -0
- package/dist/esm/packages/teams-js/dts/public/chat.d.ts +66 -0
- package/dist/esm/packages/teams-js/dts/public/clipboard.d.ts +34 -0
- package/dist/esm/packages/teams-js/dts/public/constants.d.ts +179 -0
- package/dist/esm/packages/teams-js/dts/public/dialog.d.ts +286 -0
- package/dist/esm/packages/teams-js/dts/public/emailAddress.d.ts +12 -0
- package/dist/esm/packages/teams-js/dts/public/geoLocation.d.ts +100 -0
- package/dist/esm/packages/teams-js/dts/public/index.d.ts +44 -0
- package/dist/esm/packages/teams-js/dts/public/interfaces.d.ts +1133 -0
- package/dist/esm/packages/teams-js/dts/public/liveShareHost.d.ts +221 -0
- package/dist/esm/packages/teams-js/dts/public/location.d.ts +86 -0
- package/dist/esm/packages/teams-js/dts/public/mail.d.ts +95 -0
- package/dist/esm/packages/teams-js/dts/public/marketplace.d.ts +321 -0
- package/dist/esm/packages/teams-js/dts/public/media.d.ts +440 -0
- package/dist/esm/packages/teams-js/dts/public/meeting.d.ts +906 -0
- package/dist/esm/packages/teams-js/dts/public/menus.d.ts +188 -0
- package/dist/esm/packages/teams-js/dts/public/monetization.d.ts +58 -0
- package/dist/esm/packages/teams-js/dts/public/navigation.d.ts +45 -0
- package/dist/esm/packages/teams-js/dts/public/nestedAppAuth.d.ts +15 -0
- package/dist/esm/packages/teams-js/dts/public/pages.d.ts +574 -0
- package/dist/esm/packages/teams-js/dts/public/people.d.ts +75 -0
- package/dist/esm/packages/teams-js/dts/public/profile.d.ts +127 -0
- package/dist/esm/packages/teams-js/dts/public/publicAPIs.d.ts +218 -0
- package/dist/esm/packages/teams-js/dts/public/runtime.d.ts +207 -0
- package/dist/esm/packages/teams-js/dts/public/search.d.ts +91 -0
- package/dist/esm/packages/teams-js/dts/public/secondaryBrowser.d.ts +32 -0
- package/dist/esm/packages/teams-js/dts/public/serializable.interface.d.ts +17 -0
- package/dist/esm/packages/teams-js/dts/public/settings.d.ts +101 -0
- package/dist/esm/packages/teams-js/dts/public/sharing.d.ts +124 -0
- package/dist/esm/packages/teams-js/dts/public/stageView.d.ts +104 -0
- package/dist/esm/packages/teams-js/dts/public/tasks.d.ts +62 -0
- package/dist/esm/packages/teams-js/dts/public/teamsAPIs.d.ts +77 -0
- package/dist/esm/packages/teams-js/dts/public/thirdPartyCloudStorage.d.ts +119 -0
- package/dist/esm/packages/teams-js/dts/public/version.d.ts +5 -0
- package/dist/esm/packages/teams-js/dts/public/videoEffects.d.ts +213 -0
- package/dist/esm/packages/teams-js/dts/public/visualMedia.d.ts +192 -0
- package/dist/esm/packages/teams-js/dts/public/webStorage.d.ts +27 -0
- package/dist/esm/packages/teams-js/src/index.js +1 -1
- package/dist/esm/packages/teams-js/src/internal/appHelpers.js +1 -0
- package/dist/esm/packages/teams-js/src/internal/communication.js +1 -1
- package/dist/esm/packages/teams-js/src/internal/deepLinkUtilities.js +1 -1
- package/dist/esm/packages/teams-js/src/internal/responseHandler.js +1 -0
- package/dist/esm/packages/teams-js/src/private/externalAppAuthentication.js +1 -1
- package/dist/esm/packages/teams-js/src/private/externalAppAuthenticationForCEA.js +1 -1
- package/dist/esm/packages/teams-js/src/private/hostEntity.js +1 -1
- package/dist/esm/packages/teams-js/src/private/videoEffectsEx.js +1 -1
- package/dist/esm/packages/teams-js/src/public/app.js +1 -1
- package/dist/esm/packages/teams-js/src/public/appId.js +1 -1
- package/dist/esm/packages/teams-js/src/public/appInitialization.js +1 -1
- package/dist/esm/packages/teams-js/src/public/appInstallDialog.js +1 -1
- package/dist/esm/packages/teams-js/src/public/authentication.js +1 -1
- package/dist/esm/packages/teams-js/src/public/barCode.js +1 -1
- package/dist/esm/packages/teams-js/src/public/calendar.js +1 -1
- package/dist/esm/packages/teams-js/src/public/call.js +1 -1
- package/dist/esm/packages/teams-js/src/public/clipboard.js +1 -1
- package/dist/esm/packages/teams-js/src/public/constants.js +1 -1
- package/dist/esm/packages/teams-js/src/public/pages.js +1 -1
- package/dist/esm/packages/teams-js/src/public/publicAPIs.js +1 -1
- package/dist/esm/packages/teams-js/src/public/serializable.interface.js +1 -0
- package/dist/esm/packages/teams-js/src/public/settings.js +1 -1
- package/dist/esm/packages/teams-js/src/public/tasks.js +1 -1
- package/dist/esm/packages/teams-js/src/public/version.js +1 -1
- package/dist/esm/packages/teams-js/src/public/webStorage.js +1 -1
- package/dist/umd/MicrosoftTeams.d.ts +10740 -10768
- package/dist/umd/MicrosoftTeams.js +1571 -1359
- 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 -51
- package/dist/esm/node_modules/.pnpm/supports-color@8.1.1/node_modules/supports-color/browser.js +0 -1
|
@@ -0,0 +1,1133 @@
|
|
|
1
|
+
import { ChannelType, DialogDimension, HostClientType, HostName, TeamType, UserTeamRole } from './constants';
|
|
2
|
+
import { FrameContexts } from './constants';
|
|
3
|
+
/**
|
|
4
|
+
* Represents information about tabs for an app
|
|
5
|
+
*/
|
|
6
|
+
export interface TabInformation {
|
|
7
|
+
/** Represents the tabs associated with a Microsoft Teams app */
|
|
8
|
+
teamTabs: TabInstance[];
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Represents information about a tab instance
|
|
12
|
+
*/
|
|
13
|
+
export interface TabInstance {
|
|
14
|
+
/**
|
|
15
|
+
* The name of the tab
|
|
16
|
+
*/
|
|
17
|
+
tabName: string;
|
|
18
|
+
/**
|
|
19
|
+
* @internal
|
|
20
|
+
* Limited to Microsoft-internal use
|
|
21
|
+
* @protected
|
|
22
|
+
*/
|
|
23
|
+
internalTabInstanceId?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Last viewed time of this tab. null means unknown
|
|
26
|
+
*/
|
|
27
|
+
lastViewUnixEpochTime?: string;
|
|
28
|
+
/**
|
|
29
|
+
* The developer-defined unique ID for the entity this content points to.
|
|
30
|
+
*/
|
|
31
|
+
entityId?: string;
|
|
32
|
+
/**
|
|
33
|
+
* The Microsoft Teams ID for the channel with which the content is associated.
|
|
34
|
+
*/
|
|
35
|
+
channelId?: string;
|
|
36
|
+
/**
|
|
37
|
+
* The name for the channel with which the content is associated.
|
|
38
|
+
*/
|
|
39
|
+
channelName?: string;
|
|
40
|
+
/**
|
|
41
|
+
* Is this tab in a favorite channel?
|
|
42
|
+
*/
|
|
43
|
+
channelIsFavorite?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* The Microsoft Teams ID for the team with which the content is associated.
|
|
46
|
+
*/
|
|
47
|
+
teamId?: string;
|
|
48
|
+
/**
|
|
49
|
+
* The name for the team with which the content is associated.
|
|
50
|
+
*/
|
|
51
|
+
teamName?: string;
|
|
52
|
+
/**
|
|
53
|
+
* Is this tab in a favorite team?
|
|
54
|
+
*/
|
|
55
|
+
teamIsFavorite?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* The Office 365 group ID for the team with which the content is associated.
|
|
58
|
+
* This field is available only when the identity permission is requested in the manifest.
|
|
59
|
+
*/
|
|
60
|
+
groupId?: string;
|
|
61
|
+
/**
|
|
62
|
+
* Content URL of this tab
|
|
63
|
+
*/
|
|
64
|
+
url?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Website URL of this tab
|
|
67
|
+
*/
|
|
68
|
+
websiteUrl?: string;
|
|
69
|
+
/**
|
|
70
|
+
* AppId of this tab
|
|
71
|
+
*/
|
|
72
|
+
appId?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Order of this tab. Order is 1-indexed.
|
|
75
|
+
*/
|
|
76
|
+
order?: number;
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Indicates information about the tab instance for filtering purposes.
|
|
80
|
+
*/
|
|
81
|
+
export interface TabInstanceParameters {
|
|
82
|
+
/**
|
|
83
|
+
* Flag allowing to select favorite channels only
|
|
84
|
+
*/
|
|
85
|
+
favoriteChannelsOnly?: boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Flag allowing to select favorite teams only
|
|
88
|
+
*/
|
|
89
|
+
favoriteTeamsOnly?: boolean;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Represents Team Information
|
|
93
|
+
*/
|
|
94
|
+
export interface TeamInformation {
|
|
95
|
+
/**
|
|
96
|
+
* Id of the team
|
|
97
|
+
*/
|
|
98
|
+
teamId: string;
|
|
99
|
+
/**
|
|
100
|
+
* Team display name
|
|
101
|
+
*/
|
|
102
|
+
teamName: string;
|
|
103
|
+
/**
|
|
104
|
+
* Team description
|
|
105
|
+
*/
|
|
106
|
+
teamDescription?: string;
|
|
107
|
+
/**
|
|
108
|
+
* Thumbnail Uri
|
|
109
|
+
*/
|
|
110
|
+
thumbnailUri?: string;
|
|
111
|
+
/**
|
|
112
|
+
* The Office 365 group ID for the team with which the content is associated.
|
|
113
|
+
* This field is available only when the identity permission is requested in the manifest.
|
|
114
|
+
*/
|
|
115
|
+
groupId?: string;
|
|
116
|
+
/**
|
|
117
|
+
* Role of current user in the team
|
|
118
|
+
*/
|
|
119
|
+
userTeamRole?: UserTeamRole;
|
|
120
|
+
/**
|
|
121
|
+
* The type of the team.
|
|
122
|
+
*/
|
|
123
|
+
teamType?: TeamType;
|
|
124
|
+
/**
|
|
125
|
+
* The locked status of the team
|
|
126
|
+
*/
|
|
127
|
+
isTeamLocked?: boolean;
|
|
128
|
+
/**
|
|
129
|
+
* The archived status of the team
|
|
130
|
+
*/
|
|
131
|
+
isTeamArchived?: boolean;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Represents OS locale info used for formatting date and time data
|
|
135
|
+
*/
|
|
136
|
+
export interface LocaleInfo {
|
|
137
|
+
/** Represents the user's platform on which the app is running. */
|
|
138
|
+
platform: HostClientType.android | HostClientType.ios | HostClientType.macos | 'windows';
|
|
139
|
+
/**
|
|
140
|
+
* Represents the regional format used by the user's locale.
|
|
141
|
+
* @example `en-us`.
|
|
142
|
+
*/
|
|
143
|
+
regionalFormat: string;
|
|
144
|
+
/**
|
|
145
|
+
* Displays date values, as specified by the short date format MM/DD/YYYY in user's regional settings.
|
|
146
|
+
* @example 4/21/2023 or 4-21-2023
|
|
147
|
+
*/
|
|
148
|
+
shortDate: string;
|
|
149
|
+
/**
|
|
150
|
+
* Displays only date values, as specified by the Long Date format in user's regional settings.
|
|
151
|
+
* @example Friday, April 21, 2023
|
|
152
|
+
*/
|
|
153
|
+
longDate: string;
|
|
154
|
+
/**
|
|
155
|
+
* A string representing the short time format used by the user's locale.
|
|
156
|
+
* @example 10:10
|
|
157
|
+
*/
|
|
158
|
+
shortTime: string;
|
|
159
|
+
/**
|
|
160
|
+
* A string representing the long time format used by the user's locale.
|
|
161
|
+
* @example 10:10:42 AM
|
|
162
|
+
*/
|
|
163
|
+
longTime: string;
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Allowed user file open preferences
|
|
167
|
+
*/
|
|
168
|
+
export declare enum FileOpenPreference {
|
|
169
|
+
/** Indicates that the user should be prompted to open the file in inline. */
|
|
170
|
+
Inline = "inline",
|
|
171
|
+
/** Indicates that the user should be prompted to open the file in the native desktop application associated with the file type. */
|
|
172
|
+
Desktop = "desktop",
|
|
173
|
+
/** Indicates that the user should be prompted to open the file in a web browser. */
|
|
174
|
+
Web = "web"
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Types of Action Objects
|
|
178
|
+
*
|
|
179
|
+
* @beta
|
|
180
|
+
*/
|
|
181
|
+
export declare enum ActionObjectType {
|
|
182
|
+
/** Represents content within a Microsoft 365 application. */
|
|
183
|
+
M365Content = "m365content"
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Data pertaining to object(s) the action is being performed on
|
|
187
|
+
*
|
|
188
|
+
* @param T The type of action being implemented
|
|
189
|
+
*
|
|
190
|
+
* @beta
|
|
191
|
+
*/
|
|
192
|
+
export interface BaseActionObject<T extends ActionObjectType> {
|
|
193
|
+
/** Represents action type. */
|
|
194
|
+
type: T;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Stores information needed to represent content stored in OneDrive or Sharepoint
|
|
198
|
+
*
|
|
199
|
+
* @beta
|
|
200
|
+
*/
|
|
201
|
+
export interface M365ContentAction extends BaseActionObject<ActionObjectType.M365Content> {
|
|
202
|
+
/**
|
|
203
|
+
* Only office content IDs are passed to the app. Apps should use these ids
|
|
204
|
+
* to query the Microsoft graph for more details.
|
|
205
|
+
*/
|
|
206
|
+
itemId: string;
|
|
207
|
+
/** Represents an optional secondary identifier for an action in a Microsoft 365 content item. */
|
|
208
|
+
secondaryId?: SecondaryId;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Contains additional IDs of the content that the action is triggered from. Maps to ids used in the Graph.
|
|
212
|
+
*
|
|
213
|
+
* @beta
|
|
214
|
+
*/
|
|
215
|
+
export interface SecondaryId {
|
|
216
|
+
/** Name of the secondary id that should be used. */
|
|
217
|
+
name: SecondaryM365ContentIdName;
|
|
218
|
+
/** The secondary id value that can be used to retrieve M365 content. */
|
|
219
|
+
value: string;
|
|
220
|
+
}
|
|
221
|
+
/**
|
|
222
|
+
* These correspond with field names in the MSGraph.
|
|
223
|
+
* See [commonly accessed resources](https://learn.microsoft.com/graph/api/resources/onedrive?view=graph-rest-1.0#commonly-accessed-resources).
|
|
224
|
+
* @beta
|
|
225
|
+
*/
|
|
226
|
+
export declare enum SecondaryM365ContentIdName {
|
|
227
|
+
/** OneDrive ID */
|
|
228
|
+
DriveId = "driveId",
|
|
229
|
+
/** Teams Group ID */
|
|
230
|
+
GroupId = "groupId",
|
|
231
|
+
/** SharePoint ID */
|
|
232
|
+
SiteId = "siteId",
|
|
233
|
+
/** User ID */
|
|
234
|
+
UserId = "userId"
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Information about an Action.
|
|
238
|
+
*
|
|
239
|
+
* @remarks
|
|
240
|
+
* This contains Id of the action, and the information about the object that triggered the action.
|
|
241
|
+
* @beta
|
|
242
|
+
*/
|
|
243
|
+
export interface ActionInfo {
|
|
244
|
+
/**
|
|
245
|
+
* Id of the action. Maps to the action id supplied inside the manifest
|
|
246
|
+
*/
|
|
247
|
+
actionId: string;
|
|
248
|
+
/**
|
|
249
|
+
* Array of corresponding action objects
|
|
250
|
+
*/
|
|
251
|
+
actionObjects: BaseActionObject<ActionObjectType>[];
|
|
252
|
+
}
|
|
253
|
+
/**
|
|
254
|
+
* @deprecated
|
|
255
|
+
* As of TeamsJS v2.0.0, please use the {@link app.Context} interface and its updated properties instead.
|
|
256
|
+
*
|
|
257
|
+
* @remarks
|
|
258
|
+
* For more details about the updated {@link app.Context} interface, visit the
|
|
259
|
+
* [Teams JavaScript client SDK](https://learn.microsoft.com/microsoftteams/platform/tabs/how-to/using-teams-client-sdk#updates-to-the-context-interface)
|
|
260
|
+
* overview article.
|
|
261
|
+
*
|
|
262
|
+
* Represents the structure of the received context message.
|
|
263
|
+
*/
|
|
264
|
+
export interface Context {
|
|
265
|
+
/**
|
|
266
|
+
* @deprecated
|
|
267
|
+
* As of TeamsJS v2.0.0, please use {@link ActionInfo | app.Context.actionInfo} instead
|
|
268
|
+
*
|
|
269
|
+
* Common information applicable to all content actions
|
|
270
|
+
*/
|
|
271
|
+
actionInfo?: ActionInfo;
|
|
272
|
+
/**
|
|
273
|
+
* @deprecated
|
|
274
|
+
* As of TeamsJS v2.0.0, please use {@link app.TeamInfo.groupId | app.Context.team.groupId} instead
|
|
275
|
+
*
|
|
276
|
+
* The Office 365 group ID for the team with which the content is associated.
|
|
277
|
+
* This field is available only when the identity permission is requested in the manifest.
|
|
278
|
+
*/
|
|
279
|
+
groupId?: string;
|
|
280
|
+
/**
|
|
281
|
+
* @deprecated
|
|
282
|
+
* As of TeamsJS v2.0.0, please use {@link app.TeamInfo.internalId | app.Context.team.internalId} instead
|
|
283
|
+
*
|
|
284
|
+
* The Microsoft Teams ID for the team with which the content is associated.
|
|
285
|
+
*/
|
|
286
|
+
teamId?: string;
|
|
287
|
+
/**
|
|
288
|
+
* @deprecated
|
|
289
|
+
* As of TeamsJS v2.0.0, please use {@link app.TeamInfo.displayName | app.Context.team.displayName} instead
|
|
290
|
+
*
|
|
291
|
+
* The name for the team with which the content is associated.
|
|
292
|
+
*/
|
|
293
|
+
teamName?: string;
|
|
294
|
+
/**
|
|
295
|
+
* @deprecated
|
|
296
|
+
* As of TeamsJS v2.0.0, please use {@link app.ChannelInfo.id | app.Context.channel.id} instead
|
|
297
|
+
*
|
|
298
|
+
* The Microsoft Teams ID for the channel with which the content is associated.
|
|
299
|
+
*/
|
|
300
|
+
channelId?: string;
|
|
301
|
+
/**
|
|
302
|
+
* @deprecated
|
|
303
|
+
* As of TeamsJS v2.0.0, please use {@link app.ChannelInfo.displayName | app.Context.channel.displayName} instead
|
|
304
|
+
*
|
|
305
|
+
* The name for the channel with which the content is associated.
|
|
306
|
+
*/
|
|
307
|
+
channelName?: string;
|
|
308
|
+
/**
|
|
309
|
+
* @deprecated
|
|
310
|
+
* As of TeamsJS v2.0.0, please use {@link app.ChannelInfo.membershipType | app.Context.channel.membershipType} instead
|
|
311
|
+
*
|
|
312
|
+
* The type of the channel with which the content is associated.
|
|
313
|
+
*/
|
|
314
|
+
channelType?: ChannelType;
|
|
315
|
+
/**
|
|
316
|
+
* @deprecated
|
|
317
|
+
* As of TeamsJS v2.0.0, please use {@link app.PageInfo.id | app.Context.page.id} instead
|
|
318
|
+
*
|
|
319
|
+
* The developer-defined unique ID for the entity this content points to.
|
|
320
|
+
*/
|
|
321
|
+
entityId: string;
|
|
322
|
+
/**
|
|
323
|
+
* @deprecated
|
|
324
|
+
* As of TeamsJS v2.0.0, please use {@link app.PageInfo.subPageId | app.Context.page.subPageId} instead
|
|
325
|
+
*
|
|
326
|
+
* The developer-defined unique ID for the sub-entity this content points to.
|
|
327
|
+
* This field should be used to restore to a specific state within an entity,
|
|
328
|
+
* such as scrolling to or activating a specific piece of content.
|
|
329
|
+
*/
|
|
330
|
+
subEntityId?: string;
|
|
331
|
+
/**
|
|
332
|
+
* @deprecated
|
|
333
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppInfo.locale | app.Context.app.locale} instead
|
|
334
|
+
*
|
|
335
|
+
* The current locale that the user has configured for the app formatted as
|
|
336
|
+
* languageId-countryId (for example, en-us).
|
|
337
|
+
*/
|
|
338
|
+
locale: string;
|
|
339
|
+
/**
|
|
340
|
+
* @deprecated
|
|
341
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppInfo.osLocaleInfo | app.Context.app.osLocaleInfo} instead
|
|
342
|
+
*
|
|
343
|
+
* More detailed locale info from the user's OS if available. Can be used together with
|
|
344
|
+
* the @microsoft/globe NPM package to ensure your app respects the user's OS date and
|
|
345
|
+
* time format configuration
|
|
346
|
+
*/
|
|
347
|
+
osLocaleInfo?: LocaleInfo;
|
|
348
|
+
/**
|
|
349
|
+
* @deprecated
|
|
350
|
+
*
|
|
351
|
+
* As of TeamsJS v2.0.0, please use {@link app.UserInfo.loginHint | app.Context.user.loginHint} or
|
|
352
|
+
* {@link app.UserInfo.userPrincipalName | app.Context.user.userPrincipalName} instead.
|
|
353
|
+
* The UPN of the current user.
|
|
354
|
+
* Because a malicious party can run your content in a browser, this value should
|
|
355
|
+
* be used only as a hint as to who the user is and never as proof of identity.
|
|
356
|
+
* This field is available only when the identity permission is requested in the manifest.
|
|
357
|
+
*/
|
|
358
|
+
upn?: string;
|
|
359
|
+
/**
|
|
360
|
+
* @deprecated
|
|
361
|
+
* As of TeamsJS v2.0.0, please use {@link app.TenantInfo.id | app.Context.user.tenant.id} instead
|
|
362
|
+
*
|
|
363
|
+
* The Microsoft Entra tenant ID of the current user.
|
|
364
|
+
* Because a malicious party can run your content in a browser, this value should
|
|
365
|
+
* be used only as a hint as to who the user is and never as proof of identity.
|
|
366
|
+
* This field is available only when the identity permission is requested in the manifest.
|
|
367
|
+
*/
|
|
368
|
+
tid?: string;
|
|
369
|
+
/**
|
|
370
|
+
* @deprecated
|
|
371
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppInfo.theme | app.Context.app.theme} instead
|
|
372
|
+
*
|
|
373
|
+
* The current UI theme.
|
|
374
|
+
*/
|
|
375
|
+
theme?: string;
|
|
376
|
+
/**
|
|
377
|
+
* @deprecated
|
|
378
|
+
* As of TeamsJS v2.0.0, please use {@link app.PageInfo.isFullScreen | app.Context.page.isFullScreen} instead
|
|
379
|
+
*
|
|
380
|
+
* Indication whether the tab is in full-screen mode.
|
|
381
|
+
*/
|
|
382
|
+
isFullScreen?: boolean;
|
|
383
|
+
/**
|
|
384
|
+
* @deprecated
|
|
385
|
+
* As of TeamsJS v2.0.0, please use {@link app.TeamInfo.type | app.Context.team.type} instead
|
|
386
|
+
*
|
|
387
|
+
* The type of the team.
|
|
388
|
+
*/
|
|
389
|
+
teamType?: TeamType;
|
|
390
|
+
/**
|
|
391
|
+
* @deprecated
|
|
392
|
+
* As of TeamsJS v2.0.0, please use {@link app.SharePointSiteInfo.teamSiteUrl | app.Context.sharePointSite.teamSiteUrl} instead
|
|
393
|
+
*
|
|
394
|
+
* The root SharePoint site associated with the team.
|
|
395
|
+
*/
|
|
396
|
+
teamSiteUrl?: string;
|
|
397
|
+
/**
|
|
398
|
+
* @deprecated
|
|
399
|
+
* As of TeamsJS v2.0.0, please use {@link app.SharePointSiteInfo.teamSiteDomain | app.Context.sharePointSite.teamSiteDomain} instead
|
|
400
|
+
*
|
|
401
|
+
* The domain of the root SharePoint site associated with the team.
|
|
402
|
+
*/
|
|
403
|
+
teamSiteDomain?: string;
|
|
404
|
+
/**
|
|
405
|
+
* @deprecated
|
|
406
|
+
* As of TeamsJS v2.0.0, please use {@link app.SharePointSiteInfo.teamSitePath | app.Context.sharePointSite.teamSitePath} instead
|
|
407
|
+
*
|
|
408
|
+
* The relative path to the SharePoint site associated with the team.
|
|
409
|
+
*/
|
|
410
|
+
teamSitePath?: string;
|
|
411
|
+
/**
|
|
412
|
+
* @deprecated
|
|
413
|
+
* As of TeamsJS v2.0.0, please use {@link app.ChannelInfo.ownerTenantId | app.Context.channel.ownerTenantId} instead
|
|
414
|
+
*
|
|
415
|
+
* The tenant ID of the host team.
|
|
416
|
+
*/
|
|
417
|
+
hostTeamTenantId?: string;
|
|
418
|
+
/**
|
|
419
|
+
* @deprecated
|
|
420
|
+
* As of TeamsJS v2.0.0, please use {@link app.ChannelInfo.ownerGroupId | app.Context.channel.ownerGroupId} instead
|
|
421
|
+
*
|
|
422
|
+
* The Microsoft Entra group ID of the host team.
|
|
423
|
+
*/
|
|
424
|
+
hostTeamGroupId?: string;
|
|
425
|
+
/**
|
|
426
|
+
* @deprecated
|
|
427
|
+
* As of TeamsJS v2.0.0, please use {@link app.ChannelInfo.relativeUrl | app.Context.channel.relativeUrl} instead
|
|
428
|
+
*
|
|
429
|
+
* The relative path to the SharePoint folder associated with the channel.
|
|
430
|
+
*/
|
|
431
|
+
channelRelativeUrl?: string;
|
|
432
|
+
/**
|
|
433
|
+
* @deprecated
|
|
434
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppHostInfo.sessionId | app.Context.app.host.sessionId} instead
|
|
435
|
+
*
|
|
436
|
+
* Unique ID for the current Teams session for use in correlating telemetry data.
|
|
437
|
+
*/
|
|
438
|
+
sessionId?: string;
|
|
439
|
+
/**
|
|
440
|
+
* @deprecated
|
|
441
|
+
* As of TeamsJS v2.0.0, please use {@link app.TeamInfo.userRole | app.Context.team.userRole} instead
|
|
442
|
+
*
|
|
443
|
+
* The user's role in the team.
|
|
444
|
+
* Because a malicious party can run your content in a browser, this value should
|
|
445
|
+
* be used only as a hint as to the user's role, and never as proof of her role.
|
|
446
|
+
*/
|
|
447
|
+
userTeamRole?: UserTeamRole;
|
|
448
|
+
/**
|
|
449
|
+
* @deprecated
|
|
450
|
+
* As of TeamsJS v2.0.0, please use {@link app.ChatInfo.id | app.Context.chat.id} instead
|
|
451
|
+
*
|
|
452
|
+
* The Microsoft Teams ID for the chat with which the content is associated.
|
|
453
|
+
*/
|
|
454
|
+
chatId?: string;
|
|
455
|
+
/**
|
|
456
|
+
* @deprecated
|
|
457
|
+
* As of TeamsJS v2.0.0, please use {@link app.UserInfo.loginHint | app.Context.user.loginHint} instead
|
|
458
|
+
*
|
|
459
|
+
* A value suitable for use as a login_hint when authenticating with Microsoft Entra ID.
|
|
460
|
+
* Because a malicious party can run your content in a browser, this value should
|
|
461
|
+
* be used only as a hint as to who the user is and never as proof of identity.
|
|
462
|
+
* This field is available only when the identity permission is requested in the manifest.
|
|
463
|
+
*/
|
|
464
|
+
loginHint?: string;
|
|
465
|
+
/**
|
|
466
|
+
* @deprecated
|
|
467
|
+
* As of TeamsJS v2.0.0, please use {@link app.UserInfo.userPrincipalName | app.Context.user.userPrincipalName} instead
|
|
468
|
+
*
|
|
469
|
+
* The UPN of the current user. This may be an externally-authenticated UPN (e.g., guest users).
|
|
470
|
+
* Because a malicious party run your content in a browser, this value should
|
|
471
|
+
* be used only as a hint as to who the user is and never as proof of identity.
|
|
472
|
+
* This field is available only when the identity permission is requested in the manifest.
|
|
473
|
+
*/
|
|
474
|
+
userPrincipalName?: string;
|
|
475
|
+
/**
|
|
476
|
+
* @deprecated
|
|
477
|
+
* As of TeamsJS v2.0.0, please use {@link app.UserInfo.id | app.Context.user.id} instead
|
|
478
|
+
*
|
|
479
|
+
* The Microsoft Entra object ID of the current user.
|
|
480
|
+
* Because a malicious party run your content in a browser, this value should
|
|
481
|
+
* be used only as a hint as to who the user is and never as proof of identity.
|
|
482
|
+
* This field is available only when the identity permission is requested in the manifest.
|
|
483
|
+
*/
|
|
484
|
+
userObjectId?: string;
|
|
485
|
+
/**
|
|
486
|
+
* @deprecated
|
|
487
|
+
* As of TeamsJS v2.0.0, please use {@link app.TeamInfo.isArchived | app.Context.team.isArchived} instead
|
|
488
|
+
*
|
|
489
|
+
* Indicates whether team is archived.
|
|
490
|
+
* Apps should use this as a signal to prevent any changes to content associated with archived teams.
|
|
491
|
+
*/
|
|
492
|
+
isTeamArchived?: boolean;
|
|
493
|
+
/**
|
|
494
|
+
* @deprecated
|
|
495
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppHostInfo.name | app.Context.app.host.name} instead
|
|
496
|
+
*
|
|
497
|
+
* The name of the host client. Possible values are: Office, Orange, Outlook, Teams
|
|
498
|
+
*/
|
|
499
|
+
hostName?: HostName;
|
|
500
|
+
/**
|
|
501
|
+
* @deprecated
|
|
502
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppHostInfo.clientType | app.Context.app.host.clientType} instead
|
|
503
|
+
*
|
|
504
|
+
* The type of the host client. Possible values are : android, ios, web, desktop, rigel(deprecated, use teamsRoomsWindows instead),
|
|
505
|
+
* surfaceHub, teamsRoomsWindows, teamsRoomsAndroid, teamsPhones, teamsDisplays
|
|
506
|
+
*/
|
|
507
|
+
hostClientType?: HostClientType;
|
|
508
|
+
/**
|
|
509
|
+
* @deprecated
|
|
510
|
+
* As of TeamsJS v2.0.0, please use {@link app.PageInfo.frameContext | app.Context.page.frameContext} instead
|
|
511
|
+
*
|
|
512
|
+
* The context where tab url is loaded (content, task, setting, remove, sidePanel)
|
|
513
|
+
*/
|
|
514
|
+
frameContext?: FrameContexts;
|
|
515
|
+
/**
|
|
516
|
+
* @deprecated
|
|
517
|
+
* As of TeamsJS v2.0.0, please use {@link app.Context | app.Context.sharepoint} instead
|
|
518
|
+
*
|
|
519
|
+
* SharePoint context. This is only available when hosted in SharePoint.
|
|
520
|
+
*/
|
|
521
|
+
sharepoint?: any;
|
|
522
|
+
/**
|
|
523
|
+
* @deprecated
|
|
524
|
+
* As of TeamsJS v2.0.0, please use {@link app.TenantInfo.teamsSku | app.Context.tenant.teamsSku} instead
|
|
525
|
+
*
|
|
526
|
+
* The type of license for the current users tenant.
|
|
527
|
+
*/
|
|
528
|
+
tenantSKU?: string;
|
|
529
|
+
/**
|
|
530
|
+
* @deprecated
|
|
531
|
+
* As of TeamsJS v2.0.0, please use {@link app.UserInfo.licenseType | app.Context.user.licenseType} instead
|
|
532
|
+
*
|
|
533
|
+
* The license type for the current user.
|
|
534
|
+
*/
|
|
535
|
+
userLicenseType?: string;
|
|
536
|
+
/**
|
|
537
|
+
* @deprecated
|
|
538
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppInfo.parentMessageId | app.Context.app.parentMessageId} instead
|
|
539
|
+
*
|
|
540
|
+
* The ID of the parent message from which this task module was launched.
|
|
541
|
+
* This is only available in task modules launched from bot cards.
|
|
542
|
+
*/
|
|
543
|
+
parentMessageId?: string;
|
|
544
|
+
/**
|
|
545
|
+
* @deprecated
|
|
546
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppHostInfo.ringId | app.Context.app.host.ringId} instead
|
|
547
|
+
*
|
|
548
|
+
* Current ring ID
|
|
549
|
+
*/
|
|
550
|
+
ringId?: string;
|
|
551
|
+
/**
|
|
552
|
+
* @deprecated
|
|
553
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppInfo.sessionId | app.Context.app.sessionId} instead
|
|
554
|
+
*
|
|
555
|
+
* Unique ID for the current session for use in correlating telemetry data. A session corresponds to the lifecycle of an app. A new session begins upon the creation of a webview (on Teams mobile) or iframe (in Teams desktop) hosting the app, and ends when it is destroyed.
|
|
556
|
+
*/
|
|
557
|
+
appSessionId?: string;
|
|
558
|
+
/**
|
|
559
|
+
* @deprecated
|
|
560
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppInfo.appLaunchId | app.Context.app.appLaunchId} instead
|
|
561
|
+
*
|
|
562
|
+
* ID for the current visible app which is different for across cached sessions. Used for correlating telemetry data``
|
|
563
|
+
*/
|
|
564
|
+
appLaunchId?: string;
|
|
565
|
+
/**
|
|
566
|
+
* @deprecated
|
|
567
|
+
* As of TeamsJS v2.0.0, please use {@link app.UserInfo.isCallingAllowed | app.Context.user.isCallingAllowed} instead
|
|
568
|
+
*
|
|
569
|
+
* Represents whether calling is allowed for the current logged in User
|
|
570
|
+
*/
|
|
571
|
+
isCallingAllowed?: boolean;
|
|
572
|
+
/**
|
|
573
|
+
* @deprecated
|
|
574
|
+
* As of TeamsJS v2.0.0, please use {@link app.UserInfo.isPSTNCallingAllowed | app.Context.user.isPSTNCallingAllowed} instead
|
|
575
|
+
*
|
|
576
|
+
* Represents whether PSTN calling is allowed for the current logged in User
|
|
577
|
+
*/
|
|
578
|
+
isPSTNCallingAllowed?: boolean;
|
|
579
|
+
/**
|
|
580
|
+
* @deprecated
|
|
581
|
+
* As of TeamsJS v2.0.0, please use {@link app.MeetingInfo.id | app.Context.meeting.id} instead
|
|
582
|
+
*
|
|
583
|
+
* Meeting Id used by tab when running in meeting context
|
|
584
|
+
*/
|
|
585
|
+
meetingId?: string;
|
|
586
|
+
/**
|
|
587
|
+
* @deprecated
|
|
588
|
+
* As of TeamsJS v2.0.0, please use {@link app.ChannelInfo.defaultOneNoteSectionId | app.Context.channel.defaultOneNoteSectionId} instead
|
|
589
|
+
*
|
|
590
|
+
* The OneNote section ID that is linked to the channel.
|
|
591
|
+
*/
|
|
592
|
+
defaultOneNoteSectionId?: string;
|
|
593
|
+
/**
|
|
594
|
+
* @deprecated
|
|
595
|
+
* As of TeamsJS v2.0.0, please use {@link app.PageInfo.isMultiWindow | app.Context.page.isMultiWindow} instead
|
|
596
|
+
*
|
|
597
|
+
* Indication whether the tab is in a pop out window
|
|
598
|
+
*/
|
|
599
|
+
isMultiWindow?: boolean;
|
|
600
|
+
/**
|
|
601
|
+
* @deprecated
|
|
602
|
+
* As of TeamsJS v2.0.0, please use {@link app.PageInfo.isBackgroundLoad | app.Context.page.isBackgroundLoad} instead
|
|
603
|
+
*
|
|
604
|
+
* Indication whether the tab is being loaded in the background
|
|
605
|
+
*/
|
|
606
|
+
isBackgroundLoad?: boolean;
|
|
607
|
+
/**
|
|
608
|
+
* @deprecated
|
|
609
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppInfo.iconPositionVertical | app.Context.app.iconPositionVertical} instead
|
|
610
|
+
*
|
|
611
|
+
* Personal app icon y coordinate position
|
|
612
|
+
*/
|
|
613
|
+
appIconPosition?: number;
|
|
614
|
+
/**
|
|
615
|
+
* @deprecated
|
|
616
|
+
* As of TeamsJS v2.0.0, please use {@link app.PageInfo.sourceOrigin | app.Context.page.sourceOrigin} instead
|
|
617
|
+
*
|
|
618
|
+
* Source origin from where the tab is opened
|
|
619
|
+
*/
|
|
620
|
+
sourceOrigin?: string;
|
|
621
|
+
/**
|
|
622
|
+
* @deprecated
|
|
623
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppInfo.userClickTime | app.Context.app.userClickTime} instead
|
|
624
|
+
*
|
|
625
|
+
* Time when the user clicked on the tab
|
|
626
|
+
*/
|
|
627
|
+
userClickTime?: number;
|
|
628
|
+
/**
|
|
629
|
+
* @deprecated
|
|
630
|
+
* As of TeamsJS v2.0.0, please use {@link app.TeamInfo.templateId | app.Context.team.templateId} instead
|
|
631
|
+
*
|
|
632
|
+
* Team Template ID if there was a Team Template associated with the creation of the team.
|
|
633
|
+
*/
|
|
634
|
+
teamTemplateId?: string;
|
|
635
|
+
/**
|
|
636
|
+
* @deprecated
|
|
637
|
+
* As of TeamsJS v2.0.0, please use {@link app.AppInfo.userFileOpenPreference | app.Context.app.userFileOpenPreference} instead
|
|
638
|
+
*
|
|
639
|
+
* Where the user prefers the file to be opened from by default during file open
|
|
640
|
+
*/
|
|
641
|
+
userFileOpenPreference?: FileOpenPreference;
|
|
642
|
+
/**
|
|
643
|
+
* @deprecated
|
|
644
|
+
* As of TeamsJS v2.0.0, please use {@link app.UserInfo.displayName | app.Context.user.displayName} instead
|
|
645
|
+
*
|
|
646
|
+
* The address book name of the current user.
|
|
647
|
+
*/
|
|
648
|
+
userDisplayName?: string;
|
|
649
|
+
/**
|
|
650
|
+
* @deprecated
|
|
651
|
+
* As of TeamsJS v2.0.0, please use {@link app.SharePointSiteInfo.teamSiteId | app.Context.sharePointSite.teamSiteId} instead
|
|
652
|
+
*
|
|
653
|
+
* Teamsite ID, aka sharepoint site id.
|
|
654
|
+
*/
|
|
655
|
+
teamSiteId?: string;
|
|
656
|
+
/**
|
|
657
|
+
* @deprecated
|
|
658
|
+
* As of TeamsJS v2.0.0, please use {@link app.SharePointSiteInfo.mySiteDomain | app.Context.sharePointSite.mySiteDomain} instead
|
|
659
|
+
*
|
|
660
|
+
* The SharePoint my site domain associated with the user.
|
|
661
|
+
*/
|
|
662
|
+
mySiteDomain?: string;
|
|
663
|
+
/**
|
|
664
|
+
* @deprecated
|
|
665
|
+
* As of TeamsJS v2.0.0, please use {@link app.SharePointSiteInfo.mySitePath | app.Context.sharePointSite.mySitePath} instead
|
|
666
|
+
*
|
|
667
|
+
* The SharePoint relative path to the current users mysite
|
|
668
|
+
*/
|
|
669
|
+
mySitePath?: string;
|
|
670
|
+
/**
|
|
671
|
+
* @deprecated
|
|
672
|
+
* As of TeamsJS v2.0.0, please use {@link app.Context.dialogParameters} instead
|
|
673
|
+
*
|
|
674
|
+
* When `processActionCommand` activates a dialog, this dialog should automatically fill in some fields with information. This information comes from M365 and is given to `processActionCommand` as `extractedParameters`.
|
|
675
|
+
* App developers need to use these `extractedParameters` in their dialog.
|
|
676
|
+
* They help pre-fill the dialog with necessary information (`dialogParameters`) along with other details.
|
|
677
|
+
*/
|
|
678
|
+
dialogParameters?: Record<string, string>;
|
|
679
|
+
}
|
|
680
|
+
/** Represents the parameters used to share a deep link. */
|
|
681
|
+
export interface ShareDeepLinkParameters {
|
|
682
|
+
/**
|
|
683
|
+
* The developer-defined unique ID for the sub-page to which this deep link points in the current page.
|
|
684
|
+
* This field should be used to restore to a specific state within a page, such as scrolling to or activating a specific piece of content.
|
|
685
|
+
*/
|
|
686
|
+
subPageId: string;
|
|
687
|
+
/**
|
|
688
|
+
* The label for the sub-page that should be displayed when the deep link is rendered in a client.
|
|
689
|
+
*/
|
|
690
|
+
subPageLabel: string;
|
|
691
|
+
/**
|
|
692
|
+
* The fallback URL to which to navigate the user if the client cannot render the page.
|
|
693
|
+
* This URL should lead directly to the sub-entity.
|
|
694
|
+
*/
|
|
695
|
+
subPageWebUrl?: string;
|
|
696
|
+
}
|
|
697
|
+
/**
|
|
698
|
+
* @deprecated
|
|
699
|
+
* As of TeamsJS v2.0.0, please use {@link ShareDeepLinkParameters} instead.
|
|
700
|
+
*/
|
|
701
|
+
export interface DeepLinkParameters {
|
|
702
|
+
/**
|
|
703
|
+
* The developer-defined unique ID for the sub-entity to which this deep link points in the current entity.
|
|
704
|
+
* This field should be used to restore to a specific state within an entity, such as scrolling to or activating a specific piece of content.
|
|
705
|
+
*/
|
|
706
|
+
subEntityId: string;
|
|
707
|
+
/**
|
|
708
|
+
* The label for the sub-entity that should be displayed when the deep link is rendered in a client.
|
|
709
|
+
*/
|
|
710
|
+
subEntityLabel: string;
|
|
711
|
+
/**
|
|
712
|
+
* The fallback URL to which to navigate the user if the client cannot render the page.
|
|
713
|
+
* This URL should lead directly to the sub-entity.
|
|
714
|
+
*/
|
|
715
|
+
subEntityWebUrl?: string;
|
|
716
|
+
}
|
|
717
|
+
/**
|
|
718
|
+
* @hidden
|
|
719
|
+
* Shared Dialog Properties
|
|
720
|
+
*/
|
|
721
|
+
export interface BaseDialogInfo {
|
|
722
|
+
/**
|
|
723
|
+
* The requested size of the dialog
|
|
724
|
+
*/
|
|
725
|
+
size: DialogSize;
|
|
726
|
+
/**
|
|
727
|
+
* Title of the dialog module.
|
|
728
|
+
*/
|
|
729
|
+
title?: string;
|
|
730
|
+
}
|
|
731
|
+
/**
|
|
732
|
+
* Data structure to describe dialog information needed to open an Adaptive Card-based dialog.
|
|
733
|
+
*/
|
|
734
|
+
export interface AdaptiveCardDialogInfo extends BaseDialogInfo {
|
|
735
|
+
/**
|
|
736
|
+
* JSON defining an Adaptive Card.
|
|
737
|
+
*/
|
|
738
|
+
card: string;
|
|
739
|
+
}
|
|
740
|
+
/**
|
|
741
|
+
* Data structure to describe dialog information needed to open a bot-based Adaptive Card-based dialog.
|
|
742
|
+
*/
|
|
743
|
+
export interface BotAdaptiveCardDialogInfo extends AdaptiveCardDialogInfo {
|
|
744
|
+
/**
|
|
745
|
+
* Specifies a bot ID to send the result of the user's interaction with the dialog module.
|
|
746
|
+
* The bot will receive a task/complete invoke event with a JSON object
|
|
747
|
+
* in the event payload.
|
|
748
|
+
*/
|
|
749
|
+
completionBotId: string;
|
|
750
|
+
}
|
|
751
|
+
/**
|
|
752
|
+
* Data structure to represent the size of a dialog
|
|
753
|
+
*/
|
|
754
|
+
export interface DialogSize {
|
|
755
|
+
/**
|
|
756
|
+
* The requested height of the webview/iframe.
|
|
757
|
+
*/
|
|
758
|
+
height: DialogDimension | number;
|
|
759
|
+
/**
|
|
760
|
+
* The requested width of the webview/iframe.
|
|
761
|
+
*/
|
|
762
|
+
width: DialogDimension | number;
|
|
763
|
+
}
|
|
764
|
+
/**
|
|
765
|
+
* Data structure to describe dialog information needed to open a url-based dialog.
|
|
766
|
+
*/
|
|
767
|
+
export interface UrlDialogInfo extends BaseDialogInfo {
|
|
768
|
+
/**
|
|
769
|
+
* The url to be rendered in the webview/iframe.
|
|
770
|
+
*
|
|
771
|
+
* @remarks
|
|
772
|
+
* The domain of the url must match at least one of the
|
|
773
|
+
* valid domains specified in the [validDomains block](https://learn.microsoft.com/microsoftteams/platform/resources/schema/manifest-schema#validdomains) of the app manifest
|
|
774
|
+
*/
|
|
775
|
+
url: string;
|
|
776
|
+
/**
|
|
777
|
+
* If client doesnt support the URL, the URL that needs to be opened in the browser.
|
|
778
|
+
*/
|
|
779
|
+
fallbackUrl?: string;
|
|
780
|
+
}
|
|
781
|
+
/**
|
|
782
|
+
* Data structure to describe dialog information needed to open a bot based dialog.
|
|
783
|
+
*/
|
|
784
|
+
export interface BotUrlDialogInfo extends UrlDialogInfo {
|
|
785
|
+
/**
|
|
786
|
+
* Specifies a bot ID to send the result of the user's interaction with the task module.
|
|
787
|
+
* The bot will receive a task/complete invoke event with a JSON object
|
|
788
|
+
* in the event payload.
|
|
789
|
+
*/
|
|
790
|
+
completionBotId: string;
|
|
791
|
+
}
|
|
792
|
+
/**
|
|
793
|
+
* Data structure to describe dialog information
|
|
794
|
+
*/
|
|
795
|
+
export interface DialogInfo {
|
|
796
|
+
/**
|
|
797
|
+
* The url to be rendered in the webview/iframe.
|
|
798
|
+
*
|
|
799
|
+
* @remarks
|
|
800
|
+
* The domain of the url must match at least one of the
|
|
801
|
+
* valid domains specified in the validDomains block of the manifest
|
|
802
|
+
*/
|
|
803
|
+
url?: string;
|
|
804
|
+
/**
|
|
805
|
+
* JSON defining an adaptive card.
|
|
806
|
+
*/
|
|
807
|
+
card?: string;
|
|
808
|
+
/**
|
|
809
|
+
* The requested height of the webview/iframe.
|
|
810
|
+
*/
|
|
811
|
+
height?: DialogDimension | number;
|
|
812
|
+
/**
|
|
813
|
+
* The requested width of the webview/iframe.
|
|
814
|
+
*/
|
|
815
|
+
width?: DialogDimension | number;
|
|
816
|
+
/**
|
|
817
|
+
* Title of the task module.
|
|
818
|
+
*/
|
|
819
|
+
title?: string;
|
|
820
|
+
/**
|
|
821
|
+
* If client doesnt support the URL, the URL that needs to be opened in the browser.
|
|
822
|
+
*/
|
|
823
|
+
fallbackUrl?: string;
|
|
824
|
+
/**
|
|
825
|
+
* Specifies a bot ID to send the result of the user's interaction with the task module.
|
|
826
|
+
* If specified, the bot will receive a task/complete invoke event with a JSON object
|
|
827
|
+
* in the event payload.
|
|
828
|
+
*/
|
|
829
|
+
completionBotId?: string;
|
|
830
|
+
}
|
|
831
|
+
/**
|
|
832
|
+
* @deprecated
|
|
833
|
+
* As of TeamsJS v2.0.0, please use {@link DialogInfo} instead.
|
|
834
|
+
*/
|
|
835
|
+
export type TaskInfo = DialogInfo;
|
|
836
|
+
/**
|
|
837
|
+
* @beta
|
|
838
|
+
* Data structure to be used with the {@link app.lifecycle.registerOnResumeHandler app.lifecycle.registerOnResumeHandler(handler: (context: ResumeContext) => void): void} to pass the context to the app.
|
|
839
|
+
*/
|
|
840
|
+
export interface ResumeContext {
|
|
841
|
+
/**
|
|
842
|
+
* The entity that is requested to be loaded
|
|
843
|
+
*/
|
|
844
|
+
entityId: string;
|
|
845
|
+
/**
|
|
846
|
+
* The content URL that is requested to be loaded
|
|
847
|
+
*/
|
|
848
|
+
contentUrl: URL;
|
|
849
|
+
}
|
|
850
|
+
/**
|
|
851
|
+
* @deprecated
|
|
852
|
+
* As of 2.14.1, please use {@link ResumeContext} instead.
|
|
853
|
+
*/
|
|
854
|
+
export interface LoadContext {
|
|
855
|
+
/**
|
|
856
|
+
* The entity that is requested to be loaded
|
|
857
|
+
*/
|
|
858
|
+
entityId: string;
|
|
859
|
+
/**
|
|
860
|
+
* The content URL that is requested to be loaded
|
|
861
|
+
*/
|
|
862
|
+
contentUrl: string;
|
|
863
|
+
}
|
|
864
|
+
/** Represents information about a frame within a tab or dialog module. */
|
|
865
|
+
export interface FrameInfo {
|
|
866
|
+
/**
|
|
867
|
+
* The current URL that needs to be used in the iframe if the tab is reloaded
|
|
868
|
+
*/
|
|
869
|
+
contentUrl: string;
|
|
870
|
+
/**
|
|
871
|
+
* The current URL that needs to be used for opening the website when the user clicks on 'Go to website'
|
|
872
|
+
*/
|
|
873
|
+
websiteUrl: string;
|
|
874
|
+
}
|
|
875
|
+
/**
|
|
876
|
+
* @deprecated
|
|
877
|
+
* As of TeamsJS v2.0.0, please use {@link FrameInfo} instead.
|
|
878
|
+
*/
|
|
879
|
+
export type FrameContext = FrameInfo;
|
|
880
|
+
/** Represents an error that occurs during the execution of an app or integration. */
|
|
881
|
+
export interface SdkError {
|
|
882
|
+
/**
|
|
883
|
+
error code
|
|
884
|
+
*/
|
|
885
|
+
errorCode: ErrorCode;
|
|
886
|
+
/**
|
|
887
|
+
Optional description for the error. This may contain useful information for web-app developers.
|
|
888
|
+
This string will not be localized and is not for end-user consumption.
|
|
889
|
+
App should not depend on the string content. The exact value may change. This is only for debugging purposes.
|
|
890
|
+
*/
|
|
891
|
+
message?: string;
|
|
892
|
+
}
|
|
893
|
+
export declare function isSdkError(err: unknown): err is SdkError;
|
|
894
|
+
/** Error codes used to identify different types of errors that can occur while developing apps. */
|
|
895
|
+
export declare enum ErrorCode {
|
|
896
|
+
/**
|
|
897
|
+
* API not supported in the current platform.
|
|
898
|
+
*/
|
|
899
|
+
NOT_SUPPORTED_ON_PLATFORM = 100,
|
|
900
|
+
/**
|
|
901
|
+
* Internal error encountered while performing the required operation.
|
|
902
|
+
*/
|
|
903
|
+
INTERNAL_ERROR = 500,
|
|
904
|
+
/**
|
|
905
|
+
* API is not supported in the current context
|
|
906
|
+
*/
|
|
907
|
+
NOT_SUPPORTED_IN_CURRENT_CONTEXT = 501,
|
|
908
|
+
/**
|
|
909
|
+
Permissions denied by user
|
|
910
|
+
*/
|
|
911
|
+
PERMISSION_DENIED = 1000,
|
|
912
|
+
/**
|
|
913
|
+
* Network issue
|
|
914
|
+
*/
|
|
915
|
+
NETWORK_ERROR = 2000,
|
|
916
|
+
/**
|
|
917
|
+
* Underlying hardware doesn't support the capability
|
|
918
|
+
*/
|
|
919
|
+
NO_HW_SUPPORT = 3000,
|
|
920
|
+
/**
|
|
921
|
+
* One or more arguments are invalid
|
|
922
|
+
*/
|
|
923
|
+
INVALID_ARGUMENTS = 4000,
|
|
924
|
+
/**
|
|
925
|
+
* User is not authorized for this operation
|
|
926
|
+
*/
|
|
927
|
+
UNAUTHORIZED_USER_OPERATION = 5000,
|
|
928
|
+
/**
|
|
929
|
+
* Could not complete the operation due to insufficient resources
|
|
930
|
+
*/
|
|
931
|
+
INSUFFICIENT_RESOURCES = 6000,
|
|
932
|
+
/**
|
|
933
|
+
* Platform throttled the request because of API was invoked too frequently
|
|
934
|
+
*/
|
|
935
|
+
THROTTLE = 7000,
|
|
936
|
+
/**
|
|
937
|
+
* User aborted the operation
|
|
938
|
+
*/
|
|
939
|
+
USER_ABORT = 8000,
|
|
940
|
+
/**
|
|
941
|
+
* Could not complete the operation in the given time interval
|
|
942
|
+
*/
|
|
943
|
+
OPERATION_TIMED_OUT = 8001,
|
|
944
|
+
/**
|
|
945
|
+
* Platform code is old and doesn't implement this API
|
|
946
|
+
*/
|
|
947
|
+
OLD_PLATFORM = 9000,
|
|
948
|
+
/**
|
|
949
|
+
* The file specified was not found on the given location
|
|
950
|
+
*/
|
|
951
|
+
FILE_NOT_FOUND = 404,
|
|
952
|
+
/**
|
|
953
|
+
* The return value is too big and has exceeded our size boundries
|
|
954
|
+
*/
|
|
955
|
+
SIZE_EXCEEDED = 10000
|
|
956
|
+
}
|
|
957
|
+
/** @hidden */
|
|
958
|
+
export declare enum DevicePermission {
|
|
959
|
+
GeoLocation = "geolocation",
|
|
960
|
+
Media = "media"
|
|
961
|
+
}
|
|
962
|
+
/** @hidden */
|
|
963
|
+
export interface HostVersionsInfo {
|
|
964
|
+
adaptiveCardSchemaVersion?: AdaptiveCardVersion;
|
|
965
|
+
appEligibilityInformation?: AppEligibilityInformation;
|
|
966
|
+
}
|
|
967
|
+
/**
|
|
968
|
+
* Represents the major and minor versions of the Adaptive Card schema in the current host
|
|
969
|
+
*/
|
|
970
|
+
export interface AdaptiveCardVersion {
|
|
971
|
+
/** Represents the major version number. */
|
|
972
|
+
majorVersion: number;
|
|
973
|
+
/** Represents the minor version number. */
|
|
974
|
+
minorVersion: number;
|
|
975
|
+
}
|
|
976
|
+
/**
|
|
977
|
+
* @hidden
|
|
978
|
+
* Eligibility Information for the app user.
|
|
979
|
+
*
|
|
980
|
+
* @beta
|
|
981
|
+
*/
|
|
982
|
+
export interface AppEligibilityInformation {
|
|
983
|
+
/**
|
|
984
|
+
* Describes the user’s age group, which can have implications on which product they are able to use.
|
|
985
|
+
*/
|
|
986
|
+
ageGroup: LegalAgeGroupClassification | null;
|
|
987
|
+
/**
|
|
988
|
+
* Describes the user’s chat experience based on their eligible licenses & their tenant’s eligible licenses.
|
|
989
|
+
* A user will be in at most one cohort.
|
|
990
|
+
*/
|
|
991
|
+
cohort: Cohort | null;
|
|
992
|
+
/**
|
|
993
|
+
* Indicates that the user is eligible for Microsoft Entra ID Authenticated Copilot experience.
|
|
994
|
+
*/
|
|
995
|
+
isCopilotEligible: boolean;
|
|
996
|
+
/**
|
|
997
|
+
* Implementation may change to be based on tenant-home region rather than IP.
|
|
998
|
+
*/
|
|
999
|
+
isCopilotEnabledRegion: boolean;
|
|
1000
|
+
/**
|
|
1001
|
+
* Indicates if the tenant admin has opted the user out of Copilot.
|
|
1002
|
+
*/
|
|
1003
|
+
isOptedOutByAdmin: boolean;
|
|
1004
|
+
/**
|
|
1005
|
+
* Education Eligibility Information for the app user
|
|
1006
|
+
*/
|
|
1007
|
+
userClassification: UserClassification | null;
|
|
1008
|
+
}
|
|
1009
|
+
/**
|
|
1010
|
+
* @hidden
|
|
1011
|
+
*
|
|
1012
|
+
* @beta
|
|
1013
|
+
*/
|
|
1014
|
+
export interface UserClassificationWithEduType {
|
|
1015
|
+
/**
|
|
1016
|
+
* For EDU tenants only. Indicates if the tenant is higher ed or K12.
|
|
1017
|
+
*/
|
|
1018
|
+
eduType: EduType;
|
|
1019
|
+
/**
|
|
1020
|
+
* Describes additional traits of the user that contribute to FRE experience, etc.
|
|
1021
|
+
*/
|
|
1022
|
+
persona: Persona.Faculty | Persona.Student;
|
|
1023
|
+
}
|
|
1024
|
+
/**
|
|
1025
|
+
* @hidden
|
|
1026
|
+
*
|
|
1027
|
+
* @beta
|
|
1028
|
+
*/
|
|
1029
|
+
export interface UserClassificationWithOtherType {
|
|
1030
|
+
persona: Persona.Other;
|
|
1031
|
+
}
|
|
1032
|
+
/**
|
|
1033
|
+
* @hidden
|
|
1034
|
+
*
|
|
1035
|
+
* @beta
|
|
1036
|
+
*/
|
|
1037
|
+
export type UserClassification = UserClassificationWithEduType | UserClassificationWithOtherType;
|
|
1038
|
+
/**
|
|
1039
|
+
* @hidden
|
|
1040
|
+
*
|
|
1041
|
+
* @beta
|
|
1042
|
+
*/
|
|
1043
|
+
export declare enum Cohort {
|
|
1044
|
+
BCAIS = "bcais",
|
|
1045
|
+
BCWAF = "bcwaf",
|
|
1046
|
+
BCWBF = "bcwbf"
|
|
1047
|
+
}
|
|
1048
|
+
/**
|
|
1049
|
+
* @hidden
|
|
1050
|
+
*
|
|
1051
|
+
* @beta
|
|
1052
|
+
*/
|
|
1053
|
+
export declare enum Persona {
|
|
1054
|
+
/**
|
|
1055
|
+
* User has a faculty license
|
|
1056
|
+
*/
|
|
1057
|
+
Faculty = "faculty",
|
|
1058
|
+
/**
|
|
1059
|
+
* User has a student license
|
|
1060
|
+
*/
|
|
1061
|
+
Student = "student",
|
|
1062
|
+
/**
|
|
1063
|
+
* When user is not a faculty or student
|
|
1064
|
+
*/
|
|
1065
|
+
Other = "other"
|
|
1066
|
+
}
|
|
1067
|
+
/**
|
|
1068
|
+
* @hidden
|
|
1069
|
+
*
|
|
1070
|
+
* @beta
|
|
1071
|
+
*/
|
|
1072
|
+
export declare enum LegalAgeGroupClassification {
|
|
1073
|
+
/**
|
|
1074
|
+
* The user is considered an adult based on the age-related regulations of their country or region.
|
|
1075
|
+
*/
|
|
1076
|
+
Adult = "adult",
|
|
1077
|
+
/**
|
|
1078
|
+
* The user is a minor but is from a country or region that has no age-related regulations.
|
|
1079
|
+
*/
|
|
1080
|
+
MinorNoParentalConsentRequired = "minorNoParentalConsentRequired",
|
|
1081
|
+
/**
|
|
1082
|
+
* Reserved for future use
|
|
1083
|
+
*/
|
|
1084
|
+
MinorWithoutParentalConsent = "minorWithoutParentalConsent",
|
|
1085
|
+
/**
|
|
1086
|
+
* The user is considered a minor based on the age-related regulations of their country or region, and the administrator
|
|
1087
|
+
* of the account obtained appropriate consent from a parent or guardian.
|
|
1088
|
+
*/
|
|
1089
|
+
MinorWithParentalConsent = "minorWithParentalConsent",
|
|
1090
|
+
/**
|
|
1091
|
+
* The user is from a country or region that has additional age-related regulations, such as the United States,
|
|
1092
|
+
* United Kingdom, European Union, or South Korea, and the user's age is between a minor and an adult age
|
|
1093
|
+
* (as stipulated based on country or region). Generally, this means that teenagers are considered as notAdult in regulated countries.
|
|
1094
|
+
*/
|
|
1095
|
+
NonAdult = "nonAdult"
|
|
1096
|
+
}
|
|
1097
|
+
/**
|
|
1098
|
+
* @hidden
|
|
1099
|
+
*
|
|
1100
|
+
* @beta
|
|
1101
|
+
*/
|
|
1102
|
+
export declare enum EduType {
|
|
1103
|
+
/**
|
|
1104
|
+
* User is from a tenant labeled as “HigherEd”
|
|
1105
|
+
*/
|
|
1106
|
+
HigherEducation = "higherEducation",
|
|
1107
|
+
/**
|
|
1108
|
+
* User is from a tenant labeled as “K12”
|
|
1109
|
+
*/
|
|
1110
|
+
K12 = "k12",
|
|
1111
|
+
/**
|
|
1112
|
+
* User is from a tenant labeled as “Others” (e.g. research institutions)
|
|
1113
|
+
*/
|
|
1114
|
+
Other = "other"
|
|
1115
|
+
}
|
|
1116
|
+
/**
|
|
1117
|
+
* Currently supported Mime type
|
|
1118
|
+
*/
|
|
1119
|
+
export declare enum ClipboardSupportedMimeType {
|
|
1120
|
+
TextPlain = "text/plain",
|
|
1121
|
+
TextHtml = "text/html",
|
|
1122
|
+
ImagePNG = "image/png",
|
|
1123
|
+
ImageJPEG = "image/jpeg"
|
|
1124
|
+
}
|
|
1125
|
+
/**
|
|
1126
|
+
* Clipboard write parameters
|
|
1127
|
+
*/
|
|
1128
|
+
export interface ClipboardParams {
|
|
1129
|
+
/** Mime Type of data to be copied to Clipboard */
|
|
1130
|
+
mimeType: ClipboardSupportedMimeType;
|
|
1131
|
+
/** Blob content in Base64 string format */
|
|
1132
|
+
content: string;
|
|
1133
|
+
}
|