@microsoft/sp-adaptive-card-extension-base 1.23.2 → 1.24.0-beta.2
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/eeec822e-c28a-46b4-affc-7058e4c1aa80.manifest.json +137 -142
- package/dist/index-internal-beta.d.ts +2 -6
- package/dist/index-internal-public.d.ts +2 -6
- package/dist/index-internal.d.ts +193 -28
- package/dist/index.d.ts +2 -2
- package/dist/sp-adaptive-card-extension-base_default_be5d2a76104ab20a7df3.js +1 -0
- package/dist/sp-adaptive-card-extension-base_en-us_daf5e5154e82492eea26.js +1 -0
- package/dist/sp-adaptive-card-extension-base_qps-ploc_3f63afdd6f59d8592622.js +1 -0
- package/dist/sp-adaptive-card-extension-base_qps-ploca_0bc9525a6a1a759b7d4f.js +1 -0
- package/dist/tsdoc-metadata.json +1 -1
- package/lib-commonjs/AdaptiveCardExtensionContext.js +66 -99
- package/lib-commonjs/AdaptiveCardExtensionHost.js +52 -60
- package/lib-commonjs/AdaptiveCardExtensionLoader.js +90 -97
- package/lib-commonjs/BaseAdaptiveCardExtension.js +941 -1138
- package/lib-commonjs/ac-template/basicL1Template.js +19 -14
- package/lib-commonjs/ac-template/basicL1TemplateSelectAction.js +19 -14
- package/lib-commonjs/ac-template/common/Constants.js +13 -5
- package/lib-commonjs/ac-template/common/CustomElements.js +63 -51
- package/lib-commonjs/ac-template/imageL1Template.js +19 -14
- package/lib-commonjs/ac-template/imageL1TemplateSelectAction.js +19 -14
- package/lib-commonjs/ac-template/index.js +37 -15
- package/lib-commonjs/ac-template/primaryTextL1Template.js +22 -15
- package/lib-commonjs/ac-template/primaryTextL1TemplateSelectAction.js +22 -15
- package/lib-commonjs/ac-template/searchL1Template.js +21 -20
- package/lib-commonjs/ac-template/textInputL1Template.js +38 -39
- package/lib-commonjs/ac-template/util/actionButtonHelper.js +76 -78
- package/lib-commonjs/ac-template/util/getCardRenderParameters.js +109 -119
- package/lib-commonjs/actionShim/AdaptiveCardExtensionActionShim.js +86 -100
- package/lib-commonjs/actionShim/IActionShimProvider.js +5 -2
- package/lib-commonjs/actionShim/getOnBeforeActionArguments.js +30 -29
- package/lib-commonjs/caching/CacheManager.js +40 -35
- package/lib-commonjs/caching/IAdaptiveCardExtensionCacheObject.js +5 -2
- package/lib-commonjs/caching/ICacheSettings.js +5 -2
- package/lib-commonjs/caching/ICachedLoadParameters.js +11 -4
- package/lib-commonjs/caching/cache/ACEMySiteCacheManager.js +88 -90
- package/lib-commonjs/caching/cache/BaseAdaptiveCardExtensionCache.js +21 -24
- package/lib-commonjs/caching/cache/IAdaptiveCardExtensionCache.js +5 -2
- package/lib-commonjs/caching/cache/LocalStorageACECache.js +56 -64
- package/lib-commonjs/common/Flights.js +27 -16
- package/lib-commonjs/common/Killswitches.js +143 -150
- package/lib-commonjs/components/BarChartComponent.js +68 -72
- package/lib-commonjs/components/BaseComponent.js +15 -15
- package/lib-commonjs/components/CardBarComponent.js +15 -9
- package/lib-commonjs/components/CardButtonComponent.js +26 -23
- package/lib-commonjs/components/DataVisualizationComponent.js +30 -19
- package/lib-commonjs/components/ICardButtonBase.js +5 -2
- package/lib-commonjs/components/LineChartComponent.js +28 -22
- package/lib-commonjs/components/PieChartComponent.js +69 -44
- package/lib-commonjs/components/PoweredByComponent.js +15 -9
- package/lib-commonjs/components/PromptsSetComponent.js +15 -9
- package/lib-commonjs/components/SearchBoxComponent.js +15 -9
- package/lib-commonjs/components/SearchFooterComponent.js +15 -6
- package/lib-commonjs/components/TextComponent.js +15 -9
- package/lib-commonjs/components/TextInputComponent.js +15 -9
- package/lib-commonjs/index.js +201 -91
- package/lib-commonjs/interfaces/CardActionType.js +5 -2
- package/lib-commonjs/interfaces/IActionArguments.js +5 -2
- package/lib-commonjs/interfaces/IAdaptiveCardExtension.js +5 -2
- package/lib-commonjs/interfaces/IAdaptiveCardExtensionData.js +5 -2
- package/lib-commonjs/interfaces/IAdaptiveCardExtensionImage.js +12 -3
- package/lib-commonjs/interfaces/IAdaptiveCardExtensionLoadContext.js +5 -2
- package/lib-commonjs/interfaces/IAdaptiveCardExtensionPropertiesMetadata.js +5 -2
- package/lib-commonjs/interfaces/IAdaptiveCardRenderParameters.js +5 -2
- package/lib-commonjs/interfaces/IBaseCardParameters.js +10 -3
- package/lib-commonjs/interfaces/ICardButton.js +5 -2
- package/lib-commonjs/interfaces/ICardRenderParameters.js +5 -2
- package/lib-commonjs/interfaces/IFocusParameters.js +6 -4
- package/lib-commonjs/interfaces/IGetLocationActionTypes.js +5 -2
- package/lib-commonjs/interfaces/IHostContext.js +13 -3
- package/lib-commonjs/interfaces/ILocation.js +6 -4
- package/lib-commonjs/interfaces/INotificationTypes.js +5 -2
- package/lib-commonjs/interfaces/IOnBeforeActionArguments.js +5 -2
- package/lib-commonjs/interfaces/IQuickViewRenderParameters.js +5 -2
- package/lib-commonjs/interfaces/ISPFxAdaptiveCard.js +5 -2
- package/lib-commonjs/interfaces/ISelectMediaActionTypes.js +13 -10
- package/lib-commonjs/interfaces/ISelectionActionTemplateAdaptiveCard.js +5 -2
- package/lib-commonjs/interfaces/IShowLocationActionTypes.js +5 -2
- package/lib-commonjs/interfaces/InternalTypes.js +9 -3
- package/lib-commonjs/isolation/IsolatedAdaptiveCardExtensionService.js +396 -399
- package/lib-commonjs/isolation/RenderArgumentsUtils.js +99 -86
- package/lib-commonjs/isolation/interfaces/IBot.js +6 -4
- package/lib-commonjs/isolation/interfaces/IIsolatedAction.js +5 -2
- package/lib-commonjs/isolation/interfaces/IIsolatedListener.js +5 -2
- package/lib-commonjs/isolation/interfaces/IIsolatedServiceCallbackParameters.js +5 -2
- package/lib-commonjs/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.js +5 -2
- package/lib-commonjs/isolation/interfaces/IRenderIsolatedQuickViewParameters.js +13 -3
- package/lib-commonjs/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.js +5 -2
- package/lib-commonjs/isolation/interfaces/IsolatedServiceMessageEvent.js +5 -2
- package/lib-commonjs/test-api/AdaptiveCardExtensionTestWrapper.js +95 -123
- package/lib-commonjs/test-api/MockAdaptiveCardExtensionManifestInstance.js +22 -11
- package/lib-commonjs/test-api/index.js +12 -5
- package/lib-commonjs/utilities/StringHelper.js +13 -10
- package/lib-commonjs/views/base/BaseView.js +46 -76
- package/lib-commonjs/views/card/BaseBasicCardView.js +37 -52
- package/lib-commonjs/views/card/BaseCardView.js +56 -81
- package/lib-commonjs/views/card/BaseComponentsCardView.js +41 -39
- package/lib-commonjs/views/card/BaseImageCardView.js +38 -54
- package/lib-commonjs/views/card/BasePrimaryTextCardView.js +37 -54
- package/lib-commonjs/views/card/BaseTemplateCardView.js +47 -67
- package/lib-commonjs/views/card/DefaultCardView.js +24 -29
- package/lib-commonjs/views/card/parameters/BaseParameters.js +5 -2
- package/lib-commonjs/views/card/parameters/CardViewParametersProcessors.js +26 -31
- package/lib-commonjs/views/card/parameters/DataVisualizationParameters.js +75 -76
- package/lib-commonjs/views/card/parameters/FocusedParameters.js +53 -35
- package/lib-commonjs/views/card/parameters/GenericTemplates.js +87 -70
- package/lib-commonjs/views/interfaces/IAdaptiveCardExtensionActionView.js +5 -2
- package/lib-commonjs/views/interfaces/IAdaptiveCardExtensionDataView.js +5 -2
- package/lib-commonjs/views/interfaces/INavigationBarProperties.js +5 -2
- package/lib-commonjs/views/interfaces/IViewNavigator.js +5 -2
- package/lib-commonjs/views/navigator/QuickViewNavigator.js +22 -28
- package/lib-commonjs/views/navigator/ViewNavigator.js +138 -193
- package/lib-commonjs/views/navigator/ViewRegistry.js +25 -26
- package/lib-commonjs/views/quickView/BaseAdaptiveCardQuickView.js +64 -88
- package/lib-commonjs/views/quickView/BaseQuickView.js +32 -46
- package/lib-commonjs/views/quickView/BaseWebQuickView.js +47 -59
- package/{lib → lib-dts}/AdaptiveCardExtensionContext.d.ts +1 -5
- package/{lib → lib-dts}/BaseAdaptiveCardExtension.d.ts +2 -1
- package/lib-esm/AdaptiveCardExtensionContext.js +67 -0
- package/lib-esm/AdaptiveCardExtensionHost.js +65 -0
- package/{lib → lib-esm}/AdaptiveCardExtensionLoader.js +56 -74
- package/lib-esm/BaseAdaptiveCardExtension.js +1237 -0
- package/{lib → lib-esm}/ac-template/basicL1Template.js +6 -4
- package/{lib → lib-esm}/ac-template/basicL1TemplateSelectAction.js +6 -4
- package/{lib → lib-esm}/ac-template/common/Constants.js +3 -2
- package/{lib → lib-esm}/ac-template/common/CustomElements.js +26 -30
- package/{lib → lib-esm}/ac-template/imageL1Template.js +6 -4
- package/{lib → lib-esm}/ac-template/imageL1TemplateSelectAction.js +6 -4
- package/{lib → lib-esm}/ac-template/index.js +2 -1
- package/{lib → lib-esm}/ac-template/primaryTextL1Template.js +10 -5
- package/{lib → lib-esm}/ac-template/primaryTextL1TemplateSelectAction.js +10 -5
- package/{lib → lib-esm}/ac-template/searchL1Template.js +7 -7
- package/{lib → lib-esm}/ac-template/textInputL1Template.js +10 -13
- package/{lib → lib-esm}/ac-template/util/actionButtonHelper.js +45 -57
- package/{lib → lib-esm}/ac-template/util/getCardRenderParameters.js +75 -92
- package/{lib → lib-esm}/actionShim/AdaptiveCardExtensionActionShim.js +74 -87
- package/lib-esm/actionShim/IActionShimProvider.js +7 -0
- package/{lib → lib-esm}/actionShim/getOnBeforeActionArguments.js +22 -25
- package/lib-esm/caching/CacheManager.js +55 -0
- package/lib-esm/caching/IAdaptiveCardExtensionCacheObject.js +7 -0
- package/lib-esm/caching/ICacheSettings.js +5 -0
- package/{lib → lib-esm}/caching/ICachedLoadParameters.js +2 -1
- package/lib-esm/caching/cache/ACEMySiteCacheManager.js +130 -0
- package/{lib → lib-esm}/caching/cache/BaseAdaptiveCardExtensionCache.js +10 -16
- package/lib-esm/caching/cache/IAdaptiveCardExtensionCache.js +7 -0
- package/lib-esm/caching/cache/LocalStorageACECache.js +73 -0
- package/{lib → lib-esm}/common/Flights.js +6 -8
- package/{lib → lib-esm}/common/Killswitches.js +37 -105
- package/lib-esm/components/BarChartComponent.js +112 -0
- package/{lib → lib-esm}/components/BaseComponent.js +8 -4
- package/lib-esm/components/CardBarComponent.js +10 -0
- package/{lib → lib-esm}/components/CardButtonComponent.js +9 -9
- package/lib-esm/components/DataVisualizationComponent.js +26 -0
- package/lib-esm/components/ICardButtonBase.js +7 -0
- package/lib-esm/components/LineChartComponent.js +29 -0
- package/lib-esm/components/PieChartComponent.js +115 -0
- package/lib-esm/components/PoweredByComponent.js +10 -0
- package/lib-esm/components/PromptsSetComponent.js +10 -0
- package/lib-esm/components/SearchBoxComponent.js +10 -0
- package/lib-esm/components/SearchFooterComponent.js +8 -0
- package/lib-esm/components/TextComponent.js +10 -0
- package/lib-esm/components/TextInputComponent.js +10 -0
- package/{lib → lib-esm}/index.js +3 -3
- package/lib-esm/interfaces/CardActionType.js +5 -0
- package/lib-esm/interfaces/IActionArguments.js +7 -0
- package/lib-esm/interfaces/IAdaptiveCardExtension.js +7 -0
- package/lib-esm/interfaces/IAdaptiveCardExtensionData.js +5 -0
- package/lib-esm/interfaces/IAdaptiveCardExtensionImage.js +15 -0
- package/lib-esm/interfaces/IAdaptiveCardExtensionLoadContext.js +5 -0
- package/lib-esm/interfaces/IAdaptiveCardExtensionPropertiesMetadata.js +7 -0
- package/lib-esm/interfaces/IAdaptiveCardRenderParameters.js +5 -0
- package/lib-esm/interfaces/IBaseCardParameters.js +11 -0
- package/lib-esm/interfaces/ICardButton.js +6 -0
- package/lib-esm/interfaces/ICardRenderParameters.js +6 -0
- package/{lib → lib-esm}/interfaces/IFocusParameters.js +3 -3
- package/lib-esm/interfaces/IGetLocationActionTypes.js +7 -0
- package/lib-esm/interfaces/IHostContext.js +15 -0
- package/lib-esm/interfaces/ILocation.js +6 -0
- package/lib-esm/interfaces/INotificationTypes.js +9 -0
- package/lib-esm/interfaces/IOnBeforeActionArguments.js +7 -0
- package/lib-esm/interfaces/IQuickViewRenderParameters.js +5 -0
- package/lib-esm/interfaces/ISPFxAdaptiveCard.js +7 -0
- package/{lib → lib-esm}/interfaces/ISelectMediaActionTypes.js +3 -7
- package/lib-esm/interfaces/ISelectionActionTemplateAdaptiveCard.js +5 -0
- package/lib-esm/interfaces/IShowLocationActionTypes.js +9 -0
- package/lib-esm/interfaces/InternalTypes.js +6 -0
- package/lib-esm/isolation/IsolatedAdaptiveCardExtensionService.js +505 -0
- package/{lib → lib-esm}/isolation/RenderArgumentsUtils.js +79 -71
- package/{lib → lib-esm}/isolation/interfaces/IBot.js +3 -3
- package/lib-esm/isolation/interfaces/IIsolatedAction.js +5 -0
- package/lib-esm/isolation/interfaces/IIsolatedListener.js +7 -0
- package/lib-esm/isolation/interfaces/IIsolatedServiceCallbackParameters.js +5 -0
- package/lib-esm/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.js +7 -0
- package/lib-esm/isolation/interfaces/IRenderIsolatedQuickViewParameters.js +10 -0
- package/lib-esm/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.js +5 -0
- package/lib-esm/isolation/interfaces/IsolatedServiceMessageEvent.js +5 -0
- package/lib-esm/test-api/AdaptiveCardExtensionTestWrapper.js +125 -0
- package/{lib → lib-esm}/test-api/MockAdaptiveCardExtensionManifestInstance.js +12 -8
- package/{lib → lib-esm}/test-api/index.js +2 -1
- package/lib-esm/utilities/StringHelper.js +8 -0
- package/lib-esm/views/base/BaseView.js +47 -0
- package/lib-esm/views/card/BaseBasicCardView.js +51 -0
- package/lib-esm/views/card/BaseCardView.js +59 -0
- package/lib-esm/views/card/BaseComponentsCardView.js +43 -0
- package/{lib → lib-esm}/views/card/BaseImageCardView.js +24 -36
- package/{lib → lib-esm}/views/card/BasePrimaryTextCardView.js +23 -35
- package/lib-esm/views/card/BaseTemplateCardView.js +65 -0
- package/lib-esm/views/card/DefaultCardView.js +19 -0
- package/lib-esm/views/card/parameters/BaseParameters.js +7 -0
- package/lib-esm/views/card/parameters/CardViewParametersProcessors.js +30 -0
- package/{lib → lib-esm}/views/card/parameters/DataVisualizationParameters.js +41 -35
- package/lib-esm/views/card/parameters/FocusedParameters.js +58 -0
- package/{lib → lib-esm}/views/card/parameters/GenericTemplates.js +59 -34
- package/lib-esm/views/interfaces/IAdaptiveCardExtensionActionView.js +7 -0
- package/lib-esm/views/interfaces/IAdaptiveCardExtensionDataView.js +7 -0
- package/lib-esm/views/interfaces/INavigationBarProperties.js +5 -0
- package/lib-esm/views/interfaces/IViewNavigator.js +5 -0
- package/lib-esm/views/navigator/QuickViewNavigator.js +22 -0
- package/lib-esm/views/navigator/ViewNavigator.js +174 -0
- package/lib-esm/views/navigator/ViewRegistry.js +26 -0
- package/lib-esm/views/quickView/BaseAdaptiveCardQuickView.js +65 -0
- package/lib-esm/views/quickView/BaseQuickView.js +28 -0
- package/lib-esm/views/quickView/BaseWebQuickView.js +49 -0
- package/package.json +53 -18
- package/dist/index.js +0 -8
- package/dist/sp-adaptive-card-extension-base_default_80cb284b0ce5185f01a3.js +0 -1
- package/dist/sp-adaptive-card-extension-base_en-us_f42ce38c47d8423e6856.js +0 -1
- package/dist/sp-adaptive-card-extension-base_qps-ploc_256d38b669b67722cc35.js +0 -1
- package/dist/sp-adaptive-card-extension-base_qps-ploca_d709c1c8a8609f16e251.js +0 -1
- package/dist/test-api/AdaptiveCardExtensionTestWrapper.js +0 -155
- package/dist/test-api/MockAdaptiveCardExtensionManifestInstance.js +0 -23
- package/dist/test-api/index.js +0 -6
- package/lib/AdaptiveCardExtensionContext.d.ts.map +0 -1
- package/lib/AdaptiveCardExtensionContext.js +0 -103
- package/lib/AdaptiveCardExtensionHost.d.ts.map +0 -1
- package/lib/AdaptiveCardExtensionHost.js +0 -76
- package/lib/AdaptiveCardExtensionLoader.d.ts.map +0 -1
- package/lib/BaseAdaptiveCardExtension.d.ts.map +0 -1
- package/lib/BaseAdaptiveCardExtension.js +0 -1433
- package/lib/ac-template/basicL1Template.d.ts.map +0 -1
- package/lib/ac-template/basicL1TemplateSelectAction.d.ts.map +0 -1
- package/lib/ac-template/common/Constants.d.ts.map +0 -1
- package/lib/ac-template/common/CustomElements.d.ts.map +0 -1
- package/lib/ac-template/imageL1Template.d.ts.map +0 -1
- package/lib/ac-template/imageL1TemplateSelectAction.d.ts.map +0 -1
- package/lib/ac-template/index.d.ts.map +0 -1
- package/lib/ac-template/primaryTextL1Template.d.ts.map +0 -1
- package/lib/ac-template/primaryTextL1TemplateSelectAction.d.ts.map +0 -1
- package/lib/ac-template/searchL1Template.d.ts.map +0 -1
- package/lib/ac-template/textInputL1Template.d.ts.map +0 -1
- package/lib/ac-template/util/actionButtonHelper.d.ts.map +0 -1
- package/lib/ac-template/util/getCardRenderParameters.d.ts.map +0 -1
- package/lib/actionShim/AdaptiveCardExtensionActionShim.d.ts.map +0 -1
- package/lib/actionShim/IActionShimProvider.d.ts.map +0 -1
- package/lib/actionShim/IActionShimProvider.js +0 -2
- package/lib/actionShim/getOnBeforeActionArguments.d.ts.map +0 -1
- package/lib/caching/CacheManager.d.ts.map +0 -1
- package/lib/caching/CacheManager.js +0 -57
- package/lib/caching/IAdaptiveCardExtensionCacheObject.d.ts.map +0 -1
- package/lib/caching/IAdaptiveCardExtensionCacheObject.js +0 -2
- package/lib/caching/ICacheSettings.d.ts.map +0 -1
- package/lib/caching/ICacheSettings.js +0 -2
- package/lib/caching/ICachedLoadParameters.d.ts.map +0 -1
- package/lib/caching/cache/ACEMySiteCacheManager.d.ts.map +0 -1
- package/lib/caching/cache/ACEMySiteCacheManager.js +0 -135
- package/lib/caching/cache/BaseAdaptiveCardExtensionCache.d.ts.map +0 -1
- package/lib/caching/cache/IAdaptiveCardExtensionCache.d.ts.map +0 -1
- package/lib/caching/cache/IAdaptiveCardExtensionCache.js +0 -2
- package/lib/caching/cache/LocalStorageACECache.d.ts.map +0 -1
- package/lib/caching/cache/LocalStorageACECache.js +0 -84
- package/lib/common/Flights.d.ts.map +0 -1
- package/lib/common/Killswitches.d.ts.map +0 -1
- package/lib/components/BarChartComponent.d.ts.map +0 -1
- package/lib/components/BarChartComponent.js +0 -125
- package/lib/components/BaseComponent.d.ts.map +0 -1
- package/lib/components/CardBarComponent.d.ts.map +0 -1
- package/lib/components/CardBarComponent.js +0 -8
- package/lib/components/CardButtonComponent.d.ts.map +0 -1
- package/lib/components/DataVisualizationComponent.d.ts.map +0 -1
- package/lib/components/DataVisualizationComponent.js +0 -24
- package/lib/components/ICardButtonBase.d.ts.map +0 -1
- package/lib/components/ICardButtonBase.js +0 -2
- package/lib/components/LineChartComponent.d.ts.map +0 -1
- package/lib/components/LineChartComponent.js +0 -32
- package/lib/components/PieChartComponent.d.ts.map +0 -1
- package/lib/components/PieChartComponent.js +0 -99
- package/lib/components/PoweredByComponent.d.ts.map +0 -1
- package/lib/components/PoweredByComponent.js +0 -8
- package/lib/components/PromptsSetComponent.d.ts.map +0 -1
- package/lib/components/PromptsSetComponent.js +0 -8
- package/lib/components/SearchBoxComponent.d.ts.map +0 -1
- package/lib/components/SearchBoxComponent.js +0 -8
- package/lib/components/SearchFooterComponent.d.ts.map +0 -1
- package/lib/components/SearchFooterComponent.js +0 -5
- package/lib/components/TextComponent.d.ts.map +0 -1
- package/lib/components/TextComponent.js +0 -8
- package/lib/components/TextInputComponent.d.ts.map +0 -1
- package/lib/components/TextInputComponent.js +0 -8
- package/lib/index.d.ts.map +0 -1
- package/lib/interfaces/CardActionType.d.ts.map +0 -1
- package/lib/interfaces/CardActionType.js +0 -2
- package/lib/interfaces/IActionArguments.d.ts.map +0 -1
- package/lib/interfaces/IActionArguments.js +0 -2
- package/lib/interfaces/IAdaptiveCardExtension.d.ts.map +0 -1
- package/lib/interfaces/IAdaptiveCardExtension.js +0 -2
- package/lib/interfaces/IAdaptiveCardExtensionData.d.ts.map +0 -1
- package/lib/interfaces/IAdaptiveCardExtensionData.js +0 -2
- package/lib/interfaces/IAdaptiveCardExtensionImage.d.ts.map +0 -1
- package/lib/interfaces/IAdaptiveCardExtensionImage.js +0 -2
- package/lib/interfaces/IAdaptiveCardExtensionLoadContext.d.ts.map +0 -1
- package/lib/interfaces/IAdaptiveCardExtensionLoadContext.js +0 -2
- package/lib/interfaces/IAdaptiveCardExtensionPropertiesMetadata.d.ts.map +0 -1
- package/lib/interfaces/IAdaptiveCardExtensionPropertiesMetadata.js +0 -2
- package/lib/interfaces/IAdaptiveCardRenderParameters.d.ts.map +0 -1
- package/lib/interfaces/IAdaptiveCardRenderParameters.js +0 -2
- package/lib/interfaces/IBaseCardParameters.d.ts.map +0 -1
- package/lib/interfaces/IBaseCardParameters.js +0 -2
- package/lib/interfaces/ICardButton.d.ts.map +0 -1
- package/lib/interfaces/ICardButton.js +0 -2
- package/lib/interfaces/ICardRenderParameters.d.ts.map +0 -1
- package/lib/interfaces/ICardRenderParameters.js +0 -2
- package/lib/interfaces/IFocusParameters.d.ts.map +0 -1
- package/lib/interfaces/IGetLocationActionTypes.d.ts.map +0 -1
- package/lib/interfaces/IGetLocationActionTypes.js +0 -2
- package/lib/interfaces/IHostContext.d.ts.map +0 -1
- package/lib/interfaces/IHostContext.js +0 -2
- package/lib/interfaces/ILocation.d.ts.map +0 -1
- package/lib/interfaces/ILocation.js +0 -6
- package/lib/interfaces/INotificationTypes.d.ts.map +0 -1
- package/lib/interfaces/INotificationTypes.js +0 -2
- package/lib/interfaces/IOnBeforeActionArguments.d.ts.map +0 -1
- package/lib/interfaces/IOnBeforeActionArguments.js +0 -2
- package/lib/interfaces/IQuickViewRenderParameters.d.ts.map +0 -1
- package/lib/interfaces/IQuickViewRenderParameters.js +0 -2
- package/lib/interfaces/ISPFxAdaptiveCard.d.ts.map +0 -1
- package/lib/interfaces/ISPFxAdaptiveCard.js +0 -2
- package/lib/interfaces/ISelectMediaActionTypes.d.ts.map +0 -1
- package/lib/interfaces/ISelectionActionTemplateAdaptiveCard.d.ts.map +0 -1
- package/lib/interfaces/ISelectionActionTemplateAdaptiveCard.js +0 -2
- package/lib/interfaces/IShowLocationActionTypes.d.ts.map +0 -1
- package/lib/interfaces/IShowLocationActionTypes.js +0 -2
- package/lib/interfaces/InternalTypes.d.ts.map +0 -1
- package/lib/interfaces/InternalTypes.js +0 -2
- package/lib/isolation/IsolatedAdaptiveCardExtensionService.d.ts.map +0 -1
- package/lib/isolation/IsolatedAdaptiveCardExtensionService.js +0 -513
- package/lib/isolation/RenderArgumentsUtils.d.ts.map +0 -1
- package/lib/isolation/interfaces/IBot.d.ts.map +0 -1
- package/lib/isolation/interfaces/IIsolatedAction.d.ts.map +0 -1
- package/lib/isolation/interfaces/IIsolatedAction.js +0 -2
- package/lib/isolation/interfaces/IIsolatedListener.d.ts.map +0 -1
- package/lib/isolation/interfaces/IIsolatedListener.js +0 -2
- package/lib/isolation/interfaces/IIsolatedServiceCallbackParameters.d.ts.map +0 -1
- package/lib/isolation/interfaces/IIsolatedServiceCallbackParameters.js +0 -2
- package/lib/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.d.ts.map +0 -1
- package/lib/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.js +0 -2
- package/lib/isolation/interfaces/IRenderIsolatedQuickViewParameters.d.ts.map +0 -1
- package/lib/isolation/interfaces/IRenderIsolatedQuickViewParameters.js +0 -2
- package/lib/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.d.ts.map +0 -1
- package/lib/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.js +0 -2
- package/lib/isolation/interfaces/IsolatedServiceMessageEvent.d.ts.map +0 -1
- package/lib/isolation/interfaces/IsolatedServiceMessageEvent.js +0 -2
- package/lib/test-api/AdaptiveCardExtensionTestWrapper.d.ts.map +0 -1
- package/lib/test-api/AdaptiveCardExtensionTestWrapper.js +0 -152
- package/lib/test-api/MockAdaptiveCardExtensionManifestInstance.d.ts.map +0 -1
- package/lib/test-api/index.d.ts.map +0 -1
- package/lib/utilities/StringHelper.d.ts.map +0 -1
- package/lib/utilities/StringHelper.js +0 -11
- package/lib/views/base/BaseView.d.ts.map +0 -1
- package/lib/views/base/BaseView.js +0 -77
- package/lib/views/card/BaseBasicCardView.d.ts.map +0 -1
- package/lib/views/card/BaseBasicCardView.js +0 -63
- package/lib/views/card/BaseCardView.d.ts.map +0 -1
- package/lib/views/card/BaseCardView.js +0 -84
- package/lib/views/card/BaseComponentsCardView.d.ts.map +0 -1
- package/lib/views/card/BaseComponentsCardView.js +0 -44
- package/lib/views/card/BaseImageCardView.d.ts.map +0 -1
- package/lib/views/card/BasePrimaryTextCardView.d.ts.map +0 -1
- package/lib/views/card/BaseTemplateCardView.d.ts.map +0 -1
- package/lib/views/card/BaseTemplateCardView.js +0 -85
- package/lib/views/card/DefaultCardView.d.ts.map +0 -1
- package/lib/views/card/DefaultCardView.js +0 -29
- package/lib/views/card/parameters/BaseParameters.d.ts.map +0 -1
- package/lib/views/card/parameters/BaseParameters.js +0 -2
- package/lib/views/card/parameters/CardViewParametersProcessors.d.ts.map +0 -1
- package/lib/views/card/parameters/CardViewParametersProcessors.js +0 -37
- package/lib/views/card/parameters/DataVisualizationParameters.d.ts.map +0 -1
- package/lib/views/card/parameters/FocusedParameters.d.ts.map +0 -1
- package/lib/views/card/parameters/FocusedParameters.js +0 -43
- package/lib/views/card/parameters/GenericTemplates.d.ts.map +0 -1
- package/lib/views/interfaces/IAdaptiveCardExtensionActionView.d.ts.map +0 -1
- package/lib/views/interfaces/IAdaptiveCardExtensionActionView.js +0 -2
- package/lib/views/interfaces/IAdaptiveCardExtensionDataView.d.ts.map +0 -1
- package/lib/views/interfaces/IAdaptiveCardExtensionDataView.js +0 -2
- package/lib/views/interfaces/INavigationBarProperties.d.ts.map +0 -1
- package/lib/views/interfaces/INavigationBarProperties.js +0 -2
- package/lib/views/interfaces/IViewNavigator.d.ts.map +0 -1
- package/lib/views/interfaces/IViewNavigator.js +0 -2
- package/lib/views/navigator/QuickViewNavigator.d.ts.map +0 -1
- package/lib/views/navigator/QuickViewNavigator.js +0 -29
- package/lib/views/navigator/ViewNavigator.d.ts.map +0 -1
- package/lib/views/navigator/ViewNavigator.js +0 -233
- package/lib/views/navigator/ViewRegistry.d.ts.map +0 -1
- package/lib/views/navigator/ViewRegistry.js +0 -32
- package/lib/views/quickView/BaseAdaptiveCardQuickView.d.ts.map +0 -1
- package/lib/views/quickView/BaseAdaptiveCardQuickView.js +0 -90
- package/lib/views/quickView/BaseQuickView.d.ts.map +0 -1
- package/lib/views/quickView/BaseQuickView.js +0 -45
- package/lib/views/quickView/BaseWebQuickView.d.ts.map +0 -1
- package/lib/views/quickView/BaseWebQuickView.js +0 -64
- /package/{lib → lib-dts}/AdaptiveCardExtensionHost.d.ts +0 -0
- /package/{lib → lib-dts}/AdaptiveCardExtensionLoader.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/basicL1Template.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/basicL1TemplateSelectAction.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/common/Constants.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/common/CustomElements.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/imageL1Template.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/imageL1TemplateSelectAction.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/index.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/primaryTextL1Template.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/primaryTextL1TemplateSelectAction.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/searchL1Template.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/textInputL1Template.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/util/actionButtonHelper.d.ts +0 -0
- /package/{lib → lib-dts}/ac-template/util/getCardRenderParameters.d.ts +0 -0
- /package/{lib → lib-dts}/actionShim/AdaptiveCardExtensionActionShim.d.ts +0 -0
- /package/{lib → lib-dts}/actionShim/IActionShimProvider.d.ts +0 -0
- /package/{lib → lib-dts}/actionShim/getOnBeforeActionArguments.d.ts +0 -0
- /package/{lib → lib-dts}/caching/CacheManager.d.ts +0 -0
- /package/{lib → lib-dts}/caching/IAdaptiveCardExtensionCacheObject.d.ts +0 -0
- /package/{lib → lib-dts}/caching/ICacheSettings.d.ts +0 -0
- /package/{lib → lib-dts}/caching/ICachedLoadParameters.d.ts +0 -0
- /package/{lib → lib-dts}/caching/cache/ACEMySiteCacheManager.d.ts +0 -0
- /package/{lib → lib-dts}/caching/cache/BaseAdaptiveCardExtensionCache.d.ts +0 -0
- /package/{lib → lib-dts}/caching/cache/IAdaptiveCardExtensionCache.d.ts +0 -0
- /package/{lib → lib-dts}/caching/cache/LocalStorageACECache.d.ts +0 -0
- /package/{lib → lib-dts}/common/Flights.d.ts +0 -0
- /package/{lib → lib-dts}/common/Killswitches.d.ts +0 -0
- /package/{lib → lib-dts}/components/BarChartComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/BaseComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/CardBarComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/CardButtonComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/DataVisualizationComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/ICardButtonBase.d.ts +0 -0
- /package/{lib → lib-dts}/components/LineChartComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/PieChartComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/PoweredByComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/PromptsSetComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/SearchBoxComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/SearchFooterComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/TextComponent.d.ts +0 -0
- /package/{lib → lib-dts}/components/TextInputComponent.d.ts +0 -0
- /package/{lib → lib-dts}/index.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/CardActionType.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IActionArguments.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtension.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtensionData.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtensionImage.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtensionLoadContext.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtensionPropertiesMetadata.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IAdaptiveCardRenderParameters.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IBaseCardParameters.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/ICardButton.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/ICardRenderParameters.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IFocusParameters.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IGetLocationActionTypes.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IHostContext.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/ILocation.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/INotificationTypes.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IOnBeforeActionArguments.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IQuickViewRenderParameters.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/ISPFxAdaptiveCard.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/ISelectMediaActionTypes.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/ISelectionActionTemplateAdaptiveCard.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/IShowLocationActionTypes.d.ts +0 -0
- /package/{lib → lib-dts}/interfaces/InternalTypes.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/IsolatedAdaptiveCardExtensionService.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/RenderArgumentsUtils.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/interfaces/IBot.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/interfaces/IIsolatedAction.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/interfaces/IIsolatedListener.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/interfaces/IIsolatedServiceCallbackParameters.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/interfaces/IRenderIsolatedQuickViewParameters.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.d.ts +0 -0
- /package/{lib → lib-dts}/isolation/interfaces/IsolatedServiceMessageEvent.d.ts +0 -0
- /package/{lib → lib-dts}/loc/Strings.resx.d.ts +0 -0
- /package/{lib → lib-dts}/test-api/AdaptiveCardExtensionTestWrapper.d.ts +0 -0
- /package/{lib → lib-dts}/test-api/MockAdaptiveCardExtensionManifestInstance.d.ts +0 -0
- /package/{lib → lib-dts}/test-api/index.d.ts +0 -0
- /package/{lib → lib-dts}/utilities/StringHelper.d.ts +0 -0
- /package/{lib → lib-dts}/views/base/BaseView.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/BaseBasicCardView.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/BaseCardView.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/BaseComponentsCardView.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/BaseImageCardView.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/BasePrimaryTextCardView.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/BaseTemplateCardView.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/DefaultCardView.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/parameters/BaseParameters.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/parameters/CardViewParametersProcessors.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/parameters/DataVisualizationParameters.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/parameters/FocusedParameters.d.ts +0 -0
- /package/{lib → lib-dts}/views/card/parameters/GenericTemplates.d.ts +0 -0
- /package/{lib → lib-dts}/views/interfaces/IAdaptiveCardExtensionActionView.d.ts +0 -0
- /package/{lib → lib-dts}/views/interfaces/IAdaptiveCardExtensionDataView.d.ts +0 -0
- /package/{lib → lib-dts}/views/interfaces/INavigationBarProperties.d.ts +0 -0
- /package/{lib → lib-dts}/views/interfaces/IViewNavigator.d.ts +0 -0
- /package/{lib → lib-dts}/views/navigator/QuickViewNavigator.d.ts +0 -0
- /package/{lib → lib-dts}/views/navigator/ViewNavigator.d.ts +0 -0
- /package/{lib → lib-dts}/views/navigator/ViewRegistry.d.ts +0 -0
- /package/{lib → lib-dts}/views/quickView/BaseAdaptiveCardQuickView.d.ts +0 -0
- /package/{lib → lib-dts}/views/quickView/BaseQuickView.d.ts +0 -0
- /package/{lib → lib-dts}/views/quickView/BaseWebQuickView.d.ts +0 -0
- /package/{lib → lib-esm}/loc/Strings.resx.json +0 -0
- /package/{lib → lib-esm}/sp-adaptive-card-base.manifest.json +0 -0
|
@@ -0,0 +1,505 @@
|
|
|
1
|
+
import { _ensureIsolatedDomainUrl } from '@microsoft/sp-component-base';
|
|
2
|
+
import { ServiceKey, _BROKER_IN_USE_KEY, _BrowserUtilities } from '@microsoft/sp-core-library';
|
|
3
|
+
import { _QosMonitor, _TraceLogger } from '@microsoft/sp-diagnostics';
|
|
4
|
+
import { _AadTokenProviders } from '@microsoft/sp-http-base';
|
|
5
|
+
import { PageContext } from '@microsoft/sp-page-context';
|
|
6
|
+
import { _PerformanceExperiment, _SPPerfExperiment } from '@msinternal/sp-telemetry';
|
|
7
|
+
import { isFramedTeamsLogonEnabled } from '../common/Flights';
|
|
8
|
+
import { isRemoveIsolatedDomainOnDisposeKSActivated, isTargetBotDriveAceAspxKSActivated, isFixIframeNameKSActive } from '../common/Killswitches';
|
|
9
|
+
const TIMEOUT_INTERVAL = 15000;
|
|
10
|
+
const EMBEDDED_PAGE_CONTAINER = 'embedded-page-container';
|
|
11
|
+
/**
|
|
12
|
+
* @internal
|
|
13
|
+
*/ export class IsolatedAdaptiveCardExtensionService {
|
|
14
|
+
/**
|
|
15
|
+
* @internal
|
|
16
|
+
*/ get _pageContext() {
|
|
17
|
+
if (!this._pContext) {
|
|
18
|
+
// Since this service can be autocreated, we must consume services after autocreation has finished
|
|
19
|
+
this._pContext = this._serviceScope.consume(PageContext.serviceKey);
|
|
20
|
+
}
|
|
21
|
+
return this._pContext;
|
|
22
|
+
}
|
|
23
|
+
disposeEntry(instanceId, isolatedDomain) {
|
|
24
|
+
this._isolatedListeners.delete(instanceId);
|
|
25
|
+
if (!isRemoveIsolatedDomainOnDisposeKSActivated()) {
|
|
26
|
+
this._callbackCache.delete(instanceId);
|
|
27
|
+
// reduce the number of Isolated ACEs tied to a isolated domain
|
|
28
|
+
const frame = this._isolatedFrames.get(isolatedDomain);
|
|
29
|
+
if (frame) {
|
|
30
|
+
frame.childInstanceIds.delete(instanceId);
|
|
31
|
+
// remove the isolated domain when there is no isolated aces depending on it.
|
|
32
|
+
if (frame.childInstanceIds.size === 0) {
|
|
33
|
+
document.body.removeChild(frame.iframe);
|
|
34
|
+
this._isolatedFrames.delete(isolatedDomain);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Load an isolated Adaptive Card Extension.
|
|
41
|
+
*
|
|
42
|
+
* @remarks Only loads one iframe per isolated domain.
|
|
43
|
+
*
|
|
44
|
+
* @param args - {@link _ILoadIsolatedAdaptiveCardExtensionParameters}
|
|
45
|
+
*/ load(args) {
|
|
46
|
+
const { callback, instanceId, listenerId } = args;
|
|
47
|
+
// Normalize the domain since we are using it as dictionary keys
|
|
48
|
+
const isolatedDomain = args.isolatedDomain.toLowerCase();
|
|
49
|
+
let isolatedFrame = this._isolatedFrames.get(isolatedDomain);
|
|
50
|
+
if (!isolatedFrame) {
|
|
51
|
+
const monitor = this._createLoadMonitor();
|
|
52
|
+
const iframe = document.createElement('iframe');
|
|
53
|
+
// to fix isTeamsHosted in Teams 2.1 and in old Teams isBrowserHosted check
|
|
54
|
+
if (!isFixIframeNameKSActive() && window.name === EMBEDDED_PAGE_CONTAINER) {
|
|
55
|
+
iframe.name = EMBEDDED_PAGE_CONTAINER;
|
|
56
|
+
}
|
|
57
|
+
const isVCD1P = _BrowserUtilities.isTeams1PVivaDesktopHosted();
|
|
58
|
+
iframe.src = this._configureIframeSrc(isolatedDomain, args, isVCD1P);
|
|
59
|
+
/*
|
|
60
|
+
* Initialize the iframe as hidden and full screen.
|
|
61
|
+
* This effectively sets up the isolated iframe as an overlay over the application.
|
|
62
|
+
*/ iframe.hidden = true;
|
|
63
|
+
iframe.scrolling = 'no';
|
|
64
|
+
iframe.style.overflow = 'hidden';
|
|
65
|
+
iframe.style.height = '100%';
|
|
66
|
+
iframe.style.width = '100%';
|
|
67
|
+
iframe.style.top = '0';
|
|
68
|
+
iframe.style.left = '0';
|
|
69
|
+
iframe.style.position = 'fixed';
|
|
70
|
+
iframe.style.zIndex = '99999';
|
|
71
|
+
iframe.style.border = 'none';
|
|
72
|
+
iframe.setAttribute('allow', 'geolocation');
|
|
73
|
+
iframe.setAttribute('data-automation-id', 'isolated_ACE_iframe');
|
|
74
|
+
document.body.appendChild(iframe);
|
|
75
|
+
const isolatedFrameKey = isolatedDomain.toLowerCase();
|
|
76
|
+
isolatedFrame = {
|
|
77
|
+
iframe,
|
|
78
|
+
frameMonitor: monitor,
|
|
79
|
+
isReady: false,
|
|
80
|
+
messageQueue: [],
|
|
81
|
+
retryCount: 0,
|
|
82
|
+
childInstanceIds: new Set()
|
|
83
|
+
};
|
|
84
|
+
isolatedFrame.timeoutId = setTimeout(()=>{
|
|
85
|
+
this._handleIframeTimeout(isolatedFrameKey, isVCD1P);
|
|
86
|
+
}, TIMEOUT_INTERVAL);
|
|
87
|
+
this._isolatedFrames.set(isolatedFrameKey, isolatedFrame);
|
|
88
|
+
}
|
|
89
|
+
if (!isRemoveIsolatedDomainOnDisposeKSActivated()) {
|
|
90
|
+
isolatedFrame.childInstanceIds.add(instanceId);
|
|
91
|
+
}
|
|
92
|
+
const entry = this._isolatedListeners.get(instanceId);
|
|
93
|
+
if (!entry) {
|
|
94
|
+
const listenerEntry = this._createIsolatedListenerEntry(isolatedDomain, isolatedFrame.iframe, args);
|
|
95
|
+
this._isolatedListeners.set(instanceId, listenerEntry);
|
|
96
|
+
} else if (!entry.listeners.get(listenerId)) {
|
|
97
|
+
entry.listeners.set(listenerId, {
|
|
98
|
+
callback
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
// When we are creating a new isolated ACE during authoring, we need to tell the isolated app to initialize a new ACE instance.
|
|
102
|
+
if (!args.isRenderedFromPersistedData) {
|
|
103
|
+
this.sendInitialize(args);
|
|
104
|
+
} else {
|
|
105
|
+
this._handleRenderingFromPersistedData(args);
|
|
106
|
+
}
|
|
107
|
+
// If the ACE has previously loaded, then send the latest data to the listener.
|
|
108
|
+
// Otherwise, when the isolated domain iframe has loaded we will automatically notify the listener.
|
|
109
|
+
const callbackArgs = this._callbackCache.get(instanceId);
|
|
110
|
+
if (callbackArgs) {
|
|
111
|
+
this._invokeCallback(instanceId, callbackArgs, listenerId);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Display the iframe with the ACE quick view.
|
|
116
|
+
*
|
|
117
|
+
* @param args - {@link _IRenderIsolatedQuickViewParameters}
|
|
118
|
+
*/ renderQuickView(args) {
|
|
119
|
+
const { instanceId, isSelectAction, listenerId, pageTheme, targetRect, theme, viewId } = args;
|
|
120
|
+
this._sendMessage(this._getIsolatedFrame(instanceId), instanceId, {
|
|
121
|
+
serviceAction: 'Action',
|
|
122
|
+
action: {
|
|
123
|
+
action: {
|
|
124
|
+
type: 'QuickView',
|
|
125
|
+
isSelectAction,
|
|
126
|
+
pageTheme,
|
|
127
|
+
targetRect,
|
|
128
|
+
theme,
|
|
129
|
+
viewId
|
|
130
|
+
},
|
|
131
|
+
instanceId,
|
|
132
|
+
listenerId
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
setDisplayMode(displayMode) {
|
|
137
|
+
// not implemented
|
|
138
|
+
}
|
|
139
|
+
setRenderType(newRenderType) {
|
|
140
|
+
// not implemented
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Send an action to an isolated ACE.
|
|
144
|
+
*
|
|
145
|
+
* @param action - {@link _IIsolatedAction}
|
|
146
|
+
*/ sendAction(action) {
|
|
147
|
+
const { instanceId } = action;
|
|
148
|
+
this._sendMessage(this._getIsolatedFrame(instanceId), instanceId, {
|
|
149
|
+
serviceAction: 'Action',
|
|
150
|
+
action
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Send an action to ACE onBeforeAction in an isolated domain.
|
|
155
|
+
*
|
|
156
|
+
* @param action - {@link _IIsolatedOnBeforeAction}
|
|
157
|
+
*/ sendOnBeforeAction(action) {
|
|
158
|
+
const { instanceId } = action;
|
|
159
|
+
this._sendMessage(this._getIsolatedFrame(instanceId), instanceId, {
|
|
160
|
+
serviceAction: 'OnBeforeAction',
|
|
161
|
+
action
|
|
162
|
+
});
|
|
163
|
+
}
|
|
164
|
+
sendInitialize(args) {
|
|
165
|
+
const { instanceId, manifestId } = args;
|
|
166
|
+
this._sendMessage(this._getIsolatedFrame(instanceId), instanceId, {
|
|
167
|
+
serviceAction: 'Initialize',
|
|
168
|
+
instanceId,
|
|
169
|
+
manifestId
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
updateACEData(instanceId, aceData) {
|
|
173
|
+
if (this._isolatedListeners.has(instanceId)) {
|
|
174
|
+
this._sendMessage(this._getIsolatedFrame(instanceId), instanceId, {
|
|
175
|
+
aceData,
|
|
176
|
+
instanceId,
|
|
177
|
+
serviceAction: 'UpdateACEData'
|
|
178
|
+
});
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
handleLocationRequest(instanceId, location, locationError) {
|
|
182
|
+
this._sendMessage(this._getIsolatedFrame(instanceId), instanceId, {
|
|
183
|
+
location,
|
|
184
|
+
locationError,
|
|
185
|
+
instanceId,
|
|
186
|
+
serviceAction: 'LocationResponse'
|
|
187
|
+
});
|
|
188
|
+
}
|
|
189
|
+
_createLoadMonitor() {
|
|
190
|
+
return new _QosMonitor('IsolatedAdaptiveCardExtensionService.load');
|
|
191
|
+
}
|
|
192
|
+
_createRetryMonitor() {
|
|
193
|
+
return new _QosMonitor('IsolatedAdaptiveCardExtension.iframeReload');
|
|
194
|
+
}
|
|
195
|
+
_createTokenRequestMonitor() {
|
|
196
|
+
return new _QosMonitor('IsolatedAdaptiveCardExtensionService.onTokenRequested');
|
|
197
|
+
}
|
|
198
|
+
_createGetAuthTokenMonitor() {
|
|
199
|
+
return new _QosMonitor('IsolatedAdaptiveCardExtensionService._getAuthToken');
|
|
200
|
+
}
|
|
201
|
+
_configureDestUrlParams(loadArgs) {
|
|
202
|
+
const { dashboardListId, itemId } = loadArgs;
|
|
203
|
+
const destUrlParams = new URLSearchParams(window.location.search);
|
|
204
|
+
destUrlParams.append('dashboardListID', dashboardListId);
|
|
205
|
+
destUrlParams.append('id', itemId);
|
|
206
|
+
if (_SPPerfExperiment.getVariantAndTrackExperiment(_PerformanceExperiment.WEXOOPIF) === 1) {
|
|
207
|
+
destUrlParams.append('OOPIF', '1');
|
|
208
|
+
}
|
|
209
|
+
destUrlParams.append('deviceContext', _BrowserUtilities.isTeams1PVivaDesktopHosted() ? 'TeamsDesktop' : 'WebView');
|
|
210
|
+
destUrlParams.append('parentWindowOrigin', window.location.origin);
|
|
211
|
+
return destUrlParams;
|
|
212
|
+
}
|
|
213
|
+
_configureIframeSrc(isolatedDomain, loadArgs, isVCD1P) {
|
|
214
|
+
const serverRelativeUrl = this._pageContext.site.serverRelativeUrl;
|
|
215
|
+
const destBaseUrl = serverRelativeUrl === '/' ? '' : serverRelativeUrl;
|
|
216
|
+
const isolatedUrlBase = _ensureIsolatedDomainUrl(isolatedDomain, this._pageContext.web.absoluteUrl);
|
|
217
|
+
const destUrlParams = this._configureDestUrlParams(loadArgs);
|
|
218
|
+
const { serviceDestinationEndpoint } = loadArgs;
|
|
219
|
+
const layoutPage = !isTargetBotDriveAceAspxKSActivated() && serviceDestinationEndpoint !== undefined ? serviceDestinationEndpoint : 'adaptivecardextensions.aspx';
|
|
220
|
+
const destUrl = `/_layouts/15/${layoutPage}?${destUrlParams.toString()}`;
|
|
221
|
+
if (_BrowserUtilities.isUsingSecureBroker()) {
|
|
222
|
+
return `${isolatedUrlBase}/_layouts/15/brokerlogon.aspx?spfx=true&${_BROKER_IN_USE_KEY}=true&dest=${encodeURIComponent(isolatedUrlBase + destUrl)}`;
|
|
223
|
+
} else if (isVCD1P && isFramedTeamsLogonEnabled()) {
|
|
224
|
+
// Use framedteamslogon.aspx for scenarios where cookie auth doesn't work e.g. Teams, Safari, etc.
|
|
225
|
+
return `${isolatedUrlBase}/_layouts/15/framedteamslogon.aspx?spfx=true&dest=${encodeURIComponent(destBaseUrl + destUrl)}`;
|
|
226
|
+
} else {
|
|
227
|
+
return isolatedUrlBase + destUrl;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
_createIsolatedListenerEntry(isolatedDomain, iframe, args) {
|
|
231
|
+
const { listenerId, callback, manifestId } = args;
|
|
232
|
+
return {
|
|
233
|
+
isolatedDomain,
|
|
234
|
+
iframe: iframe,
|
|
235
|
+
listeners: new Map([
|
|
236
|
+
[
|
|
237
|
+
listenerId,
|
|
238
|
+
{
|
|
239
|
+
callback
|
|
240
|
+
}
|
|
241
|
+
]
|
|
242
|
+
]),
|
|
243
|
+
manifestId
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
_handleRenderingFromPersistedData(args) {
|
|
247
|
+
// not implemented
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* @internal
|
|
251
|
+
* @param instanceId - string
|
|
252
|
+
* @returns IIsolatedFrame instance
|
|
253
|
+
*/ _getIsolatedFrame(instanceId) {
|
|
254
|
+
const entry = this._isolatedListeners.get(instanceId);
|
|
255
|
+
return entry ? this._isolatedFrames.get(entry.isolatedDomain) : undefined;
|
|
256
|
+
}
|
|
257
|
+
_sendMessage(isolatedFrame, instanceId, message) {
|
|
258
|
+
if (isolatedFrame) {
|
|
259
|
+
this._postOrQueueMessage(isolatedFrame, message, instanceId);
|
|
260
|
+
} else {
|
|
261
|
+
this._logError(`No entry for ${instanceId}`);
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Notify listeners of a change with the ACE;
|
|
266
|
+
*
|
|
267
|
+
* @param instanceId - ACE instance.
|
|
268
|
+
* @param args - {@link _IsolatedServiceCallbackParameters}
|
|
269
|
+
* @param listenerId - Optional. If provided, only invoke the callback for this listener.
|
|
270
|
+
*/ _invokeCallback(instanceId, args, listenerId) {
|
|
271
|
+
const entry = this._isolatedListeners.get(instanceId);
|
|
272
|
+
this._callbackCache.set(instanceId, args);
|
|
273
|
+
if (entry) {
|
|
274
|
+
if (listenerId) {
|
|
275
|
+
entry.listeners.get(listenerId)?.callback(args);
|
|
276
|
+
} else {
|
|
277
|
+
entry.listeners.forEach((listener)=>listener.callback(args));
|
|
278
|
+
}
|
|
279
|
+
} else {
|
|
280
|
+
this._logError(`No entry for ${instanceId}`);
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Trace log an error.
|
|
285
|
+
*
|
|
286
|
+
* @param errorMessage - Message to create a new `Error` object.
|
|
287
|
+
*/ _logError(errorMessage) {
|
|
288
|
+
_TraceLogger.logError(IsolatedAdaptiveCardExtensionService._logSource, new Error(errorMessage));
|
|
289
|
+
}
|
|
290
|
+
_getAuthToken(applicationId, claims, origin) {
|
|
291
|
+
const qosMonitor = this._createGetAuthTokenMonitor();
|
|
292
|
+
const configurableTokenProvider = _AadTokenProviders.configurable;
|
|
293
|
+
if (!configurableTokenProvider._oboThirdPartyTokenCallback) {
|
|
294
|
+
qosMonitor.writeUnexpectedFailure('oboThirdPartTokenCallbackUndefined');
|
|
295
|
+
this._logError('Unexpected message: oboThirdPartyTokenCallback is not defined.');
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
configurableTokenProvider._oboThirdPartyTokenCallback(applicationId, claims).then((token)=>{
|
|
299
|
+
const originURL = new URL(origin);
|
|
300
|
+
const isolatedFrame = this._isolatedFrames.get(originURL.hostname);
|
|
301
|
+
this._sendMessage(isolatedFrame, '', {
|
|
302
|
+
token,
|
|
303
|
+
applicationId,
|
|
304
|
+
serviceAction: 'OBOToken'
|
|
305
|
+
});
|
|
306
|
+
qosMonitor.writeSuccess();
|
|
307
|
+
}).catch((err)=>{
|
|
308
|
+
qosMonitor.writeUnexpectedFailure('oboThirdPartTokenCallbackFailure');
|
|
309
|
+
this._logError(`Unexpected message: ${JSON.stringify(err)}`);
|
|
310
|
+
});
|
|
311
|
+
}
|
|
312
|
+
_postOrQueueMessage(isolatedFrame, message, instanceId) {
|
|
313
|
+
if (isolatedFrame.isReady) {
|
|
314
|
+
message.messageType = 'serviceMessage';
|
|
315
|
+
isolatedFrame.iframe.contentWindow.postMessage(message, '*');
|
|
316
|
+
} else {
|
|
317
|
+
isolatedFrame.messageQueue.push([
|
|
318
|
+
instanceId,
|
|
319
|
+
message
|
|
320
|
+
]);
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
constructor(serviceScope){
|
|
324
|
+
this._callbackCache = new Map();
|
|
325
|
+
this._isolatedFrames = new Map();
|
|
326
|
+
this._isolatedListeners = new Map();
|
|
327
|
+
this._handleIframeTimeout = (isolatedFrameKey, isVCD1P)=>{
|
|
328
|
+
const frame = this._isolatedFrames.get(isolatedFrameKey);
|
|
329
|
+
const { frameMonitor, retryMonitor, tokenMonitor } = frame;
|
|
330
|
+
/*
|
|
331
|
+
* There is a rare case the iframe is running into a "reset connection" error. This is because the
|
|
332
|
+
* client/server is unable to communicate for an unknown reason. When we run into this, we will attempt to refresh the iframe once.
|
|
333
|
+
*/ if (frame.retryCount < 1) {
|
|
334
|
+
frame.retryCount += 1;
|
|
335
|
+
frame.retryMonitor = this._createRetryMonitor();
|
|
336
|
+
// Use a shorter interval for the retry, this would put the retry around ~P95
|
|
337
|
+
frame.timeoutId = setTimeout(()=>this._handleIframeTimeout(isolatedFrameKey, isVCD1P), TIMEOUT_INTERVAL - 500);
|
|
338
|
+
return;
|
|
339
|
+
} else if (retryMonitor) {
|
|
340
|
+
retryMonitor.writeUnexpectedFailure('reloadFailed');
|
|
341
|
+
}
|
|
342
|
+
/*
|
|
343
|
+
* If this timeout has been executed then the isolated ACE application
|
|
344
|
+
* did not send the `Ready` message to the host applicaton. By checking if
|
|
345
|
+
* the `tokenMonitor` exists we can verify whether framedteamslogon even requested
|
|
346
|
+
* a token. If it doesn't exist, then we assume we are stuck in the MSAL interactive flow.
|
|
347
|
+
* This would be unexpected in Teams but is a known issue in browsers with ITP or 3P
|
|
348
|
+
* cookies blocked.
|
|
349
|
+
*/ if (frameMonitor && !frameMonitor.hasEnded) {
|
|
350
|
+
try {
|
|
351
|
+
if (tokenMonitor) {
|
|
352
|
+
frameMonitor.writeUnexpectedFailure('tokenTimeout');
|
|
353
|
+
if (!tokenMonitor.hasEnded) {
|
|
354
|
+
tokenMonitor.writeUnexpectedFailure('timeout');
|
|
355
|
+
}
|
|
356
|
+
} else {
|
|
357
|
+
if (isVCD1P) {
|
|
358
|
+
// We should never hit this, but adding for completeness
|
|
359
|
+
frameMonitor.writeUnexpectedFailure('authorizeTimeout');
|
|
360
|
+
} else {
|
|
361
|
+
frameMonitor.writeExpectedFailure('authorizeTimeout');
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
} catch (e) {
|
|
365
|
+
frameMonitor.writeUnexpectedFailure('unexpectedFailure', e);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
};
|
|
369
|
+
/**
|
|
370
|
+
* Message handler for isolated domain iframes.
|
|
371
|
+
*
|
|
372
|
+
* @param message - {@link _IsolatedAdaptiveCardExtensionApplicationMessageEvent}
|
|
373
|
+
*/ this._handleIsolatedApplicationMessage = (message)=>{
|
|
374
|
+
const { data } = message;
|
|
375
|
+
if (data.messageType === 'applicationMessage') {
|
|
376
|
+
const { instanceId, kind } = data;
|
|
377
|
+
switch(kind){
|
|
378
|
+
case 'Card':
|
|
379
|
+
this._invokeCallback(instanceId, {
|
|
380
|
+
aceData: data.aceData,
|
|
381
|
+
card: data.card,
|
|
382
|
+
cacheObject: data.cacheObject,
|
|
383
|
+
type: kind
|
|
384
|
+
});
|
|
385
|
+
break;
|
|
386
|
+
case 'CloseQuickView':
|
|
387
|
+
const qvFrame = this._isolatedFrames.get(new URL(message.origin).hostname);
|
|
388
|
+
if (qvFrame) {
|
|
389
|
+
qvFrame.iframe.hidden = true;
|
|
390
|
+
}
|
|
391
|
+
break;
|
|
392
|
+
case 'Error':
|
|
393
|
+
this._invokeCallback(instanceId, {
|
|
394
|
+
error: data.error,
|
|
395
|
+
type: kind
|
|
396
|
+
});
|
|
397
|
+
break;
|
|
398
|
+
case 'OpenQuickView':
|
|
399
|
+
const frame = this._isolatedFrames.get(new URL(message.origin).hostname);
|
|
400
|
+
if (frame) {
|
|
401
|
+
frame.iframe.hidden = false;
|
|
402
|
+
}
|
|
403
|
+
break;
|
|
404
|
+
case 'OpenUrl':
|
|
405
|
+
this._invokeCallback(instanceId, {
|
|
406
|
+
type: kind,
|
|
407
|
+
url: data.url
|
|
408
|
+
});
|
|
409
|
+
break;
|
|
410
|
+
case 'LocationRequest':
|
|
411
|
+
this._invokeCallback(instanceId, {
|
|
412
|
+
type: kind
|
|
413
|
+
});
|
|
414
|
+
break;
|
|
415
|
+
case 'RenderCompleted':
|
|
416
|
+
this._invokeCallback(instanceId, {
|
|
417
|
+
type: kind,
|
|
418
|
+
didUpdate: data.didUpdate
|
|
419
|
+
});
|
|
420
|
+
break;
|
|
421
|
+
case 'Ready':
|
|
422
|
+
/*
|
|
423
|
+
* Once we get this message from the isolated ACE application, we know it has been loaded
|
|
424
|
+
* and we can start sending messages to the isolated frame.
|
|
425
|
+
*/ const isolatedFrame = this._isolatedFrames.get(new URL(message.origin).hostname);
|
|
426
|
+
if (isolatedFrame) {
|
|
427
|
+
if (isolatedFrame.retryMonitor) {
|
|
428
|
+
isolatedFrame.retryMonitor.writeSuccess();
|
|
429
|
+
}
|
|
430
|
+
clearTimeout(isolatedFrame.timeoutId);
|
|
431
|
+
isolatedFrame.frameMonitor.writeSuccess();
|
|
432
|
+
isolatedFrame.isReady = true;
|
|
433
|
+
for (const [id, msg] of isolatedFrame.messageQueue){
|
|
434
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
435
|
+
this._sendMessage(this._getIsolatedFrame(id), id, msg);
|
|
436
|
+
}
|
|
437
|
+
isolatedFrame.messageQueue = [];
|
|
438
|
+
}
|
|
439
|
+
break;
|
|
440
|
+
case 'OBOTokenRequest':
|
|
441
|
+
const { applicationId, claims } = data;
|
|
442
|
+
this._getAuthToken(applicationId, claims, message.origin);
|
|
443
|
+
break;
|
|
444
|
+
case 'PropertyPaneConfiguration':
|
|
445
|
+
this._invokeCallback(instanceId, {
|
|
446
|
+
propertyPaneConfiguration: data.propertyPaneConfiguration,
|
|
447
|
+
type: kind
|
|
448
|
+
});
|
|
449
|
+
break;
|
|
450
|
+
default:
|
|
451
|
+
this._logError(`Unexpected message: ${JSON.stringify(message.data)}`);
|
|
452
|
+
break;
|
|
453
|
+
}
|
|
454
|
+
} else if (data.messageType === 'bridgeMessage' && data.bridgeAction === 'onTokenRequested') {
|
|
455
|
+
/*
|
|
456
|
+
* When we load in Teams, we use framedteamslogon to ensure the isolated app iframe has a valid cookie.
|
|
457
|
+
* If it doesn't then framedteamslogon will request a token from the host app to use to call the
|
|
458
|
+
* /Authenticate API, which will set a new session cookie on the iframe and then redirect to the isolated
|
|
459
|
+
* ACE applicaton.
|
|
460
|
+
*/ const monitor = this._createTokenRequestMonitor();
|
|
461
|
+
const { applicationId, claims } = data;
|
|
462
|
+
const isolatedFrame = this._isolatedFrames.get(new URL(message.origin).hostname);
|
|
463
|
+
if (!isolatedFrame) {
|
|
464
|
+
monitor.writeUnexpectedFailure('missingIsolatedFrame');
|
|
465
|
+
return;
|
|
466
|
+
}
|
|
467
|
+
isolatedFrame.tokenMonitor = monitor;
|
|
468
|
+
const configurableTokenProvider = _AadTokenProviders.configurable;
|
|
469
|
+
if (!configurableTokenProvider._oboThirdPartyTokenCallback) {
|
|
470
|
+
monitor.writeUnexpectedFailure('missingThirdPartyTokenCallback');
|
|
471
|
+
return;
|
|
472
|
+
}
|
|
473
|
+
try {
|
|
474
|
+
configurableTokenProvider._oboThirdPartyTokenCallback(applicationId, claims).then((token)=>{
|
|
475
|
+
if (!isolatedFrame.iframe.contentWindow) {
|
|
476
|
+
throw new Error('missingContentWindow');
|
|
477
|
+
}
|
|
478
|
+
isolatedFrame.iframe.contentWindow.postMessage({
|
|
479
|
+
token,
|
|
480
|
+
messageType: 'dashboardMessage',
|
|
481
|
+
kind: 'Token'
|
|
482
|
+
}, '*');
|
|
483
|
+
monitor.writeSuccess();
|
|
484
|
+
}).catch((e)=>{
|
|
485
|
+
monitor.writeUnexpectedFailure('oboThirdPartyTokenCallbackError', e);
|
|
486
|
+
});
|
|
487
|
+
} catch (e) {
|
|
488
|
+
/*
|
|
489
|
+
* This is to account for an exception when calling the `_oboThirdPartyTokenCallback`.
|
|
490
|
+
* We've seen in the past where it unexpectedly returned `undefined` causing the Promise
|
|
491
|
+
* chain to never be executed.
|
|
492
|
+
*/ monitor.writeUnexpectedFailure('unexpectedException', e);
|
|
493
|
+
}
|
|
494
|
+
}
|
|
495
|
+
};
|
|
496
|
+
this._serviceScope = serviceScope;
|
|
497
|
+
window.addEventListener('message', this._handleIsolatedApplicationMessage);
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
IsolatedAdaptiveCardExtensionService.serviceKey = ServiceKey.create('sp-adaptive-card-extension-base::IsolatedAdaptiveCardExtensionService', IsolatedAdaptiveCardExtensionService);
|
|
501
|
+
IsolatedAdaptiveCardExtensionService._logSource = {
|
|
502
|
+
id: 'IsolatedAdaptiveCardExtensionService'
|
|
503
|
+
};
|
|
504
|
+
|
|
505
|
+
//# sourceMappingURL=./IsolatedAdaptiveCardExtensionService.js.map
|