@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.
Files changed (514) hide show
  1. package/dist/eeec822e-c28a-46b4-affc-7058e4c1aa80.manifest.json +137 -142
  2. package/dist/index-internal-beta.d.ts +2 -6
  3. package/dist/index-internal-public.d.ts +2 -6
  4. package/dist/index-internal.d.ts +193 -28
  5. package/dist/index.d.ts +2 -2
  6. package/dist/sp-adaptive-card-extension-base_default_be5d2a76104ab20a7df3.js +1 -0
  7. package/dist/sp-adaptive-card-extension-base_en-us_daf5e5154e82492eea26.js +1 -0
  8. package/dist/sp-adaptive-card-extension-base_qps-ploc_3f63afdd6f59d8592622.js +1 -0
  9. package/dist/sp-adaptive-card-extension-base_qps-ploca_0bc9525a6a1a759b7d4f.js +1 -0
  10. package/dist/tsdoc-metadata.json +1 -1
  11. package/lib-commonjs/AdaptiveCardExtensionContext.js +66 -99
  12. package/lib-commonjs/AdaptiveCardExtensionHost.js +52 -60
  13. package/lib-commonjs/AdaptiveCardExtensionLoader.js +90 -97
  14. package/lib-commonjs/BaseAdaptiveCardExtension.js +941 -1138
  15. package/lib-commonjs/ac-template/basicL1Template.js +19 -14
  16. package/lib-commonjs/ac-template/basicL1TemplateSelectAction.js +19 -14
  17. package/lib-commonjs/ac-template/common/Constants.js +13 -5
  18. package/lib-commonjs/ac-template/common/CustomElements.js +63 -51
  19. package/lib-commonjs/ac-template/imageL1Template.js +19 -14
  20. package/lib-commonjs/ac-template/imageL1TemplateSelectAction.js +19 -14
  21. package/lib-commonjs/ac-template/index.js +37 -15
  22. package/lib-commonjs/ac-template/primaryTextL1Template.js +22 -15
  23. package/lib-commonjs/ac-template/primaryTextL1TemplateSelectAction.js +22 -15
  24. package/lib-commonjs/ac-template/searchL1Template.js +21 -20
  25. package/lib-commonjs/ac-template/textInputL1Template.js +38 -39
  26. package/lib-commonjs/ac-template/util/actionButtonHelper.js +76 -78
  27. package/lib-commonjs/ac-template/util/getCardRenderParameters.js +109 -119
  28. package/lib-commonjs/actionShim/AdaptiveCardExtensionActionShim.js +86 -100
  29. package/lib-commonjs/actionShim/IActionShimProvider.js +5 -2
  30. package/lib-commonjs/actionShim/getOnBeforeActionArguments.js +30 -29
  31. package/lib-commonjs/caching/CacheManager.js +40 -35
  32. package/lib-commonjs/caching/IAdaptiveCardExtensionCacheObject.js +5 -2
  33. package/lib-commonjs/caching/ICacheSettings.js +5 -2
  34. package/lib-commonjs/caching/ICachedLoadParameters.js +11 -4
  35. package/lib-commonjs/caching/cache/ACEMySiteCacheManager.js +88 -90
  36. package/lib-commonjs/caching/cache/BaseAdaptiveCardExtensionCache.js +21 -24
  37. package/lib-commonjs/caching/cache/IAdaptiveCardExtensionCache.js +5 -2
  38. package/lib-commonjs/caching/cache/LocalStorageACECache.js +56 -64
  39. package/lib-commonjs/common/Flights.js +27 -16
  40. package/lib-commonjs/common/Killswitches.js +143 -150
  41. package/lib-commonjs/components/BarChartComponent.js +68 -72
  42. package/lib-commonjs/components/BaseComponent.js +15 -15
  43. package/lib-commonjs/components/CardBarComponent.js +15 -9
  44. package/lib-commonjs/components/CardButtonComponent.js +26 -23
  45. package/lib-commonjs/components/DataVisualizationComponent.js +30 -19
  46. package/lib-commonjs/components/ICardButtonBase.js +5 -2
  47. package/lib-commonjs/components/LineChartComponent.js +28 -22
  48. package/lib-commonjs/components/PieChartComponent.js +69 -44
  49. package/lib-commonjs/components/PoweredByComponent.js +15 -9
  50. package/lib-commonjs/components/PromptsSetComponent.js +15 -9
  51. package/lib-commonjs/components/SearchBoxComponent.js +15 -9
  52. package/lib-commonjs/components/SearchFooterComponent.js +15 -6
  53. package/lib-commonjs/components/TextComponent.js +15 -9
  54. package/lib-commonjs/components/TextInputComponent.js +15 -9
  55. package/lib-commonjs/index.js +201 -91
  56. package/lib-commonjs/interfaces/CardActionType.js +5 -2
  57. package/lib-commonjs/interfaces/IActionArguments.js +5 -2
  58. package/lib-commonjs/interfaces/IAdaptiveCardExtension.js +5 -2
  59. package/lib-commonjs/interfaces/IAdaptiveCardExtensionData.js +5 -2
  60. package/lib-commonjs/interfaces/IAdaptiveCardExtensionImage.js +12 -3
  61. package/lib-commonjs/interfaces/IAdaptiveCardExtensionLoadContext.js +5 -2
  62. package/lib-commonjs/interfaces/IAdaptiveCardExtensionPropertiesMetadata.js +5 -2
  63. package/lib-commonjs/interfaces/IAdaptiveCardRenderParameters.js +5 -2
  64. package/lib-commonjs/interfaces/IBaseCardParameters.js +10 -3
  65. package/lib-commonjs/interfaces/ICardButton.js +5 -2
  66. package/lib-commonjs/interfaces/ICardRenderParameters.js +5 -2
  67. package/lib-commonjs/interfaces/IFocusParameters.js +6 -4
  68. package/lib-commonjs/interfaces/IGetLocationActionTypes.js +5 -2
  69. package/lib-commonjs/interfaces/IHostContext.js +13 -3
  70. package/lib-commonjs/interfaces/ILocation.js +6 -4
  71. package/lib-commonjs/interfaces/INotificationTypes.js +5 -2
  72. package/lib-commonjs/interfaces/IOnBeforeActionArguments.js +5 -2
  73. package/lib-commonjs/interfaces/IQuickViewRenderParameters.js +5 -2
  74. package/lib-commonjs/interfaces/ISPFxAdaptiveCard.js +5 -2
  75. package/lib-commonjs/interfaces/ISelectMediaActionTypes.js +13 -10
  76. package/lib-commonjs/interfaces/ISelectionActionTemplateAdaptiveCard.js +5 -2
  77. package/lib-commonjs/interfaces/IShowLocationActionTypes.js +5 -2
  78. package/lib-commonjs/interfaces/InternalTypes.js +9 -3
  79. package/lib-commonjs/isolation/IsolatedAdaptiveCardExtensionService.js +396 -399
  80. package/lib-commonjs/isolation/RenderArgumentsUtils.js +99 -86
  81. package/lib-commonjs/isolation/interfaces/IBot.js +6 -4
  82. package/lib-commonjs/isolation/interfaces/IIsolatedAction.js +5 -2
  83. package/lib-commonjs/isolation/interfaces/IIsolatedListener.js +5 -2
  84. package/lib-commonjs/isolation/interfaces/IIsolatedServiceCallbackParameters.js +5 -2
  85. package/lib-commonjs/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.js +5 -2
  86. package/lib-commonjs/isolation/interfaces/IRenderIsolatedQuickViewParameters.js +13 -3
  87. package/lib-commonjs/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.js +5 -2
  88. package/lib-commonjs/isolation/interfaces/IsolatedServiceMessageEvent.js +5 -2
  89. package/lib-commonjs/test-api/AdaptiveCardExtensionTestWrapper.js +95 -123
  90. package/lib-commonjs/test-api/MockAdaptiveCardExtensionManifestInstance.js +22 -11
  91. package/lib-commonjs/test-api/index.js +12 -5
  92. package/lib-commonjs/utilities/StringHelper.js +13 -10
  93. package/lib-commonjs/views/base/BaseView.js +46 -76
  94. package/lib-commonjs/views/card/BaseBasicCardView.js +37 -52
  95. package/lib-commonjs/views/card/BaseCardView.js +56 -81
  96. package/lib-commonjs/views/card/BaseComponentsCardView.js +41 -39
  97. package/lib-commonjs/views/card/BaseImageCardView.js +38 -54
  98. package/lib-commonjs/views/card/BasePrimaryTextCardView.js +37 -54
  99. package/lib-commonjs/views/card/BaseTemplateCardView.js +47 -67
  100. package/lib-commonjs/views/card/DefaultCardView.js +24 -29
  101. package/lib-commonjs/views/card/parameters/BaseParameters.js +5 -2
  102. package/lib-commonjs/views/card/parameters/CardViewParametersProcessors.js +26 -31
  103. package/lib-commonjs/views/card/parameters/DataVisualizationParameters.js +75 -76
  104. package/lib-commonjs/views/card/parameters/FocusedParameters.js +53 -35
  105. package/lib-commonjs/views/card/parameters/GenericTemplates.js +87 -70
  106. package/lib-commonjs/views/interfaces/IAdaptiveCardExtensionActionView.js +5 -2
  107. package/lib-commonjs/views/interfaces/IAdaptiveCardExtensionDataView.js +5 -2
  108. package/lib-commonjs/views/interfaces/INavigationBarProperties.js +5 -2
  109. package/lib-commonjs/views/interfaces/IViewNavigator.js +5 -2
  110. package/lib-commonjs/views/navigator/QuickViewNavigator.js +22 -28
  111. package/lib-commonjs/views/navigator/ViewNavigator.js +138 -193
  112. package/lib-commonjs/views/navigator/ViewRegistry.js +25 -26
  113. package/lib-commonjs/views/quickView/BaseAdaptiveCardQuickView.js +64 -88
  114. package/lib-commonjs/views/quickView/BaseQuickView.js +32 -46
  115. package/lib-commonjs/views/quickView/BaseWebQuickView.js +47 -59
  116. package/{lib → lib-dts}/AdaptiveCardExtensionContext.d.ts +1 -5
  117. package/{lib → lib-dts}/BaseAdaptiveCardExtension.d.ts +2 -1
  118. package/lib-esm/AdaptiveCardExtensionContext.js +67 -0
  119. package/lib-esm/AdaptiveCardExtensionHost.js +65 -0
  120. package/{lib → lib-esm}/AdaptiveCardExtensionLoader.js +56 -74
  121. package/lib-esm/BaseAdaptiveCardExtension.js +1237 -0
  122. package/{lib → lib-esm}/ac-template/basicL1Template.js +6 -4
  123. package/{lib → lib-esm}/ac-template/basicL1TemplateSelectAction.js +6 -4
  124. package/{lib → lib-esm}/ac-template/common/Constants.js +3 -2
  125. package/{lib → lib-esm}/ac-template/common/CustomElements.js +26 -30
  126. package/{lib → lib-esm}/ac-template/imageL1Template.js +6 -4
  127. package/{lib → lib-esm}/ac-template/imageL1TemplateSelectAction.js +6 -4
  128. package/{lib → lib-esm}/ac-template/index.js +2 -1
  129. package/{lib → lib-esm}/ac-template/primaryTextL1Template.js +10 -5
  130. package/{lib → lib-esm}/ac-template/primaryTextL1TemplateSelectAction.js +10 -5
  131. package/{lib → lib-esm}/ac-template/searchL1Template.js +7 -7
  132. package/{lib → lib-esm}/ac-template/textInputL1Template.js +10 -13
  133. package/{lib → lib-esm}/ac-template/util/actionButtonHelper.js +45 -57
  134. package/{lib → lib-esm}/ac-template/util/getCardRenderParameters.js +75 -92
  135. package/{lib → lib-esm}/actionShim/AdaptiveCardExtensionActionShim.js +74 -87
  136. package/lib-esm/actionShim/IActionShimProvider.js +7 -0
  137. package/{lib → lib-esm}/actionShim/getOnBeforeActionArguments.js +22 -25
  138. package/lib-esm/caching/CacheManager.js +55 -0
  139. package/lib-esm/caching/IAdaptiveCardExtensionCacheObject.js +7 -0
  140. package/lib-esm/caching/ICacheSettings.js +5 -0
  141. package/{lib → lib-esm}/caching/ICachedLoadParameters.js +2 -1
  142. package/lib-esm/caching/cache/ACEMySiteCacheManager.js +130 -0
  143. package/{lib → lib-esm}/caching/cache/BaseAdaptiveCardExtensionCache.js +10 -16
  144. package/lib-esm/caching/cache/IAdaptiveCardExtensionCache.js +7 -0
  145. package/lib-esm/caching/cache/LocalStorageACECache.js +73 -0
  146. package/{lib → lib-esm}/common/Flights.js +6 -8
  147. package/{lib → lib-esm}/common/Killswitches.js +37 -105
  148. package/lib-esm/components/BarChartComponent.js +112 -0
  149. package/{lib → lib-esm}/components/BaseComponent.js +8 -4
  150. package/lib-esm/components/CardBarComponent.js +10 -0
  151. package/{lib → lib-esm}/components/CardButtonComponent.js +9 -9
  152. package/lib-esm/components/DataVisualizationComponent.js +26 -0
  153. package/lib-esm/components/ICardButtonBase.js +7 -0
  154. package/lib-esm/components/LineChartComponent.js +29 -0
  155. package/lib-esm/components/PieChartComponent.js +115 -0
  156. package/lib-esm/components/PoweredByComponent.js +10 -0
  157. package/lib-esm/components/PromptsSetComponent.js +10 -0
  158. package/lib-esm/components/SearchBoxComponent.js +10 -0
  159. package/lib-esm/components/SearchFooterComponent.js +8 -0
  160. package/lib-esm/components/TextComponent.js +10 -0
  161. package/lib-esm/components/TextInputComponent.js +10 -0
  162. package/{lib → lib-esm}/index.js +3 -3
  163. package/lib-esm/interfaces/CardActionType.js +5 -0
  164. package/lib-esm/interfaces/IActionArguments.js +7 -0
  165. package/lib-esm/interfaces/IAdaptiveCardExtension.js +7 -0
  166. package/lib-esm/interfaces/IAdaptiveCardExtensionData.js +5 -0
  167. package/lib-esm/interfaces/IAdaptiveCardExtensionImage.js +15 -0
  168. package/lib-esm/interfaces/IAdaptiveCardExtensionLoadContext.js +5 -0
  169. package/lib-esm/interfaces/IAdaptiveCardExtensionPropertiesMetadata.js +7 -0
  170. package/lib-esm/interfaces/IAdaptiveCardRenderParameters.js +5 -0
  171. package/lib-esm/interfaces/IBaseCardParameters.js +11 -0
  172. package/lib-esm/interfaces/ICardButton.js +6 -0
  173. package/lib-esm/interfaces/ICardRenderParameters.js +6 -0
  174. package/{lib → lib-esm}/interfaces/IFocusParameters.js +3 -3
  175. package/lib-esm/interfaces/IGetLocationActionTypes.js +7 -0
  176. package/lib-esm/interfaces/IHostContext.js +15 -0
  177. package/lib-esm/interfaces/ILocation.js +6 -0
  178. package/lib-esm/interfaces/INotificationTypes.js +9 -0
  179. package/lib-esm/interfaces/IOnBeforeActionArguments.js +7 -0
  180. package/lib-esm/interfaces/IQuickViewRenderParameters.js +5 -0
  181. package/lib-esm/interfaces/ISPFxAdaptiveCard.js +7 -0
  182. package/{lib → lib-esm}/interfaces/ISelectMediaActionTypes.js +3 -7
  183. package/lib-esm/interfaces/ISelectionActionTemplateAdaptiveCard.js +5 -0
  184. package/lib-esm/interfaces/IShowLocationActionTypes.js +9 -0
  185. package/lib-esm/interfaces/InternalTypes.js +6 -0
  186. package/lib-esm/isolation/IsolatedAdaptiveCardExtensionService.js +505 -0
  187. package/{lib → lib-esm}/isolation/RenderArgumentsUtils.js +79 -71
  188. package/{lib → lib-esm}/isolation/interfaces/IBot.js +3 -3
  189. package/lib-esm/isolation/interfaces/IIsolatedAction.js +5 -0
  190. package/lib-esm/isolation/interfaces/IIsolatedListener.js +7 -0
  191. package/lib-esm/isolation/interfaces/IIsolatedServiceCallbackParameters.js +5 -0
  192. package/lib-esm/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.js +7 -0
  193. package/lib-esm/isolation/interfaces/IRenderIsolatedQuickViewParameters.js +10 -0
  194. package/lib-esm/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.js +5 -0
  195. package/lib-esm/isolation/interfaces/IsolatedServiceMessageEvent.js +5 -0
  196. package/lib-esm/test-api/AdaptiveCardExtensionTestWrapper.js +125 -0
  197. package/{lib → lib-esm}/test-api/MockAdaptiveCardExtensionManifestInstance.js +12 -8
  198. package/{lib → lib-esm}/test-api/index.js +2 -1
  199. package/lib-esm/utilities/StringHelper.js +8 -0
  200. package/lib-esm/views/base/BaseView.js +47 -0
  201. package/lib-esm/views/card/BaseBasicCardView.js +51 -0
  202. package/lib-esm/views/card/BaseCardView.js +59 -0
  203. package/lib-esm/views/card/BaseComponentsCardView.js +43 -0
  204. package/{lib → lib-esm}/views/card/BaseImageCardView.js +24 -36
  205. package/{lib → lib-esm}/views/card/BasePrimaryTextCardView.js +23 -35
  206. package/lib-esm/views/card/BaseTemplateCardView.js +65 -0
  207. package/lib-esm/views/card/DefaultCardView.js +19 -0
  208. package/lib-esm/views/card/parameters/BaseParameters.js +7 -0
  209. package/lib-esm/views/card/parameters/CardViewParametersProcessors.js +30 -0
  210. package/{lib → lib-esm}/views/card/parameters/DataVisualizationParameters.js +41 -35
  211. package/lib-esm/views/card/parameters/FocusedParameters.js +58 -0
  212. package/{lib → lib-esm}/views/card/parameters/GenericTemplates.js +59 -34
  213. package/lib-esm/views/interfaces/IAdaptiveCardExtensionActionView.js +7 -0
  214. package/lib-esm/views/interfaces/IAdaptiveCardExtensionDataView.js +7 -0
  215. package/lib-esm/views/interfaces/INavigationBarProperties.js +5 -0
  216. package/lib-esm/views/interfaces/IViewNavigator.js +5 -0
  217. package/lib-esm/views/navigator/QuickViewNavigator.js +22 -0
  218. package/lib-esm/views/navigator/ViewNavigator.js +174 -0
  219. package/lib-esm/views/navigator/ViewRegistry.js +26 -0
  220. package/lib-esm/views/quickView/BaseAdaptiveCardQuickView.js +65 -0
  221. package/lib-esm/views/quickView/BaseQuickView.js +28 -0
  222. package/lib-esm/views/quickView/BaseWebQuickView.js +49 -0
  223. package/package.json +53 -18
  224. package/dist/index.js +0 -8
  225. package/dist/sp-adaptive-card-extension-base_default_80cb284b0ce5185f01a3.js +0 -1
  226. package/dist/sp-adaptive-card-extension-base_en-us_f42ce38c47d8423e6856.js +0 -1
  227. package/dist/sp-adaptive-card-extension-base_qps-ploc_256d38b669b67722cc35.js +0 -1
  228. package/dist/sp-adaptive-card-extension-base_qps-ploca_d709c1c8a8609f16e251.js +0 -1
  229. package/dist/test-api/AdaptiveCardExtensionTestWrapper.js +0 -155
  230. package/dist/test-api/MockAdaptiveCardExtensionManifestInstance.js +0 -23
  231. package/dist/test-api/index.js +0 -6
  232. package/lib/AdaptiveCardExtensionContext.d.ts.map +0 -1
  233. package/lib/AdaptiveCardExtensionContext.js +0 -103
  234. package/lib/AdaptiveCardExtensionHost.d.ts.map +0 -1
  235. package/lib/AdaptiveCardExtensionHost.js +0 -76
  236. package/lib/AdaptiveCardExtensionLoader.d.ts.map +0 -1
  237. package/lib/BaseAdaptiveCardExtension.d.ts.map +0 -1
  238. package/lib/BaseAdaptiveCardExtension.js +0 -1433
  239. package/lib/ac-template/basicL1Template.d.ts.map +0 -1
  240. package/lib/ac-template/basicL1TemplateSelectAction.d.ts.map +0 -1
  241. package/lib/ac-template/common/Constants.d.ts.map +0 -1
  242. package/lib/ac-template/common/CustomElements.d.ts.map +0 -1
  243. package/lib/ac-template/imageL1Template.d.ts.map +0 -1
  244. package/lib/ac-template/imageL1TemplateSelectAction.d.ts.map +0 -1
  245. package/lib/ac-template/index.d.ts.map +0 -1
  246. package/lib/ac-template/primaryTextL1Template.d.ts.map +0 -1
  247. package/lib/ac-template/primaryTextL1TemplateSelectAction.d.ts.map +0 -1
  248. package/lib/ac-template/searchL1Template.d.ts.map +0 -1
  249. package/lib/ac-template/textInputL1Template.d.ts.map +0 -1
  250. package/lib/ac-template/util/actionButtonHelper.d.ts.map +0 -1
  251. package/lib/ac-template/util/getCardRenderParameters.d.ts.map +0 -1
  252. package/lib/actionShim/AdaptiveCardExtensionActionShim.d.ts.map +0 -1
  253. package/lib/actionShim/IActionShimProvider.d.ts.map +0 -1
  254. package/lib/actionShim/IActionShimProvider.js +0 -2
  255. package/lib/actionShim/getOnBeforeActionArguments.d.ts.map +0 -1
  256. package/lib/caching/CacheManager.d.ts.map +0 -1
  257. package/lib/caching/CacheManager.js +0 -57
  258. package/lib/caching/IAdaptiveCardExtensionCacheObject.d.ts.map +0 -1
  259. package/lib/caching/IAdaptiveCardExtensionCacheObject.js +0 -2
  260. package/lib/caching/ICacheSettings.d.ts.map +0 -1
  261. package/lib/caching/ICacheSettings.js +0 -2
  262. package/lib/caching/ICachedLoadParameters.d.ts.map +0 -1
  263. package/lib/caching/cache/ACEMySiteCacheManager.d.ts.map +0 -1
  264. package/lib/caching/cache/ACEMySiteCacheManager.js +0 -135
  265. package/lib/caching/cache/BaseAdaptiveCardExtensionCache.d.ts.map +0 -1
  266. package/lib/caching/cache/IAdaptiveCardExtensionCache.d.ts.map +0 -1
  267. package/lib/caching/cache/IAdaptiveCardExtensionCache.js +0 -2
  268. package/lib/caching/cache/LocalStorageACECache.d.ts.map +0 -1
  269. package/lib/caching/cache/LocalStorageACECache.js +0 -84
  270. package/lib/common/Flights.d.ts.map +0 -1
  271. package/lib/common/Killswitches.d.ts.map +0 -1
  272. package/lib/components/BarChartComponent.d.ts.map +0 -1
  273. package/lib/components/BarChartComponent.js +0 -125
  274. package/lib/components/BaseComponent.d.ts.map +0 -1
  275. package/lib/components/CardBarComponent.d.ts.map +0 -1
  276. package/lib/components/CardBarComponent.js +0 -8
  277. package/lib/components/CardButtonComponent.d.ts.map +0 -1
  278. package/lib/components/DataVisualizationComponent.d.ts.map +0 -1
  279. package/lib/components/DataVisualizationComponent.js +0 -24
  280. package/lib/components/ICardButtonBase.d.ts.map +0 -1
  281. package/lib/components/ICardButtonBase.js +0 -2
  282. package/lib/components/LineChartComponent.d.ts.map +0 -1
  283. package/lib/components/LineChartComponent.js +0 -32
  284. package/lib/components/PieChartComponent.d.ts.map +0 -1
  285. package/lib/components/PieChartComponent.js +0 -99
  286. package/lib/components/PoweredByComponent.d.ts.map +0 -1
  287. package/lib/components/PoweredByComponent.js +0 -8
  288. package/lib/components/PromptsSetComponent.d.ts.map +0 -1
  289. package/lib/components/PromptsSetComponent.js +0 -8
  290. package/lib/components/SearchBoxComponent.d.ts.map +0 -1
  291. package/lib/components/SearchBoxComponent.js +0 -8
  292. package/lib/components/SearchFooterComponent.d.ts.map +0 -1
  293. package/lib/components/SearchFooterComponent.js +0 -5
  294. package/lib/components/TextComponent.d.ts.map +0 -1
  295. package/lib/components/TextComponent.js +0 -8
  296. package/lib/components/TextInputComponent.d.ts.map +0 -1
  297. package/lib/components/TextInputComponent.js +0 -8
  298. package/lib/index.d.ts.map +0 -1
  299. package/lib/interfaces/CardActionType.d.ts.map +0 -1
  300. package/lib/interfaces/CardActionType.js +0 -2
  301. package/lib/interfaces/IActionArguments.d.ts.map +0 -1
  302. package/lib/interfaces/IActionArguments.js +0 -2
  303. package/lib/interfaces/IAdaptiveCardExtension.d.ts.map +0 -1
  304. package/lib/interfaces/IAdaptiveCardExtension.js +0 -2
  305. package/lib/interfaces/IAdaptiveCardExtensionData.d.ts.map +0 -1
  306. package/lib/interfaces/IAdaptiveCardExtensionData.js +0 -2
  307. package/lib/interfaces/IAdaptiveCardExtensionImage.d.ts.map +0 -1
  308. package/lib/interfaces/IAdaptiveCardExtensionImage.js +0 -2
  309. package/lib/interfaces/IAdaptiveCardExtensionLoadContext.d.ts.map +0 -1
  310. package/lib/interfaces/IAdaptiveCardExtensionLoadContext.js +0 -2
  311. package/lib/interfaces/IAdaptiveCardExtensionPropertiesMetadata.d.ts.map +0 -1
  312. package/lib/interfaces/IAdaptiveCardExtensionPropertiesMetadata.js +0 -2
  313. package/lib/interfaces/IAdaptiveCardRenderParameters.d.ts.map +0 -1
  314. package/lib/interfaces/IAdaptiveCardRenderParameters.js +0 -2
  315. package/lib/interfaces/IBaseCardParameters.d.ts.map +0 -1
  316. package/lib/interfaces/IBaseCardParameters.js +0 -2
  317. package/lib/interfaces/ICardButton.d.ts.map +0 -1
  318. package/lib/interfaces/ICardButton.js +0 -2
  319. package/lib/interfaces/ICardRenderParameters.d.ts.map +0 -1
  320. package/lib/interfaces/ICardRenderParameters.js +0 -2
  321. package/lib/interfaces/IFocusParameters.d.ts.map +0 -1
  322. package/lib/interfaces/IGetLocationActionTypes.d.ts.map +0 -1
  323. package/lib/interfaces/IGetLocationActionTypes.js +0 -2
  324. package/lib/interfaces/IHostContext.d.ts.map +0 -1
  325. package/lib/interfaces/IHostContext.js +0 -2
  326. package/lib/interfaces/ILocation.d.ts.map +0 -1
  327. package/lib/interfaces/ILocation.js +0 -6
  328. package/lib/interfaces/INotificationTypes.d.ts.map +0 -1
  329. package/lib/interfaces/INotificationTypes.js +0 -2
  330. package/lib/interfaces/IOnBeforeActionArguments.d.ts.map +0 -1
  331. package/lib/interfaces/IOnBeforeActionArguments.js +0 -2
  332. package/lib/interfaces/IQuickViewRenderParameters.d.ts.map +0 -1
  333. package/lib/interfaces/IQuickViewRenderParameters.js +0 -2
  334. package/lib/interfaces/ISPFxAdaptiveCard.d.ts.map +0 -1
  335. package/lib/interfaces/ISPFxAdaptiveCard.js +0 -2
  336. package/lib/interfaces/ISelectMediaActionTypes.d.ts.map +0 -1
  337. package/lib/interfaces/ISelectionActionTemplateAdaptiveCard.d.ts.map +0 -1
  338. package/lib/interfaces/ISelectionActionTemplateAdaptiveCard.js +0 -2
  339. package/lib/interfaces/IShowLocationActionTypes.d.ts.map +0 -1
  340. package/lib/interfaces/IShowLocationActionTypes.js +0 -2
  341. package/lib/interfaces/InternalTypes.d.ts.map +0 -1
  342. package/lib/interfaces/InternalTypes.js +0 -2
  343. package/lib/isolation/IsolatedAdaptiveCardExtensionService.d.ts.map +0 -1
  344. package/lib/isolation/IsolatedAdaptiveCardExtensionService.js +0 -513
  345. package/lib/isolation/RenderArgumentsUtils.d.ts.map +0 -1
  346. package/lib/isolation/interfaces/IBot.d.ts.map +0 -1
  347. package/lib/isolation/interfaces/IIsolatedAction.d.ts.map +0 -1
  348. package/lib/isolation/interfaces/IIsolatedAction.js +0 -2
  349. package/lib/isolation/interfaces/IIsolatedListener.d.ts.map +0 -1
  350. package/lib/isolation/interfaces/IIsolatedListener.js +0 -2
  351. package/lib/isolation/interfaces/IIsolatedServiceCallbackParameters.d.ts.map +0 -1
  352. package/lib/isolation/interfaces/IIsolatedServiceCallbackParameters.js +0 -2
  353. package/lib/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.d.ts.map +0 -1
  354. package/lib/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.js +0 -2
  355. package/lib/isolation/interfaces/IRenderIsolatedQuickViewParameters.d.ts.map +0 -1
  356. package/lib/isolation/interfaces/IRenderIsolatedQuickViewParameters.js +0 -2
  357. package/lib/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.d.ts.map +0 -1
  358. package/lib/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.js +0 -2
  359. package/lib/isolation/interfaces/IsolatedServiceMessageEvent.d.ts.map +0 -1
  360. package/lib/isolation/interfaces/IsolatedServiceMessageEvent.js +0 -2
  361. package/lib/test-api/AdaptiveCardExtensionTestWrapper.d.ts.map +0 -1
  362. package/lib/test-api/AdaptiveCardExtensionTestWrapper.js +0 -152
  363. package/lib/test-api/MockAdaptiveCardExtensionManifestInstance.d.ts.map +0 -1
  364. package/lib/test-api/index.d.ts.map +0 -1
  365. package/lib/utilities/StringHelper.d.ts.map +0 -1
  366. package/lib/utilities/StringHelper.js +0 -11
  367. package/lib/views/base/BaseView.d.ts.map +0 -1
  368. package/lib/views/base/BaseView.js +0 -77
  369. package/lib/views/card/BaseBasicCardView.d.ts.map +0 -1
  370. package/lib/views/card/BaseBasicCardView.js +0 -63
  371. package/lib/views/card/BaseCardView.d.ts.map +0 -1
  372. package/lib/views/card/BaseCardView.js +0 -84
  373. package/lib/views/card/BaseComponentsCardView.d.ts.map +0 -1
  374. package/lib/views/card/BaseComponentsCardView.js +0 -44
  375. package/lib/views/card/BaseImageCardView.d.ts.map +0 -1
  376. package/lib/views/card/BasePrimaryTextCardView.d.ts.map +0 -1
  377. package/lib/views/card/BaseTemplateCardView.d.ts.map +0 -1
  378. package/lib/views/card/BaseTemplateCardView.js +0 -85
  379. package/lib/views/card/DefaultCardView.d.ts.map +0 -1
  380. package/lib/views/card/DefaultCardView.js +0 -29
  381. package/lib/views/card/parameters/BaseParameters.d.ts.map +0 -1
  382. package/lib/views/card/parameters/BaseParameters.js +0 -2
  383. package/lib/views/card/parameters/CardViewParametersProcessors.d.ts.map +0 -1
  384. package/lib/views/card/parameters/CardViewParametersProcessors.js +0 -37
  385. package/lib/views/card/parameters/DataVisualizationParameters.d.ts.map +0 -1
  386. package/lib/views/card/parameters/FocusedParameters.d.ts.map +0 -1
  387. package/lib/views/card/parameters/FocusedParameters.js +0 -43
  388. package/lib/views/card/parameters/GenericTemplates.d.ts.map +0 -1
  389. package/lib/views/interfaces/IAdaptiveCardExtensionActionView.d.ts.map +0 -1
  390. package/lib/views/interfaces/IAdaptiveCardExtensionActionView.js +0 -2
  391. package/lib/views/interfaces/IAdaptiveCardExtensionDataView.d.ts.map +0 -1
  392. package/lib/views/interfaces/IAdaptiveCardExtensionDataView.js +0 -2
  393. package/lib/views/interfaces/INavigationBarProperties.d.ts.map +0 -1
  394. package/lib/views/interfaces/INavigationBarProperties.js +0 -2
  395. package/lib/views/interfaces/IViewNavigator.d.ts.map +0 -1
  396. package/lib/views/interfaces/IViewNavigator.js +0 -2
  397. package/lib/views/navigator/QuickViewNavigator.d.ts.map +0 -1
  398. package/lib/views/navigator/QuickViewNavigator.js +0 -29
  399. package/lib/views/navigator/ViewNavigator.d.ts.map +0 -1
  400. package/lib/views/navigator/ViewNavigator.js +0 -233
  401. package/lib/views/navigator/ViewRegistry.d.ts.map +0 -1
  402. package/lib/views/navigator/ViewRegistry.js +0 -32
  403. package/lib/views/quickView/BaseAdaptiveCardQuickView.d.ts.map +0 -1
  404. package/lib/views/quickView/BaseAdaptiveCardQuickView.js +0 -90
  405. package/lib/views/quickView/BaseQuickView.d.ts.map +0 -1
  406. package/lib/views/quickView/BaseQuickView.js +0 -45
  407. package/lib/views/quickView/BaseWebQuickView.d.ts.map +0 -1
  408. package/lib/views/quickView/BaseWebQuickView.js +0 -64
  409. /package/{lib → lib-dts}/AdaptiveCardExtensionHost.d.ts +0 -0
  410. /package/{lib → lib-dts}/AdaptiveCardExtensionLoader.d.ts +0 -0
  411. /package/{lib → lib-dts}/ac-template/basicL1Template.d.ts +0 -0
  412. /package/{lib → lib-dts}/ac-template/basicL1TemplateSelectAction.d.ts +0 -0
  413. /package/{lib → lib-dts}/ac-template/common/Constants.d.ts +0 -0
  414. /package/{lib → lib-dts}/ac-template/common/CustomElements.d.ts +0 -0
  415. /package/{lib → lib-dts}/ac-template/imageL1Template.d.ts +0 -0
  416. /package/{lib → lib-dts}/ac-template/imageL1TemplateSelectAction.d.ts +0 -0
  417. /package/{lib → lib-dts}/ac-template/index.d.ts +0 -0
  418. /package/{lib → lib-dts}/ac-template/primaryTextL1Template.d.ts +0 -0
  419. /package/{lib → lib-dts}/ac-template/primaryTextL1TemplateSelectAction.d.ts +0 -0
  420. /package/{lib → lib-dts}/ac-template/searchL1Template.d.ts +0 -0
  421. /package/{lib → lib-dts}/ac-template/textInputL1Template.d.ts +0 -0
  422. /package/{lib → lib-dts}/ac-template/util/actionButtonHelper.d.ts +0 -0
  423. /package/{lib → lib-dts}/ac-template/util/getCardRenderParameters.d.ts +0 -0
  424. /package/{lib → lib-dts}/actionShim/AdaptiveCardExtensionActionShim.d.ts +0 -0
  425. /package/{lib → lib-dts}/actionShim/IActionShimProvider.d.ts +0 -0
  426. /package/{lib → lib-dts}/actionShim/getOnBeforeActionArguments.d.ts +0 -0
  427. /package/{lib → lib-dts}/caching/CacheManager.d.ts +0 -0
  428. /package/{lib → lib-dts}/caching/IAdaptiveCardExtensionCacheObject.d.ts +0 -0
  429. /package/{lib → lib-dts}/caching/ICacheSettings.d.ts +0 -0
  430. /package/{lib → lib-dts}/caching/ICachedLoadParameters.d.ts +0 -0
  431. /package/{lib → lib-dts}/caching/cache/ACEMySiteCacheManager.d.ts +0 -0
  432. /package/{lib → lib-dts}/caching/cache/BaseAdaptiveCardExtensionCache.d.ts +0 -0
  433. /package/{lib → lib-dts}/caching/cache/IAdaptiveCardExtensionCache.d.ts +0 -0
  434. /package/{lib → lib-dts}/caching/cache/LocalStorageACECache.d.ts +0 -0
  435. /package/{lib → lib-dts}/common/Flights.d.ts +0 -0
  436. /package/{lib → lib-dts}/common/Killswitches.d.ts +0 -0
  437. /package/{lib → lib-dts}/components/BarChartComponent.d.ts +0 -0
  438. /package/{lib → lib-dts}/components/BaseComponent.d.ts +0 -0
  439. /package/{lib → lib-dts}/components/CardBarComponent.d.ts +0 -0
  440. /package/{lib → lib-dts}/components/CardButtonComponent.d.ts +0 -0
  441. /package/{lib → lib-dts}/components/DataVisualizationComponent.d.ts +0 -0
  442. /package/{lib → lib-dts}/components/ICardButtonBase.d.ts +0 -0
  443. /package/{lib → lib-dts}/components/LineChartComponent.d.ts +0 -0
  444. /package/{lib → lib-dts}/components/PieChartComponent.d.ts +0 -0
  445. /package/{lib → lib-dts}/components/PoweredByComponent.d.ts +0 -0
  446. /package/{lib → lib-dts}/components/PromptsSetComponent.d.ts +0 -0
  447. /package/{lib → lib-dts}/components/SearchBoxComponent.d.ts +0 -0
  448. /package/{lib → lib-dts}/components/SearchFooterComponent.d.ts +0 -0
  449. /package/{lib → lib-dts}/components/TextComponent.d.ts +0 -0
  450. /package/{lib → lib-dts}/components/TextInputComponent.d.ts +0 -0
  451. /package/{lib → lib-dts}/index.d.ts +0 -0
  452. /package/{lib → lib-dts}/interfaces/CardActionType.d.ts +0 -0
  453. /package/{lib → lib-dts}/interfaces/IActionArguments.d.ts +0 -0
  454. /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtension.d.ts +0 -0
  455. /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtensionData.d.ts +0 -0
  456. /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtensionImage.d.ts +0 -0
  457. /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtensionLoadContext.d.ts +0 -0
  458. /package/{lib → lib-dts}/interfaces/IAdaptiveCardExtensionPropertiesMetadata.d.ts +0 -0
  459. /package/{lib → lib-dts}/interfaces/IAdaptiveCardRenderParameters.d.ts +0 -0
  460. /package/{lib → lib-dts}/interfaces/IBaseCardParameters.d.ts +0 -0
  461. /package/{lib → lib-dts}/interfaces/ICardButton.d.ts +0 -0
  462. /package/{lib → lib-dts}/interfaces/ICardRenderParameters.d.ts +0 -0
  463. /package/{lib → lib-dts}/interfaces/IFocusParameters.d.ts +0 -0
  464. /package/{lib → lib-dts}/interfaces/IGetLocationActionTypes.d.ts +0 -0
  465. /package/{lib → lib-dts}/interfaces/IHostContext.d.ts +0 -0
  466. /package/{lib → lib-dts}/interfaces/ILocation.d.ts +0 -0
  467. /package/{lib → lib-dts}/interfaces/INotificationTypes.d.ts +0 -0
  468. /package/{lib → lib-dts}/interfaces/IOnBeforeActionArguments.d.ts +0 -0
  469. /package/{lib → lib-dts}/interfaces/IQuickViewRenderParameters.d.ts +0 -0
  470. /package/{lib → lib-dts}/interfaces/ISPFxAdaptiveCard.d.ts +0 -0
  471. /package/{lib → lib-dts}/interfaces/ISelectMediaActionTypes.d.ts +0 -0
  472. /package/{lib → lib-dts}/interfaces/ISelectionActionTemplateAdaptiveCard.d.ts +0 -0
  473. /package/{lib → lib-dts}/interfaces/IShowLocationActionTypes.d.ts +0 -0
  474. /package/{lib → lib-dts}/interfaces/InternalTypes.d.ts +0 -0
  475. /package/{lib → lib-dts}/isolation/IsolatedAdaptiveCardExtensionService.d.ts +0 -0
  476. /package/{lib → lib-dts}/isolation/RenderArgumentsUtils.d.ts +0 -0
  477. /package/{lib → lib-dts}/isolation/interfaces/IBot.d.ts +0 -0
  478. /package/{lib → lib-dts}/isolation/interfaces/IIsolatedAction.d.ts +0 -0
  479. /package/{lib → lib-dts}/isolation/interfaces/IIsolatedListener.d.ts +0 -0
  480. /package/{lib → lib-dts}/isolation/interfaces/IIsolatedServiceCallbackParameters.d.ts +0 -0
  481. /package/{lib → lib-dts}/isolation/interfaces/ILoadIsolatedAdaptiveCardExtensionParameters.d.ts +0 -0
  482. /package/{lib → lib-dts}/isolation/interfaces/IRenderIsolatedQuickViewParameters.d.ts +0 -0
  483. /package/{lib → lib-dts}/isolation/interfaces/IsolatedAdaptiveCardExtensionApplicationMessageEvent.d.ts +0 -0
  484. /package/{lib → lib-dts}/isolation/interfaces/IsolatedServiceMessageEvent.d.ts +0 -0
  485. /package/{lib → lib-dts}/loc/Strings.resx.d.ts +0 -0
  486. /package/{lib → lib-dts}/test-api/AdaptiveCardExtensionTestWrapper.d.ts +0 -0
  487. /package/{lib → lib-dts}/test-api/MockAdaptiveCardExtensionManifestInstance.d.ts +0 -0
  488. /package/{lib → lib-dts}/test-api/index.d.ts +0 -0
  489. /package/{lib → lib-dts}/utilities/StringHelper.d.ts +0 -0
  490. /package/{lib → lib-dts}/views/base/BaseView.d.ts +0 -0
  491. /package/{lib → lib-dts}/views/card/BaseBasicCardView.d.ts +0 -0
  492. /package/{lib → lib-dts}/views/card/BaseCardView.d.ts +0 -0
  493. /package/{lib → lib-dts}/views/card/BaseComponentsCardView.d.ts +0 -0
  494. /package/{lib → lib-dts}/views/card/BaseImageCardView.d.ts +0 -0
  495. /package/{lib → lib-dts}/views/card/BasePrimaryTextCardView.d.ts +0 -0
  496. /package/{lib → lib-dts}/views/card/BaseTemplateCardView.d.ts +0 -0
  497. /package/{lib → lib-dts}/views/card/DefaultCardView.d.ts +0 -0
  498. /package/{lib → lib-dts}/views/card/parameters/BaseParameters.d.ts +0 -0
  499. /package/{lib → lib-dts}/views/card/parameters/CardViewParametersProcessors.d.ts +0 -0
  500. /package/{lib → lib-dts}/views/card/parameters/DataVisualizationParameters.d.ts +0 -0
  501. /package/{lib → lib-dts}/views/card/parameters/FocusedParameters.d.ts +0 -0
  502. /package/{lib → lib-dts}/views/card/parameters/GenericTemplates.d.ts +0 -0
  503. /package/{lib → lib-dts}/views/interfaces/IAdaptiveCardExtensionActionView.d.ts +0 -0
  504. /package/{lib → lib-dts}/views/interfaces/IAdaptiveCardExtensionDataView.d.ts +0 -0
  505. /package/{lib → lib-dts}/views/interfaces/INavigationBarProperties.d.ts +0 -0
  506. /package/{lib → lib-dts}/views/interfaces/IViewNavigator.d.ts +0 -0
  507. /package/{lib → lib-dts}/views/navigator/QuickViewNavigator.d.ts +0 -0
  508. /package/{lib → lib-dts}/views/navigator/ViewNavigator.d.ts +0 -0
  509. /package/{lib → lib-dts}/views/navigator/ViewRegistry.d.ts +0 -0
  510. /package/{lib → lib-dts}/views/quickView/BaseAdaptiveCardQuickView.d.ts +0 -0
  511. /package/{lib → lib-dts}/views/quickView/BaseQuickView.d.ts +0 -0
  512. /package/{lib → lib-dts}/views/quickView/BaseWebQuickView.d.ts +0 -0
  513. /package/{lib → lib-esm}/loc/Strings.resx.json +0 -0
  514. /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