@microsoft/teams-js 2.31.0-beta.0 → 2.31.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (80) hide show
  1. package/dist/esm/packages/teams-js/dts/internal/appHelpers.d.ts +1 -1
  2. package/dist/esm/packages/teams-js/dts/internal/dialogHelpers.d.ts +32 -0
  3. package/dist/esm/packages/teams-js/dts/internal/marketplaceUtils.d.ts +1 -1
  4. package/dist/esm/packages/teams-js/dts/internal/mediaUtil.d.ts +2 -2
  5. package/dist/esm/packages/teams-js/dts/public/{app.d.ts → app/app.d.ts} +13 -44
  6. package/dist/esm/packages/teams-js/dts/public/app/lifecycle.d.ts +40 -0
  7. package/dist/esm/packages/teams-js/dts/public/appInitialization.d.ts +1 -1
  8. package/dist/esm/packages/teams-js/dts/public/chat.d.ts +26 -28
  9. package/dist/esm/packages/teams-js/dts/public/dialog/adaptiveCard/adaptiveCard.d.ts +30 -0
  10. package/dist/esm/packages/teams-js/dts/public/dialog/adaptiveCard/bot.d.ts +26 -0
  11. package/dist/esm/packages/teams-js/dts/public/dialog/dialog.d.ts +69 -0
  12. package/dist/esm/packages/teams-js/dts/public/dialog/update.d.ts +23 -0
  13. package/dist/esm/packages/teams-js/dts/public/dialog/url/bot.d.ts +29 -0
  14. package/dist/esm/packages/teams-js/dts/public/dialog/url/parentCommunication.d.ts +49 -0
  15. package/dist/esm/packages/teams-js/dts/public/dialog/url/url.d.ts +60 -0
  16. package/dist/esm/packages/teams-js/dts/public/geoLocation/geoLocation.d.ts +67 -0
  17. package/dist/esm/packages/teams-js/dts/public/geoLocation/map.d.ts +27 -0
  18. package/dist/esm/packages/teams-js/dts/public/index.d.ts +20 -18
  19. package/dist/esm/packages/teams-js/dts/public/interfaces.d.ts +12 -1
  20. package/dist/esm/packages/teams-js/dts/public/liveShareHost.d.ts +134 -136
  21. package/dist/esm/packages/teams-js/dts/public/location.d.ts +72 -74
  22. package/dist/esm/packages/teams-js/dts/public/mail.d.ts +79 -81
  23. package/dist/esm/packages/teams-js/dts/public/marketplace.d.ts +314 -316
  24. package/dist/esm/packages/teams-js/dts/public/media.d.ts +425 -427
  25. package/dist/esm/packages/teams-js/dts/public/menus.d.ts +164 -166
  26. package/dist/esm/packages/teams-js/dts/public/monetization.d.ts +48 -50
  27. package/dist/esm/packages/teams-js/dts/public/nestedAppAuth.d.ts +9 -11
  28. package/dist/esm/packages/teams-js/dts/public/people.d.ts +61 -63
  29. package/dist/esm/packages/teams-js/dts/public/search.d.ts +76 -86
  30. package/dist/esm/packages/teams-js/dts/public/secondaryBrowser.d.ts +25 -27
  31. package/dist/esm/packages/teams-js/dts/public/tasks.d.ts +52 -54
  32. package/dist/esm/packages/teams-js/dts/public/teamsAPIs.d.ts +74 -76
  33. package/dist/esm/packages/teams-js/dts/public/thirdPartyCloudStorage.d.ts +96 -98
  34. package/dist/esm/packages/teams-js/src/index.js +1 -1
  35. package/dist/esm/packages/teams-js/src/internal/appHelpers.js +1 -1
  36. package/dist/esm/packages/teams-js/src/internal/deepLinkUtilities.js +1 -1
  37. package/dist/esm/packages/teams-js/src/internal/dialogHelpers.js +1 -0
  38. package/dist/esm/packages/teams-js/src/internal/marketplaceUtils.js +1 -1
  39. package/dist/esm/packages/teams-js/src/internal/mediaUtil.js +1 -1
  40. package/dist/esm/packages/teams-js/src/public/app/app.js +1 -0
  41. package/dist/esm/packages/teams-js/src/public/app/lifecycle.js +1 -0
  42. package/dist/esm/packages/teams-js/src/public/appInitialization.js +1 -1
  43. package/dist/esm/packages/teams-js/src/public/chat.js +1 -1
  44. package/dist/esm/packages/teams-js/src/public/dialog/adaptiveCard/adaptiveCard.js +1 -0
  45. package/dist/esm/packages/teams-js/src/public/dialog/adaptiveCard/bot.js +1 -0
  46. package/dist/esm/packages/teams-js/src/public/dialog/dialog.js +1 -0
  47. package/dist/esm/packages/teams-js/src/public/dialog/update.js +1 -0
  48. package/dist/esm/packages/teams-js/src/public/dialog/url/bot.js +1 -0
  49. package/dist/esm/packages/teams-js/src/public/dialog/url/parentCommunication.js +1 -0
  50. package/dist/esm/packages/teams-js/src/public/dialog/url/url.js +1 -0
  51. package/dist/esm/packages/teams-js/src/public/geoLocation/geoLocation.js +1 -0
  52. package/dist/esm/packages/teams-js/src/public/geoLocation/map.js +1 -0
  53. package/dist/esm/packages/teams-js/src/public/liveShareHost.js +1 -1
  54. package/dist/esm/packages/teams-js/src/public/location.js +1 -1
  55. package/dist/esm/packages/teams-js/src/public/mail.js +1 -1
  56. package/dist/esm/packages/teams-js/src/public/marketplace.js +1 -1
  57. package/dist/esm/packages/teams-js/src/public/media.js +1 -1
  58. package/dist/esm/packages/teams-js/src/public/menus.js +1 -1
  59. package/dist/esm/packages/teams-js/src/public/monetization.js +1 -1
  60. package/dist/esm/packages/teams-js/src/public/nestedAppAuth.js +1 -1
  61. package/dist/esm/packages/teams-js/src/public/people.js +1 -1
  62. package/dist/esm/packages/teams-js/src/public/publicAPIs.js +1 -1
  63. package/dist/esm/packages/teams-js/src/public/search.js +1 -1
  64. package/dist/esm/packages/teams-js/src/public/secondaryBrowser.js +1 -1
  65. package/dist/esm/packages/teams-js/src/public/tasks.js +1 -1
  66. package/dist/esm/packages/teams-js/src/public/teamsAPIs.js +1 -1
  67. package/dist/esm/packages/teams-js/src/public/thirdPartyCloudStorage.js +1 -1
  68. package/dist/esm/packages/teams-js/src/public/version.js +1 -1
  69. package/dist/esm/packages/teams-js/src/public/webStorage.js +1 -1
  70. package/dist/umd/MicrosoftTeams.d.ts +2219 -2022
  71. package/dist/umd/MicrosoftTeams.js +2397 -2244
  72. package/dist/umd/MicrosoftTeams.js.map +1 -1
  73. package/dist/umd/MicrosoftTeams.min.js +1 -1
  74. package/dist/umd/MicrosoftTeams.min.js.map +1 -1
  75. package/package.json +1 -1
  76. package/dist/esm/packages/teams-js/dts/public/dialog.d.ts +0 -286
  77. package/dist/esm/packages/teams-js/dts/public/geoLocation.d.ts +0 -100
  78. package/dist/esm/packages/teams-js/src/public/app.js +0 -1
  79. package/dist/esm/packages/teams-js/src/public/dialog.js +0 -1
  80. package/dist/esm/packages/teams-js/src/public/geoLocation.js +0 -1
