@mjhls/mjh-framework 1.0.1005-next12-0003 → 1.0.1005-sap-context-test

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 (613) hide show
  1. package/dist/cjs/AD.js +32 -1
  2. package/dist/cjs/AD300x250.js +96 -1
  3. package/dist/cjs/AD300x250x600.js +113 -1
  4. package/dist/cjs/AD728x90.js +110 -1
  5. package/dist/cjs/ADFloatingFooter.js +144 -1
  6. package/dist/cjs/ADFooter.js +53 -1
  7. package/dist/cjs/ADGutter.js +116 -1
  8. package/dist/cjs/ADInfeed-0394f391.js +66 -0
  9. package/dist/cjs/ADSkyscraper.js +118 -1
  10. package/dist/cjs/ADSponsoredResources.js +115 -1
  11. package/dist/cjs/ADWebcast.js +120 -1
  12. package/dist/cjs/ADWelcome.js +167 -1
  13. package/dist/cjs/ADlgInfeed-759969d6.js +60 -0
  14. package/dist/cjs/AccordionPanel.js +94 -1
  15. package/dist/cjs/AdSlot.js +252 -1
  16. package/dist/cjs/AdSlotsProvider.js +184 -1
  17. package/dist/cjs/AlgoliaSearch.js +14466 -1
  18. package/dist/cjs/AlphabeticList.js +135 -1
  19. package/dist/cjs/ArticleCarousel.js +46 -1
  20. package/dist/cjs/ArticleProgramLandingPage.js +188 -1
  21. package/dist/cjs/ArticleSeriesLandingPage.js +163 -1
  22. package/dist/cjs/ArticleSeriesListing.js +316 -1
  23. package/dist/cjs/Auth.js +3653 -1
  24. package/dist/cjs/AuthWrapper.js +1902 -1
  25. package/dist/cjs/AuthorComponent-7d00f6d5.js +96 -0
  26. package/dist/cjs/Beam.js +350 -1
  27. package/dist/cjs/BlockContent-96b44364.js +916 -0
  28. package/dist/cjs/Breadcrumbs.js +107 -1
  29. package/dist/cjs/CMEDeck.js +448 -1
  30. package/dist/cjs/Column1.js +39 -1
  31. package/dist/cjs/Column2.js +74 -1
  32. package/dist/cjs/Column3.js +144 -1
  33. package/dist/cjs/ConferenceArticleCard.js +93 -1
  34. package/dist/cjs/ConferenceBanner-213003ce.js +24 -0
  35. package/dist/cjs/ContentCardPaginated.js +417 -1
  36. package/dist/cjs/DeckContent.js +508 -1
  37. package/dist/cjs/DeckQueue.js +404 -1
  38. package/dist/cjs/DeckQueuePaginated.js +348 -1
  39. package/dist/cjs/Dfp-c313a700.js +104 -0
  40. package/dist/cjs/EventsDeck.js +884 -1
  41. package/dist/cjs/ExternalResources.js +222 -1
  42. package/dist/cjs/Feature.js +129 -1
  43. package/dist/cjs/ForbesHero.js +137 -1
  44. package/dist/cjs/GridContent.js +829 -1
  45. package/dist/cjs/GridContentPaginated.js +704 -1
  46. package/dist/cjs/GridHero.js +147 -1
  47. package/dist/cjs/GroupDeck.js +314 -1
  48. package/dist/cjs/HamMagazine.js +602 -1
  49. package/dist/cjs/Header.js +39 -1
  50. package/dist/cjs/HealthCareProfessionalModal.js +78 -1
  51. package/dist/cjs/Hero.js +48 -1
  52. package/dist/cjs/HighlightenVideo.js +69 -1
  53. package/dist/cjs/HorizontalArticleListing.js +169 -1
  54. package/dist/cjs/HorizontalHero.js +111 -1
  55. package/dist/cjs/ImageSlider-17fdaf3b.js +2813 -0
  56. package/dist/cjs/IssueContentDeck.js +241 -1
  57. package/dist/cjs/IssueDeck.js +268 -1
  58. package/dist/cjs/IssueLanding.js +176 -1
  59. package/dist/cjs/KMTracker.js +27 -1
  60. package/dist/cjs/LeftNav.js +155 -1
  61. package/dist/cjs/MasterDeck.js +556 -1
  62. package/dist/cjs/MasterDeckPaginated.js +469 -1
  63. package/dist/cjs/MediaSeriesCard-eacea66a.js +81 -0
  64. package/dist/cjs/MediaSeriesLanding.js +509 -1
  65. package/dist/cjs/MediaSeriesLandingPaginated.js +534 -1
  66. package/dist/cjs/NavDvm.js +276 -1
  67. package/dist/cjs/NavFooter-880e9d87.js +71 -0
  68. package/dist/cjs/NavMagazine.js +613 -1
  69. package/dist/cjs/NavNative.js +880 -1
  70. package/dist/cjs/OncliveHero.js +79 -1
  71. package/dist/cjs/OncliveLargeHero.js +241 -1
  72. package/dist/cjs/PageFilter.js +72 -1
  73. package/dist/cjs/Pagination-842c556f.js +97 -0
  74. package/dist/cjs/PartnerDetailListing.js +345 -1
  75. package/dist/cjs/PartnerDetailListingPaginated.js +353 -1
  76. package/dist/cjs/PdfDownload.js +28 -1
  77. package/dist/cjs/PixelTracking.js +165 -1
  78. package/dist/cjs/PodcastsLanding.js +236 -1
  79. package/dist/cjs/PopUpModal.js +58 -1
  80. package/dist/cjs/PtceDeck.js +149 -1
  81. package/dist/cjs/PubSection.js +121 -1
  82. package/dist/cjs/PubToc.js +87 -1
  83. package/dist/cjs/PublicationDeck.js +183 -1
  84. package/dist/cjs/PublicationFeature-a989a2b3.js +130 -0
  85. package/dist/cjs/PublicationLanding.js +857 -1
  86. package/dist/cjs/QueueDeckExpanded.js +1541 -1
  87. package/dist/cjs/QueueDeckExpandedPaginated.js +1388 -1
  88. package/dist/cjs/RecentNews.js +91 -1
  89. package/dist/cjs/RelatedContent.js +114 -1
  90. package/dist/cjs/RelatedTopicsDropdown.js +90 -1
  91. package/dist/cjs/RolesDeck.js +94 -1
  92. package/dist/cjs/Schema.js +103 -1
  93. package/dist/cjs/Search.js +66 -1
  94. package/dist/cjs/Segment.js +452 -1
  95. package/dist/cjs/SeriesListingDeck.js +249 -1
  96. package/dist/cjs/SeriesSlider-3d57985d.js +332 -0
  97. package/dist/cjs/SetCookie.js +10 -1
  98. package/dist/cjs/SideFooter.js +150 -1
  99. package/dist/cjs/SocialIcons.js +103 -1
  100. package/dist/cjs/SocialSearchComponent-62bceb87.js +213 -0
  101. package/dist/cjs/SocialShare.js +74 -1
  102. package/dist/cjs/TaxonomyCard.js +257 -1
  103. package/dist/cjs/TaxonomyDescription.js +209 -1
  104. package/dist/cjs/TemplateNormal.js +204 -1
  105. package/dist/cjs/ThumbnailCard.js +59 -1
  106. package/dist/cjs/Tooltip-4cb8849a.js +9454 -0
  107. package/dist/cjs/Ustream.js +156 -1
  108. package/dist/cjs/VerticalHero.js +74 -1
  109. package/dist/cjs/VideoProgramLandingPage.js +264 -1
  110. package/dist/cjs/VideoSeriesCard.js +88 -1
  111. package/dist/cjs/VideoSeriesFilter.js +128 -1
  112. package/dist/cjs/VideoSeriesLandingPage.js +179 -1
  113. package/dist/cjs/VideoSeriesListing.js +423 -1
  114. package/dist/cjs/View.js +2699 -1
  115. package/dist/cjs/YahooHero.js +126 -1
  116. package/dist/cjs/YoutubeGroup.js +371 -1
  117. package/dist/cjs/_commonjsHelpers-06173234.js +25 -0
  118. package/dist/cjs/_is-array-54228b29.js +74 -0
  119. package/dist/cjs/_iter-detect-b1df62f0.js +52 -0
  120. package/dist/cjs/_library-dd23b178.js +5 -0
  121. package/dist/cjs/_object-pie-083f2dd6.js +16 -0
  122. package/dist/cjs/_object-sap-d1978572.js +16 -0
  123. package/dist/cjs/_object-to-array-ce86cae7.js +25 -0
  124. package/dist/cjs/asyncToGenerator-77821af0.js +1395 -0
  125. package/dist/cjs/brightcove-react-player-loader.es-4c7825a1.js +2232 -0
  126. package/dist/cjs/checkSisterSite-b29833b2.js +19 -0
  127. package/dist/cjs/core.get-iterator-method-5643aa10.js +584 -0
  128. package/dist/cjs/debounce-d4a2369b.js +216 -0
  129. package/dist/cjs/define-property-e8404b64.js +20 -0
  130. package/dist/cjs/defineProperty-e0fb52c5.js +73 -0
  131. package/dist/cjs/entities-df1aed86.js +510 -0
  132. package/dist/cjs/eq-5fc26c07.js +79 -0
  133. package/dist/cjs/events-1b438fe7.js +469 -0
  134. package/dist/cjs/extends-7c86182f.js +87 -0
  135. package/dist/cjs/faundadb.js +406 -1
  136. package/dist/cjs/get-5839e5b5.js +920 -0
  137. package/dist/cjs/getContentCategory-f38a4c00.js +11 -0
  138. package/dist/cjs/getKeywords.js +46 -1
  139. package/dist/cjs/getPtceActivities.js +89 -1
  140. package/dist/cjs/getQuery.js +28 -1
  141. package/dist/cjs/getRelatedArticle.js +542 -1
  142. package/dist/cjs/getRootDocGroup.js +62 -1
  143. package/dist/cjs/getSerializers.js +68 -1
  144. package/dist/cjs/getSeriesDetail.js +40 -1
  145. package/dist/cjs/getTargeting-ba942d9a.js +164 -0
  146. package/dist/cjs/getTargeting.js +13 -1
  147. package/dist/cjs/iconBase-be4097c0.js +104 -0
  148. package/dist/cjs/index-187c967e.js +54 -0
  149. package/dist/cjs/index-19fbbcea.js +10788 -0
  150. package/dist/cjs/index-50be6759.js +105 -0
  151. package/dist/cjs/index-65621b6c.js +613 -0
  152. package/dist/cjs/index-bd6c9f56.js +211 -0
  153. package/dist/cjs/index-d2a6ef75.js +1218 -0
  154. package/dist/cjs/index-d48b231c.js +556 -0
  155. package/dist/cjs/index-f86bb269.js +1571 -0
  156. package/dist/cjs/index.es-1ab8dda7.js +445 -0
  157. package/dist/cjs/index.esm-c1e16606.js +13 -0
  158. package/dist/cjs/index.esm-d51c9ac6.js +25 -0
  159. package/dist/cjs/index.esm-d81454e7.js +19 -0
  160. package/dist/cjs/index.esm-f59ef5b4.js +97 -0
  161. package/dist/cjs/index.js +644 -1
  162. package/dist/cjs/inherits-de66ea16.js +188 -0
  163. package/dist/cjs/isSymbol-03abbdf0.js +209 -0
  164. package/dist/cjs/js.cookie-a511c430.js +160 -0
  165. package/dist/cjs/keys-e982b3fa.js +25 -0
  166. package/dist/cjs/lodash-f0783643.js +17195 -0
  167. package/dist/cjs/main-3643d499.js +973 -0
  168. package/dist/cjs/md5-e1ca5797.js +323 -0
  169. package/dist/cjs/moment-aca40de1.js +5669 -0
  170. package/dist/cjs/react-social-icons-2c5c389a.js +616 -0
  171. package/dist/cjs/slicedToArray-067dd3bc.js +95 -0
  172. package/dist/cjs/smoothscroll-99df7f93.js +438 -0
  173. package/dist/cjs/stringify-f7a37a8d.js +17 -0
  174. package/dist/cjs/style-inject.es-dcee06b6.js +30 -1
  175. package/dist/cjs/timeDifferenceCalc.js +39 -1
  176. package/dist/cjs/toConsumableArray-d7797c2b.js +74 -0
  177. package/dist/cjs/toNumber-5e1fac58.js +104 -0
  178. package/dist/cjs/typeof-1358762e.js +33 -0
  179. package/dist/cjs/typeof-567e31ff.js +382 -0
  180. package/dist/cjs/urlFor.js +65 -1
  181. package/dist/cjs/urlForFile-29d3815a.js +24 -0
  182. package/dist/cjs/ustream-api-3819e4aa.js +106 -0
  183. package/dist/cjs/util-93a37fd0.js +587 -0
  184. package/dist/cjs/visibility-sensor-56020df6.js +597 -0
  185. package/dist/cjs/web.dom.iterable-d98303e0.js +50 -0
  186. package/dist/esm/AD.js +26 -1
  187. package/dist/esm/AD300x250.js +90 -1
  188. package/dist/esm/AD300x250x600.js +107 -1
  189. package/dist/esm/AD728x90.js +104 -1
  190. package/dist/esm/ADFloatingFooter.js +138 -1
  191. package/dist/esm/ADFooter.js +47 -1
  192. package/dist/esm/ADGutter.js +110 -1
  193. package/dist/esm/ADInfeed-5765a73a.js +59 -0
  194. package/dist/esm/ADSkyscraper.js +112 -1
  195. package/dist/esm/ADSponsoredResources.js +109 -1
  196. package/dist/esm/ADWebcast.js +114 -1
  197. package/dist/esm/ADWelcome.js +161 -1
  198. package/dist/esm/ADlgInfeed-5e36f317.js +54 -0
  199. package/dist/esm/AccordionPanel.js +87 -1
  200. package/dist/esm/AdSlot.js +245 -1
  201. package/dist/esm/AdSlotsProvider.js +177 -1
  202. package/dist/esm/AlgoliaSearch.js +14459 -1
  203. package/dist/esm/AlphabeticList.js +129 -1
  204. package/dist/esm/ArticleCarousel.js +40 -1
  205. package/dist/esm/ArticleProgramLandingPage.js +182 -1
  206. package/dist/esm/ArticleSeriesLandingPage.js +157 -1
  207. package/dist/esm/ArticleSeriesListing.js +309 -1
  208. package/dist/esm/Auth.js +3632 -1
  209. package/dist/esm/AuthWrapper.js +1896 -1
  210. package/dist/esm/AuthorComponent-11adff02.js +90 -0
  211. package/dist/esm/Beam.js +348 -1
  212. package/dist/esm/BlockContent-1e73bd2c.js +909 -0
  213. package/dist/esm/Breadcrumbs.js +100 -1
  214. package/dist/esm/CMEDeck.js +442 -1
  215. package/dist/esm/Column1.js +28 -1
  216. package/dist/esm/Column2.js +63 -1
  217. package/dist/esm/Column3.js +133 -1
  218. package/dist/esm/ConferenceArticleCard.js +87 -1
  219. package/dist/esm/ConferenceBanner-8792ebd2.js +18 -0
  220. package/dist/esm/ContentCardPaginated.js +406 -1
  221. package/dist/esm/DeckContent.js +498 -1
  222. package/dist/esm/DeckQueue.js +394 -1
  223. package/dist/esm/DeckQueuePaginated.js +337 -1
  224. package/dist/esm/Dfp-102f0beb.js +97 -0
  225. package/dist/esm/EventsDeck.js +871 -1
  226. package/dist/esm/ExternalResources.js +215 -1
  227. package/dist/esm/Feature.js +122 -1
  228. package/dist/esm/ForbesHero.js +131 -1
  229. package/dist/esm/GridContent.js +819 -1
  230. package/dist/esm/GridContentPaginated.js +693 -1
  231. package/dist/esm/GridHero.js +141 -1
  232. package/dist/esm/GroupDeck.js +308 -1
  233. package/dist/esm/HamMagazine.js +589 -1
  234. package/dist/esm/Header.js +29 -1
  235. package/dist/esm/HealthCareProfessionalModal.js +70 -1
  236. package/dist/esm/Hero.js +42 -1
  237. package/dist/esm/HighlightenVideo.js +63 -1
  238. package/dist/esm/HorizontalArticleListing.js +163 -1
  239. package/dist/esm/HorizontalHero.js +105 -1
  240. package/dist/esm/ImageSlider-f84174cb.js +2804 -0
  241. package/dist/esm/IssueContentDeck.js +231 -1
  242. package/dist/esm/IssueDeck.js +258 -1
  243. package/dist/esm/IssueLanding.js +170 -1
  244. package/dist/esm/KMTracker.js +25 -1
  245. package/dist/esm/LeftNav.js +145 -1
  246. package/dist/esm/MasterDeck.js +549 -1
  247. package/dist/esm/MasterDeckPaginated.js +461 -1
  248. package/dist/esm/MediaSeriesCard-f56c8274.js +75 -0
  249. package/dist/esm/MediaSeriesLanding.js +502 -1
  250. package/dist/esm/MediaSeriesLandingPaginated.js +527 -1
  251. package/dist/esm/NavDvm.js +263 -1
  252. package/dist/esm/NavFooter-3272e9cd.js +65 -0
  253. package/dist/esm/NavMagazine.js +600 -1
  254. package/dist/esm/NavNative.js +864 -1
  255. package/dist/esm/OncliveHero.js +73 -1
  256. package/dist/esm/OncliveLargeHero.js +235 -1
  257. package/dist/esm/PageFilter.js +66 -1
  258. package/dist/esm/Pagination-dc30727b.js +90 -0
  259. package/dist/esm/PartnerDetailListing.js +339 -1
  260. package/dist/esm/PartnerDetailListingPaginated.js +347 -1
  261. package/dist/esm/PdfDownload.js +22 -1
  262. package/dist/esm/PixelTracking.js +156 -1
  263. package/dist/esm/PodcastsLanding.js +229 -1
  264. package/dist/esm/PopUpModal.js +51 -1
  265. package/dist/esm/PtceDeck.js +143 -1
  266. package/dist/esm/PubSection.js +115 -1
  267. package/dist/esm/PubToc.js +81 -1
  268. package/dist/esm/PublicationDeck.js +173 -1
  269. package/dist/esm/PublicationFeature-d88e76b9.js +121 -0
  270. package/dist/esm/PublicationLanding.js +847 -1
  271. package/dist/esm/QueueDeckExpanded.js +1535 -1
  272. package/dist/esm/QueueDeckExpandedPaginated.js +1382 -1
  273. package/dist/esm/RecentNews.js +85 -1
  274. package/dist/esm/RelatedContent.js +108 -1
  275. package/dist/esm/RelatedTopicsDropdown.js +82 -1
  276. package/dist/esm/RolesDeck.js +84 -1
  277. package/dist/esm/Schema.js +97 -1
  278. package/dist/esm/Search.js +57 -1
  279. package/dist/esm/Segment.js +450 -1
  280. package/dist/esm/SeriesListingDeck.js +243 -1
  281. package/dist/esm/SeriesSlider-f771e20d.js +326 -0
  282. package/dist/esm/SetCookie.js +8 -1
  283. package/dist/esm/SideFooter.js +144 -1
  284. package/dist/esm/SocialIcons.js +97 -1
  285. package/dist/esm/SocialSearchComponent-165b4ae7.js +204 -0
  286. package/dist/esm/SocialShare.js +67 -1
  287. package/dist/esm/TaxonomyCard.js +247 -1
  288. package/dist/esm/TaxonomyDescription.js +202 -1
  289. package/dist/esm/TemplateNormal.js +197 -1
  290. package/dist/esm/ThumbnailCard.js +52 -1
  291. package/dist/esm/Tooltip-95655b44.js +9445 -0
  292. package/dist/esm/Ustream.js +150 -1
  293. package/dist/esm/VerticalHero.js +68 -1
  294. package/dist/esm/VideoProgramLandingPage.js +255 -1
  295. package/dist/esm/VideoSeriesCard.js +82 -1
  296. package/dist/esm/VideoSeriesFilter.js +122 -1
  297. package/dist/esm/VideoSeriesLandingPage.js +173 -1
  298. package/dist/esm/VideoSeriesListing.js +416 -1
  299. package/dist/esm/View.js +2689 -1
  300. package/dist/esm/YahooHero.js +120 -1
  301. package/dist/esm/YoutubeGroup.js +365 -1
  302. package/dist/esm/_commonjsHelpers-0c4b6f40.js +19 -0
  303. package/dist/esm/_is-array-8d21b9e3.js +71 -0
  304. package/dist/esm/_iter-detect-98db3b07.js +48 -0
  305. package/dist/esm/_library-528f1934.js +3 -0
  306. package/dist/esm/_object-pie-133f504a.js +13 -0
  307. package/dist/esm/_object-sap-7cee6f84.js +14 -0
  308. package/dist/esm/_object-to-array-2300e51b.js +23 -0
  309. package/dist/esm/asyncToGenerator-958ef5fc.js +1387 -0
  310. package/dist/esm/brightcove-react-player-loader.es-57a70a56.js +2226 -0
  311. package/dist/esm/checkSisterSite-baa4fb6b.js +17 -0
  312. package/dist/esm/core.get-iterator-method-ea258bb1.js +547 -0
  313. package/dist/esm/debounce-533d9748.js +214 -0
  314. package/dist/esm/define-property-5f1bda73.js +18 -0
  315. package/dist/esm/defineProperty-23a8f8cd.js +68 -0
  316. package/dist/esm/entities-6d9154b4.js +507 -0
  317. package/dist/esm/eq-bdcbf886.js +76 -0
  318. package/dist/esm/events-6c3a7a63.js +467 -0
  319. package/dist/esm/extends-6d8e3924.js +83 -0
  320. package/dist/esm/faundadb.js +396 -1
  321. package/dist/esm/get-3c308da4.js +918 -0
  322. package/dist/esm/getContentCategory-15dcc413.js +9 -0
  323. package/dist/esm/getKeywords.js +44 -1
  324. package/dist/esm/getPtceActivities.js +87 -1
  325. package/dist/esm/getQuery.js +26 -1
  326. package/dist/esm/getRelatedArticle.js +540 -1
  327. package/dist/esm/getRootDocGroup.js +60 -1
  328. package/dist/esm/getSerializers.js +62 -1
  329. package/dist/esm/getSeriesDetail.js +38 -1
  330. package/dist/esm/getTargeting-9bd28724.js +161 -0
  331. package/dist/esm/getTargeting.js +7 -1
  332. package/dist/esm/iconBase-ccc56b97.js +81 -0
  333. package/dist/esm/index-3f5c03b2.js +553 -0
  334. package/dist/esm/index-5d8b0a9d.js +10767 -0
  335. package/dist/esm/index-755f2cc2.js +605 -0
  336. package/dist/esm/index-79cfd25c.js +1569 -0
  337. package/dist/esm/index-98ca9cec.js +100 -0
  338. package/dist/esm/index-c7e2ac95.js +52 -0
  339. package/dist/esm/index-db3bb315.js +207 -0
  340. package/dist/esm/index-f0fc23eb.js +1209 -0
  341. package/dist/esm/index.es-a6137319.js +439 -0
  342. package/dist/esm/index.esm-07c37a92.js +90 -0
  343. package/dist/esm/index.esm-1bd8a0a8.js +18 -0
  344. package/dist/esm/index.esm-9b042655.js +10 -0
  345. package/dist/esm/index.esm-eb1e8e80.js +14 -0
  346. package/dist/esm/index.js +537 -1
  347. package/dist/esm/inherits-a6ba2ec4.js +179 -0
  348. package/dist/esm/isSymbol-a7e9aafe.js +203 -0
  349. package/dist/esm/js.cookie-6874175c.js +158 -0
  350. package/dist/esm/keys-31dcdb31.js +23 -0
  351. package/dist/esm/lodash-f97fd99a.js +17193 -0
  352. package/dist/esm/main-1894c974.js +961 -0
  353. package/dist/esm/md5-4e42248e.js +321 -0
  354. package/dist/esm/moment-bc12cb97.js +5667 -0
  355. package/dist/esm/react-social-icons-9be47857.js +609 -0
  356. package/dist/esm/slicedToArray-6ebcbfea.js +92 -0
  357. package/dist/esm/smoothscroll-fa4e3f8c.js +436 -0
  358. package/dist/esm/stringify-2b084bee.js +15 -0
  359. package/dist/esm/style-inject.es-1f59c1d0.js +28 -1
  360. package/dist/esm/timeDifferenceCalc.js +37 -1
  361. package/dist/esm/toConsumableArray-f7074d7c.js +71 -0
  362. package/dist/esm/toNumber-5aeba6e7.js +102 -0
  363. package/dist/esm/typeof-2f07d0e8.js +30 -0
  364. package/dist/esm/typeof-e9fc0c5d.js +378 -0
  365. package/dist/esm/urlFor.js +63 -1
  366. package/dist/esm/urlForFile-b69adffc.js +22 -0
  367. package/dist/esm/ustream-api-d3714624.js +104 -0
  368. package/dist/esm/util-8ed16d48.js +585 -0
  369. package/dist/esm/visibility-sensor-72fd8f8b.js +590 -0
  370. package/dist/esm/web.dom.iterable-ab4dea5c.js +48 -0
  371. package/package.json +23 -24
  372. package/dist/cjs/AD-898996a0.js +0 -1
  373. package/dist/cjs/AD300x250-266996c8.js +0 -1
  374. package/dist/cjs/AD300x250x600-f5ccbeef.js +0 -1
  375. package/dist/cjs/AD728x90-cfaa3590.js +0 -1
  376. package/dist/cjs/ADFloatingFooter-6a82d5a0.js +0 -1
  377. package/dist/cjs/ADFooter-86087810.js +0 -1
  378. package/dist/cjs/ADGutter-c2fafa7d.js +0 -1
  379. package/dist/cjs/ADInfeed-f496a8f6.js +0 -1
  380. package/dist/cjs/ADSkyscraper-dcea8c02.js +0 -1
  381. package/dist/cjs/ADSponsoredResources-b3c41d02.js +0 -1
  382. package/dist/cjs/ADWebcast-cd4cb6eb.js +0 -1
  383. package/dist/cjs/ADWelcome-62c95f83.js +0 -1
  384. package/dist/cjs/ADlgInfeed-01f5ef1b.js +0 -1
  385. package/dist/cjs/AccordionPanel-9a3ea5e9.js +0 -1
  386. package/dist/cjs/AdSlot-d541f28d.js +0 -1
  387. package/dist/cjs/AdSlotsProvider-2e4f7f6f.js +0 -1
  388. package/dist/cjs/AlgoliaSearch-8eab2349.js +0 -1
  389. package/dist/cjs/AlphabeticList-a86a341f.js +0 -1
  390. package/dist/cjs/ArticleCarousel-75b7d666.js +0 -1
  391. package/dist/cjs/ArticleProgramLandingPage-c22f8d23.js +0 -1
  392. package/dist/cjs/ArticleSeriesLandingPage-5225aa96.js +0 -1
  393. package/dist/cjs/ArticleSeriesListing-be79214a.js +0 -1
  394. package/dist/cjs/AuthorComponent-91032070.js +0 -1
  395. package/dist/cjs/Breadcrumbs-ad264db7.js +0 -1
  396. package/dist/cjs/CMEDeck-c58e524e.js +0 -1
  397. package/dist/cjs/Column1-9a0e0262.js +0 -1
  398. package/dist/cjs/Column2-739faed9.js +0 -1
  399. package/dist/cjs/Column3-fa7c056f.js +0 -1
  400. package/dist/cjs/ConferenceArticleCard-4f472e4b.js +0 -1
  401. package/dist/cjs/ConferenceBanner-9fb497af.js +0 -1
  402. package/dist/cjs/ContentCard-94a11e61.js +0 -1
  403. package/dist/cjs/Dfp-6d5370e2.js +0 -1
  404. package/dist/cjs/DropdownButton-469c179c.js +0 -6
  405. package/dist/cjs/Dvm-d7766f28.js +0 -1
  406. package/dist/cjs/EventsDeck-6f4dae1e.js +0 -1
  407. package/dist/cjs/ExternalResources-e965dd3d.js +0 -1
  408. package/dist/cjs/Feature-3cf45f11.js +0 -1
  409. package/dist/cjs/ForbesHero-741e751e.js +0 -1
  410. package/dist/cjs/GridContent-ffe6735d.js +0 -1
  411. package/dist/cjs/GridHero-80338231.js +0 -1
  412. package/dist/cjs/GroupDeck-f3b67f3d.js +0 -1
  413. package/dist/cjs/HamburgerNav-ef1d1832.js +0 -1
  414. package/dist/cjs/Header-268a2cda.js +0 -1
  415. package/dist/cjs/Hero-43574b9d.js +0 -1
  416. package/dist/cjs/HighlightenVideo-20edba55.js +0 -1
  417. package/dist/cjs/HorizontalArticleListing-906f5b20.js +0 -1
  418. package/dist/cjs/HorizontalHero-7911527d.js +0 -1
  419. package/dist/cjs/ImageSlider-1b09bc59.js +0 -1
  420. package/dist/cjs/IssueContentDeck-f79e2c82.js +0 -1
  421. package/dist/cjs/IssueDeck-e41a10eb.js +0 -1
  422. package/dist/cjs/IssueLanding-89e0e42f.js +0 -1
  423. package/dist/cjs/KMTracker-4e1de793.js +0 -1
  424. package/dist/cjs/LeftNav-1f40f0cc.js +0 -1
  425. package/dist/cjs/Magazine-93dc6beb.js +0 -1
  426. package/dist/cjs/MasterDeck-65dd366b.js +0 -1
  427. package/dist/cjs/MediaSeriesCard-8ae50064.js +0 -1
  428. package/dist/cjs/Native-d1a75938.js +0 -1
  429. package/dist/cjs/NavFooter-f905aca3.js +0 -1
  430. package/dist/cjs/Normal-1e9c0fa8.js +0 -1
  431. package/dist/cjs/OncliveHero-3fb41e1f.js +0 -1
  432. package/dist/cjs/OncliveLargeHero-c538ea20.js +0 -1
  433. package/dist/cjs/PageFilter-4bb08c20.js +0 -1
  434. package/dist/cjs/Pagination-825e4903.js +0 -1
  435. package/dist/cjs/PartnerDetailListing-f849c242.js +0 -1
  436. package/dist/cjs/PdfDownload-c99142ff.js +0 -1
  437. package/dist/cjs/PopUpModal-7cc1667b.js +0 -1
  438. package/dist/cjs/PubSection-e962964d.js +0 -1
  439. package/dist/cjs/PubToc-e2ff1533.js +0 -1
  440. package/dist/cjs/PublicationDeck-fd0d582f.js +0 -1
  441. package/dist/cjs/PublicationFeature-00d7d119.js +0 -1
  442. package/dist/cjs/PublicationLanding-a8b90432.js +0 -1
  443. package/dist/cjs/Queue-6872841c.js +0 -1
  444. package/dist/cjs/QueueDeckExpanded-b5dd6cda.js +0 -1
  445. package/dist/cjs/RelatedContent-fa1fdaf1.js +0 -1
  446. package/dist/cjs/RelatedTopicsDropdown-4736b927.js +0 -1
  447. package/dist/cjs/RolesDeck-83cbb45e.js +0 -1
  448. package/dist/cjs/Schema-5c66c5cd.js +0 -1
  449. package/dist/cjs/SeriesSlider-72fde209.js +0 -1
  450. package/dist/cjs/SideFooter-2b3625c9.js +0 -1
  451. package/dist/cjs/SocialIcons-425827d3.js +0 -1
  452. package/dist/cjs/SocialNavFooter-8f053a08.js +0 -1
  453. package/dist/cjs/SocialSearchComponent-3dc5405e.js +0 -1
  454. package/dist/cjs/SocialShare-3d7c8abe.js +0 -1
  455. package/dist/cjs/TaxonomyCard-ca56a7b2.js +0 -1
  456. package/dist/cjs/TaxonomyDescription-becc5cc5.js +0 -1
  457. package/dist/cjs/ThumbnailCard-25c9e37b.js +0 -1
  458. package/dist/cjs/Ustream-e85bed96.js +0 -1
  459. package/dist/cjs/VerticalHero-ef71262f.js +0 -1
  460. package/dist/cjs/VideoProgramLandingPage-bcef4cda.js +0 -1
  461. package/dist/cjs/VideoSeriesFilter-c45505be.js +0 -1
  462. package/dist/cjs/VideoSeriesLandingPage-7e199b48.js +0 -1
  463. package/dist/cjs/VideoSeriesListing-0d8ffc18.js +0 -1
  464. package/dist/cjs/YahooHero-5cce225b.js +0 -1
  465. package/dist/cjs/YoutubeGroup-d36b3e49.js +0 -1
  466. package/dist/cjs/_commonjsHelpers-0a7b82d9.js +0 -1
  467. package/dist/cjs/beam-6940aa8c.js +0 -1
  468. package/dist/cjs/checkSisterSite-d2d62375.js +0 -1
  469. package/dist/cjs/defineProperty-3cad0327.js +0 -1
  470. package/dist/cjs/entities-6106638a.js +0 -1
  471. package/dist/cjs/extends-f8003900.js +0 -1
  472. package/dist/cjs/getContentCategory-ee6d9fdf.js +0 -1
  473. package/dist/cjs/getKeywords-5341ea76.js +0 -1
  474. package/dist/cjs/getPrototypeOf-e5dabebb.js +0 -1
  475. package/dist/cjs/getQuery-154617ad.js +0 -1
  476. package/dist/cjs/getRelatedArticle-1008e957.js +0 -1
  477. package/dist/cjs/getSeriesDetail-e2980903.js +0 -1
  478. package/dist/cjs/getTargeting-3b9a1da0.js +0 -1
  479. package/dist/cjs/index-4c0b6033.js +0 -1
  480. package/dist/cjs/index-6e1fba48.js +0 -1
  481. package/dist/cjs/index-83bcf60c.js +0 -1
  482. package/dist/cjs/index-efb74633.js +0 -1
  483. package/dist/cjs/searchForm-2a06a0a6.js +0 -1
  484. package/dist/cjs/segment-lib-1c52764b.js +0 -1
  485. package/dist/cjs/setCookie-e72f573d.js +0 -1
  486. package/dist/cjs/slicedToArray-e6d9072a.js +0 -1
  487. package/dist/cjs/toConsumableArray-bf649f24.js +0 -1
  488. package/dist/cjs/typeof-5f2c4427.js +0 -1
  489. package/dist/cjs/unsupportedIterableToArray-a6f9513d.js +0 -1
  490. package/dist/cjs/urlFor-ca017581.js +0 -1
  491. package/dist/cjs/urlForFile-266cd07c.js +0 -1
  492. package/dist/cjs/ustream-api-05a918f3.js +0 -1
  493. package/dist/esm/AD-52252475.js +0 -1
  494. package/dist/esm/AD300x250-6ba14878.js +0 -1
  495. package/dist/esm/AD300x250x600-371610a9.js +0 -1
  496. package/dist/esm/AD728x90-22304c6a.js +0 -1
  497. package/dist/esm/ADFloatingFooter-57571461.js +0 -1
  498. package/dist/esm/ADFooter-def97764.js +0 -1
  499. package/dist/esm/ADGutter-05ea5a24.js +0 -1
  500. package/dist/esm/ADInfeed-20197eba.js +0 -1
  501. package/dist/esm/ADSkyscraper-d992d7aa.js +0 -1
  502. package/dist/esm/ADSponsoredResources-169c4989.js +0 -1
  503. package/dist/esm/ADWebcast-aa6c2a84.js +0 -1
  504. package/dist/esm/ADWelcome-be877a73.js +0 -1
  505. package/dist/esm/ADlgInfeed-180f8b7e.js +0 -1
  506. package/dist/esm/AccordionPanel-4c89ec1e.js +0 -1
  507. package/dist/esm/AdSlot-7c2daad3.js +0 -1
  508. package/dist/esm/AdSlotsProvider-565c5169.js +0 -1
  509. package/dist/esm/AlgoliaSearch-a4af9d6e.js +0 -1
  510. package/dist/esm/AlphabeticList-fcf0c93c.js +0 -1
  511. package/dist/esm/ArticleCarousel-62e593d2.js +0 -1
  512. package/dist/esm/ArticleProgramLandingPage-0618efa4.js +0 -1
  513. package/dist/esm/ArticleSeriesLandingPage-764a8206.js +0 -1
  514. package/dist/esm/ArticleSeriesListing-017388bd.js +0 -1
  515. package/dist/esm/AuthorComponent-4bb0a577.js +0 -1
  516. package/dist/esm/Breadcrumbs-11913dcf.js +0 -1
  517. package/dist/esm/CMEDeck-d11e05c6.js +0 -1
  518. package/dist/esm/Column1-3304e0a7.js +0 -1
  519. package/dist/esm/Column2-216e1b74.js +0 -1
  520. package/dist/esm/Column3-0799b8d1.js +0 -1
  521. package/dist/esm/ConferenceArticleCard-c8ebc4c5.js +0 -1
  522. package/dist/esm/ConferenceBanner-8a6f3ed9.js +0 -1
  523. package/dist/esm/ContentCard-b326f8e0.js +0 -1
  524. package/dist/esm/Dfp-5935bfb4.js +0 -1
  525. package/dist/esm/DropdownButton-07c4dfae.js +0 -6
  526. package/dist/esm/Dvm-f67220c0.js +0 -1
  527. package/dist/esm/EventsDeck-f0ffda78.js +0 -1
  528. package/dist/esm/ExternalResources-075e250c.js +0 -1
  529. package/dist/esm/Feature-0c2c0b2d.js +0 -1
  530. package/dist/esm/ForbesHero-ec644354.js +0 -1
  531. package/dist/esm/GridContent-99a1bfc4.js +0 -1
  532. package/dist/esm/GridHero-fd6a363f.js +0 -1
  533. package/dist/esm/GroupDeck-c173accb.js +0 -1
  534. package/dist/esm/HamburgerNav-134f2aa6.js +0 -1
  535. package/dist/esm/Header-b0624adc.js +0 -1
  536. package/dist/esm/Hero-37edbb29.js +0 -1
  537. package/dist/esm/HighlightenVideo-5c3fd0fd.js +0 -1
  538. package/dist/esm/HorizontalArticleListing-820bb4f7.js +0 -1
  539. package/dist/esm/HorizontalHero-7576d927.js +0 -1
  540. package/dist/esm/ImageSlider-a0786266.js +0 -1
  541. package/dist/esm/IssueContentDeck-9d771cc2.js +0 -1
  542. package/dist/esm/IssueDeck-787f939c.js +0 -1
  543. package/dist/esm/IssueLanding-0e46e28d.js +0 -1
  544. package/dist/esm/KMTracker-d9e1c288.js +0 -1
  545. package/dist/esm/LeftNav-b4fa0d0b.js +0 -1
  546. package/dist/esm/Magazine-fb80c07a.js +0 -1
  547. package/dist/esm/MasterDeck-5efbeb73.js +0 -1
  548. package/dist/esm/MediaSeriesCard-18ee909f.js +0 -1
  549. package/dist/esm/Native-41cedb31.js +0 -1
  550. package/dist/esm/NavFooter-83d89acd.js +0 -1
  551. package/dist/esm/Normal-28f50540.js +0 -1
  552. package/dist/esm/OncliveHero-525c9d19.js +0 -1
  553. package/dist/esm/OncliveLargeHero-219b4577.js +0 -1
  554. package/dist/esm/PageFilter-7f97f8ed.js +0 -1
  555. package/dist/esm/Pagination-44c3ff7c.js +0 -1
  556. package/dist/esm/PartnerDetailListing-7ec391ac.js +0 -1
  557. package/dist/esm/PdfDownload-eff648d3.js +0 -1
  558. package/dist/esm/PopUpModal-bf7b6151.js +0 -1
  559. package/dist/esm/PubSection-37b37129.js +0 -1
  560. package/dist/esm/PubToc-af66289b.js +0 -1
  561. package/dist/esm/PublicationDeck-cbef1029.js +0 -1
  562. package/dist/esm/PublicationFeature-13838b92.js +0 -1
  563. package/dist/esm/PublicationLanding-3d724d91.js +0 -1
  564. package/dist/esm/Queue-bb3f3625.js +0 -1
  565. package/dist/esm/QueueDeckExpanded-6af47534.js +0 -1
  566. package/dist/esm/RelatedContent-85ad1d8e.js +0 -1
  567. package/dist/esm/RelatedTopicsDropdown-0cf5829a.js +0 -1
  568. package/dist/esm/RolesDeck-6146633e.js +0 -1
  569. package/dist/esm/Schema-e0d1fc48.js +0 -1
  570. package/dist/esm/SeriesSlider-21d0daf6.js +0 -1
  571. package/dist/esm/SideFooter-2f08df74.js +0 -1
  572. package/dist/esm/SocialIcons-c7861c13.js +0 -1
  573. package/dist/esm/SocialNavFooter-66c6cf3c.js +0 -1
  574. package/dist/esm/SocialSearchComponent-a4fa0609.js +0 -1
  575. package/dist/esm/SocialShare-9cc43665.js +0 -1
  576. package/dist/esm/TaxonomyCard-f7ac379f.js +0 -1
  577. package/dist/esm/TaxonomyDescription-32abd442.js +0 -1
  578. package/dist/esm/ThumbnailCard-8377176b.js +0 -1
  579. package/dist/esm/Ustream-2e9965ac.js +0 -1
  580. package/dist/esm/VerticalHero-5719a7c4.js +0 -1
  581. package/dist/esm/VideoProgramLandingPage-9b20c066.js +0 -1
  582. package/dist/esm/VideoSeriesFilter-2ce9ff0e.js +0 -1
  583. package/dist/esm/VideoSeriesLandingPage-1f6b5f71.js +0 -1
  584. package/dist/esm/VideoSeriesListing-72688d44.js +0 -1
  585. package/dist/esm/YahooHero-96f912cb.js +0 -1
  586. package/dist/esm/YoutubeGroup-fdd46eeb.js +0 -1
  587. package/dist/esm/_commonjsHelpers-57e89916.js +0 -1
  588. package/dist/esm/beam-cf274172.js +0 -1
  589. package/dist/esm/checkSisterSite-20e2bf62.js +0 -1
  590. package/dist/esm/defineProperty-9f9de5d0.js +0 -1
  591. package/dist/esm/entities-c5c3079c.js +0 -1
  592. package/dist/esm/extends-464f0b6e.js +0 -1
  593. package/dist/esm/getContentCategory-f99fdf90.js +0 -1
  594. package/dist/esm/getKeywords-2512775a.js +0 -1
  595. package/dist/esm/getPrototypeOf-5b57bbdd.js +0 -1
  596. package/dist/esm/getQuery-bfc0390c.js +0 -1
  597. package/dist/esm/getRelatedArticle-418087a7.js +0 -1
  598. package/dist/esm/getSeriesDetail-aef9680c.js +0 -1
  599. package/dist/esm/getTargeting-6bf24d0e.js +0 -1
  600. package/dist/esm/index-58183fed.js +0 -1
  601. package/dist/esm/index-663f3f10.js +0 -1
  602. package/dist/esm/index-bfecdbef.js +0 -1
  603. package/dist/esm/index-fcd6d5f7.js +0 -1
  604. package/dist/esm/searchForm-3f3f5af6.js +0 -1
  605. package/dist/esm/segment-lib-563b26a6.js +0 -1
  606. package/dist/esm/setCookie-0f2ab6df.js +0 -1
  607. package/dist/esm/slicedToArray-c92cae3a.js +0 -1
  608. package/dist/esm/toConsumableArray-25e5c43c.js +0 -1
  609. package/dist/esm/typeof-a0b2b621.js +0 -1
  610. package/dist/esm/unsupportedIterableToArray-dc74e326.js +0 -1
  611. package/dist/esm/urlFor-b366f69d.js +0 -1
  612. package/dist/esm/urlForFile-272819a6.js +0 -1
  613. package/dist/esm/ustream-api-7998d140.js +0 -1