@@ -1,4 +1,4 @@
1
- import * as app from '../public/app';
1
+ import * as app from '../public/app/app';
2
2
  export declare function appInitializeHelper(apiVersionTag: string, validMessageOrigins?: string[]): Promise<void>;
3
3
  export declare function notifyAppLoadedHelper(apiVersionTag: string): void;
4
4
  export declare function notifyExpectedFailureHelper(apiVersionTag: string, expectedFailureRequest: app.IExpectedFailureRequest): void;
@@ -0,0 +1,32 @@
1
+ import * as dialog from '../public/dialog/dialog';
2
+ import { AdaptiveCardDialogInfo, BotAdaptiveCardDialogInfo } from '../public/interfaces';
3
+ import { BotUrlDialogInfo, DialogInfo, DialogSize, UrlDialogInfo } from '../public/interfaces';
4
+ import { ApiVersionNumber } from './telemetry';
5
+ /**
6
+ * v2 APIs telemetry file: All of APIs in this capability file should send out API version v2 ONLY
7
+ */
8
+ export declare const dialogTelemetryVersionNumber: ApiVersionNumber;
9
+ export declare function updateResizeHelper(apiVersionTag: string, dimensions: DialogSize): void;
10
+ export declare function urlOpenHelper(apiVersionTag: string, urlDialogInfo: UrlDialogInfo, submitHandler?: dialog.DialogSubmitHandler, messageFromChildHandler?: dialog.PostMessageChannel): void;
11
+ export declare function botUrlOpenHelper(apiVersionTag: string, urlDialogInfo: BotUrlDialogInfo, submitHandler?: dialog.DialogSubmitHandler, messageFromChildHandler?: dialog.PostMessageChannel): void;
12
+ export declare function urlSubmitHelper(apiVersionTag: string, result?: string | object, appIds?: string | string[]): void;
13
+ /**
14
+ * @hidden
15
+ * Hide from docs
16
+ * --------
17
+ * Convert AdaptiveCardDialogInfo to DialogInfo to send the information to host in {@linkcode adaptiveCard.open} API.
18
+ *
19
+ * @internal
20
+ */
21
+ export declare function getDialogInfoFromAdaptiveCardDialogInfo(adaptiveCardDialogInfo: AdaptiveCardDialogInfo): DialogInfo;
22
+ /**
23
+ * @hidden
24
+ * Hide from docs
25
+ * --------
26
+ * Convert BotAdaptiveCardDialogInfo to DialogInfo to send the information to host in {@linkcode adaptiveCard.open} API.
27
+ *
28
+ * @internal
29
+ */
30
+ export declare function getDialogInfoFromBotAdaptiveCardDialogInfo(botAdaptiveCardDialogInfo: BotAdaptiveCardDialogInfo): DialogInfo;
31
+ export declare const storedMessages: string[];
32
+ export declare function handleDialogMessage(message: string): void;
@@ -1,4 +1,4 @@
1
- import { marketplace } from '../public/marketplace';
1
+ import * as marketplace from '../public/marketplace';
2
2
  /**
3
3
  * @hidden
4
4
  * deserialize the cart data:
@@ -1,5 +1,5 @@
1
- import { media } from '../public/media';
2
- import { people } from '../public/people';
1
+ import * as media from '../public/media';
2
+ import * as people from '../public/people';
3
3
  /**
4
4
  * @hidden
5
5
  * Helper function to create a blob from media chunks based on their sequence
@@ -1,5 +1,6 @@
1
- import { ChannelType, FrameContexts, HostClientType, HostName, TeamType, UserTeamRole } from './constants';
2
- import { ActionInfo, FileOpenPreference, LocaleInfo, ResumeContext } from './interfaces';
1
+ import { ChannelType, FrameContexts, HostClientType, HostName, TeamType, UserTeamRole } from '../constants';
2
+ import { ActionInfo, FileOpenPreference, LocaleInfo } from '../interfaces';
3
+ import * as lifecycle from './lifecycle';
3
4
  /** App Initialization Messages */
4
5
  export declare const Messages: {
5
6
  /** App loaded. */
@@ -112,9 +113,17 @@ export interface AppInfo {
112
113
  */
113
114
  iconPositionVertical?: number;
114
115
  /**
115
- * Time when the user clicked on the tab
116
+ * Time when the user clicked on the tab using the date.
117
+ *
118
+ * For measuring elapsed time between the moment the user click the tab, use {@link app.AppInfo.userClickTimeV2 | app.Context.app.userClickTimeV2} instead as it uses the performance timer API.
116
119
  */
117
120
  userClickTime?: number;
121
+ /**
122
+ * Time when the user click on the app by using the performance timer API. Useful for measuring elapsed time accurately.
123
+ *
124
+ * For displaying the time when the user clicked on the app, please use {@link app.AppInfo.userClickTime | app.Context.app.userClickTime} as it uses the date.
125
+ */
126
+ userClickTimeV2?: number;
118
127
  /**
119
128
  * The ID of the parent message from which this task module was launched.
120
129
  * This is only available in task modules launched from bot cards.
@@ -549,44 +558,4 @@ export declare function registerOnThemeChangeHandler(handler: themeHandler): voi
549
558
  * does not necessarily indicate whether the target loaded successfully.
550
559
  */
551
560
  export declare function openLink(deepLink: string): Promise<void>;
552
- /**
553
- * A namespace for enabling the suspension or delayed termination of an app when the user navigates away.
554
- * When an app registers for the registerBeforeSuspendOrTerminateHandler, it chooses to delay termination.
555
- * When an app registers for both registerBeforeSuspendOrTerminateHandler and registerOnResumeHandler, it chooses the suspension of the app .
556
- * Please note that selecting suspension doesn't guarantee prevention of background termination.
557
- * The outcome is influenced by factors such as available memory and the number of suspended apps.
558
- *
559
- * @beta
560
- */
561
- export declare namespace lifecycle {
562
- /**
563
- * Register on resume handler function type
564
- *
565
- * @param context - Data structure to be used to pass the context to the app.
566
- */
567
- type registerOnResumeHandlerFunctionType = (context: ResumeContext) => void;
568
- /**
569
- * Register before suspendOrTerminate handler function type
570
- *
571
- * @returns void
572
- */
573
- type registerBeforeSuspendOrTerminateHandlerFunctionType = () => Promise<void>;
574
- /**
575
- * Registers a handler to be called before the page is suspended or terminated. Once a user navigates away from an app,
576
- * the handler will be invoked. App developers can use this handler to save unsaved data, pause sync calls etc.
577
- *
578
- * @param handler - The handler to invoke before the page is suspended or terminated. When invoked, app can perform tasks like cleanups, logging etc.
579
- * Upon returning, the app will be suspended or terminated.
580
- *
581
- */
582
- function registerBeforeSuspendOrTerminateHandler(handler: registerBeforeSuspendOrTerminateHandlerFunctionType): void;
583
- /**
584
- * Registers a handler to be called when the page has been requested to resume from being suspended.
585
- *
586
- * @param handler - The handler to invoke when the page is requested to be resumed. The app is supposed to navigate to
587
- * the appropriate page using the ResumeContext. Once done, the app should then call {@link notifySuccess}.
588
- *
589
- * @beta
590
- */
591
- function registerOnResumeHandler(handler: registerOnResumeHandlerFunctionType): void;
592
- }
561
+ export { lifecycle };
@@ -0,0 +1,40 @@
1
+ import { ResumeContext } from '../interfaces';
2
+ /**
3
+ * A namespace for enabling the suspension or delayed termination of an app when the user navigates away.
4
+ * When an app registers for the registerBeforeSuspendOrTerminateHandler, it chooses to delay termination.
5
+ * When an app registers for both registerBeforeSuspendOrTerminateHandler and registerOnResumeHandler, it chooses the suspension of the app .
6
+ * Please note that selecting suspension doesn't guarantee prevention of background termination.
7
+ * The outcome is influenced by factors such as available memory and the number of suspended apps.
8
+ *
9
+ * @beta
10
+ */
11
+ /**
12
+ * Register on resume handler function type
13
+ *
14
+ * @param context - Data structure to be used to pass the context to the app.
15
+ */
16
+ export type registerOnResumeHandlerFunctionType = (context: ResumeContext) => void;
17
+ /**
18
+ * Register before suspendOrTerminate handler function type
19
+ *
20
+ * @returns void
21
+ */
22
+ export type registerBeforeSuspendOrTerminateHandlerFunctionType = () => Promise<void>;
23
+ /**
24
+ * Registers a handler to be called before the page is suspended or terminated. Once a user navigates away from an app,
25
+ * the handler will be invoked. App developers can use this handler to save unsaved data, pause sync calls etc.
26
+ *
27
+ * @param handler - The handler to invoke before the page is suspended or terminated. When invoked, app can perform tasks like cleanups, logging etc.
28
+ * Upon returning, the app will be suspended or terminated.
29
+ *
30
+ */
31
+ export declare function registerBeforeSuspendOrTerminateHandler(handler: registerBeforeSuspendOrTerminateHandlerFunctionType): void;
32
+ /**
33
+ * Registers a handler to be called when the page has been requested to resume from being suspended.
34
+ *
35
+ * @param handler - The handler to invoke when the page is requested to be resumed. The app is supposed to navigate to
36
+ * the appropriate page using the ResumeContext. Once done, the app should then call {@link notifySuccess}.
37
+ *
38
+ * @beta
39
+ */
40
+ export declare function registerOnResumeHandler(handler: registerOnResumeHandlerFunctionType): void;
@@ -1,4 +1,4 @@
1
- import { ExpectedFailureReason, FailedReason, IExpectedFailureRequest, IFailedRequest, Messages } from './app';
1
+ import { ExpectedFailureReason, FailedReason, IExpectedFailureRequest, IFailedRequest, Messages } from './app/app';
2
2
  /**
3
3
  * @deprecated
4
4
  * As of TeamsJS v2.0.0, please use {@link app.Messages} instead.
@@ -35,32 +35,30 @@ export interface OpenGroupChatRequest extends OpenChatRequest {
35
35
  /**
36
36
  * Contains functionality to start chat with others
37
37
  */
38
- export declare namespace chat {
39
- /**
40
- * Allows the user to open a chat with a single user and allows
41
- * for the user to specify the message they wish to send.
42
- *
43
- * @param openChatRequest: {@link OpenSingleChatRequest}- a request object that contains a user's email as well as an optional message parameter.
44
- *
45
- * @returns Promise resolved upon completion
46
- */
47
- function openChat(openChatRequest: OpenSingleChatRequest): Promise<void>;
48
- /**
49
- * Allows the user to create a chat with multiple users (2+) and allows
50
- * for the user to specify a message and name the topic of the conversation. If
51
- * only 1 user is provided into users array default back to origin openChat.
52
- *
53
- * @param openChatRequest: {@link OpenGroupChatRequest} - a request object that contains a list of user emails as well as optional parameters for message and topic (display name for the group chat).
54
- *
55
- * @returns Promise resolved upon completion
56
- */
57
- function openGroupChat(openChatRequest: OpenGroupChatRequest): Promise<void>;
58
- /**
59
- * Checks if the chat capability is supported by the host
60
- * @returns boolean to represent whether the chat capability is supported
61
- *
62
- * @throws Error if {@linkcode app.initialize} has not successfully completed
63
- */
64
- function isSupported(): boolean;
65
- }
38
+ /**
39
+ * Allows the user to open a chat with a single user and allows
40
+ * for the user to specify the message they wish to send.
41
+ *
42
+ * @param openChatRequest: {@link OpenSingleChatRequest}- a request object that contains a user's email as well as an optional message parameter.
43
+ *
44
+ * @returns Promise resolved upon completion
45
+ */
46
+ export declare function openChat(openChatRequest: OpenSingleChatRequest): Promise<void>;
47
+ /**
48
+ * Allows the user to create a chat with multiple users (2+) and allows
49
+ * for the user to specify a message and name the topic of the conversation. If
50
+ * only 1 user is provided into users array default back to origin openChat.
51
+ *
52
+ * @param openChatRequest: {@link OpenGroupChatRequest} - a request object that contains a list of user emails as well as optional parameters for message and topic (display name for the group chat).
53
+ *
54
+ * @returns Promise resolved upon completion
55
+ */
56
+ export declare function openGroupChat(openChatRequest: OpenGroupChatRequest): Promise<void>;
57
+ /**
58
+ * Checks if the chat capability is supported by the host
59
+ * @returns boolean to represent whether the chat capability is supported
60
+ *
61
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
62
+ */
63
+ export declare function isSupported(): boolean;
66
64
  export {};
@@ -0,0 +1,30 @@
1
+ import { AdaptiveCardDialogInfo } from '../../interfaces';
2
+ import { DialogSubmitHandler } from '../dialog';
3
+ import * as bot from './bot';
4
+ /**
5
+ * Subcapability for interacting with adaptive card dialogs
6
+ * @beta
7
+ */
8
+ /**
9
+ * Allows app to open an adaptive card based dialog.
10
+ *
11
+ * @remarks
12
+ * This function cannot be called from inside of a dialog
13
+ *
14
+ * @param adaptiveCardDialogInfo - An object containing the parameters of the dialog module {@link AdaptiveCardDialogInfo}.
15
+ * @param submitHandler - Handler that triggers when a dialog fires an [Action.Submit](https://adaptivecards.io/explorer/Action.Submit.html) or when the user closes the dialog.
16
+ *
17
+ * @beta
18
+ */
19
+ export declare function open(adaptiveCardDialogInfo: AdaptiveCardDialogInfo, submitHandler?: DialogSubmitHandler): void;
20
+ /**
21
+ * Checks if dialog.adaptiveCard module is supported by the host
22
+ *
23
+ * @returns boolean to represent whether dialog.adaptiveCard module is supported
24
+ *
25
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
26
+ *
27
+ * @beta
28
+ */
29
+ export declare function isSupported(): boolean;
30
+ export { bot };
@@ -0,0 +1,26 @@
1
+ import { BotAdaptiveCardDialogInfo } from '../../interfaces';
2
+ import { DialogSubmitHandler } from '../dialog';
3
+ /**
4
+ * Module for interaction with adaptive card dialogs that need to communicate with the bot framework
5
+ *
6
+ * @beta
7
+ */
8
+ /**
9
+ * Allows an app to open an adaptive card-based dialog module using bot.
10
+ *
11
+ * @param botAdaptiveCardDialogInfo - An object containing the parameters of the dialog module including completionBotId.
12
+ * @param submitHandler - Handler that triggers when the dialog has been submitted or closed.
13
+ *
14
+ * @beta
15
+ */
16
+ export declare function open(botAdaptiveCardDialogInfo: BotAdaptiveCardDialogInfo, submitHandler?: DialogSubmitHandler): void;
17
+ /**
18
+ * Checks if dialog.adaptiveCard.bot capability is supported by the host
19
+ *
20
+ * @returns boolean to represent whether dialog.adaptiveCard.bot is supported
21
+ *
22
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
23
+ *
24
+ * @beta
25
+ */
26
+ export declare function isSupported(): boolean;
@@ -0,0 +1,69 @@
1
+ import * as adaptiveCard from './adaptiveCard/adaptiveCard';
2
+ import * as update from './update';
3
+ import * as url from './url/url';
4
+ /**
5
+ * This group of capabilities enables apps to show modal dialogs. There are two primary types of dialogs: URL-based dialogs and [Adaptive Card](https://learn.microsoft.com/adaptive-cards/) dialogs.
6
+ * Both types of dialogs are shown on top of your app, preventing interaction with your app while they are displayed.
7
+ * - URL-based dialogs allow you to specify a URL from which the contents will be shown inside the dialog.
8
+ * - For URL dialogs, use the functions and interfaces in the {@link url} module.
9
+ * - Adaptive Card-based dialogs allow you to provide JSON describing an Adaptive Card that will be shown inside the dialog.
10
+ * - For Adaptive Card dialogs, use the functions and interfaces in the {@link adaptiveCard} module.
11
+ *
12
+ * @remarks Note that dialogs were previously called "task modules". While they have been renamed for clarity, the functionality has been maintained.
13
+ * For more details, see [Dialogs](https://learn.microsoft.com/microsoftteams/platform/task-modules-and-cards/what-are-task-modules)
14
+ *
15
+ * @beta
16
+ */
17
+ /**
18
+ * Data Structure to represent the SDK response when dialog closes
19
+ *
20
+ * @beta
21
+ */
22
+ export interface ISdkResponse {
23
+ /**
24
+ * Error in case there is a failure before dialog submission
25
+ */
26
+ err?: string;
27
+ /**
28
+ * Value provided in the `result` parameter by the dialog when the {@linkcode url.submit} function
29
+ * was called.
30
+ * If the dialog was closed by the user without submitting (e.g., using a control in the corner
31
+ * of the dialog), this value will be `undefined` here.
32
+ */
33
+ result?: string | object;
34
+ }
35
+ /**
36
+ * Handler used to receive and process messages sent between a dialog and the app that launched it
37
+ * @beta
38
+ */
39
+ export type PostMessageChannel = (message: any) => void;
40
+ /**
41
+ * Handler used for receiving results when a dialog closes, either the value passed by {@linkcode url.submit}
42
+ * or an error if the dialog was closed by the user.
43
+ *
44
+ * @see {@linkcode ISdkResponse}
45
+ *
46
+ * @beta
47
+ */
48
+ export type DialogSubmitHandler = (result: ISdkResponse) => void;
49
+ /**
50
+ * @hidden
51
+ * Hide from docs because this function is only used during initialization
52
+ *
53
+ * Adds register handlers for messageForChild upon initialization and only in the tasks FrameContext. {@link FrameContexts.task}
54
+ * Function is called during app initialization
55
+ * @internal
56
+ * Limited to Microsoft-internal use
57
+ *
58
+ * @beta
59
+ */
60
+ export declare function initialize(): void;
61
+ /**
62
+ * This function currently serves no purpose and should not be used. All functionality that used
63
+ * to be covered by this method is now in subcapabilities and those isSupported methods should be
64
+ * used directly.
65
+ *
66
+ * @hidden
67
+ */
68
+ export declare function isSupported(): boolean;
69
+ export { adaptiveCard, url, update };
@@ -0,0 +1,23 @@
1
+ import { DialogSize } from '../interfaces';
2
+ /**
3
+ * Module to update the dialog
4
+ *
5
+ * @beta
6
+ */
7
+ /**
8
+ * Update dimensions - height/width of a dialog.
9
+ *
10
+ * @param dimensions - An object containing width and height properties.
11
+ *
12
+ * @beta
13
+ */
14
+ export declare function resize(dimensions: DialogSize): void;
15
+ /**
16
+ * Checks if dialog.update capability is supported by the host
17
+ * @returns boolean to represent whether dialog.update capabilty is supported
18
+ *
19
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
20
+ *
21
+ * @beta
22
+ */
23
+ export declare function isSupported(): boolean;
@@ -0,0 +1,29 @@
1
+ import { BotUrlDialogInfo } from '../../interfaces';
2
+ import { DialogSubmitHandler, PostMessageChannel } from '../dialog';
3
+ /**
4
+ * Module to open a dialog that sends results to the bot framework
5
+ *
6
+ * @beta
7
+ */
8
+ /**
9
+ * Allows an app to open a dialog that sends submitted data to a bot.
10
+ *
11
+ * @param botUrlDialogInfo - An object containing the parameters of the dialog module including completionBotId.
12
+ * @param submitHandler - Handler that triggers when the dialog has been submitted or closed.
13
+ * @param messageFromChildHandler - Handler that triggers if dialog sends a message to the app.
14
+ *
15
+ * @returns a function that can be used to send messages to the dialog.
16
+ *
17
+ * @beta
18
+ */
19
+ export declare function open(botUrlDialogInfo: BotUrlDialogInfo, submitHandler?: DialogSubmitHandler, messageFromChildHandler?: PostMessageChannel): void;
20
+ /**
21
+ * Checks if dialog.url.bot capability is supported by the host
22
+ *
23
+ * @returns boolean to represent whether dialog.url.bot is supported
24
+ *
25
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
26
+ *
27
+ * @beta
28
+ */
29
+ export declare function isSupported(): boolean;
@@ -0,0 +1,49 @@
1
+ import { PostMessageChannel } from '../dialog';
2
+ /**
3
+ * Subcapability that allows communication between the dialog and the parent app.
4
+ *
5
+ * @remarks
6
+ * Note that dialog can be invoked from parentless scenarios e.g. Search Message Extensions. The subcapability `parentCommunication` is not supported in such scenarios.
7
+ *
8
+ * @beta
9
+ */
10
+ /**
11
+ * Send message to the parent from dialog
12
+ *
13
+ * @remarks
14
+ * This function is only intended to be called from code running within the dialog. Calling it from outside the dialog will have no effect.
15
+ *
16
+ * @param message - The message to send to the parent
17
+ *
18
+ * @beta
19
+ */
20
+ export declare function sendMessageToParentFromDialog(message: any): void;
21
+ /**
22
+ * Send message to the dialog from the parent
23
+ *
24
+ * @param message - The message to send
25
+ *
26
+ * @beta
27
+ */
28
+ export declare function sendMessageToDialog(message: any): void;
29
+ /**
30
+ * Register a listener that will be triggered when a message is received from the app that opened the dialog.
31
+ *
32
+ * @remarks
33
+ * This function is only intended to be called from code running within the dialog. Calling it from outside the dialog will have no effect.
34
+ *
35
+ * @param listener - The listener that will be triggered.
36
+ *
37
+ * @beta
38
+ */
39
+ export declare function registerOnMessageFromParent(listener: PostMessageChannel): void;
40
+ /**
41
+ * Checks if dialog.url.parentCommunication capability is supported by the host
42
+ *
43
+ * @returns boolean to represent whether dialog.url.parentCommunication capability is supported
44
+ *
45
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
46
+ *
47
+ * @beta
48
+ */
49
+ export declare function isSupported(): boolean;
@@ -0,0 +1,60 @@
1
+ import { BotUrlDialogInfo, DialogInfo, UrlDialogInfo } from '../../interfaces';
2
+ import { DialogSubmitHandler, PostMessageChannel } from '../dialog';
3
+ import * as bot from './bot';
4
+ import * as parentCommunication from './parentCommunication';
5
+ /**
6
+ * Allows app to open a url based dialog.
7
+ *
8
+ * @remarks
9
+ * This function cannot be called from inside of a dialog
10
+ *
11
+ * @param urlDialogInfo - An object containing the parameters of the dialog module.
12
+ * @param submitHandler - Handler that triggers when a dialog calls the {@linkcode submit} function or when the user closes the dialog.
13
+ * @param messageFromChildHandler - Handler that triggers if dialog sends a message to the app.
14
+ *
15
+ * @beta
16
+ */
17
+ export declare function open(urlDialogInfo: UrlDialogInfo, submitHandler?: DialogSubmitHandler, messageFromChildHandler?: PostMessageChannel): void;
18
+ /**
19
+ * Submit the dialog module and close the dialog
20
+ *
21
+ * @remarks
22
+ * This function is only intended to be called from code running within the dialog. Calling it from outside the dialog will have no effect.
23
+ *
24
+ * @param result - The result to be sent to the bot or the app. Typically a JSON object or a serialized version of it,
25
+ * If this function is called from a dialog while {@link M365ContentAction} is set in the context object by the host, result will be ignored
26
+ *
27
+ * @param appIds - Valid application(s) that can receive the result of the submitted dialogs. Specifying this parameter helps prevent malicious apps from retrieving the dialog result. Multiple app IDs can be specified because a web app from a single underlying domain can power multiple apps across different environments and branding schemes.
28
+ *
29
+ * @beta
30
+ */
31
+ export declare function submit(result?: string | object, appIds?: string | string[]): void;
32
+ /**
33
+ * Checks if dialog.url module is supported by the host
34
+ *
35
+ * @returns boolean to represent whether dialog.url module is supported
36
+ *
37
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
38
+ *
39
+ * @beta
40
+ */
41
+ export declare function isSupported(): boolean;
42
+ /**
43
+ * @hidden
44
+ *
45
+ * Convert UrlDialogInfo to DialogInfo to send the information to host in {@linkcode open} API.
46
+ *
47
+ * @internal
48
+ * Limited to Microsoft-internal use
49
+ */
50
+ export declare function getDialogInfoFromUrlDialogInfo(urlDialogInfo: UrlDialogInfo): DialogInfo;
51
+ /**
52
+ * @hidden
53
+ *
54
+ * Convert BotUrlDialogInfo to DialogInfo to send the information to host in {@linkcode bot.open} API.
55
+ *
56
+ * @internal
57
+ * Limited to Microsoft-internal use
58
+ */
59
+ export declare function getDialogInfoFromBotUrlDialogInfo(botUrlDialogInfo: BotUrlDialogInfo): DialogInfo;
60
+ export { bot, parentCommunication };
@@ -0,0 +1,67 @@
1
+ import * as map from './map';
2
+ /**
3
+ * Namespace to interact with the geoLocation module-specific part of the SDK. This is the newer version of location module.
4
+ *
5
+ * @beta
6
+ */
7
+ /**
8
+ * Data struture to represent the location information
9
+ *
10
+ * @beta
11
+ */
12
+ export interface Location {
13
+ /**
14
+ Latitude of the location
15
+ */
16
+ latitude: number;
17
+ /**
18
+ Longitude of the location
19
+ */
20
+ longitude: number;
21
+ /**
22
+ Accuracy describes the maximum distance in meters from the captured coordinates to the possible actual location
23
+ @remarks
24
+ This property is only in scope for mobile
25
+ */
26
+ accuracy?: number;
27
+ /**
28
+ Time stamp when the location was captured
29
+ */
30
+ timestamp?: number;
31
+ }
32
+ /**
33
+ * Fetches current user coordinates
34
+ * @returns Promise that will resolve with {@link geoLocation.Location} object or reject with an error. Function can also throw a NOT_SUPPORTED_ON_PLATFORM error
35
+ *
36
+ * @beta
37
+ */
38
+ export declare function getCurrentLocation(): Promise<Location>;
39
+ /**
40
+ * Checks whether or not location has user permission
41
+ *
42
+ * @returns Promise that will resolve with true if the user had granted the app permission to location information, or with false otherwise,
43
+ * In case of an error, promise will reject with the error. Function can also throw a NOT_SUPPORTED_ON_PLATFORM error
44
+ *
45
+ * @beta
46
+ */
47
+ export declare function hasPermission(): Promise<boolean>;
48
+ /**
49
+ * Requests user permission for location
50
+ *
51
+ * @returns true if the user consented permission for location, false otherwise
52
+ * @returns Promise that will resolve with true if the user consented permission for location, or with false otherwise,
53
+ * In case of an error, promise will reject with the error. Function can also throw a NOT_SUPPORTED_ON_PLATFORM error
54
+ *
55
+ * @beta
56
+ */
57
+ export declare function requestPermission(): Promise<boolean>;
58
+ /**
59
+ * Checks if geoLocation capability is supported by the host
60
+ * @returns boolean to represent whether geoLocation is supported
61
+ *
62
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
63
+ *
64
+ * @beta
65
+ */
66
+ export declare function isSupported(): boolean;
67
+ export { map };
@@ -0,0 +1,27 @@
1
+ import { Location } from './geoLocation';
2
+ /**
3
+ * Allows user to choose location on map
4
+ *
5
+ * @returns Promise that will resolve with {@link geoLocation.Location} object chosen by the user or reject with an error. Function can also throw a NOT_SUPPORTED_ON_PLATFORM error
6
+ *
7
+ * @beta
8
+ */
9
+ export declare function chooseLocation(): Promise<Location>;
10
+ /**
11
+ * Shows the location on map corresponding to the given coordinates
12
+ *
13
+ * @param location - Location to be shown on the map
14
+ * @returns Promise that resolves when the location dialog has been closed or reject with an error. Function can also throw a NOT_SUPPORTED_ON_PLATFORM error
15
+ *
16
+ * @beta
17
+ */
18
+ export declare function showLocation(location: Location): Promise<void>;
19
+ /**
20
+ * Checks if geoLocation.map capability is supported by the host
21
+ * @returns boolean to represent whether geoLocation.map is supported
22
+ *
23
+ * @throws Error if {@linkcode app.initialize} has not successfully completed
24
+ *
25
+ * @beta
26
+ */
27
+ export declare function isSupported(): boolean;