@@ -0,0 +1,2226 @@
1
+ import React__default from 'react';
2
+ import { a as commonjsGlobal } from './_commonjsHelpers-0c4b6f40.js';
3
+
4
+ var slice = Array.prototype.slice;
5
+
6
+ var domWalk = iterativelyWalk;
7
+
8
+ function iterativelyWalk(nodes, cb) {
9
+ if (!('length' in nodes)) {
10
+ nodes = [nodes];
11
+ }
12
+
13
+ nodes = slice.call(nodes);
14
+
15
+ while(nodes.length) {
16
+ var node = nodes.shift(),
17
+ ret = cb(node);
18
+
19
+ if (ret) {
20
+ return ret
21
+ }
22
+
23
+ if (node.childNodes && node.childNodes.length) {
24
+ nodes = slice.call(node.childNodes).concat(nodes);
25
+ }
26
+ }
27
+ }
28
+
29
+ var domComment = Comment;
30
+
31
+ function Comment(data, owner) {
32
+ if (!(this instanceof Comment)) {
33
+ return new Comment(data, owner)
34
+ }
35
+
36
+ this.data = data;
37
+ this.nodeValue = data;
38
+ this.length = data.length;
39
+ this.ownerDocument = owner || null;
40
+ }
41
+
42
+ Comment.prototype.nodeType = 8;
43
+ Comment.prototype.nodeName = "#comment";
44
+
45
+ Comment.prototype.toString = function _Comment_toString() {
46
+ return "[object Comment]"
47
+ };
48
+
49
+ var domText = DOMText;
50
+
51
+ function DOMText(value, owner) {
52
+ if (!(this instanceof DOMText)) {
53
+ return new DOMText(value)
54
+ }
55
+
56
+ this.data = value || "";
57
+ this.length = this.data.length;
58
+ this.ownerDocument = owner || null;
59
+ }
60
+
61
+ DOMText.prototype.type = "DOMTextNode";
62
+ DOMText.prototype.nodeType = 3;
63
+ DOMText.prototype.nodeName = "#text";
64
+
65
+ DOMText.prototype.toString = function _Text_toString() {
66
+ return this.data
67
+ };
68
+
69
+ DOMText.prototype.replaceData = function replaceData(index, length, value) {
70
+ var current = this.data;
71
+ var left = current.substring(0, index);
72
+ var right = current.substring(index + length, current.length);
73
+ this.data = left + value + right;
74
+ this.length = this.data.length;
75
+ };
76
+
77
+ var dispatchEvent_1 = dispatchEvent;
78
+
79
+ function dispatchEvent(ev) {
80
+ var elem = this;
81
+ var type = ev.type;
82
+
83
+ if (!ev.target) {
84
+ ev.target = elem;
85
+ }
86
+
87
+ if (!elem.listeners) {
88
+ elem.listeners = {};
89
+ }
90
+
91
+ var listeners = elem.listeners[type];
92
+
93
+ if (listeners) {
94
+ return listeners.forEach(function (listener) {
95
+ ev.currentTarget = elem;
96
+ if (typeof listener === 'function') {
97
+ listener(ev);
98
+ } else {
99
+ listener.handleEvent(ev);
100
+ }
101
+ })
102
+ }
103
+
104
+ if (elem.parentNode) {
105
+ elem.parentNode.dispatchEvent(ev);
106
+ }
107
+ }
108
+
109
+ var addEventListener_1 = addEventListener;
110
+
111
+ function addEventListener(type, listener) {
112
+ var elem = this;
113
+
114
+ if (!elem.listeners) {
115
+ elem.listeners = {};
116
+ }
117
+
118
+ if (!elem.listeners[type]) {
119
+ elem.listeners[type] = [];
120
+ }
121
+
122
+ if (elem.listeners[type].indexOf(listener) === -1) {
123
+ elem.listeners[type].push(listener);
124
+ }
125
+ }
126
+
127
+ var removeEventListener_1 = removeEventListener;
128
+
129
+ function removeEventListener(type, listener) {
130
+ var elem = this;
131
+
132
+ if (!elem.listeners) {
133
+ return
134
+ }
135
+
136
+ if (!elem.listeners[type]) {
137
+ return
138
+ }
139
+
140
+ var list = elem.listeners[type];
141
+ var index = list.indexOf(listener);
142
+ if (index !== -1) {
143
+ list.splice(index, 1);
144
+ }
145
+ }
146
+
147
+ var serialize = serializeNode;
148
+
149
+ var voidElements = ["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr"];
150
+
151
+ function serializeNode(node) {
152
+ switch (node.nodeType) {
153
+ case 3:
154
+ return escapeText(node.data)
155
+ case 8:
156
+ return "<!--" + node.data + "-->"
157
+ default:
158
+ return serializeElement(node)
159
+ }
160
+ }
161
+
162
+ function serializeElement(elem) {
163
+ var strings = [];
164
+
165
+ var tagname = elem.tagName;
166
+
167
+ if (elem.namespaceURI === "http://www.w3.org/1999/xhtml") {
168
+ tagname = tagname.toLowerCase();
169
+ }
170
+
171
+ strings.push("<" + tagname + properties(elem) + datasetify(elem));
172
+
173
+ if (voidElements.indexOf(tagname) > -1) {
174
+ strings.push(" />");
175
+ } else {
176
+ strings.push(">");
177
+
178
+ if (elem.childNodes.length) {
179
+ strings.push.apply(strings, elem.childNodes.map(serializeNode));
180
+ } else if (elem.textContent || elem.innerText) {
181
+ strings.push(escapeText(elem.textContent || elem.innerText));
182
+ } else if (elem.innerHTML) {
183
+ strings.push(elem.innerHTML);
184
+ }
185
+
186
+ strings.push("</" + tagname + ">");
187
+ }
188
+
189
+ return strings.join("")
190
+ }
191
+
192
+ function isProperty(elem, key) {
193
+ var type = typeof elem[key];
194
+
195
+ if (key === "style" && Object.keys(elem.style).length > 0) {
196
+ return true
197
+ }
198
+
199
+ return elem.hasOwnProperty(key) &&
200
+ (type === "string" || type === "boolean" || type === "number") &&
201
+ key !== "nodeName" && key !== "className" && key !== "tagName" &&
202
+ key !== "textContent" && key !== "innerText" && key !== "namespaceURI" && key !== "innerHTML"
203
+ }
204
+
205
+ function stylify(styles) {
206
+ if (typeof styles === 'string') return styles
207
+ var attr = "";
208
+ Object.keys(styles).forEach(function (key) {
209
+ var value = styles[key];
210
+ key = key.replace(/[A-Z]/g, function(c) {
211
+ return "-" + c.toLowerCase();
212
+ });
213
+ attr += key + ":" + value + ";";
214
+ });
215
+ return attr
216
+ }
217
+
218
+ function datasetify(elem) {
219
+ var ds = elem.dataset;
220
+ var props = [];
221
+
222
+ for (var key in ds) {
223
+ props.push({ name: "data-" + key, value: ds[key] });
224
+ }
225
+
226
+ return props.length ? stringify(props) : ""
227
+ }
228
+
229
+ function stringify(list) {
230
+ var attributes = [];
231
+ list.forEach(function (tuple) {
232
+ var name = tuple.name;
233
+ var value = tuple.value;
234
+
235
+ if (name === "style") {
236
+ value = stylify(value);
237
+ }
238
+
239
+ attributes.push(name + "=" + "\"" + escapeAttributeValue(value) + "\"");
240
+ });
241
+
242
+ return attributes.length ? " " + attributes.join(" ") : ""
243
+ }
244
+
245
+ function properties(elem) {
246
+ var props = [];
247
+ for (var key in elem) {
248
+ if (isProperty(elem, key)) {
249
+ props.push({ name: key, value: elem[key] });
250
+ }
251
+ }
252
+
253
+ for (var ns in elem._attributes) {
254
+ for (var attribute in elem._attributes[ns]) {
255
+ var prop = elem._attributes[ns][attribute];
256
+ var name = (prop.prefix ? prop.prefix + ":" : "") + attribute;
257
+ props.push({ name: name, value: prop.value });
258
+ }
259
+ }
260
+
261
+ if (elem.className) {
262
+ props.push({ name: "class", value: elem.className });
263
+ }
264
+
265
+ return props.length ? stringify(props) : ""
266
+ }
267
+
268
+ function escapeText(s) {
269
+ var str = '';
270
+
271
+ if (typeof(s) === 'string') {
272
+ str = s;
273
+ } else if (s) {
274
+ str = s.toString();
275
+ }
276
+
277
+ return str
278
+ .replace(/&/g, "&amp;")
279
+ .replace(/</g, "&lt;")
280
+ .replace(/>/g, "&gt;")
281
+ }
282
+
283
+ function escapeAttributeValue(str) {
284
+ return escapeText(str).replace(/"/g, "&quot;")
285
+ }
286
+
287
+ var htmlns = "http://www.w3.org/1999/xhtml";
288
+
289
+ var domElement = DOMElement;
290
+
291
+ function DOMElement(tagName, owner, namespace) {
292
+ if (!(this instanceof DOMElement)) {
293
+ return new DOMElement(tagName)
294
+ }
295
+
296
+ var ns = namespace === undefined ? htmlns : (namespace || null);
297
+
298
+ this.tagName = ns === htmlns ? String(tagName).toUpperCase() : tagName;
299
+ this.nodeName = this.tagName;
300
+ this.className = "";
301
+ this.dataset = {};
302
+ this.childNodes = [];
303
+ this.parentNode = null;
304
+ this.style = {};
305
+ this.ownerDocument = owner || null;
306
+ this.namespaceURI = ns;
307
+ this._attributes = {};
308
+
309
+ if (this.tagName === 'INPUT') {
310
+ this.type = 'text';
311
+ }
312
+ }
313
+
314
+ DOMElement.prototype.type = "DOMElement";
315
+ DOMElement.prototype.nodeType = 1;
316
+
317
+ DOMElement.prototype.appendChild = function _Element_appendChild(child) {
318
+ if (child.parentNode) {
319
+ child.parentNode.removeChild(child);
320
+ }
321
+
322
+ this.childNodes.push(child);
323
+ child.parentNode = this;
324
+
325
+ return child
326
+ };
327
+
328
+ DOMElement.prototype.replaceChild =
329
+ function _Element_replaceChild(elem, needle) {
330
+ // TODO: Throw NotFoundError if needle.parentNode !== this
331
+
332
+ if (elem.parentNode) {
333
+ elem.parentNode.removeChild(elem);
334
+ }
335
+
336
+ var index = this.childNodes.indexOf(needle);
337
+
338
+ needle.parentNode = null;
339
+ this.childNodes[index] = elem;
340
+ elem.parentNode = this;
341
+
342
+ return needle
343
+ };
344
+
345
+ DOMElement.prototype.removeChild = function _Element_removeChild(elem) {
346
+ // TODO: Throw NotFoundError if elem.parentNode !== this
347
+
348
+ var index = this.childNodes.indexOf(elem);
349
+ this.childNodes.splice(index, 1);
350
+
351
+ elem.parentNode = null;
352
+ return elem
353
+ };
354
+
355
+ DOMElement.prototype.insertBefore =
356
+ function _Element_insertBefore(elem, needle) {
357
+ // TODO: Throw NotFoundError if referenceElement is a dom node
358
+ // and parentNode !== this
359
+
360
+ if (elem.parentNode) {
361
+ elem.parentNode.removeChild(elem);
362
+ }
363
+
364
+ var index = needle === null || needle === undefined ?
365
+ -1 :
366
+ this.childNodes.indexOf(needle);
367
+
368
+ if (index > -1) {
369
+ this.childNodes.splice(index, 0, elem);
370
+ } else {
371
+ this.childNodes.push(elem);
372
+ }
373
+
374
+ elem.parentNode = this;
375
+ return elem
376
+ };
377
+
378
+ DOMElement.prototype.setAttributeNS =
379
+ function _Element_setAttributeNS(namespace, name, value) {
380
+ var prefix = null;
381
+ var localName = name;
382
+ var colonPosition = name.indexOf(":");
383
+ if (colonPosition > -1) {
384
+ prefix = name.substr(0, colonPosition);
385
+ localName = name.substr(colonPosition + 1);
386
+ }
387
+ if (this.tagName === 'INPUT' && name === 'type') {
388
+ this.type = value;
389
+ }
390
+ else {
391
+ var attributes = this._attributes[namespace] || (this._attributes[namespace] = {});
392
+ attributes[localName] = {value: value, prefix: prefix};
393
+ }
394
+ };
395
+
396
+ DOMElement.prototype.getAttributeNS =
397
+ function _Element_getAttributeNS(namespace, name) {
398
+ var attributes = this._attributes[namespace];
399
+ var value = attributes && attributes[name] && attributes[name].value;
400
+ if (this.tagName === 'INPUT' && name === 'type') {
401
+ return this.type;
402
+ }
403
+ if (typeof value !== "string") {
404
+ return null
405
+ }
406
+ return value
407
+ };
408
+
409
+ DOMElement.prototype.removeAttributeNS =
410
+ function _Element_removeAttributeNS(namespace, name) {
411
+ var attributes = this._attributes[namespace];
412
+ if (attributes) {
413
+ delete attributes[name];
414
+ }
415
+ };
416
+
417
+ DOMElement.prototype.hasAttributeNS =
418
+ function _Element_hasAttributeNS(namespace, name) {
419
+ var attributes = this._attributes[namespace];
420
+ return !!attributes && name in attributes;
421
+ };
422
+
423
+ DOMElement.prototype.setAttribute = function _Element_setAttribute(name, value) {
424
+ return this.setAttributeNS(null, name, value)
425
+ };
426
+
427
+ DOMElement.prototype.getAttribute = function _Element_getAttribute(name) {
428
+ return this.getAttributeNS(null, name)
429
+ };
430
+
431
+ DOMElement.prototype.removeAttribute = function _Element_removeAttribute(name) {
432
+ return this.removeAttributeNS(null, name)
433
+ };
434
+
435
+ DOMElement.prototype.hasAttribute = function _Element_hasAttribute(name) {
436
+ return this.hasAttributeNS(null, name)
437
+ };
438
+
439
+ DOMElement.prototype.removeEventListener = removeEventListener_1;
440
+ DOMElement.prototype.addEventListener = addEventListener_1;
441
+ DOMElement.prototype.dispatchEvent = dispatchEvent_1;
442
+
443
+ // Un-implemented
444
+ DOMElement.prototype.focus = function _Element_focus() {
445
+ return void 0
446
+ };
447
+
448
+ DOMElement.prototype.toString = function _Element_toString() {
449
+ return serialize(this)
450
+ };
451
+
452
+ DOMElement.prototype.getElementsByClassName = function _Element_getElementsByClassName(classNames) {
453
+ var classes = classNames.split(" ");
454
+ var elems = [];
455
+
456
+ domWalk(this, function (node) {
457
+ if (node.nodeType === 1) {
458
+ var nodeClassName = node.className || "";
459
+ var nodeClasses = nodeClassName.split(" ");
460
+
461
+ if (classes.every(function (item) {
462
+ return nodeClasses.indexOf(item) !== -1
463
+ })) {
464
+ elems.push(node);
465
+ }
466
+ }
467
+ });
468
+
469
+ return elems
470
+ };
471
+
472
+ DOMElement.prototype.getElementsByTagName = function _Element_getElementsByTagName(tagName) {
473
+ tagName = tagName.toLowerCase();
474
+ var elems = [];
475
+
476
+ domWalk(this.childNodes, function (node) {
477
+ if (node.nodeType === 1 && (tagName === '*' || node.tagName.toLowerCase() === tagName)) {
478
+ elems.push(node);
479
+ }
480
+ });
481
+
482
+ return elems
483
+ };
484
+
485
+ DOMElement.prototype.contains = function _Element_contains(element) {
486
+ return domWalk(this, function (node) {
487
+ return element === node
488
+ }) || false
489
+ };
490
+
491
+ var domFragment = DocumentFragment;
492
+
493
+ function DocumentFragment(owner) {
494
+ if (!(this instanceof DocumentFragment)) {
495
+ return new DocumentFragment()
496
+ }
497
+
498
+ this.childNodes = [];
499
+ this.parentNode = null;
500
+ this.ownerDocument = owner || null;
501
+ }
502
+
503
+ DocumentFragment.prototype.type = "DocumentFragment";
504
+ DocumentFragment.prototype.nodeType = 11;
505
+ DocumentFragment.prototype.nodeName = "#document-fragment";
506
+
507
+ DocumentFragment.prototype.appendChild = domElement.prototype.appendChild;
508
+ DocumentFragment.prototype.replaceChild = domElement.prototype.replaceChild;
509
+ DocumentFragment.prototype.removeChild = domElement.prototype.removeChild;
510
+
511
+ DocumentFragment.prototype.toString =
512
+ function _DocumentFragment_toString() {
513
+ return this.childNodes.map(function (node) {
514
+ return String(node)
515
+ }).join("")
516
+ };
517
+
518
+ var event = Event;
519
+
520
+ function Event(family) {}
521
+
522
+ Event.prototype.initEvent = function _Event_initEvent(type, bubbles, cancelable) {
523
+ this.type = type;
524
+ this.bubbles = bubbles;
525
+ this.cancelable = cancelable;
526
+ };
527
+
528
+ Event.prototype.preventDefault = function _Event_preventDefault() {
529
+
530
+ };
531
+
532
+ var document$1 = Document;
533
+
534
+ function Document() {
535
+ if (!(this instanceof Document)) {
536
+ return new Document();
537
+ }
538
+
539
+ this.head = this.createElement("head");
540
+ this.body = this.createElement("body");
541
+ this.documentElement = this.createElement("html");
542
+ this.documentElement.appendChild(this.head);
543
+ this.documentElement.appendChild(this.body);
544
+ this.childNodes = [this.documentElement];
545
+ this.nodeType = 9;
546
+ }
547
+
548
+ var proto = Document.prototype;
549
+ proto.createTextNode = function createTextNode(value) {
550
+ return new domText(value, this)
551
+ };
552
+
553
+ proto.createElementNS = function createElementNS(namespace, tagName) {
554
+ var ns = namespace === null ? null : String(namespace);
555
+ return new domElement(tagName, this, ns)
556
+ };
557
+
558
+ proto.createElement = function createElement(tagName) {
559
+ return new domElement(tagName, this)
560
+ };
561
+
562
+ proto.createDocumentFragment = function createDocumentFragment() {
563
+ return new domFragment(this)
564
+ };
565
+
566
+ proto.createEvent = function createEvent(family) {
567
+ return new event(family)
568
+ };
569
+
570
+ proto.createComment = function createComment(data) {
571
+ return new domComment(data, this)
572
+ };
573
+
574
+ proto.getElementById = function getElementById(id) {
575
+ id = String(id);
576
+
577
+ var result = domWalk(this.childNodes, function (node) {
578
+ if (String(node.id) === id) {
579
+ return node
580
+ }
581
+ });
582
+
583
+ return result || null
584
+ };
585
+
586
+ proto.getElementsByClassName = domElement.prototype.getElementsByClassName;
587
+ proto.getElementsByTagName = domElement.prototype.getElementsByTagName;
588
+ proto.contains = domElement.prototype.contains;
589
+
590
+ proto.removeEventListener = removeEventListener_1;
591
+ proto.addEventListener = addEventListener_1;
592
+ proto.dispatchEvent = dispatchEvent_1;
593
+
594
+ var minDocument = new document$1();
595
+
596
+ var topLevel = typeof commonjsGlobal !== 'undefined' ? commonjsGlobal :
597
+ typeof window !== 'undefined' ? window : {};
598
+
599
+
600
+ var doccy;
601
+
602
+ if (typeof document !== 'undefined') {
603
+ doccy = document;
604
+ } else {
605
+ doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'];
606
+
607
+ if (!doccy) {
608
+ doccy = topLevel['__GLOBAL_DOCUMENT_CACHE@4'] = minDocument;
609
+ }
610
+ }
611
+
612
+ var document_1 = doccy;
613
+
614
+ var win;
615
+
616
+ if (typeof window !== "undefined") {
617
+ win = window;
618
+ } else if (typeof commonjsGlobal !== "undefined") {
619
+ win = commonjsGlobal;
620
+ } else if (typeof self !== "undefined"){
621
+ win = self;
622
+ } else {
623
+ win = {};
624
+ }
625
+
626
+ var window_1 = win;
627
+
628
+ /*! @name @brightcove/react-player-loader @version 1.4.1 @license Apache-2.0 */
629
+
630
+ function _extends() {
631
+ _extends = Object.assign || function (target) {
632
+ for (var i = 1; i < arguments.length; i++) {
633
+ var source = arguments[i];
634
+
635
+ for (var key in source) {
636
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
637
+ target[key] = source[key];
638
+ }
639
+ }
640
+ }
641
+
642
+ return target;
643
+ };
644
+
645
+ return _extends.apply(this, arguments);
646
+ }
647
+
648
+ function _inheritsLoose(subClass, superClass) {
649
+ subClass.prototype = Object.create(superClass.prototype);
650
+ subClass.prototype.constructor = subClass;
651
+ subClass.__proto__ = superClass;
652
+ }
653
+
654
+ function _assertThisInitialized(self) {
655
+ if (self === void 0) {
656
+ throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
657
+ }
658
+
659
+ return self;
660
+ }
661
+
662
+ /*! @name @brightcove/player-loader @version 1.8.0 @license Apache-2.0 */
663
+
664
+ function _extends$1() {
665
+ _extends$1 = Object.assign || function (target) {
666
+ for (var i = 1; i < arguments.length; i++) {
667
+ var source = arguments[i];
668
+
669
+ for (var key in source) {
670
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
671
+ target[key] = source[key];
672
+ }
673
+ }
674
+ }
675
+
676
+ return target;
677
+ };
678
+
679
+ return _extends$1.apply(this, arguments);
680
+ }
681
+
682
+ var version = "1.8.0";
683
+
684
+ /*! @name @brightcove/player-url @version 1.2.0 @license Apache-2.0 */
685
+ var version$1 = "1.2.0";
686
+
687
+ var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) {
688
+ return typeof obj;
689
+ } : function (obj) {
690
+ return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
691
+ };
692
+
693
+ // The parameters that may include JSON.
694
+ var JSON_ALLOWED_PARAMS = ['catalogSearch', 'catalogSequence'];
695
+
696
+ // The parameters that may be set as query string parameters for iframes.
697
+ var IFRAME_ALLOWED_QUERY_PARAMS = ['adConfigId', 'applicationId', 'catalogSearch', 'catalogSequence', 'playlistId', 'playlistVideoId', 'videoId'];
698
+
699
+ /**
700
+ * Gets the value of a parameter and encodes it as a string.
701
+ *
702
+ * For certain keys, JSON is allowed and will be encoded.
703
+ *
704
+ * @private
705
+ * @param {Object} params
706
+ * A parameters object. See README for details.
707
+ *
708
+ * @param {string} key
709
+ * The key in the params object.
710
+ *
711
+ * @return {string|undefined}
712
+ * The encoded value - or `undefined` if none.
713
+ */
714
+ var getQueryParamValue = function getQueryParamValue(params, key) {
715
+
716
+ if (!params || params[key] === undefined) {
717
+ return;
718
+ }
719
+
720
+ // If it's not a string, such as with a catalog search or sequence, we
721
+ // try to encode it as JSON.
722
+ if (typeof params[key] !== 'string' && JSON_ALLOWED_PARAMS.indexOf(key) !== -1) {
723
+ try {
724
+ return encodeURIComponent(JSON.stringify(params[key]));
725
+ } catch (x) {
726
+
727
+ // If it's not a string and we can't encode as JSON, it's ignored entirely.
728
+ return;
729
+ }
730
+ }
731
+
732
+ return encodeURIComponent(String(params[key]).trim()) || undefined;
733
+ };
734
+
735
+ /**
736
+ * In some cases, we need to add query string parameters to an iframe URL.
737
+ *
738
+ * @private
739
+ * @param {Object} params
740
+ * An object of query parameters.
741
+ *
742
+ * @return {string}
743
+ * A query string starting with `?`. If no valid parameters are given,
744
+ * returns an empty string.
745
+ */
746
+ var getQueryString = function getQueryString(params) {
747
+ return Object.keys(params).filter(function (k) {
748
+ return IFRAME_ALLOWED_QUERY_PARAMS.indexOf(k) !== -1;
749
+ }).reduce(function (qs, k) {
750
+ var value = getQueryParamValue(params, k);
751
+
752
+ if (value !== undefined) {
753
+ qs += qs ? '&' : '?';
754
+ qs += encodeURIComponent(k) + '=' + value;
755
+ }
756
+
757
+ return qs;
758
+ }, '');
759
+ };
760
+
761
+ /**
762
+ * Generate a URL to a Brightcove Player.
763
+ *
764
+ * @param {Object} params
765
+ * A set of parameters describing the player URL to create.
766
+ *
767
+ * @param {string} params.accountId
768
+ * A Brightcove account ID.
769
+ *
770
+ * @param {string} [params.playerId="default"]
771
+ * A Brightcove player ID.
772
+ *
773
+ * @param {string} [params.embedId="default"]
774
+ * A Brightcove player embed ID.
775
+ *
776
+ * @param {boolean} [params.iframe=false]
777
+ * Whether to return a URL for an HTML document to be embedded in
778
+ * an iframe.
779
+ *
780
+ * @param {boolean} [params.minified=true]
781
+ * When the `iframe` argument is `false`, this can be used to control
782
+ * whether the minified or unminified JavaScript URL is returned.
783
+ *
784
+ * @param {string} [params.base="https://players.brightcove.net"]
785
+ * A base CDN protocol and hostname. Mainly used for testing.
786
+ *
787
+ * @return {string}
788
+ * A URL to a Brightcove Player.
789
+ */
790
+ var brightcovePlayerUrl = function brightcovePlayerUrl(_ref) {
791
+ var accountId = _ref.accountId,
792
+ _ref$base = _ref.base,
793
+ base = _ref$base === undefined ? 'https://players.brightcove.net' : _ref$base,
794
+ _ref$playerId = _ref.playerId,
795
+ playerId = _ref$playerId === undefined ? 'default' : _ref$playerId,
796
+ _ref$embedId = _ref.embedId,
797
+ embedId = _ref$embedId === undefined ? 'default' : _ref$embedId,
798
+ _ref$iframe = _ref.iframe,
799
+ iframe = _ref$iframe === undefined ? false : _ref$iframe,
800
+ _ref$minified = _ref.minified,
801
+ minified = _ref$minified === undefined ? true : _ref$minified,
802
+ _ref$queryParams = _ref.queryParams,
803
+ queryParams = _ref$queryParams === undefined ? null : _ref$queryParams;
804
+
805
+ var ext = '';
806
+
807
+ if (iframe) {
808
+ ext += 'html';
809
+ } else {
810
+ if (minified) {
811
+ ext += 'min.';
812
+ }
813
+ ext += 'js';
814
+ }
815
+
816
+ if (base.charAt(base.length - 1) === '/') {
817
+ base = base.substring(0, base.length - 1);
818
+ }
819
+
820
+ var qs = '';
821
+
822
+ if (iframe && queryParams && (typeof queryParams === 'undefined' ? 'undefined' : _typeof(queryParams)) === 'object') {
823
+ qs = getQueryString(queryParams);
824
+ }
825
+
826
+ accountId = encodeURIComponent(accountId);
827
+ playerId = encodeURIComponent(playerId);
828
+ embedId = encodeURIComponent(embedId);
829
+
830
+ return base + '/' + accountId + '/' + playerId + '_' + embedId + '/index.' + ext + qs;
831
+ };
832
+
833
+ /**
834
+ * The version of this module.
835
+ *
836
+ * @type {string}
837
+ */
838
+ brightcovePlayerUrl.VERSION = version$1;
839
+
840
+ var DEFAULTS = {
841
+ embedId: 'default',
842
+ embedType: 'in-page',
843
+ playerId: 'default',
844
+ Promise: window_1.Promise,
845
+ refNodeInsert: 'append'
846
+ };
847
+ var DEFAULT_ASPECT_RATIO = '16:9';
848
+ var DEFAULT_IFRAME_HORIZONTAL_PLAYLIST = false;
849
+ var DEFAULT_MAX_WIDTH = '100%';
850
+ var EMBED_TAG_NAME_VIDEO = 'video';
851
+ var EMBED_TAG_NAME_VIDEOJS = 'video-js';
852
+ var EMBED_TYPE_IN_PAGE = 'in-page';
853
+ var EMBED_TYPE_IFRAME = 'iframe';
854
+ var REF_NODE_INSERT_APPEND = 'append';
855
+ var REF_NODE_INSERT_PREPEND = 'prepend';
856
+ var REF_NODE_INSERT_BEFORE = 'before';
857
+ var REF_NODE_INSERT_AFTER = 'after';
858
+ var REF_NODE_INSERT_REPLACE = 'replace';
859
+ var JSON_ALLOWED_ATTRS = ['catalogSearch', 'catalogSequence'];
860
+
861
+ var BASE_URL = 'https://players.brightcove.net/';
862
+ /**
863
+ * Gets the URL to a player on CDN.
864
+ *
865
+ * @private
866
+ * @param {Object} params
867
+ * A parameters object. See README for details.
868
+ *
869
+ * @return {string}
870
+ * A URL.
871
+ */
872
+
873
+ var getUrl = function getUrl(params) {
874
+ if (params.playerUrl) {
875
+ return params.playerUrl;
876
+ }
877
+
878
+ var accountId = params.accountId,
879
+ playerId = params.playerId,
880
+ embedId = params.embedId,
881
+ embedOptions = params.embedOptions;
882
+ var iframe = params.embedType === EMBED_TYPE_IFRAME;
883
+ return brightcovePlayerUrl({
884
+ accountId: accountId,
885
+ playerId: playerId,
886
+ embedId: embedId,
887
+ iframe: iframe,
888
+ base: BASE_URL,
889
+ // The unminified embed option is the exact reverse of the minified option
890
+ // here.
891
+ minified: embedOptions ? !embedOptions.unminified : true,
892
+ // Pass the entire params object as query params. This is safe because
893
+ // @brightcove/player-url only accepts a whitelist of parameters. Anything
894
+ // else will be ignored.
895
+ queryParams: params
896
+ });
897
+ };
898
+ /**
899
+ * Function used to get the base URL - primarily for testing.
900
+ *
901
+ * @private
902
+ * @return {string}
903
+ * The current base URL.
904
+ */
905
+
906
+
907
+ var getBaseUrl = function getBaseUrl() {
908
+ return BASE_URL;
909
+ };
910
+ /**
911
+ * Function used to set the base URL - primarily for testing.
912
+ *
913
+ * @private
914
+ * @param {string} baseUrl
915
+ * A new base URL (instead of Brightcove CDN).
916
+ */
917
+
918
+
919
+ var setBaseUrl = function setBaseUrl(baseUrl) {
920
+ BASE_URL = baseUrl;
921
+ };
922
+
923
+ var urls = {
924
+ getUrl: getUrl,
925
+ getBaseUrl: getBaseUrl,
926
+ setBaseUrl: setBaseUrl
927
+ };
928
+
929
+ /**
930
+ * Is this value an element?
931
+ *
932
+ * @param {Element} el
933
+ * A maybe element.
934
+ *
935
+ * @return {boolean}
936
+ * Whether or not the value is a element.
937
+ */
938
+
939
+ var isEl = function isEl(el) {
940
+ return Boolean(el && el.nodeType === 1);
941
+ };
942
+ /**
943
+ * Is this value an element with a parent node?
944
+ *
945
+ * @param {Element} el
946
+ * A maybe element.
947
+ *
948
+ * @return {boolean}
949
+ * Whether or not the value is a element with a parent node.
950
+ */
951
+
952
+
953
+ var isElInDom = function isElInDom(el) {
954
+ return Boolean(isEl(el) && el.parentNode);
955
+ };
956
+ /**
957
+ * Creates an iframe embed code.
958
+ *
959
+ * @private
960
+ * @param {Object} params
961
+ * A parameters object. See README for details.
962
+ *
963
+ * @return {Element}
964
+ * The DOM element that will ultimately be passed to the `bc()` function.
965
+ */
966
+
967
+
968
+ var createIframeEmbed = function createIframeEmbed(params) {
969
+ var el = document_1.createElement('iframe');
970
+ el.setAttribute('allow', 'autoplay;encrypted-media;fullscreen');
971
+ el.setAttribute('allowfullscreen', 'allowfullscreen');
972
+ el.src = urls.getUrl(params);
973
+ return el;
974
+ };
975
+ /**
976
+ * Creates an in-page embed code.
977
+ *
978
+ * @private
979
+ * @param {Object} params
980
+ * A parameters object. See README for details.
981
+ *
982
+ * @return {Element}
983
+ * The DOM element that will ultimately be passed to the `bc()` function.
984
+ */
985
+
986
+
987
+ var createInPageEmbed = function createInPageEmbed(params) {
988
+ var embedOptions = params.embedOptions; // We DO NOT include the data-account, data-player, or data-embed attributes
989
+ // here because we will be manually initializing the player.
990
+
991
+ var paramsToAttrs = {
992
+ adConfigId: 'data-ad-config-id',
993
+ applicationId: 'data-application-id',
994
+ catalogSearch: 'data-catalog-search',
995
+ catalogSequence: 'data-catalog-sequence',
996
+ deliveryConfigId: 'data-delivery-config-id',
997
+ playlistId: 'data-playlist-id',
998
+ playlistVideoId: 'data-playlist-video-id',
999
+ poster: 'poster',
1000
+ videoId: 'data-video-id'
1001
+ };
1002
+ var tagName = embedOptions && embedOptions.tagName || EMBED_TAG_NAME_VIDEOJS;
1003
+ var el = document_1.createElement(tagName);
1004
+ Object.keys(paramsToAttrs).filter(function (key) {
1005
+ return params[key];
1006
+ }).forEach(function (key) {
1007
+ var value; // If it's not a string, such as with a catalog search or sequence, we
1008
+ // try to encode it as JSON.
1009
+
1010
+ if (typeof params[key] !== 'string' && JSON_ALLOWED_ATTRS.indexOf(key) !== -1) {
1011
+ try {
1012
+ value = JSON.stringify(params[key]); // If it fails, don't set anything.
1013
+ } catch (x) {
1014
+ return;
1015
+ }
1016
+ } else {
1017
+ value = String(params[key]).trim();
1018
+ }
1019
+
1020
+ el.setAttribute(paramsToAttrs[key], value);
1021
+ });
1022
+ el.setAttribute('controls', 'controls');
1023
+ el.classList.add('video-js');
1024
+ return el;
1025
+ };
1026
+ /**
1027
+ * Wraps an element in responsive intrinsic ratio elements.
1028
+ *
1029
+ * @private
1030
+ * @param {string} embedType
1031
+ * The type of the embed.
1032
+ *
1033
+ * @param {Object} embedOptions
1034
+ * Embed options from the params.
1035
+ *
1036
+ * @param {Element} el
1037
+ * The DOM element.
1038
+ *
1039
+ * @return {Element}
1040
+ * A new element (if needed).
1041
+ */
1042
+
1043
+
1044
+ var wrapResponsive = function wrapResponsive(embedType, embedOptions, el) {
1045
+ if (!embedOptions.responsive) {
1046
+ return el;
1047
+ }
1048
+
1049
+ el.style.position = 'absolute';
1050
+ el.style.top = '0px';
1051
+ el.style.right = '0px';
1052
+ el.style.bottom = '0px';
1053
+ el.style.left = '0px';
1054
+ el.style.width = '100%';
1055
+ el.style.height = '100%';
1056
+
1057
+ var responsive = _extends$1({
1058
+ aspectRatio: DEFAULT_ASPECT_RATIO,
1059
+ iframeHorizontalPlaylist: DEFAULT_IFRAME_HORIZONTAL_PLAYLIST,
1060
+ maxWidth: DEFAULT_MAX_WIDTH
1061
+ }, embedOptions.responsive); // This value is validate at a higher level, so we can trust that it's in the
1062
+ // correct format.
1063
+
1064
+
1065
+ var aspectRatio = responsive.aspectRatio.split(':').map(Number);
1066
+ var inner = document_1.createElement('div');
1067
+ var paddingTop = aspectRatio[1] / aspectRatio[0] * 100; // For iframes with a horizontal playlist, the playlist takes up 20% of the
1068
+ // vertical space (if shown); so, adjust the vertical size of the embed to
1069
+ // avoid black bars.
1070
+
1071
+ if (embedType === EMBED_TYPE_IFRAME && responsive.iframeHorizontalPlaylist) {
1072
+ paddingTop *= 1.25;
1073
+ }
1074
+
1075
+ inner.style.paddingTop = paddingTop + '%';
1076
+ inner.appendChild(el);
1077
+ var outer = document_1.createElement('div');
1078
+ outer.style.position = 'relative';
1079
+ outer.style.display = 'block';
1080
+ outer.style.maxWidth = responsive.maxWidth;
1081
+ outer.appendChild(inner);
1082
+ return outer;
1083
+ };
1084
+ /**
1085
+ * Wraps an element in a Picture-in-Picture plugin container.
1086
+ *
1087
+ * @private
1088
+ * @param {Object} embedOptions
1089
+ * Embed options from the params.
1090
+ *
1091
+ * @param {Element} el
1092
+ * The DOM element.
1093
+ *
1094
+ * @return {Element}
1095
+ * A new element (if needed).
1096
+ */
1097
+
1098
+
1099
+ var wrapPip = function wrapPip(embedOptions, el) {
1100
+ if (!embedOptions.pip) {
1101
+ return el;
1102
+ }
1103
+
1104
+ var pip = document_1.createElement('div');
1105
+ pip.classList.add('vjs-pip-container');
1106
+ pip.appendChild(el);
1107
+ return pip;
1108
+ };
1109
+ /**
1110
+ * Wraps a bare embed element with necessary parent elements, depending on
1111
+ * embed options given in params.
1112
+ *
1113
+ * @private
1114
+ * @param {string} embedType
1115
+ * The type of the embed.
1116
+ *
1117
+ * @param {Object} embedOptions
1118
+ * Embed options from the params.
1119
+ *
1120
+ * @param {Element} embed
1121
+ * The embed DOM element.
1122
+ *
1123
+ * @return {Element}
1124
+ * A new element (if needed) or the embed itself.
1125
+ */
1126
+
1127
+
1128
+ var wrapEmbed = function wrapEmbed(embedType, embedOptions, embed) {
1129
+ if (!embedOptions) {
1130
+ return embed;
1131
+ }
1132
+
1133
+ return wrapPip(embedOptions, wrapResponsive(embedType, embedOptions, embed));
1134
+ };
1135
+ /**
1136
+ * Inserts a previously-created embed element into the page based on params.
1137
+ *
1138
+ * @private
1139
+ * @param {Object} params
1140
+ * A parameters object. See README for details.
1141
+ *
1142
+ * @param {Element} embed
1143
+ * The embed DOM element.
1144
+ *
1145
+ * @return {Element}
1146
+ * The embed DOM element.
1147
+ */
1148
+
1149
+
1150
+ var insertEmbed = function insertEmbed(params, embed) {
1151
+ var refNode = params.refNode,
1152
+ refNodeInsert = params.refNodeInsert;
1153
+ var refNodeParent = refNode.parentNode; // Wrap the embed, if needed, in container elements to support various
1154
+ // plugins.
1155
+
1156
+ var wrapped = wrapEmbed(params.embedType, params.embedOptions, embed); // Decide where to insert the wrapped embed.
1157
+
1158
+ if (refNodeInsert === REF_NODE_INSERT_BEFORE) {
1159
+ refNodeParent.insertBefore(wrapped, refNode);
1160
+ } else if (refNodeInsert === REF_NODE_INSERT_AFTER) {
1161
+ refNodeParent.insertBefore(wrapped, refNode.nextElementSibling || null);
1162
+ } else if (refNodeInsert === REF_NODE_INSERT_REPLACE) {
1163
+ refNodeParent.replaceChild(wrapped, refNode);
1164
+ } else if (refNodeInsert === REF_NODE_INSERT_PREPEND) {
1165
+ refNode.insertBefore(wrapped, refNode.firstChild || null); // Append is the default.
1166
+ } else {
1167
+ refNode.appendChild(wrapped);
1168
+ } // If the playlist embed option is provided, we need to add a playlist element
1169
+ // immediately after the embed. This has to happen after the embed is inserted
1170
+ // into the DOM (above).
1171
+
1172
+
1173
+ if (params.embedOptions && params.embedOptions.playlist) {
1174
+ var playlistTagName = params.embedOptions.playlist.legacy ? 'ul' : 'div';
1175
+ var playlist = document_1.createElement(playlistTagName);
1176
+ playlist.classList.add('vjs-playlist');
1177
+ embed.parentNode.insertBefore(playlist, embed.nextElementSibling || null);
1178
+ } // Clean up internal reference to the refNode to avoid potential memory
1179
+ // leaks in case the params get persisted somewhere. We won't need it beyond
1180
+ // this point.
1181
+
1182
+
1183
+ params.refNode = null; // Return the original embed element that can be passed to `bc()`.
1184
+
1185
+ return embed;
1186
+ };
1187
+ /**
1188
+ * Handles `onEmbedCreated` callback invocation.
1189
+ *
1190
+ * @private
1191
+ * @param {Object} params
1192
+ * A parameters object. See README for details.
1193
+ *
1194
+ * @param {Element} embed
1195
+ * The embed DOM element.
1196
+ *
1197
+ * @return {Element}
1198
+ * A possibly-new DOM element.
1199
+ */
1200
+
1201
+
1202
+ var onEmbedCreated = function onEmbedCreated(params, embed) {
1203
+ if (typeof params.onEmbedCreated !== 'function') {
1204
+ return embed;
1205
+ }
1206
+
1207
+ var result = params.onEmbedCreated(embed);
1208
+
1209
+ if (isEl(result)) {
1210
+ return result;
1211
+ }
1212
+
1213
+ return embed;
1214
+ };
1215
+ /**
1216
+ * Creates an embed code of the appropriate type, runs any customizations
1217
+ * necessary, and inserts it into the DOM.
1218
+ *
1219
+ * @param {Object} params
1220
+ * A parameters object. See README for details.
1221
+ *
1222
+ * @return {Element}
1223
+ * The DOM element that will ultimately be passed to the `bc()`
1224
+ * function. Even when customized or wrapped, the return value will be
1225
+ * the target element.
1226
+ */
1227
+
1228
+
1229
+ var createEmbed = function createEmbed(params) {
1230
+ var embed = params.embedType === EMBED_TYPE_IFRAME ? createIframeEmbed(params) : createInPageEmbed(params);
1231
+ return insertEmbed(params, onEmbedCreated(params, embed));
1232
+ };
1233
+
1234
+ //
1235
+ // The keys follow the format "accountId_playerId_embedId" where accountId is
1236
+ // optional and defaults to "*". This happens when we detect pre-existing
1237
+ // player globals.
1238
+
1239
+ var actualCache = new window_1.Map();
1240
+ /**
1241
+ * Get the cache key given some properties.
1242
+ *
1243
+ * @private
1244
+ * @param {Object} props
1245
+ * Properties describing the player record to cache.
1246
+ *
1247
+ * @param {string} props.playerId
1248
+ * A player ID.
1249
+ *
1250
+ * @param {string} props.embedId
1251
+ * An embed ID.
1252
+ *
1253
+ * @param {string} [props.accountId="*"]
1254
+ * An optional account ID. This is optional because when we search for
1255
+ * pre-existing players to avoid downloads, we will not necessarily
1256
+ * know the account ID.
1257
+ *
1258
+ * @return {string}
1259
+ * A key to be used in the script cache.
1260
+ */
1261
+
1262
+ var key = function key(_ref) {
1263
+ var accountId = _ref.accountId,
1264
+ playerId = _ref.playerId,
1265
+ embedId = _ref.embedId;
1266
+ return (accountId || '*') + "_" + playerId + "_" + embedId;
1267
+ };
1268
+ /**
1269
+ * Add an entry to the script cache.
1270
+ *
1271
+ * @private
1272
+ * @param {Object} props
1273
+ * Properties describing the player record to cache.
1274
+ *
1275
+ * @param {string} props.playerId
1276
+ * A player ID.
1277
+ *
1278
+ * @param {string} props.embedId
1279
+ * An embed ID.
1280
+ *
1281
+ * @param {string} [props.accountId="*"]
1282
+ * An optional account ID. This is optional because when we search for
1283
+ * pre-existing players to avoid downloads, we will not necessarily
1284
+ * know the account ID. If not given, we assume that no script was
1285
+ * downloaded for this player.
1286
+ */
1287
+
1288
+
1289
+ var store = function store(props) {
1290
+ actualCache.set(key(props), props.accountId ? urls.getUrl(props) : '');
1291
+ };
1292
+ /**
1293
+ * Checks if the script cache has an entry.
1294
+ *
1295
+ * @private
1296
+ * @param {Object} props
1297
+ * Properties describing the player record to cache.
1298
+ *
1299
+ * @param {string} props.playerId
1300
+ * A player ID.
1301
+ *
1302
+ * @param {string} props.embedId
1303
+ * An embed ID.
1304
+ *
1305
+ * @param {string} [props.accountId="*"]
1306
+ * An optional account ID. This is optional because when we search for
1307
+ * pre-existing players to avoid downloads, we will not necessarily
1308
+ * know the account ID.
1309
+ *
1310
+ * @return {boolean}
1311
+ * Will be `true` if there is a matching cache entry.
1312
+ */
1313
+
1314
+
1315
+ var has = function has(props) {
1316
+ return actualCache.has(key(props));
1317
+ };
1318
+ /**
1319
+ * Gets a cache entry.
1320
+ *
1321
+ * @private
1322
+ * @param {Object} props
1323
+ * Properties describing the player record to cache.
1324
+ *
1325
+ * @param {string} props.playerId
1326
+ * A player ID.
1327
+ *
1328
+ * @param {string} props.embedId
1329
+ * An embed ID.
1330
+ *
1331
+ * @param {string} [props.accountId="*"]
1332
+ * An optional account ID. This is optional because when we search for
1333
+ * pre-existing players to avoid downloads, we will not necessarily
1334
+ * know the account ID.
1335
+ *
1336
+ * @return {string}
1337
+ * A cache entry - a URL or empty string.
1338
+ *
1339
+ */
1340
+
1341
+
1342
+ var get = function get(props) {
1343
+ return actualCache.get(key(props));
1344
+ };
1345
+ /**
1346
+ * Clears the cache.
1347
+ */
1348
+
1349
+
1350
+ var clear = function clear() {
1351
+ actualCache.clear();
1352
+ };
1353
+ /**
1354
+ * Iterates over the cache.
1355
+ *
1356
+ * @param {Function} fn
1357
+ * A callback function that will be called with a value and a key
1358
+ * for each item in the cache.
1359
+ */
1360
+
1361
+
1362
+ var forEach = function forEach(fn) {
1363
+ actualCache.forEach(fn);
1364
+ };
1365
+
1366
+ var playerScriptCache = {
1367
+ clear: clear,
1368
+ forEach: forEach,
1369
+ get: get,
1370
+ has: has,
1371
+ key: key,
1372
+ store: store
1373
+ };
1374
+
1375
+ var REGEX_PLAYER_EMBED = /^([A-Za-z0-9]+)_([A-Za-z0-9]+)$/;
1376
+ /**
1377
+ * Gets an array of current per-player/per-embed `bc` globals that are
1378
+ * attached to the `bc` global (e.g. `bc.abc123xyz_default`).
1379
+ *
1380
+ * If `bc` is not defined, returns an empty array.
1381
+ *
1382
+ * @private
1383
+ * @return {string[]}
1384
+ * An array of keys.
1385
+ */
1386
+
1387
+ var getBcGlobalKeys = function getBcGlobalKeys() {
1388
+ return window_1.bc ? Object.keys(window_1.bc).filter(function (k) {
1389
+ return REGEX_PLAYER_EMBED.test(k);
1390
+ }) : [];
1391
+ };
1392
+ /**
1393
+ * Gets known global object keys that Brightcove Players may create.
1394
+ *
1395
+ * @private
1396
+ * @return {string[]}
1397
+ * An array of global variables that were added during testing.
1398
+ */
1399
+
1400
+
1401
+ var getGlobalKeys = function getGlobalKeys() {
1402
+ return Object.keys(window_1).filter(function (k) {
1403
+ return /^videojs/i.test(k) || /^(bc)$/.test(k);
1404
+ });
1405
+ };
1406
+ /**
1407
+ * Dispose all players from a copy of Video.js.
1408
+ *
1409
+ * @param {Function} videojs
1410
+ * A copy of Video.js.
1411
+ */
1412
+
1413
+
1414
+ var disposeAll = function disposeAll(videojs) {
1415
+ if (!videojs) {
1416
+ return;
1417
+ }
1418
+
1419
+ Object.keys(videojs.players).forEach(function (k) {
1420
+ var p = videojs.players[k];
1421
+
1422
+ if (p) {
1423
+ p.dispose();
1424
+ }
1425
+ });
1426
+ };
1427
+ /**
1428
+ * Resets environment state.
1429
+ *
1430
+ * This will dispose ALL Video.js players on the page and remove ALL `bc` and
1431
+ * `videojs` globals it finds.
1432
+ */
1433
+
1434
+
1435
+ var reset = function reset() {
1436
+ // Remove all script elements from the DOM.
1437
+ playerScriptCache.forEach(function (value, key) {
1438
+ // If no script URL is associated, skip it.
1439
+ if (!value) {
1440
+ return;
1441
+ } // Find all script elements and remove them.
1442
+
1443
+
1444
+ Array.prototype.slice.call(document_1.querySelectorAll("script[src=\"" + value + "\"]")).forEach(function (el) {
1445
+ return el.parentNode.removeChild(el);
1446
+ });
1447
+ }); // Clear the internal cache that have been downloaded.
1448
+
1449
+ playerScriptCache.clear(); // Dispose any remaining players from the `videojs` global.
1450
+
1451
+ disposeAll(window_1.videojs); // There may be other `videojs` instances lurking in the bowels of the
1452
+ // `bc` global. This should eliminate any of those.
1453
+
1454
+ getBcGlobalKeys().forEach(function (k) {
1455
+ return disposeAll(window_1.bc[k].videojs);
1456
+ }); // Delete any global object keys that were created.
1457
+
1458
+ getGlobalKeys().forEach(function (k) {
1459
+ delete window_1[k];
1460
+ });
1461
+ };
1462
+ /**
1463
+ * At runtime, populate the cache with pre-detected players. This allows
1464
+ * people who have bundled their player or included a script tag before this
1465
+ * runs to not have to re-download players.
1466
+ */
1467
+
1468
+
1469
+ var detectPlayers = function detectPlayers() {
1470
+ getBcGlobalKeys().forEach(function (k) {
1471
+ var matches = k.match(REGEX_PLAYER_EMBED);
1472
+ var props = {
1473
+ playerId: matches[1],
1474
+ embedId: matches[2]
1475
+ };
1476
+
1477
+ if (!playerScriptCache.has(props)) {
1478
+ playerScriptCache.store(props);
1479
+ }
1480
+ });
1481
+ };
1482
+
1483
+ var env = {
1484
+ detectPlayers: detectPlayers,
1485
+ reset: reset
1486
+ };
1487
+
1488
+ env.detectPlayers();
1489
+ /**
1490
+ * Is this value a function?
1491
+ *
1492
+ * @private
1493
+ * @param {Function} fn
1494
+ * A maybe function.
1495
+ *
1496
+ * @return {boolean}
1497
+ * Whether or not the value is a function.
1498
+ */
1499
+
1500
+ var isFn = function isFn(fn) {
1501
+ return typeof fn === 'function';
1502
+ };
1503
+ /**
1504
+ * Checks whether an embedType parameter is valid.
1505
+ *
1506
+ * @private
1507
+ * @param {string} embedType
1508
+ * The value to test.
1509
+ *
1510
+ * @return {boolean}
1511
+ * Whether the value is valid.
1512
+ */
1513
+
1514
+
1515
+ var isValidEmbedType = function isValidEmbedType(embedType) {
1516
+ return embedType === EMBED_TYPE_IN_PAGE || embedType === EMBED_TYPE_IFRAME;
1517
+ };
1518
+ /**
1519
+ * Checks whether an embedOptions.tagName parameter is valid.
1520
+ *
1521
+ * @private
1522
+ * @param {string} tagName
1523
+ * The value to test.
1524
+ *
1525
+ * @return {boolean}
1526
+ * Whether the value is valid.
1527
+ */
1528
+
1529
+
1530
+ var isValidTagName = function isValidTagName(tagName) {
1531
+ return tagName === EMBED_TAG_NAME_VIDEOJS || tagName === EMBED_TAG_NAME_VIDEO;
1532
+ };
1533
+ /**
1534
+ * Checks whether a refNodeInsert parameter is valid.
1535
+ *
1536
+ * @private
1537
+ * @param {string} refNodeInsert
1538
+ * The value to test.
1539
+ *
1540
+ * @return {boolean}
1541
+ * Whether the value is valid.
1542
+ */
1543
+
1544
+
1545
+ var isValidRootInsert = function isValidRootInsert(refNodeInsert) {
1546
+ return refNodeInsert === REF_NODE_INSERT_APPEND || refNodeInsert === REF_NODE_INSERT_PREPEND || refNodeInsert === REF_NODE_INSERT_BEFORE || refNodeInsert === REF_NODE_INSERT_AFTER || refNodeInsert === REF_NODE_INSERT_REPLACE;
1547
+ };
1548
+ /**
1549
+ * Checks parameters and throws an error on validation problems.
1550
+ *
1551
+ * @private
1552
+ * @param {Object} params
1553
+ * A parameters object. See README for details.
1554
+ *
1555
+ * @throws {Error} If accountId is missing.
1556
+ * @throws {Error} If refNode is missing or invalid.
1557
+ * @throws {Error} If embedType is missing or invalid.
1558
+ * @throws {Error} If attempting to use an iframe embed with options.
1559
+ * @throws {Error} If attempting to use embedOptions.responsiveIframe with a
1560
+ * non-iframe embed.
1561
+ * @throws {Error} If refNodeInsert is missing or invalid.
1562
+ */
1563
+
1564
+
1565
+ var checkParams = function checkParams(params) {
1566
+ var accountId = params.accountId,
1567
+ embedOptions = params.embedOptions,
1568
+ embedType = params.embedType,
1569
+ options = params.options,
1570
+ refNode = params.refNode,
1571
+ refNodeInsert = params.refNodeInsert;
1572
+
1573
+ if (!accountId) {
1574
+ throw new Error('accountId is required');
1575
+ } else if (!isElInDom(refNode)) {
1576
+ throw new Error('refNode must resolve to a node attached to the DOM');
1577
+ } else if (!isValidEmbedType(embedType)) {
1578
+ throw new Error('embedType is missing or invalid');
1579
+ } else if (embedType === EMBED_TYPE_IFRAME && options) {
1580
+ throw new Error('cannot use options with an iframe embed');
1581
+ } else if (embedOptions && embedOptions.tagName !== undefined && !isValidTagName(embedOptions.tagName)) {
1582
+ throw new Error("embedOptions.tagName is invalid (value: \"" + embedOptions.tagName + "\")");
1583
+ } else if (embedOptions && embedOptions.responsive && embedOptions.responsive.aspectRatio && !/^\d+\:\d+$/.test(embedOptions.responsive.aspectRatio)) {
1584
+ throw new Error("embedOptions.responsive.aspectRatio must be in the \"n:n\" format (value: \"" + embedOptions.responsive.aspectRatio + "\")");
1585
+ } else if (!isValidRootInsert(refNodeInsert)) {
1586
+ throw new Error('refNodeInsert is missing or invalid');
1587
+ }
1588
+ };
1589
+ /**
1590
+ * Normalizes a `refNode` param to an element - or `null`.
1591
+ *
1592
+ * @private
1593
+ * @param {Element|string} refNode
1594
+ * The value of a `refNode` param.
1595
+ *
1596
+ * @return {Element|null}
1597
+ * A DOM element or `null` if the `refNode` was given as a string and
1598
+ * did not match an element.
1599
+ */
1600
+
1601
+
1602
+ var resolveRefNode = function resolveRefNode(refNode) {
1603
+ if (isElInDom(refNode)) {
1604
+ return refNode;
1605
+ }
1606
+
1607
+ if (typeof refNode === 'string') {
1608
+ return document_1.querySelector(refNode);
1609
+ }
1610
+
1611
+ return null;
1612
+ };
1613
+ /**
1614
+ * Initializes a player and returns it.
1615
+ *
1616
+ * @private
1617
+ * @param {Object} params
1618
+ * A parameters object. See README for details.
1619
+ *
1620
+ * @param {Element} embed
1621
+ * An element that will be passed to the `bc()` function.
1622
+ *
1623
+ * @param {Function} resolve
1624
+ * A function to call if a player is successfully initialized.
1625
+ *
1626
+ * @param {Function} reject
1627
+ * A function to call if a player fails to be initialized.
1628
+ *
1629
+ * @return {Object}
1630
+ * A success object whose `ref` is a player.
1631
+ */
1632
+
1633
+
1634
+ var initPlayer = function initPlayer(params, embed, resolve, reject) {
1635
+ var embedId = params.embedId,
1636
+ playerId = params.playerId;
1637
+ var bc = window_1.bc[playerId + "_" + embedId] || window_1.bc;
1638
+
1639
+ if (!bc) {
1640
+ return reject(new Error("missing bc function for " + playerId));
1641
+ }
1642
+
1643
+ playerScriptCache.store(params);
1644
+ var player;
1645
+
1646
+ try {
1647
+ player = bc(embed, params.options); // Add a PLAYER_LOADER property to bcinfo to indicate this player was
1648
+ // loaded via that mechanism.
1649
+
1650
+ if (player.bcinfo) {
1651
+ player.bcinfo.PLAYER_LOADER = true;
1652
+ }
1653
+ } catch (x) {
1654
+ var message = 'Could not initialize the Brightcove Player.'; // Update the rejection message based on known conditions that can cause it.
1655
+
1656
+ if (params.embedOptions.tagName === EMBED_TAG_NAME_VIDEOJS) {
1657
+ message += ' You are attempting to embed using a "video-js" element.' + ' Please ensure that your Player is v6.11.0 or newer in order to' + ' support this embed type. Alternatively, pass `"video"` for' + ' `embedOptions.tagName`.';
1658
+ }
1659
+
1660
+ return reject(new Error(message));
1661
+ }
1662
+
1663
+ resolve({
1664
+ type: EMBED_TYPE_IN_PAGE,
1665
+ ref: player
1666
+ });
1667
+ };
1668
+ /**
1669
+ * Loads a player from CDN and embeds it.
1670
+ *
1671
+ * @private
1672
+ * @param {Object} params
1673
+ * A parameters object. See README for details.
1674
+ *
1675
+ * @param {Function} resolve
1676
+ * A function to call if a player is successfully initialized.
1677
+ *
1678
+ * @param {Function} reject
1679
+ * A function to call if a player fails to be initialized.
1680
+ */
1681
+
1682
+
1683
+ var loadPlayer = function loadPlayer(params, resolve, reject) {
1684
+ params.refNode = resolveRefNode(params.refNode);
1685
+ checkParams(params);
1686
+ var refNode = params.refNode,
1687
+ refNodeInsert = params.refNodeInsert; // Store a reference to the refNode parent. When we use the replace method,
1688
+ // we'll need it as the location to store the script element.
1689
+
1690
+ var refNodeParent = refNode.parentNode;
1691
+ var embed = createEmbed(params); // If this is an iframe, all we need to do is create the embed code and
1692
+ // inject it. Because there is no reliable way to hook into an iframe from
1693
+ // the parent page, we simply resolve immediately upon creating the embed.
1694
+
1695
+ if (params.embedType === EMBED_TYPE_IFRAME) {
1696
+ resolve({
1697
+ type: EMBED_TYPE_IFRAME,
1698
+ ref: embed
1699
+ });
1700
+ return;
1701
+ } // If we've already downloaded this script or detected a matching global, we
1702
+ // should have the proper `bc` global and can bypass the script creation
1703
+ // process.
1704
+
1705
+
1706
+ if (playerScriptCache.has(params)) {
1707
+ return initPlayer(params, embed, resolve, reject);
1708
+ }
1709
+
1710
+ var script = document_1.createElement('script');
1711
+
1712
+ script.onload = function () {
1713
+ return initPlayer(params, embed, resolve, reject);
1714
+ };
1715
+
1716
+ script.onerror = function () {
1717
+ reject(new Error('player script could not be downloaded'));
1718
+ };
1719
+
1720
+ script.async = true;
1721
+ script.charset = 'utf-8';
1722
+ script.src = urls.getUrl(params);
1723
+
1724
+ if (refNodeInsert === REF_NODE_INSERT_REPLACE) {
1725
+ refNodeParent.appendChild(script);
1726
+ } else {
1727
+ refNode.appendChild(script);
1728
+ }
1729
+ };
1730
+ /**
1731
+ * A function for asynchronously loading a Brightcove Player into a web page.
1732
+ *
1733
+ * @param {Object} parameters
1734
+ * A parameters object. See README for details.
1735
+ *
1736
+ * @return {Promise|undefined}
1737
+ * A Promise, if possible.
1738
+ */
1739
+
1740
+
1741
+ var brightcovePlayerLoader = function brightcovePlayerLoader(parameters) {
1742
+ var params = _extends$1({}, DEFAULTS, parameters);
1743
+
1744
+ var Promise = params.Promise,
1745
+ onSuccess = params.onSuccess,
1746
+ onFailure = params.onFailure; // When Promise is not available or any success/failure callback is given,
1747
+ // do not attempt to use Promises.
1748
+
1749
+ if (!isFn(Promise) || isFn(onSuccess) || isFn(onFailure)) {
1750
+ return loadPlayer(params, isFn(onSuccess) ? onSuccess : function () {}, isFn(onFailure) ? onFailure : function (err) {
1751
+ throw err;
1752
+ });
1753
+ } // Promises are supported, use 'em.
1754
+
1755
+
1756
+ return new Promise(function (resolve, reject) {
1757
+ return loadPlayer(params, resolve, reject);
1758
+ });
1759
+ };
1760
+ /**
1761
+ * Expose a non-writable, non-configurable property on the
1762
+ * `brightcovePlayerLoader` function.
1763
+ *
1764
+ * @private
1765
+ * @param {string} key
1766
+ * The property key.
1767
+ *
1768
+ * @param {string|Function} value
1769
+ * The value.
1770
+ */
1771
+
1772
+
1773
+ var expose = function expose(key, value) {
1774
+ Object.defineProperty(brightcovePlayerLoader, key, {
1775
+ configurable: false,
1776
+ enumerable: true,
1777
+ value: value,
1778
+ writable: false
1779
+ });
1780
+ };
1781
+ /**
1782
+ * Get the base URL for players. By default, this will be the Brightcove CDN.
1783
+ *
1784
+ * @return {string}
1785
+ * The current base URL.
1786
+ */
1787
+
1788
+
1789
+ expose('getBaseUrl', function () {
1790
+ return urls.getBaseUrl();
1791
+ });
1792
+ /**
1793
+ * Set the base URL for players. By default, this will be the Brightcove CDN,
1794
+ * but can be overridden with this function.
1795
+ *
1796
+ * @param {string} baseUrl
1797
+ * A new base URL (instead of Brightcove CDN).
1798
+ */
1799
+
1800
+ expose('setBaseUrl', function (baseUrl) {
1801
+ urls.setBaseUrl(baseUrl);
1802
+ });
1803
+ /**
1804
+ * Get the URL for a player.
1805
+ */
1806
+
1807
+ expose('getUrl', function (options) {
1808
+ return urls.getUrl(options);
1809
+ });
1810
+ /**
1811
+ * Completely resets global state.
1812
+ *
1813
+ * This will dispose ALL Video.js players on the page and remove ALL `bc` and
1814
+ * `videojs` globals it finds.
1815
+ */
1816
+
1817
+ expose('reset', function () {
1818
+ return env.reset();
1819
+ }); // Define some read-only constants on the exported function.
1820
+
1821
+ [['EMBED_TAG_NAME_VIDEO', EMBED_TAG_NAME_VIDEO], ['EMBED_TAG_NAME_VIDEOJS', EMBED_TAG_NAME_VIDEOJS], ['EMBED_TYPE_IN_PAGE', EMBED_TYPE_IN_PAGE], ['EMBED_TYPE_IFRAME', EMBED_TYPE_IFRAME], ['REF_NODE_INSERT_APPEND', REF_NODE_INSERT_APPEND], ['REF_NODE_INSERT_PREPEND', REF_NODE_INSERT_PREPEND], ['REF_NODE_INSERT_BEFORE', REF_NODE_INSERT_BEFORE], ['REF_NODE_INSERT_AFTER', REF_NODE_INSERT_AFTER], ['REF_NODE_INSERT_REPLACE', REF_NODE_INSERT_REPLACE], ['VERSION', version]].forEach(function (arr) {
1822
+ expose(arr[0], arr[1]);
1823
+ });
1824
+
1825
+ /**
1826
+ * These prop changes can be handled by an internal player state change rather
1827
+ * than a full dispose/recreate.
1828
+ *
1829
+ * @private
1830
+ * @type {Object}
1831
+ */
1832
+
1833
+ var UPDATEABLE_PROPS = ['catalogSearch', 'catalogSequence', 'playlistId', 'playlistVideoId', 'videoId'];
1834
+
1835
+ var logError = function logError(err) {
1836
+ /* eslint-disable no-console */
1837
+ if (err && console && console.error) {
1838
+ console.error(err);
1839
+ }
1840
+ /* eslint-enable no-console */
1841
+
1842
+ };
1843
+ /**
1844
+ * The official React component for the Brightcove Player!
1845
+ *
1846
+ * This uses `@brightcove/player-loader` to load a player into a React
1847
+ * component based on the given props.
1848
+ */
1849
+
1850
+
1851
+ var ReactPlayerLoader =
1852
+ /*#__PURE__*/
1853
+ function (_React$Component) {
1854
+ _inheritsLoose(ReactPlayerLoader, _React$Component);
1855
+
1856
+ /**
1857
+ * Create a new Brightcove player.
1858
+ *
1859
+ * @param {Object} props
1860
+ * Most options will be passed along to player-loader, except for
1861
+ * options that are listed. See README.md for more detail.
1862
+ *
1863
+ * @param {string} [props.baseUrl]
1864
+ * The base URL to use when requesting a player
1865
+ *
1866
+ * @param {Object} [props.attrs]
1867
+ * Used to set attributes on the component element that contains the
1868
+ * embedded Brightcove Player.
1869
+ *
1870
+ * @param {boolean} [props.manualReloadFromPropChanges]
1871
+ * Used to specify if reloading the player after prop changes will be handled manually.
1872
+ *
1873
+ */
1874
+ function ReactPlayerLoader(props) {
1875
+ var _this;
1876
+
1877
+ _this = _React$Component.call(this, props) || this;
1878
+ _this.refNode = null;
1879
+
1880
+ _this.setRefNode = function (ref) {
1881
+ _this.refNode = ref;
1882
+ };
1883
+
1884
+ _this.loadPlayer = _this.loadPlayer.bind(_assertThisInitialized(_this));
1885
+ return _this;
1886
+ }
1887
+ /**
1888
+ * Loads a new player based on the current props.
1889
+ */
1890
+
1891
+
1892
+ var _proto = ReactPlayerLoader.prototype;
1893
+
1894
+ _proto.loadPlayer = function loadPlayer() {
1895
+ var _this2 = this;
1896
+
1897
+ // If there is any player currently loaded, dispose it before fetching a
1898
+ // new one.
1899
+ this.disposePlayer(); // We need to provide our own callbacks below, so we cache these
1900
+ // user-provided callbacks for use later.
1901
+
1902
+ var userSuccess = this.props.onSuccess;
1903
+ var userFailure = this.props.onFailure;
1904
+
1905
+ var options = _extends({}, this.props, {
1906
+ refNode: this.refNode,
1907
+ refNodeInsert: 'append',
1908
+ onSuccess: function onSuccess(_ref) {
1909
+ var ref = _ref.ref,
1910
+ type = _ref.type;
1911
+
1912
+ // If the component is not mounted when the callback fires, dispose
1913
+ // the player and bail out.
1914
+ if (!_this2.isMounted_) {
1915
+ _this2.disposePlayer(ref);
1916
+
1917
+ return;
1918
+ } // Store a player reference on the component.
1919
+
1920
+
1921
+ _this2.player = ref; // Null out the player reference when the player is disposed from
1922
+ // outside the component.
1923
+
1924
+ if (type === 'in-page') {
1925
+ ref.one('dispose', function () {
1926
+ _this2.player = null;
1927
+ });
1928
+ } // Add a REACT_PLAYER_LOADER property to bcinfo to indicate this player
1929
+ // was loaded via that mechanism.
1930
+
1931
+
1932
+ if (ref.bcinfo) {
1933
+ ref.bcinfo.REACT_PLAYER_LOADER = true;
1934
+ } // Call a user-provided onSuccess callback.
1935
+
1936
+
1937
+ if (typeof userSuccess === 'function') {
1938
+ userSuccess({
1939
+ ref: ref,
1940
+ type: type
1941
+ });
1942
+ }
1943
+ },
1944
+ onFailure: function onFailure(error) {
1945
+ // Ignore errors when not mounted.
1946
+ if (!_this2.isMounted_) {
1947
+ return;
1948
+ } // Call a user-provided onFailure callback.
1949
+
1950
+
1951
+ if (typeof userFailure === 'function') {
1952
+ userFailure(error);
1953
+ return;
1954
+ } // Fall back to throwing an error;
1955
+
1956
+
1957
+ throw new Error(error);
1958
+ }
1959
+ }); // Delete props that are not meant to be passed to player-loader.
1960
+
1961
+
1962
+ delete options.attrs;
1963
+ delete options.baseUrl;
1964
+ delete options.manualReloadFromPropChanges; // If a base URL is provided, it should only apply to this player load.
1965
+ // This means we need to back up the original base URL and restore it
1966
+ // _after_ we call player loader.
1967
+
1968
+ var originalBaseUrl = brightcovePlayerLoader.getBaseUrl();
1969
+
1970
+ if (this.props.baseUrl) {
1971
+ brightcovePlayerLoader.setBaseUrl(this.props.baseUrl);
1972
+ }
1973
+
1974
+ brightcovePlayerLoader(options);
1975
+ brightcovePlayerLoader.setBaseUrl(originalBaseUrl);
1976
+ }
1977
+ /**
1978
+ * Disposes the current player, if there is one.
1979
+ */
1980
+ ;
1981
+
1982
+ _proto.disposePlayer = function disposePlayer() {
1983
+ // Nothing to dispose.
1984
+ if (!this.player) {
1985
+ return;
1986
+ } // Dispose an in-page player.
1987
+
1988
+
1989
+ if (this.player.dispose) {
1990
+ this.player.dispose(); // Dispose an iframe player.
1991
+ } else if (this.player.parentNode) {
1992
+ this.player.parentNode.removeChild(this.player);
1993
+ } // Null out the player reference.
1994
+
1995
+
1996
+ this.player = null;
1997
+ }
1998
+ /**
1999
+ * Find the index of the `playlistVideoId` prop within the player's playlist.
2000
+ *
2001
+ * @param {Object[]} playlist
2002
+ * An array of playlist item objects.
2003
+ *
2004
+ * @return {number}
2005
+ * The index of the `playlistVideoId` or `-1` if the player has been
2006
+ * disposed, is not using the playlist plugin, or if not found.
2007
+ */
2008
+ ;
2009
+
2010
+ _proto.findPlaylistVideoIdIndex_ = function findPlaylistVideoIdIndex_(playlist) {
2011
+ var playlistVideoId = this.props.playlistVideoId;
2012
+
2013
+ if (Array.isArray(playlist) && playlistVideoId) {
2014
+ for (var i = 0; i < playlist.length; i++) {
2015
+ var _playlist$i = playlist[i],
2016
+ id = _playlist$i.id,
2017
+ referenceId = _playlist$i.referenceId;
2018
+
2019
+ if (id === playlistVideoId || "ref:" + referenceId === playlistVideoId) {
2020
+ return i;
2021
+ }
2022
+ }
2023
+ }
2024
+
2025
+ return -1;
2026
+ }
2027
+ /**
2028
+ * Create a Playback API callback function for the component's player.
2029
+ *
2030
+ * @private
2031
+ * @param {string} requestType
2032
+ * The Playback API request type (e.g. "video" or "playlist").
2033
+ *
2034
+ * @param {Object} changes
2035
+ * An object. The keys of this object are the props that changed.
2036
+ *
2037
+ * @return {Function}
2038
+ * A callback for the Playback API request.
2039
+ */
2040
+ ;
2041
+
2042
+ _proto.createPlaybackAPICallback_ = function createPlaybackAPICallback_(requestType, changes) {
2043
+ var _this3 = this;
2044
+
2045
+ return function (err, data) {
2046
+ if (err) {
2047
+ logError(err);
2048
+ return;
2049
+ } // If the playlistVideoId changed and this is a playlist request, we
2050
+ // need to search through the playlist items to find the correct
2051
+ // starting index.
2052
+
2053
+
2054
+ if (requestType === 'playlist' && changes.playlistVideoId) {
2055
+ var i = _this3.findPlaylistVideoIdIndex_(data);
2056
+
2057
+ if (i > -1) {
2058
+ data.startingIndex = i;
2059
+ }
2060
+ }
2061
+
2062
+ _this3.player.catalog.load(data);
2063
+ };
2064
+ }
2065
+ /**
2066
+ * Update the player based on changes to certain props that do not require
2067
+ * a full player dispose/recreate.
2068
+ *
2069
+ * @param {Object} changes
2070
+ * An object. The keys of this object are the props that changed.
2071
+ */
2072
+ ;
2073
+
2074
+ _proto.updatePlayer = function updatePlayer(changes) {
2075
+ // No player exists, player is disposed, or not using the catalog
2076
+ if (!this.player || !this.player.el()) {
2077
+ return;
2078
+ } // If the player is using the catalog plugin, we _may_ populate this
2079
+ // variable with an object.
2080
+
2081
+
2082
+ var catalogParams;
2083
+
2084
+ if (this.player.usingPlugin('catalog')) {
2085
+ // There is a new catalog sequence request. This takes precedence over
2086
+ // other catalog updates because it is a different call.
2087
+ if (changes.catalogSequence && this.props.catalogSequence) {
2088
+ var callback = this.createPlaybackAPICallback_('sequence', changes);
2089
+ this.player.catalog.getLazySequence(this.props.catalogSequence, callback, this.props.adConfigId);
2090
+ return;
2091
+ }
2092
+
2093
+ if (changes.videoId && this.props.videoId) {
2094
+ catalogParams = {
2095
+ type: 'video',
2096
+ id: this.props.videoId
2097
+ };
2098
+ } else if (changes.playlistId && this.props.playlistId) {
2099
+ catalogParams = {
2100
+ type: 'playlist',
2101
+ id: this.props.playlistId
2102
+ };
2103
+ } else if (changes.catalogSearch && this.props.catalogSearch) {
2104
+ catalogParams = {
2105
+ type: 'search',
2106
+ q: this.props.catalogSearch
2107
+ };
2108
+ }
2109
+ } // If `catalogParams` is `undefined` here, that means the player either
2110
+ // does not have the catalog plugin or no valid catalog request can be made.
2111
+
2112
+
2113
+ if (catalogParams) {
2114
+ if (this.props.adConfigId) {
2115
+ catalogParams.adConfigId = this.props.adConfigId;
2116
+ }
2117
+
2118
+ if (this.props.deliveryConfigId) {
2119
+ catalogParams.deliveryConfigId = this.props.deliveryConfigId;
2120
+ } // We use the callback style here to make tests simpler in IE11 (no need
2121
+ // for a Promise polyfill).
2122
+
2123
+
2124
+ var _callback = this.createPlaybackAPICallback_(catalogParams.type, changes);
2125
+
2126
+ this.player.catalog.get(catalogParams, _callback); // If no catalog request is being made, we may still need to update the
2127
+ // playlist selected video.
2128
+ } else if (changes.playlistVideoId && this.props.playlistVideoId && this.player.usingPlugin('playlist')) {
2129
+ var i = this.findPlaylistVideoIdIndex_(this.player.playlist());
2130
+
2131
+ if (i > -1) {
2132
+ this.player.playlist.currentItem(i);
2133
+ }
2134
+ }
2135
+ }
2136
+ /**
2137
+ * Called just after the component has mounted.
2138
+ */
2139
+ ;
2140
+
2141
+ _proto.componentDidMount = function componentDidMount() {
2142
+ this.isMounted_ = true;
2143
+ this.loadPlayer();
2144
+ }
2145
+ /**
2146
+ * Called when the component props are updated.
2147
+ *
2148
+ * Some prop changes may trigger special behavior (see `propChangeHandlers`),
2149
+ * but if ANY prop is changed that is NOT handled, the player will be
2150
+ * disposed/recreated entirely.
2151
+ *
2152
+ * @param {Object} prevProps
2153
+ * The previous props state before change.
2154
+ */
2155
+ ;
2156
+
2157
+ _proto.componentDidUpdate = function componentDidUpdate(prevProps) {
2158
+ var _this4 = this;
2159
+
2160
+ // Calculate the prop changes.
2161
+ var changes = Object.keys(prevProps).reduce(function (acc, key) {
2162
+ var previous = prevProps[key];
2163
+ var current = _this4.props[key]; // Do not compare functions
2164
+
2165
+ if (typeof current === 'function') {
2166
+ return acc;
2167
+ }
2168
+
2169
+ if (typeof current === 'object' && current !== null) {
2170
+ if (JSON.stringify(current) !== JSON.stringify(previous)) {
2171
+ acc[key] = true;
2172
+ }
2173
+
2174
+ return acc;
2175
+ }
2176
+
2177
+ if (current !== previous) {
2178
+ acc[key] = true;
2179
+ }
2180
+
2181
+ return acc;
2182
+ }, {});
2183
+
2184
+ if (!this.props.manualReloadFromPropChanges) {
2185
+ // Dispose and recreate the player if any changed keys cannot be handled.
2186
+ if (Object.keys(changes).some(function (k) {
2187
+ return UPDATEABLE_PROPS.indexOf(k) === -1;
2188
+ })) {
2189
+ this.loadPlayer();
2190
+ return;
2191
+ }
2192
+ }
2193
+
2194
+ this.updatePlayer(changes);
2195
+ }
2196
+ /**
2197
+ * Called just before a component unmounts. Disposes the player.
2198
+ */
2199
+ ;
2200
+
2201
+ _proto.componentWillUnmount = function componentWillUnmount() {
2202
+ this.isMounted_ = false;
2203
+ this.disposePlayer();
2204
+ }
2205
+ /**
2206
+ * Renders the component.
2207
+ *
2208
+ * @return {ReactElement}
2209
+ * The react element to render.
2210
+ */
2211
+ ;
2212
+
2213
+ _proto.render = function render() {
2214
+ var props = _extends({
2215
+ className: 'brightcove-react-player-loader'
2216
+ }, this.props.attrs, {
2217
+ ref: this.setRefNode
2218
+ });
2219
+
2220
+ return React__default.createElement('div', props);
2221
+ };
2222
+
2223
+ return ReactPlayerLoader;
2224
+ }(React__default.Component);
2225
+
2226
+ export { ReactPlayerLoader as R };