@mjhls/mjh-framework 1.0.879 → 1.0.880-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/AD.js +9 -10
  3. package/dist/cjs/AD300x250.js +28 -28
  4. package/dist/cjs/AD300x250x600.js +28 -28
  5. package/dist/cjs/AD728x90.js +31 -31
  6. package/dist/cjs/ADFloatingFooter.js +30 -30
  7. package/dist/cjs/ADFooter.js +12 -13
  8. package/dist/cjs/ADGutter.js +30 -30
  9. package/dist/cjs/{ADInfeed-51a39495.js → ADInfeed-2e48af77.js} +13 -15
  10. package/dist/cjs/ADSkyscraper.js +30 -30
  11. package/dist/cjs/ADSponsoredResources.js +30 -30
  12. package/dist/cjs/ADWebcast.js +30 -30
  13. package/dist/cjs/ADWelcome.js +31 -31
  14. package/dist/cjs/{ADlgInfeed-12db4509.js → ADlgInfeed-c39c7131.js} +10 -11
  15. package/dist/cjs/AccordionPanel.js +27 -29
  16. package/dist/cjs/AdSlot.js +31 -31
  17. package/dist/cjs/AdSlotsProvider.js +910 -18
  18. package/dist/cjs/AlgoliaSearch.js +14023 -61
  19. package/dist/cjs/AlphabeticList.js +23 -24
  20. package/dist/cjs/ArticleCarousel.js +19 -21
  21. package/dist/cjs/ArticleProgramLandingPage.js +59 -60
  22. package/dist/cjs/ArticleSeriesLandingPage.js +39 -44
  23. package/dist/cjs/ArticleSeriesListing.js +59 -60
  24. package/dist/cjs/Auth.js +1504 -680
  25. package/dist/cjs/AuthWrapper.js +266 -308
  26. package/dist/cjs/{AuthorComponent-39b37d84.js → AuthorComponent-02e827ae.js} +13 -14
  27. package/dist/cjs/Beam.js +6 -6
  28. package/dist/cjs/{BlockContent-36e54d77.js → BlockContent-9c6b07ad.js} +55 -56
  29. package/dist/cjs/Breadcrumbs.js +25 -27
  30. package/dist/cjs/CMEDeck.js +82 -81
  31. package/dist/cjs/Column1.js +11 -14
  32. package/dist/cjs/Column2.js +31 -34
  33. package/dist/cjs/Column3.js +57 -59
  34. package/dist/cjs/ConferenceArticleCard.js +26 -28
  35. package/dist/cjs/ConferenceBanner-4a16fddc.js +23 -0
  36. package/dist/cjs/DeckContent.js +93 -97
  37. package/dist/cjs/DeckQueue.js +87 -91
  38. package/dist/cjs/{Dfp-94f8ccdf.js → Dfp-14d2455c.js} +32 -32
  39. package/dist/cjs/EventsDeck.js +133 -140
  40. package/dist/cjs/ExternalResources.js +78 -79
  41. package/dist/cjs/Feature.js +28 -31
  42. package/dist/cjs/ForbesHero.js +41 -43
  43. package/dist/cjs/GridContent.js +232 -237
  44. package/dist/cjs/GridHero.js +43 -45
  45. package/dist/cjs/GroupDeck.js +58 -60
  46. package/dist/cjs/HamMagazine.js +130 -135
  47. package/dist/cjs/Header.js +12 -14
  48. package/dist/cjs/Hero.js +14 -16
  49. package/dist/cjs/HighlightenVideo.js +17 -18
  50. package/dist/cjs/HorizontalArticleListing.js +70 -71
  51. package/dist/cjs/HorizontalHero.js +29 -31
  52. package/dist/cjs/IssueContentDeck.js +71 -77
  53. package/dist/cjs/IssueDeck.js +70 -76
  54. package/dist/cjs/IssueLanding.js +63 -65
  55. package/dist/cjs/LeftNav.js +37 -38
  56. package/dist/cjs/MasterDeck.js +228 -355
  57. package/dist/cjs/MediaSeriesLanding.js +1093 -1185
  58. package/dist/cjs/NavDvm.js +72 -77
  59. package/dist/cjs/{NavFooter-3dcd99a8.js → NavFooter-76c913e3.js} +14 -15
  60. package/dist/cjs/NavMagazine.js +136 -141
  61. package/dist/cjs/NavNative.js +128 -136
  62. package/dist/cjs/OncliveHero.js +23 -24
  63. package/dist/cjs/OncliveLargeHero.js +73 -75
  64. package/dist/cjs/PageFilter.js +12 -13
  65. package/dist/cjs/Pagination-9cb60fba.js +61 -0
  66. package/dist/cjs/PartnerDetailListing.js +3918 -119
  67. package/dist/cjs/PdfDownload.js +9 -10
  68. package/dist/cjs/PopUpModal.js +17 -19
  69. package/dist/cjs/PubSection.js +39 -41
  70. package/dist/cjs/PubToc.js +13 -14
  71. package/dist/cjs/PublicationDeck.js +65 -71
  72. package/dist/cjs/PublicationLanding.js +106 -110
  73. package/dist/cjs/QueueDeckExpanded.js +1002 -1173
  74. package/dist/cjs/RecentNews.js +22 -23
  75. package/dist/cjs/RelatedContent.js +29 -31
  76. package/dist/cjs/RelatedTopicsDropdown.js +19 -22
  77. package/dist/cjs/RolesDeck.js +27 -32
  78. package/dist/cjs/Search.js +16 -20
  79. package/dist/cjs/Segment.js +4 -4
  80. package/dist/cjs/SeriesListingDeck.js +37 -37
  81. package/dist/cjs/{SeriesSlider-f9128638.js → SeriesSlider-ec146338.js} +36 -37
  82. package/dist/cjs/SetCookie.js +1 -1
  83. package/dist/cjs/SideFooter.js +34 -35
  84. package/dist/cjs/SocialIcons.js +9 -10
  85. package/dist/cjs/{SocialSearchComponent-4942ddfc.js → SocialSearchComponent-e8477ca3.js} +36 -40
  86. package/dist/cjs/SocialShare.js +29 -31
  87. package/dist/cjs/TaxonomyCard.js +61 -67
  88. package/dist/cjs/TaxonomyDescription.js +53 -54
  89. package/dist/cjs/TemplateNormal.js +72 -72
  90. package/dist/cjs/ThumbnailCard.js +23 -26
  91. package/dist/cjs/Ustream.js +28 -29
  92. package/dist/cjs/VerticalHero.js +20 -22
  93. package/dist/cjs/VideoProgramLandingPage.js +73 -77
  94. package/dist/cjs/VideoSeriesCard.js +31 -33
  95. package/dist/cjs/VideoSeriesFilter.js +16 -16
  96. package/dist/cjs/VideoSeriesLandingPage.js +49 -52
  97. package/dist/cjs/VideoSeriesListing.js +76 -77
  98. package/dist/cjs/View.js +272 -275
  99. package/dist/cjs/YahooHero.js +40 -42
  100. package/dist/cjs/YoutubeGroup.js +62 -64
  101. package/dist/cjs/{_is-array-54228b29.js → _is-array-aa52fa1e.js} +6 -6
  102. package/dist/cjs/{_iter-detect-b1df62f0.js → _iter-detect-05795553.js} +7 -7
  103. package/dist/cjs/{_object-pie-083f2dd6.js → _object-pie-68c5bcbc.js} +4 -4
  104. package/dist/cjs/{_object-sap-d1978572.js → _object-sap-171b9ea5.js} +1 -1
  105. package/dist/cjs/{_object-to-array-ce86cae7.js → _object-to-array-9bac8737.js} +2 -2
  106. package/dist/cjs/{asyncToGenerator-77821af0.js → asyncToGenerator-df19209d.js} +30 -30
  107. package/dist/cjs/{brightcove-react-player-loader.es-a195642e.js → brightcove-react-player-loader.es-156bd4d6.js} +9 -11
  108. package/dist/cjs/{core.get-iterator-method-5643aa10.js → core.get-iterator-method-f3c44602.js} +35 -35
  109. package/dist/cjs/{debounce-d4a2369b.js → debounce-529c8d06.js} +2 -2
  110. package/dist/cjs/{define-property-e8404b64.js → define-property-21887c62.js} +6 -6
  111. package/dist/cjs/{defineProperty-9673846a.js → defineProperty-77a37684.js} +1 -1
  112. package/dist/cjs/{entities-3f9d0f2f.js → entities-310b46ee.js} +1 -1
  113. package/dist/cjs/{eq-5fc26c07.js → eq-bb2843ed.js} +1 -1
  114. package/dist/cjs/events-1b438fe7.js +469 -0
  115. package/dist/cjs/{extends-7c86182f.js → extends-eed4f016.js} +7 -7
  116. package/dist/cjs/faundadb.js +19 -19
  117. package/dist/cjs/{get-5839e5b5.js → get-adbb11e3.js} +21 -21
  118. package/dist/cjs/getRelatedArticle.js +18 -18
  119. package/dist/cjs/getRootDocGroup.js +6 -6
  120. package/dist/cjs/getSerializers.js +43 -43
  121. package/dist/cjs/{getTargeting-6d59cc5b.js → getTargeting-8874437b.js} +3 -3
  122. package/dist/cjs/getTargeting.js +6 -6
  123. package/dist/{esm/iconBase-ccc56b97.js → cjs/iconBase-68959171.js} +8 -2
  124. package/dist/cjs/{index-aafe16dd.js → index-17c6af5a.js} +1067 -1093
  125. package/dist/cjs/{index-f86bb269.js → index-3294d3bc.js} +45 -44
  126. package/dist/cjs/{index-eadd5035.js → index-96b3db50.js} +15 -17
  127. package/dist/cjs/{index-0e4427c8.js → index-98e01cb9.js} +13 -479
  128. package/dist/cjs/index-e2e62963.js +89 -0
  129. package/dist/cjs/{index.es-f3e47207.js → index.es-9110add6.js} +12 -31
  130. package/dist/cjs/{index.esm-2bb721c8.js → index.esm-4d410430.js} +21 -21
  131. package/dist/cjs/{index.esm-00a6aade.js → index.esm-90433435.js} +16 -7
  132. package/dist/cjs/{index.esm-c1e16606.js → index.esm-e32d3e8e.js} +7 -4
  133. package/dist/cjs/{index.esm-f27f80d9.js → index.esm-ff47db6f.js} +13 -6
  134. package/dist/cjs/index.js +164 -169
  135. package/dist/cjs/inherits-8d29278d.js +110 -0
  136. package/dist/cjs/{inherits-de66ea16.js → inherits-cba9c846.js} +19 -19
  137. package/dist/cjs/{isSymbol-03abbdf0.js → isSymbol-04666465.js} +15 -15
  138. package/dist/cjs/{keys-e982b3fa.js → keys-d207942e.js} +6 -6
  139. package/dist/cjs/{lodash-f0783643.js → lodash-fc2922d0.js} +31 -128
  140. package/dist/cjs/main-02daeefe.js +862 -0
  141. package/dist/cjs/{md5-e1ca5797.js → md5-5039b1a6.js} +1 -1
  142. package/dist/cjs/{moment-aca40de1.js → moment-575fe24c.js} +9 -11
  143. package/dist/cjs/{react-social-icons-af932527.js → react-social-icons-f7f48f71.js} +27 -28
  144. package/dist/cjs/{slicedToArray-067dd3bc.js → slicedToArray-f6d4eaa8.js} +12 -12
  145. package/dist/cjs/{smoothscroll-99df7f93.js → smoothscroll-5054361f.js} +1 -1
  146. package/dist/cjs/{stringify-f7a37a8d.js → stringify-bbc68047.js} +5 -5
  147. package/dist/cjs/timeDifferenceCalc.js +1 -1
  148. package/dist/cjs/{toConsumableArray-d7797c2b.js → toConsumableArray-c9b8a0d0.js} +7 -7
  149. package/dist/cjs/{toNumber-5e1fac58.js → toNumber-36d1e7e5.js} +5 -40
  150. package/dist/cjs/{typeof-567e31ff.js → typeof-5f52cf64.js} +35 -35
  151. package/dist/cjs/{index-efca863c.js → urlFor-3a61226f.js} +88 -37
  152. package/dist/cjs/urlFor.js +5 -59
  153. package/dist/cjs/{ustream-api-3819e4aa.js → ustream-api-9ebe112f.js} +4 -4
  154. package/dist/cjs/{util-6f784d85.js → util-f2c1b65b.js} +1 -1
  155. package/dist/cjs/{visibility-sensor-eb2c5b69.js → visibility-sensor-ad5e3116.js} +5 -7
  156. package/dist/cjs/{web.dom.iterable-d98303e0.js → web.dom.iterable-e34bf324.js} +2 -2
  157. package/dist/esm/AD.js +1 -1
  158. package/dist/esm/AD300x250.js +22 -21
  159. package/dist/esm/AD300x250x600.js +22 -21
  160. package/dist/esm/AD728x90.js +25 -24
  161. package/dist/esm/ADFloatingFooter.js +21 -20
  162. package/dist/esm/ADFooter.js +4 -4
  163. package/dist/esm/ADGutter.js +21 -20
  164. package/dist/esm/{ADInfeed-bba8b026.js → ADInfeed-0c13c803.js} +6 -6
  165. package/dist/esm/ADSkyscraper.js +21 -20
  166. package/dist/esm/ADSponsoredResources.js +21 -20
  167. package/dist/esm/ADWebcast.js +21 -20
  168. package/dist/esm/ADWelcome.js +18 -17
  169. package/dist/esm/{ADlgInfeed-a45afa1d.js → ADlgInfeed-e4e2031a.js} +4 -4
  170. package/dist/esm/AccordionPanel.js +6 -6
  171. package/dist/esm/AdSlot.js +20 -19
  172. package/dist/esm/AdSlotsProvider.js +907 -14
  173. package/dist/esm/AlgoliaSearch.js +13992 -29
  174. package/dist/esm/AlphabeticList.js +8 -8
  175. package/dist/esm/ArticleCarousel.js +13 -14
  176. package/dist/esm/ArticleProgramLandingPage.js +47 -47
  177. package/dist/esm/ArticleSeriesLandingPage.js +29 -33
  178. package/dist/esm/ArticleSeriesListing.js +32 -32
  179. package/dist/esm/Auth.js +1418 -590
  180. package/dist/esm/AuthWrapper.js +244 -285
  181. package/dist/esm/{AuthorComponent-defe68b6.js → AuthorComponent-e6f95c2f.js} +1 -1
  182. package/dist/esm/Beam.js +6 -6
  183. package/dist/esm/{BlockContent-c99c9a8d.js → BlockContent-f4515898.js} +34 -34
  184. package/dist/esm/Breadcrumbs.js +5 -5
  185. package/dist/esm/CMEDeck.js +23 -22
  186. package/dist/esm/Column1.js +4 -4
  187. package/dist/esm/Column2.js +19 -19
  188. package/dist/esm/Column3.js +37 -36
  189. package/dist/esm/ConferenceArticleCard.js +10 -11
  190. package/dist/esm/DeckContent.js +47 -47
  191. package/dist/esm/DeckQueue.js +47 -47
  192. package/dist/esm/{Dfp-4b99f79d.js → Dfp-f867d061.js} +13 -12
  193. package/dist/esm/EventsDeck.js +50 -50
  194. package/dist/esm/ExternalResources.js +46 -46
  195. package/dist/esm/Feature.js +7 -8
  196. package/dist/esm/ForbesHero.js +9 -10
  197. package/dist/esm/GridContent.js +88 -88
  198. package/dist/esm/GridHero.js +10 -11
  199. package/dist/esm/GroupDeck.js +11 -12
  200. package/dist/esm/HamMagazine.js +28 -28
  201. package/dist/esm/Hero.js +6 -7
  202. package/dist/esm/HighlightenVideo.js +2 -2
  203. package/dist/esm/HorizontalArticleListing.js +45 -45
  204. package/dist/esm/HorizontalHero.js +8 -9
  205. package/dist/esm/IssueContentDeck.js +24 -25
  206. package/dist/esm/IssueDeck.js +34 -35
  207. package/dist/esm/IssueLanding.js +52 -53
  208. package/dist/esm/LeftNav.js +20 -19
  209. package/dist/esm/MasterDeck.js +210 -336
  210. package/dist/esm/MediaSeriesLanding.js +643 -732
  211. package/dist/esm/NavDvm.js +14 -14
  212. package/dist/esm/NavMagazine.js +32 -32
  213. package/dist/esm/NavNative.js +32 -32
  214. package/dist/esm/OncliveHero.js +8 -8
  215. package/dist/esm/OncliveLargeHero.js +10 -11
  216. package/dist/esm/PageFilter.js +4 -4
  217. package/dist/esm/Pagination-256b60e5.js +56 -0
  218. package/dist/esm/PartnerDetailListing.js +3861 -62
  219. package/dist/esm/PdfDownload.js +2 -2
  220. package/dist/esm/PopUpModal.js +4 -4
  221. package/dist/esm/PubSection.js +31 -32
  222. package/dist/esm/PubToc.js +6 -6
  223. package/dist/esm/PublicationDeck.js +26 -27
  224. package/dist/esm/PublicationLanding.js +47 -47
  225. package/dist/esm/QueueDeckExpanded.js +945 -1116
  226. package/dist/esm/RecentNews.js +4 -4
  227. package/dist/esm/RelatedContent.js +9 -10
  228. package/dist/esm/RolesDeck.js +12 -12
  229. package/dist/esm/Search.js +6 -6
  230. package/dist/esm/Segment.js +4 -4
  231. package/dist/esm/SeriesListingDeck.js +18 -18
  232. package/dist/esm/{SeriesSlider-98b7a870.js → SeriesSlider-d6561e33.js} +10 -10
  233. package/dist/esm/SetCookie.js +1 -1
  234. package/dist/esm/SideFooter.js +13 -13
  235. package/dist/esm/{SocialSearchComponent-9458fac6.js → SocialSearchComponent-b5be0e6c.js} +12 -12
  236. package/dist/esm/TaxonomyCard.js +26 -27
  237. package/dist/esm/TaxonomyDescription.js +44 -44
  238. package/dist/esm/TemplateNormal.js +48 -47
  239. package/dist/esm/ThumbnailCard.js +9 -10
  240. package/dist/esm/Ustream.js +12 -12
  241. package/dist/esm/VerticalHero.js +6 -7
  242. package/dist/esm/VideoProgramLandingPage.js +51 -51
  243. package/dist/esm/VideoSeriesCard.js +12 -13
  244. package/dist/esm/VideoSeriesFilter.js +7 -7
  245. package/dist/esm/VideoSeriesLandingPage.js +36 -38
  246. package/dist/esm/VideoSeriesListing.js +33 -33
  247. package/dist/esm/View.js +91 -90
  248. package/dist/esm/YahooHero.js +12 -13
  249. package/dist/esm/YoutubeGroup.js +16 -17
  250. package/dist/esm/{_is-array-893ab020.js → _is-array-4df618a6.js} +6 -6
  251. package/dist/esm/{_iter-detect-f089461c.js → _iter-detect-130ee549.js} +7 -7
  252. package/dist/esm/{_object-pie-133f504a.js → _object-pie-33c40e79.js} +4 -4
  253. package/dist/esm/{_object-sap-169d6272.js → _object-sap-8b8ea5a9.js} +1 -1
  254. package/dist/esm/{_object-to-array-50a6b9a3.js → _object-to-array-c54dd835.js} +2 -2
  255. package/dist/esm/{asyncToGenerator-b4dfe691.js → asyncToGenerator-64812e90.js} +31 -31
  256. package/dist/esm/{brightcove-react-player-loader.es-57a70a56.js → brightcove-react-player-loader.es-83f53e4e.js} +4 -5
  257. package/dist/esm/{core.get-iterator-method-e903ff31.js → core.get-iterator-method-86d4db69.js} +36 -36
  258. package/dist/esm/{debounce-533d9748.js → debounce-9207d8ee.js} +2 -2
  259. package/dist/esm/{define-property-99e66838.js → define-property-6d26cb48.js} +6 -6
  260. package/dist/esm/{defineProperty-8fa0bc8d.js → defineProperty-d7d9b577.js} +1 -1
  261. package/dist/esm/{entities-932b50cf.js → entities-7cc3bf45.js} +1 -1
  262. package/dist/esm/{eq-bdcbf886.js → eq-b470f743.js} +1 -1
  263. package/dist/esm/events-6c3a7a63.js +467 -0
  264. package/dist/esm/{extends-dc6a71fd.js → extends-5b1796d4.js} +7 -7
  265. package/dist/esm/faundadb.js +5 -5
  266. package/dist/esm/{get-3c308da4.js → get-1e515072.js} +21 -21
  267. package/dist/esm/getRelatedArticle.js +12 -12
  268. package/dist/esm/getRootDocGroup.js +4 -4
  269. package/dist/esm/getSerializers.js +43 -43
  270. package/dist/esm/{getTargeting-3792eba9.js → getTargeting-277c801e.js} +2 -2
  271. package/dist/esm/getTargeting.js +6 -6
  272. package/dist/{cjs/iconBase-be4097c0.js → esm/iconBase-602d52fe.js} +8 -33
  273. package/dist/esm/{index-5cc7b406.js → index-41a678ea.js} +4 -469
  274. package/dist/esm/{index-755f2cc2.js → index-5f7e79e7.js} +6 -6
  275. package/dist/esm/{index-e57e375a.js → index-a35a5c39.js} +617 -633
  276. package/dist/esm/index-aaa2dae0.js +85 -0
  277. package/dist/esm/{index-79cfd25c.js → index-ef6d5dcf.js} +45 -44
  278. package/dist/esm/{index.es-a6137319.js → index.es-29c1cef5.js} +5 -23
  279. package/dist/esm/{index.esm-f6156a57.js → index.esm-29e48d38.js} +16 -7
  280. package/dist/esm/{index.esm-d4932dea.js → index.esm-cf08bf18.js} +13 -6
  281. package/dist/esm/{index.esm-9b042655.js → index.esm-f8aaeeeb.js} +7 -4
  282. package/dist/esm/{index.esm-37268dca.js → index.esm-fd746768.js} +5 -4
  283. package/dist/esm/index.js +122 -124
  284. package/dist/esm/{inherits-8a801a18.js → inherits-2409637d.js} +18 -18
  285. package/dist/esm/inherits-77d5e4fc.js +101 -0
  286. package/dist/esm/{isSymbol-a7e9aafe.js → isSymbol-1981418f.js} +15 -15
  287. package/dist/esm/{keys-425c8ab0.js → keys-69989821.js} +6 -6
  288. package/dist/esm/{lodash-f97fd99a.js → lodash-17fdfebb.js} +31 -128
  289. package/dist/esm/main-c0612122.js +851 -0
  290. package/dist/esm/{md5-4e42248e.js → md5-9be0e905.js} +1 -1
  291. package/dist/esm/{moment-bc12cb97.js → moment-e2f9b20c.js} +9 -11
  292. package/dist/esm/{react-social-icons-9be47857.js → react-social-icons-a7d5c5c7.js} +16 -16
  293. package/dist/esm/{slicedToArray-ca2c8b8d.js → slicedToArray-67a08c9c.js} +12 -12
  294. package/dist/esm/{smoothscroll-fa4e3f8c.js → smoothscroll-0cd4c7a6.js} +1 -1
  295. package/dist/esm/stringify-70b72959.js +15 -0
  296. package/dist/esm/timeDifferenceCalc.js +1 -1
  297. package/dist/esm/{toConsumableArray-7b1c0e23.js → toConsumableArray-32282905.js} +7 -7
  298. package/dist/esm/{toNumber-5aeba6e7.js → toNumber-2f7a84cd.js} +5 -40
  299. package/dist/esm/{typeof-83d9eb10.js → typeof-c05a82ba.js} +35 -35
  300. package/dist/esm/{index-0dbff1d1.js → urlFor-23b2244b.js} +88 -37
  301. package/dist/esm/urlFor.js +4 -62
  302. package/dist/esm/{ustream-api-41166338.js → ustream-api-4c4fe0ba.js} +4 -4
  303. package/dist/esm/{util-3ab476bf.js → util-7700fc59.js} +1 -1
  304. package/dist/esm/{web.dom.iterable-fdf034f5.js → web.dom.iterable-f8f967cd.js} +2 -2
  305. package/package.json +2 -1
  306. package/dist/cjs/ConferenceBanner-6c9e718a.js +0 -24
  307. package/dist/cjs/main-f1c77adb.js +0 -973
  308. package/dist/esm/main-1894c974.js +0 -961
  309. package/dist/esm/stringify-c21932b3.js +0 -15
@@ -1,75 +1,3874 @@
1
- import { a as _asyncToGenerator, r as regenerator, _ as _Promise } from './asyncToGenerator-b4dfe691.js';
2
- import { _ as _slicedToArray } from './slicedToArray-ca2c8b8d.js';
3
- import { _ as _extends } from './extends-dc6a71fd.js';
4
- import React__default, { useRef, useState, useEffect } from 'react';
5
- import { TwitterTimelineEmbed } from 'react-twitter-embed';
6
- import { FacebookProvider, Page } from 'react-facebook';
7
- import { r as reactSocialIcons_1 } from './react-social-icons-9be47857.js';
8
- import { s as smoothscroll } from './smoothscroll-fa4e3f8c.js';
9
- import urlFor from './urlFor.js';
10
- import { m as moment } from './moment-bc12cb97.js';
11
- import QueueDeckExpanded from './QueueDeckExpanded.js';
12
- import Breadcrumbs from './Breadcrumbs.js';
13
- import Feature from './Feature.js';
14
- import { g as getSerializers } from './index-e57e375a.js';
15
- import { B as BlockContent } from './BlockContent-c99c9a8d.js';
16
- import './_commonjsHelpers-0c4b6f40.js';
17
- import './core.get-iterator-method-e903ff31.js';
18
- import './web.dom.iterable-fdf034f5.js';
1
+ import { c as createCommonjsModule, u as unwrapExports, a as commonjsGlobal } from './_commonjsHelpers-0c4b6f40.js';
2
+ import './core.get-iterator-method-86d4db69.js';
19
3
  import './_library-528f1934.js';
20
- import './_iter-detect-f089461c.js';
21
- import './_object-pie-133f504a.js';
22
- import 'prop-types';
23
- import './index-0dbff1d1.js';
24
- import './toConsumableArray-7b1c0e23.js';
25
- import 'react-bootstrap';
26
- import './index.es-a6137319.js';
27
- import './visibility-sensor-72fd8f8b.js';
28
- import 'react-dom';
29
- import './index-5cc7b406.js';
30
- import 'next/router';
31
- import './index-755f2cc2.js';
32
- import './main-1894c974.js';
33
- import './entities-932b50cf.js';
34
- import './ADInfeed-bba8b026.js';
4
+ import './_iter-detect-130ee549.js';
5
+ import './toConsumableArray-32282905.js';
6
+ import './_object-pie-33c40e79.js';
7
+ import { _ as _extends } from './extends-5b1796d4.js';
8
+ import './_object-sap-8b8ea5a9.js';
9
+ import './inherits-2409637d.js';
10
+ import './define-property-6d26cb48.js';
11
+ import './web.dom.iterable-f8f967cd.js';
12
+ import './typeof-c05a82ba.js';
13
+ import './_is-array-4df618a6.js';
14
+ import React__default, { Component, createContext, forwardRef, PureComponent, useRef, useState, useEffect } from 'react';
15
+ import './events-6c3a7a63.js';
16
+ import './index-41a678ea.js';
17
+ import PropTypes from 'prop-types';
18
+ import 'react-bootstrap/Row';
19
+ import 'react-bootstrap/Col';
35
20
  import 'react-bootstrap/Card';
36
- import './AdSlot.js';
37
- import './debounce-533d9748.js';
38
- import './isSymbol-a7e9aafe.js';
39
- import './toNumber-5aeba6e7.js';
40
- import './Beam.js';
41
- import './stringify-c21932b3.js';
21
+ import { m as moment } from './moment-e2f9b20c.js';
22
+ import 'next/router';
23
+ import './isSymbol-1981418f.js';
24
+ import './debounce-9207d8ee.js';
25
+ import './toNumber-2f7a84cd.js';
26
+ import 'react-dom';
27
+ import { _ as _slicedToArray } from './slicedToArray-67a08c9c.js';
28
+ import { u as urlFor } from './urlFor-23b2244b.js';
29
+ import './index-5f7e79e7.js';
30
+ import './main-c0612122.js';
31
+ import './entities-7cc3bf45.js';
32
+ import './stringify-70b72959.js';
33
+ import { _ as _asyncToGenerator$1, r as regenerator, a as _Promise } from './asyncToGenerator-64812e90.js';
42
34
  import './Segment.js';
43
- import './AuthorComponent-defe68b6.js';
44
- import './lodash-f97fd99a.js';
45
- import './ADlgInfeed-a45afa1d.js';
35
+ import './Beam.js';
36
+ import './AdSlot.js';
37
+ import './ADInfeed-0c13c803.js';
38
+ import './lodash-17fdfebb.js';
39
+ import './ADlgInfeed-e4e2031a.js';
46
40
  import './getContentCategory-15dcc413.js';
47
- import './timeDifferenceCalc.js';
48
- import 'react-bootstrap/Breadcrumb';
49
- import 'react-bootstrap/Carousel';
41
+ import './AuthorComponent-e6f95c2f.js';
42
+ import 'react-bootstrap/Button';
43
+ import { B as BlockContent } from './BlockContent-f4515898.js';
44
+ import { r as reactSocialIcons_1 } from './react-social-icons-a7d5c5c7.js';
50
45
  import './index-c7e2ac95.js';
51
- import './util-3ab476bf.js';
52
- import './typeof-83d9eb10.js';
53
- import './_is-array-893ab020.js';
54
- import './brightcove-react-player-loader.es-57a70a56.js';
46
+ import { s as smoothscroll } from './smoothscroll-0cd4c7a6.js';
55
47
  import './GroupDeck.js';
56
- import './SocialShare.js';
48
+ import 'react-bootstrap';
49
+ import './timeDifferenceCalc.js';
50
+ import './Pagination-256b60e5.js';
51
+ import QueueDeckExpanded from './QueueDeckExpanded.js';
52
+ import './iconBase-602d52fe.js';
53
+ import './index.esm-29e48d38.js';
54
+ import { g as getSerializers } from './index-a35a5c39.js';
55
+ import './util-7700fc59.js';
56
+ import './brightcove-react-player-loader.es-83f53e4e.js';
57
57
  import 'next/head';
58
58
  import 'react-share';
59
- import './_object-to-array-50a6b9a3.js';
59
+ import './SocialShare.js';
60
+ import './_object-to-array-c54dd835.js';
60
61
  import 'react-bootstrap/Pagination';
61
- import 'react-bootstrap/Button';
62
- import 'react-bootstrap/Row';
63
- import 'react-bootstrap/Col';
64
- import './inherits-8a801a18.js';
65
- import './_object-sap-169d6272.js';
66
- import './define-property-99e66838.js';
67
- import './index.esm-f6156a57.js';
68
- import './iconBase-ccc56b97.js';
69
62
  import 'react-bootstrap/Figure';
70
63
  import 'react-bootstrap/OverlayTrigger';
71
64
  import 'react-bootstrap/Tooltip';
72
65
  import 'react-bootstrap/Popover';
66
+ import { _ as _defineProperty$1, b as _inherits, c as _classCallCheck, d as _possibleConstructorReturn, e as _getPrototypeOf, g as _createClass } from './inherits-77d5e4fc.js';
67
+ import 'react-bootstrap/Carousel';
68
+ import Feature from './Feature.js';
69
+ import 'react-bootstrap/Breadcrumb';
70
+ import Breadcrumbs from './Breadcrumbs.js';
71
+
72
+ var isRequiredIf_1 = createCommonjsModule(function (module, exports) {
73
+ Object.defineProperty(exports,'__esModule',{value:!0});var VALIDATOR_ARG_ERROR_MESSAGE='The typeValidator argument must be a function with the signature function(props, propName, componentName).',MESSAGE_ARG_ERROR_MESSAGE='The error message is optional, but must be a string if provided.',propIsRequired=function propIsRequired(a,b,c,d){if('boolean'==typeof a)return a;return 'function'==typeof a?a(b,c,d):!(!0!==!!a)&&!!a},propExists=function propExists(a,b){return Object.hasOwnProperty.call(a,b)},missingPropError=function missingPropError(a,b,c,d){return d?new Error(d):new Error('Required '+a[b]+' `'+b+'`'+(' was not specified in `'+c+'`.'))},guardAgainstInvalidArgTypes=function guardAgainstInvalidArgTypes(a,b){if('function'!=typeof a)throw new TypeError(VALIDATOR_ARG_ERROR_MESSAGE);if(!!b&&'string'!=typeof b)throw new TypeError(MESSAGE_ARG_ERROR_MESSAGE)},isRequiredIf=function isRequiredIf(a,b,c){return guardAgainstInvalidArgTypes(a,c),function(d,e,f){for(var _len=arguments.length,g=Array(3<_len?_len-3:0),_key=3;_key<_len;_key++)g[_key-3]=arguments[_key];return propIsRequired(b,d,e,f)?propExists(d,e)?a.apply(void 0,[d,e,f].concat(g)):missingPropError(d,e,f,c):a.apply(void 0,[d,e,f].concat(g));// Is not required, so just run typeValidator.
74
+ }};exports.default=isRequiredIf;
75
+
76
+
77
+ });
78
+
79
+ var isRequiredIf = unwrapExports(isRequiredIf_1);
80
+
81
+ var exenv = createCommonjsModule(function (module) {
82
+ /*!
83
+ Copyright (c) 2015 Jed Watson.
84
+ Based on code that is Copyright 2013-2015, Facebook, Inc.
85
+ All rights reserved.
86
+ */
87
+ /* global define */
88
+
89
+ (function () {
90
+
91
+ var canUseDOM = !!(
92
+ typeof window !== 'undefined' &&
93
+ window.document &&
94
+ window.document.createElement
95
+ );
96
+
97
+ var ExecutionEnvironment = {
98
+
99
+ canUseDOM: canUseDOM,
100
+
101
+ canUseWorkers: typeof Worker !== 'undefined',
102
+
103
+ canUseEventListeners:
104
+ canUseDOM && !!(window.addEventListener || window.attachEvent),
105
+
106
+ canUseViewport: canUseDOM && !!window.screen
107
+
108
+ };
109
+
110
+ if ( module.exports) {
111
+ module.exports = ExecutionEnvironment;
112
+ } else {
113
+ window.ExecutionEnvironment = ExecutionEnvironment;
114
+ }
115
+
116
+ }());
117
+ });
118
+
119
+ var twitterWidgetJs = 'https://platform.twitter.com/widgets.js';
120
+
121
+ var TwitterTimelineEmbed =
122
+ /*#__PURE__*/
123
+ function (_Component) {
124
+ _inherits(TwitterTimelineEmbed, _Component);
125
+
126
+ function TwitterTimelineEmbed(props) {
127
+ var _this;
128
+
129
+ _classCallCheck(this, TwitterTimelineEmbed);
130
+
131
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterTimelineEmbed).call(this, props));
132
+ _this.state = {
133
+ isLoading: true
134
+ };
135
+ return _this;
136
+ }
137
+
138
+ _createClass(TwitterTimelineEmbed, [{
139
+ key: "buildChromeOptions",
140
+ value: function buildChromeOptions(options) {
141
+ options.chrome = '';
142
+
143
+ if (this.props.noHeader) {
144
+ options.chrome = options.chrome + ' noheader';
145
+ }
146
+
147
+ if (this.props.noFooter) {
148
+ options.chrome = options.chrome + ' nofooter';
149
+ }
150
+
151
+ if (this.props.noBorders) {
152
+ options.chrome = options.chrome + ' noborders';
153
+ }
154
+
155
+ if (this.props.noScrollbar) {
156
+ options.chrome = options.chrome + ' noscrollbar';
157
+ }
158
+
159
+ if (this.props.transparent) {
160
+ options.chrome = options.chrome + ' transparent';
161
+ }
162
+
163
+ return options;
164
+ }
165
+ }, {
166
+ key: "buildOptions",
167
+ value: function buildOptions() {
168
+ var options = Object.assign({}, this.props.options);
169
+
170
+ if (this.props.autoHeight) {
171
+ options.height = this.refs.embedContainer.parentNode.offsetHeight;
172
+ }
173
+
174
+ options = Object.assign({}, options, {
175
+ theme: this.props.theme,
176
+ linkColor: this.props.linkColor,
177
+ borderColor: this.props.borderColor,
178
+ lang: this.props.lang
179
+ });
180
+ return options;
181
+ }
182
+ }, {
183
+ key: "renderWidget",
184
+ value: function renderWidget(options) {
185
+ var _this2 = this;
186
+
187
+ var onLoad = this.props.onLoad;
188
+
189
+ if (!this.isMountCanceled) {
190
+ window.twttr.widgets.createTimeline({
191
+ sourceType: this.props.sourceType,
192
+ screenName: this.props.screenName,
193
+ userId: this.props.userId,
194
+ ownerScreenName: this.props.ownerScreenName,
195
+ slug: this.props.slug,
196
+ id: this.props.id || this.props.widgetId,
197
+ url: this.props.url
198
+ }, this.refs.embedContainer, options).then(function (element) {
199
+ _this2.setState({
200
+ isLoading: false
201
+ });
202
+
203
+ if (onLoad) {
204
+ onLoad(element);
205
+ }
206
+ });
207
+ }
208
+ }
209
+ }, {
210
+ key: "componentDidMount",
211
+ value: function componentDidMount() {
212
+ var _this3 = this;
213
+
214
+ if (exenv.canUseDOM) {
215
+ var script = require('scriptjs');
216
+
217
+ script(twitterWidgetJs, 'twitter-embed', function () {
218
+ if (!window.twttr) {
219
+ console.error('Failure to load window.twttr in TwitterTimelineEmbed, aborting load.');
220
+ return;
221
+ }
222
+
223
+ var options = _this3.buildOptions();
224
+ /** Append chrome options */
225
+
226
+
227
+ options = _this3.buildChromeOptions(options);
228
+
229
+ _this3.renderWidget(options);
230
+ });
231
+ }
232
+ }
233
+ }, {
234
+ key: "componentWillUnmount",
235
+ value: function componentWillUnmount() {
236
+ this.isMountCanceled = true;
237
+ }
238
+ }, {
239
+ key: "render",
240
+ value: function render() {
241
+ var isLoading = this.state.isLoading;
242
+ var placeholder = this.props.placeholder;
243
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
244
+ ref: "embedContainer"
245
+ }));
246
+ }
247
+ }]);
248
+
249
+ return TwitterTimelineEmbed;
250
+ }(Component);
251
+
252
+ _defineProperty$1(TwitterTimelineEmbed, "propTypes", {
253
+ /**
254
+ * This can be either of profile, likes, list, collection, URL, widget
255
+ */
256
+ sourceType: PropTypes.oneOf(['profile', 'likes', 'list', 'collection', 'url', 'widget']).isRequired,
257
+
258
+ /**
259
+ * username of twitter handle as String
260
+ */
261
+ screenName: isRequiredIf(PropTypes.string, function (props) {
262
+ return !props.hasOwnProperty('userId') && (props.sourceType === 'profile' || props.sourceType === 'likes');
263
+ }),
264
+
265
+ /**
266
+ * UserId of twitter handle as number
267
+ */
268
+ userId: isRequiredIf(PropTypes.number, function (props) {
269
+ return !props.hasOwnProperty('screenName') && (props.sourceType === 'profile' || props.sourceType === 'likes');
270
+ }),
271
+
272
+ /**
273
+ * To show list, used along with slug
274
+ */
275
+ ownerScreenName: isRequiredIf(PropTypes.string, function (props) {
276
+ return props.sourceType === 'list' && !props.hasOwnProperty('id');
277
+ }),
278
+
279
+ /**
280
+ * To show list, used along with ownerScreenName
281
+ */
282
+ slug: isRequiredIf(PropTypes.string, function (props) {
283
+ return props.sourceType === 'list' && !props.hasOwnProperty('id');
284
+ }),
285
+
286
+ /**
287
+ * To show list, unique list id
288
+ * Also used with collections, in that case its valid collection id
289
+ */
290
+ id: isRequiredIf(PropTypes.oneOfType([PropTypes.number, PropTypes.string]), function (props) {
291
+ return props.sourceType === 'list' && !props.hasOwnProperty('ownerScreenName') && !props.hasOwnProperty('slug') || props.sourceType === 'collection';
292
+ }),
293
+
294
+ /**
295
+ * To show twitter content with url.
296
+ * Supported content includes profiles, likes, lists, and collections.
297
+ */
298
+ url: isRequiredIf(PropTypes.string, function (props) {
299
+ return props.sourceType === 'url';
300
+ }),
301
+
302
+ /**
303
+ * To show custom widget
304
+ */
305
+ widgetId: isRequiredIf(PropTypes.string, function (props) {
306
+ return props.sourceType === 'widget';
307
+ }),
308
+
309
+ /**
310
+ * Additional options to pass to twitter widget plugin
311
+ */
312
+ options: PropTypes.object,
313
+
314
+ /**
315
+ * Automatically fit into parent container height
316
+ */
317
+ autoHeight: PropTypes.bool,
318
+
319
+ /**
320
+ * With dark or light theme
321
+ */
322
+ theme: PropTypes.oneOf(['dark', 'light']),
323
+
324
+ /**
325
+ * With custom link colors. Note: Only Hex colors are supported.
326
+ */
327
+ linkColor: PropTypes.string,
328
+
329
+ /**
330
+ * With custom border colors. Note: Only Hex colors are supported.
331
+ */
332
+ borderColor: PropTypes.string,
333
+
334
+ /**
335
+ * Hide the header from timeline
336
+ */
337
+ noHeader: PropTypes.bool,
338
+
339
+ /**
340
+ * Hide the footer from timeline
341
+ */
342
+ noFooter: PropTypes.bool,
343
+
344
+ /**
345
+ * Hide the border from timeline
346
+ */
347
+ noBorders: PropTypes.bool,
348
+
349
+ /**
350
+ * Hide the scrollbars
351
+ */
352
+ noScrollbar: PropTypes.bool,
353
+
354
+ /**
355
+ * Enable Transparancy
356
+ */
357
+ transparent: PropTypes.bool,
358
+
359
+ /**
360
+ * Custom language code. Supported codes here: https://developer.twitter.com/en/docs/twitter-for-websites/twitter-for-websites-supported-languages/overview.html
361
+ */
362
+ lang: PropTypes.string,
363
+
364
+ /**
365
+ * Placeholder while tweet is loading
366
+ */
367
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
368
+
369
+ /**
370
+ * Function to execute after load, return html element
371
+ */
372
+ onLoad: PropTypes.func
373
+ });
374
+
375
+ var TwitterShareButton =
376
+ /*#__PURE__*/
377
+ function (_Component) {
378
+ _inherits(TwitterShareButton, _Component);
379
+
380
+ function TwitterShareButton(props) {
381
+ var _this;
382
+
383
+ _classCallCheck(this, TwitterShareButton);
384
+
385
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterShareButton).call(this, props));
386
+ _this.state = {
387
+ isLoading: true
388
+ };
389
+ return _this;
390
+ }
391
+
392
+ _createClass(TwitterShareButton, [{
393
+ key: "componentDidMount",
394
+ value: function componentDidMount() {
395
+ var _this2 = this;
396
+
397
+ var onLoad = this.props.onLoad;
398
+
399
+ if (exenv.canUseDOM) {
400
+ var script = require('scriptjs');
401
+
402
+ script(twitterWidgetJs, 'twitter-embed', function () {
403
+ if (!window.twttr) {
404
+ console.error('Failure to load window.twttr in TwitterShareButton, aborting load.');
405
+ return;
406
+ }
407
+
408
+ if (!_this2.isMountCanceled) {
409
+ window.twttr.widgets.createShareButton(_this2.props.url, _this2.refs.embedContainer, _this2.props.options).then(function (element) {
410
+ _this2.setState({
411
+ isLoading: false
412
+ });
413
+
414
+ if (onLoad) {
415
+ onLoad(element);
416
+ }
417
+ });
418
+ }
419
+ });
420
+ }
421
+ }
422
+ }, {
423
+ key: "componentWillUnmount",
424
+ value: function componentWillUnmount() {
425
+ this.isMountCanceled = true;
426
+ }
427
+ }, {
428
+ key: "render",
429
+ value: function render() {
430
+ var isLoading = this.state.isLoading;
431
+ var placeholder = this.props.placeholder;
432
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
433
+ ref: "embedContainer"
434
+ }));
435
+ }
436
+ }]);
437
+
438
+ return TwitterShareButton;
439
+ }(Component);
440
+
441
+ _defineProperty$1(TwitterShareButton, "propTypes", {
442
+ /**
443
+ * Url for sharing
444
+ */
445
+ url: PropTypes.string.isRequired,
446
+
447
+ /**
448
+ * Additional options for overriding config. Details at : https://dev.twitter.com/web/tweet-button/parameters
449
+ */
450
+ options: PropTypes.object,
451
+
452
+ /**
453
+ * Placeholder while tweet is loading
454
+ */
455
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
456
+
457
+ /**
458
+ * Function to execute after load, return html element
459
+ */
460
+ onLoad: PropTypes.func
461
+ });
462
+
463
+ var TwitterFollowButton =
464
+ /*#__PURE__*/
465
+ function (_Component) {
466
+ _inherits(TwitterFollowButton, _Component);
467
+
468
+ function TwitterFollowButton(props) {
469
+ var _this;
470
+
471
+ _classCallCheck(this, TwitterFollowButton);
472
+
473
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterFollowButton).call(this, props));
474
+ _this.state = {
475
+ isLoading: true
476
+ };
477
+ return _this;
478
+ }
479
+
480
+ _createClass(TwitterFollowButton, [{
481
+ key: "componentDidMount",
482
+ value: function componentDidMount() {
483
+ var _this2 = this;
484
+
485
+ var onLoad = this.props.onLoad;
486
+
487
+ if (exenv.canUseDOM) {
488
+ var script = require('scriptjs');
489
+
490
+ script(twitterWidgetJs, 'twitter-embed', function () {
491
+ if (!window.twttr) {
492
+ console.error('Failure to load window.twttr in TwitterFollowButton, aborting load.');
493
+ return;
494
+ }
495
+
496
+ if (!_this2.isMountCanceled) {
497
+ window.twttr.widgets.createFollowButton(_this2.props.screenName, _this2.refs.embedContainer, _this2.props.options).then(function (element) {
498
+ _this2.setState({
499
+ isLoading: false
500
+ });
501
+
502
+ if (onLoad) {
503
+ onLoad(element);
504
+ }
505
+ });
506
+ }
507
+ });
508
+ }
509
+ }
510
+ }, {
511
+ key: "componentWillUnmount",
512
+ value: function componentWillUnmount() {
513
+ this.isMountCanceled = true;
514
+ }
515
+ }, {
516
+ key: "render",
517
+ value: function render() {
518
+ var isLoading = this.state.isLoading;
519
+ var placeholder = this.props.placeholder;
520
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
521
+ ref: "embedContainer"
522
+ }));
523
+ }
524
+ }]);
525
+
526
+ return TwitterFollowButton;
527
+ }(Component);
528
+
529
+ _defineProperty$1(TwitterFollowButton, "propTypes", {
530
+ /**
531
+ * Username of twitter user which will be followed on click
532
+ */
533
+ screenName: PropTypes.string.isRequired,
534
+
535
+ /**
536
+ * Additional options to be added to the button
537
+ */
538
+ options: PropTypes.object,
539
+
540
+ /**
541
+ * Placeholder while tweet is loading
542
+ */
543
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
544
+
545
+ /**
546
+ * Function to execute after load, return html element
547
+ */
548
+ onLoad: PropTypes.func
549
+ });
550
+
551
+ var TwitterHashtagButton =
552
+ /*#__PURE__*/
553
+ function (_Component) {
554
+ _inherits(TwitterHashtagButton, _Component);
555
+
556
+ function TwitterHashtagButton(props) {
557
+ var _this;
558
+
559
+ _classCallCheck(this, TwitterHashtagButton);
560
+
561
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterHashtagButton).call(this, props));
562
+ _this.state = {
563
+ isLoading: true
564
+ };
565
+ return _this;
566
+ }
567
+
568
+ _createClass(TwitterHashtagButton, [{
569
+ key: "componentDidMount",
570
+ value: function componentDidMount() {
571
+ var _this2 = this;
572
+
573
+ var onLoad = this.props.onLoad;
574
+
575
+ if (exenv.canUseDOM) {
576
+ var script = require('scriptjs');
577
+
578
+ script(twitterWidgetJs, 'twitter-embed', function () {
579
+ if (!window.twttr) {
580
+ console.error('Failure to load window.twttr in TwitterHashtagButton, aborting load.');
581
+ return;
582
+ }
583
+
584
+ if (!_this2.isMountCanceled) {
585
+ window.twttr.widgets.createHashtagButton(_this2.props.tag, _this2.refs.embedContainer, _this2.props.options).then(function (element) {
586
+ _this2.setState({
587
+ isLoading: false
588
+ });
589
+
590
+ if (onLoad) {
591
+ onLoad(element);
592
+ }
593
+ });
594
+ }
595
+ });
596
+ }
597
+ }
598
+ }, {
599
+ key: "componentWillUnmount",
600
+ value: function componentWillUnmount() {
601
+ this.isMountCanceled = true;
602
+ }
603
+ }, {
604
+ key: "render",
605
+ value: function render() {
606
+ var isLoading = this.state.isLoading;
607
+ var placeholder = this.props.placeholder;
608
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
609
+ ref: "embedContainer"
610
+ }));
611
+ }
612
+ }]);
613
+
614
+ return TwitterHashtagButton;
615
+ }(Component);
616
+
617
+ _defineProperty$1(TwitterHashtagButton, "propTypes", {
618
+ /**
619
+ * Tag name for hashtag button
620
+ */
621
+ tag: PropTypes.string.isRequired,
622
+
623
+ /**
624
+ * Additional options to be added to the button
625
+ */
626
+ options: PropTypes.object,
627
+
628
+ /**
629
+ * Placeholder while tweet is loading
630
+ */
631
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
632
+
633
+ /**
634
+ * Function to execute after load, return html element
635
+ */
636
+ onLoad: PropTypes.func
637
+ });
638
+
639
+ var TwitterMentionButton =
640
+ /*#__PURE__*/
641
+ function (_Component) {
642
+ _inherits(TwitterMentionButton, _Component);
643
+
644
+ function TwitterMentionButton(props) {
645
+ var _this;
646
+
647
+ _classCallCheck(this, TwitterMentionButton);
648
+
649
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterMentionButton).call(this, props));
650
+ _this.state = {
651
+ isLoading: true
652
+ };
653
+ return _this;
654
+ }
655
+
656
+ _createClass(TwitterMentionButton, [{
657
+ key: "componentDidMount",
658
+ value: function componentDidMount() {
659
+ var _this2 = this;
660
+
661
+ var onLoad = this.props.onLoad;
662
+
663
+ if (exenv.canUseDOM) {
664
+ var script = require('scriptjs');
665
+
666
+ script(twitterWidgetJs, 'twitter-embed', function () {
667
+ if (!window.twttr) {
668
+ console.error('Failure to load window.twttr in TwitterMentionButton, aborting load.');
669
+ return;
670
+ }
671
+
672
+ if (!_this2.isMountCanceled) {
673
+ window.twttr.widgets.createMentionButton(_this2.props.screenName, _this2.refs.embedContainer, _this2.props.options).then(function (element) {
674
+ _this2.setState({
675
+ isLoading: false
676
+ });
677
+
678
+ if (onLoad) {
679
+ onLoad(element);
680
+ }
681
+ });
682
+ }
683
+ });
684
+ }
685
+ }
686
+ }, {
687
+ key: "componentWillUnmount",
688
+ value: function componentWillUnmount() {
689
+ this.isMountCanceled = true;
690
+ }
691
+ }, {
692
+ key: "render",
693
+ value: function render() {
694
+ var isLoading = this.state.isLoading;
695
+ var placeholder = this.props.placeholder;
696
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
697
+ ref: "embedContainer"
698
+ }));
699
+ }
700
+ }]);
701
+
702
+ return TwitterMentionButton;
703
+ }(Component);
704
+
705
+ _defineProperty$1(TwitterMentionButton, "propTypes", {
706
+ /**
707
+ * Username to which you will need to tweet
708
+ */
709
+ screenName: PropTypes.string.isRequired,
710
+
711
+ /**
712
+ * Additional options for overriding config.
713
+ */
714
+ options: PropTypes.object,
715
+
716
+ /**
717
+ * Placeholder while tweet is loading
718
+ */
719
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
720
+
721
+ /**
722
+ * Function to execute after load, return html element
723
+ */
724
+ onLoad: PropTypes.func
725
+ });
726
+
727
+ var TwitterTweetEmbed =
728
+ /*#__PURE__*/
729
+ function (_Component) {
730
+ _inherits(TwitterTweetEmbed, _Component);
731
+
732
+ function TwitterTweetEmbed(props) {
733
+ var _this;
734
+
735
+ _classCallCheck(this, TwitterTweetEmbed);
736
+
737
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterTweetEmbed).call(this, props));
738
+ _this.state = {
739
+ isLoading: true
740
+ };
741
+ return _this;
742
+ }
743
+
744
+ _createClass(TwitterTweetEmbed, [{
745
+ key: "renderWidget",
746
+ value: function renderWidget() {
747
+ var _this2 = this;
748
+
749
+ var onLoad = this.props.onLoad;
750
+
751
+ if (!window.twttr) {
752
+ console.error('Failure to load window.twttr in TwitterTweetEmbed, aborting load.');
753
+ return;
754
+ }
755
+
756
+ if (!this.isMountCanceled) {
757
+ window.twttr.widgets.createTweet(this.props.tweetId, this.refs.embedContainer, this.props.options).then(function (element) {
758
+ _this2.setState({
759
+ isLoading: false
760
+ });
761
+
762
+ if (onLoad) {
763
+ onLoad(element);
764
+ }
765
+ });
766
+ }
767
+ }
768
+ }, {
769
+ key: "componentDidMount",
770
+ value: function componentDidMount() {
771
+ var _this3 = this;
772
+
773
+ if (exenv.canUseDOM) {
774
+ var script = require('scriptjs');
775
+
776
+ script(twitterWidgetJs, 'twitter-embed', function () {
777
+ _this3.renderWidget();
778
+ });
779
+ }
780
+ }
781
+ }, {
782
+ key: "componentWillUnmount",
783
+ value: function componentWillUnmount() {
784
+ this.isMountCanceled = true;
785
+ }
786
+ }, {
787
+ key: "render",
788
+ value: function render() {
789
+ var isLoading = this.state.isLoading;
790
+ var placeholder = this.props.placeholder;
791
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
792
+ ref: "embedContainer"
793
+ }));
794
+ }
795
+ }]);
796
+
797
+ return TwitterTweetEmbed;
798
+ }(Component);
799
+
800
+ _defineProperty$1(TwitterTweetEmbed, "propTypes", {
801
+ /**
802
+ * Tweet id that needs to be shown
803
+ */
804
+ tweetId: PropTypes.string.isRequired,
805
+
806
+ /**
807
+ * Additional options to pass to twitter widget plugin
808
+ */
809
+ options: PropTypes.object,
810
+
811
+ /**
812
+ * Placeholder while tweet is loading
813
+ */
814
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
815
+
816
+ /**
817
+ * Function to execute after load, return html element
818
+ */
819
+ onLoad: PropTypes.func
820
+ });
821
+
822
+ var TwitterMomentShare =
823
+ /*#__PURE__*/
824
+ function (_Component) {
825
+ _inherits(TwitterMomentShare, _Component);
826
+
827
+ function TwitterMomentShare(props) {
828
+ var _this;
829
+
830
+ _classCallCheck(this, TwitterMomentShare);
831
+
832
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterMomentShare).call(this, props));
833
+ _this.state = {
834
+ isLoading: true
835
+ };
836
+ return _this;
837
+ }
838
+
839
+ _createClass(TwitterMomentShare, [{
840
+ key: "componentDidMount",
841
+ value: function componentDidMount() {
842
+ var _this2 = this;
843
+
844
+ var onLoad = this.props.onLoad;
845
+
846
+ if (exenv.canUseDOM) {
847
+ var script = require('scriptjs');
848
+
849
+ script(twitterWidgetJs, 'twitter-embed', function () {
850
+ if (!window.twttr) {
851
+ console.error('Failure to load window.twttr in TwitterMomentShare, aborting load.');
852
+ return;
853
+ }
854
+
855
+ if (!_this2.isMountCanceled) {
856
+ window.twttr.widgets.createMoment(_this2.props.momentId, _this2.refs.shareMoment, _this2.props.options).then(function (element) {
857
+ _this2.setState({
858
+ isLoading: false
859
+ });
860
+
861
+ if (onLoad) {
862
+ onLoad(element);
863
+ }
864
+ });
865
+ }
866
+ });
867
+ }
868
+ }
869
+ }, {
870
+ key: "componentWillUnmount",
871
+ value: function componentWillUnmount() {
872
+ this.isMountCanceled = true;
873
+ }
874
+ }, {
875
+ key: "render",
876
+ value: function render() {
877
+ var isLoading = this.state.isLoading;
878
+ var placeholder = this.props.placeholder;
879
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
880
+ ref: "shareMoment"
881
+ }));
882
+ }
883
+ }]);
884
+
885
+ return TwitterMomentShare;
886
+ }(Component);
887
+
888
+ _defineProperty$1(TwitterMomentShare, "propTypes", {
889
+ /**
890
+ * id of Twitter moment to show
891
+ */
892
+ momentId: PropTypes.string.isRequired,
893
+
894
+ /**
895
+ * Additional options for overriding config.
896
+ */
897
+ options: PropTypes.object,
898
+
899
+ /**
900
+ * Placeholder while tweet is loading
901
+ */
902
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
903
+
904
+ /**
905
+ * Function to execute after load, return html element
906
+ */
907
+ onLoad: PropTypes.func
908
+ });
909
+
910
+ var TwitterDMButton =
911
+ /*#__PURE__*/
912
+ function (_Component) {
913
+ _inherits(TwitterDMButton, _Component);
914
+
915
+ function TwitterDMButton(props) {
916
+ var _this;
917
+
918
+ _classCallCheck(this, TwitterDMButton);
919
+
920
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterDMButton).call(this, props));
921
+ _this.state = {
922
+ isLoading: true
923
+ };
924
+ return _this;
925
+ }
926
+
927
+ _createClass(TwitterDMButton, [{
928
+ key: "componentDidMount",
929
+ value: function componentDidMount() {
930
+ var _this2 = this;
931
+
932
+ var onLoad = this.props.onLoad;
933
+
934
+ if (exenv.canUseDOM) {
935
+ var script = require('scriptjs');
936
+
937
+ script(twitterWidgetJs, 'twitter-embed', function () {
938
+ if (!window.twttr) {
939
+ console.error('Failure to load window.twttr in TwitterDMButton, aborting load.');
940
+ return;
941
+ }
942
+
943
+ if (!_this2.isMountCanceled) {
944
+ window.twttr.widgets.createDMButton(_this2.props.id, _this2.refs.embedContainer, _this2.props.options).then(function (element) {
945
+ _this2.setState({
946
+ isLoading: false
947
+ });
948
+
949
+ if (onLoad) {
950
+ onLoad(element);
951
+ }
952
+ });
953
+ }
954
+ });
955
+ }
956
+ }
957
+ }, {
958
+ key: "componentWillUnmount",
959
+ value: function componentWillUnmount() {
960
+ this.isMountCanceled = true;
961
+ }
962
+ }, {
963
+ key: "render",
964
+ value: function render() {
965
+ var isLoading = this.state.isLoading;
966
+ var placeholder = this.props.placeholder;
967
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
968
+ ref: "embedContainer"
969
+ }));
970
+ }
971
+ }]);
972
+
973
+ return TwitterDMButton;
974
+ }(Component);
975
+
976
+ _defineProperty$1(TwitterDMButton, "propTypes", {
977
+ /**
978
+ * Twitter user id for DM button
979
+ */
980
+ id: PropTypes.number.isRequired,
981
+
982
+ /**
983
+ * Additional options to be added to the button
984
+ */
985
+ options: PropTypes.object,
986
+
987
+ /**
988
+ * Placeholder while tweet is loading
989
+ */
990
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
991
+
992
+ /**
993
+ * Function to execute after load, return html element
994
+ */
995
+ onLoad: PropTypes.func
996
+ });
997
+
998
+ var TwitterVideoEmbed =
999
+ /*#__PURE__*/
1000
+ function (_Component) {
1001
+ _inherits(TwitterVideoEmbed, _Component);
1002
+
1003
+ function TwitterVideoEmbed(props) {
1004
+ var _this;
1005
+
1006
+ _classCallCheck(this, TwitterVideoEmbed);
1007
+
1008
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterVideoEmbed).call(this, props));
1009
+ _this.state = {
1010
+ isLoading: true
1011
+ };
1012
+ return _this;
1013
+ }
1014
+
1015
+ _createClass(TwitterVideoEmbed, [{
1016
+ key: "componentDidMount",
1017
+ value: function componentDidMount() {
1018
+ var _this2 = this;
1019
+
1020
+ var onLoad = this.props.onLoad;
1021
+
1022
+ if (exenv.canUseDOM) {
1023
+ var script = require('scriptjs');
1024
+
1025
+ script(twitterWidgetJs, 'twitter-embed', function () {
1026
+ if (!window.twttr) {
1027
+ console.error('Failure to load window.twttr in TwitterVideoEmbed, aborting load.');
1028
+ return;
1029
+ }
1030
+
1031
+ if (!_this2.isMountCanceled) {
1032
+ window.twttr.widgets.createVideo(_this2.props.id, _this2.refs.embedContainer).then(function (element) {
1033
+ _this2.setState({
1034
+ isLoading: false
1035
+ });
1036
+
1037
+ if (onLoad) {
1038
+ onLoad(element);
1039
+ }
1040
+ });
1041
+ }
1042
+ });
1043
+ }
1044
+ }
1045
+ }, {
1046
+ key: "componentWillUnmount",
1047
+ value: function componentWillUnmount() {
1048
+ this.isMountCanceled = true;
1049
+ }
1050
+ }, {
1051
+ key: "render",
1052
+ value: function render() {
1053
+ var isLoading = this.state.isLoading;
1054
+ var placeholder = this.props.placeholder;
1055
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
1056
+ ref: "embedContainer"
1057
+ }));
1058
+ }
1059
+ }]);
1060
+
1061
+ return TwitterVideoEmbed;
1062
+ }(Component);
1063
+
1064
+ _defineProperty$1(TwitterVideoEmbed, "propTypes", {
1065
+ /**
1066
+ * Id of video tweet.
1067
+ */
1068
+ id: PropTypes.string.isRequired,
1069
+
1070
+ /**
1071
+ * Placeholder while tweet is loading
1072
+ */
1073
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
1074
+
1075
+ /**
1076
+ * Function to execute after load, return html element
1077
+ */
1078
+ onLoad: PropTypes.func
1079
+ });
1080
+
1081
+ var TwitterOnAirButton =
1082
+ /*#__PURE__*/
1083
+ function (_Component) {
1084
+ _inherits(TwitterOnAirButton, _Component);
1085
+
1086
+ function TwitterOnAirButton(props) {
1087
+ var _this;
1088
+
1089
+ _classCallCheck(this, TwitterOnAirButton);
1090
+
1091
+ _this = _possibleConstructorReturn(this, _getPrototypeOf(TwitterOnAirButton).call(this, props));
1092
+ _this.state = {
1093
+ isLoading: true
1094
+ };
1095
+ return _this;
1096
+ }
1097
+
1098
+ _createClass(TwitterOnAirButton, [{
1099
+ key: "componentDidMount",
1100
+ value: function componentDidMount() {
1101
+ var _this2 = this;
1102
+
1103
+ var onLoad = this.props.onLoad;
1104
+
1105
+ if (exenv.canUseDOM) {
1106
+ var script = require('scriptjs');
1107
+
1108
+ script(twitterWidgetJs, 'twitter-embed', function () {
1109
+ if (!window.twttr) {
1110
+ console.error('Failure to load window.twttr in TwitterOnAirButton, aborting load.');
1111
+ return;
1112
+ }
1113
+
1114
+ if (!_this2.isMountCanceled) {
1115
+ window.twttr.widgets.createPeriscopeOnAirButton(_this2.props.username, _this2.refs.embedContainer, _this2.props.options).then(function (element) {
1116
+ _this2.setState({
1117
+ isLoading: false
1118
+ });
1119
+
1120
+ if (onLoad) {
1121
+ onLoad(element);
1122
+ }
1123
+ });
1124
+ }
1125
+ });
1126
+ }
1127
+ }
1128
+ }, {
1129
+ key: "componentWillUnmount",
1130
+ value: function componentWillUnmount() {
1131
+ this.isMountCanceled = true;
1132
+ }
1133
+ }, {
1134
+ key: "render",
1135
+ value: function render() {
1136
+ var isLoading = this.state.isLoading;
1137
+ var placeholder = this.props.placeholder;
1138
+ return React__default.createElement(React__default.Fragment, null, isLoading && placeholder, React__default.createElement("div", {
1139
+ ref: "embedContainer"
1140
+ }));
1141
+ }
1142
+ }]);
1143
+
1144
+ return TwitterOnAirButton;
1145
+ }(Component);
1146
+
1147
+ _defineProperty$1(TwitterOnAirButton, "propTypes", {
1148
+ /**
1149
+ * Username for which you require periscope on air button
1150
+ */
1151
+ username: PropTypes.string.isRequired,
1152
+
1153
+ /**
1154
+ * Additional options for overriding config.
1155
+ */
1156
+ options: PropTypes.object,
1157
+
1158
+ /**
1159
+ * Placeholder while tweet is loading
1160
+ */
1161
+ placeholder: PropTypes.oneOfType([PropTypes.string, PropTypes.element]),
1162
+
1163
+ /**
1164
+ * Function to execute after load, return html element
1165
+ */
1166
+ onLoad: PropTypes.func
1167
+ });
1168
+
1169
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {
1170
+ try {
1171
+ var info = gen[key](arg);
1172
+ var value = info.value;
1173
+ } catch (error) {
1174
+ reject(error);
1175
+ return;
1176
+ }
1177
+
1178
+ if (info.done) {
1179
+ resolve(value);
1180
+ } else {
1181
+ Promise.resolve(value).then(_next, _throw);
1182
+ }
1183
+ }
1184
+
1185
+ function _asyncToGenerator(fn) {
1186
+ return function () {
1187
+ var self = this,
1188
+ args = arguments;
1189
+ return new Promise(function (resolve, reject) {
1190
+ var gen = fn.apply(self, args);
1191
+
1192
+ function _next(value) {
1193
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);
1194
+ }
1195
+
1196
+ function _throw(err) {
1197
+ asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);
1198
+ }
1199
+
1200
+ _next(undefined);
1201
+ });
1202
+ };
1203
+ }
1204
+
1205
+ var asyncToGenerator = _asyncToGenerator;
1206
+
1207
+ function _defineProperty(obj, key, value) {
1208
+ if (key in obj) {
1209
+ Object.defineProperty(obj, key, {
1210
+ value: value,
1211
+ enumerable: true,
1212
+ configurable: true,
1213
+ writable: true
1214
+ });
1215
+ } else {
1216
+ obj[key] = value;
1217
+ }
1218
+
1219
+ return obj;
1220
+ }
1221
+
1222
+ var defineProperty = _defineProperty;
1223
+
1224
+ var canUseDOM = !!(
1225
+ typeof window !== 'undefined' &&
1226
+ window.document &&
1227
+ window.document.createElement
1228
+ );
1229
+
1230
+ var canUseDom = canUseDOM;
1231
+
1232
+ function _objectWithoutPropertiesLoose(source, excluded) {
1233
+ if (source == null) return {};
1234
+ var target = {};
1235
+ var sourceKeys = Object.keys(source);
1236
+ var key, i;
1237
+
1238
+ for (i = 0; i < sourceKeys.length; i++) {
1239
+ key = sourceKeys[i];
1240
+ if (excluded.indexOf(key) >= 0) continue;
1241
+ target[key] = source[key];
1242
+ }
1243
+
1244
+ return target;
1245
+ }
1246
+
1247
+ var objectWithoutPropertiesLoose = _objectWithoutPropertiesLoose;
1248
+
1249
+ function _objectWithoutProperties(source, excluded) {
1250
+ if (source == null) return {};
1251
+ var target = objectWithoutPropertiesLoose(source, excluded);
1252
+ var key, i;
1253
+
1254
+ if (Object.getOwnPropertySymbols) {
1255
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
1256
+
1257
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
1258
+ key = sourceSymbolKeys[i];
1259
+ if (excluded.indexOf(key) >= 0) continue;
1260
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
1261
+ target[key] = source[key];
1262
+ }
1263
+ }
1264
+
1265
+ return target;
1266
+ }
1267
+
1268
+ var objectWithoutProperties = _objectWithoutProperties;
1269
+
1270
+ var LoginStatus = {
1271
+ CONNECTED: 'connected',
1272
+ AUTHORIZATION_EXPIRED: 'authorization_expired',
1273
+ NOT_AUTHORIZED: 'not_authorized',
1274
+ UNKNOWN: 'unknown'
1275
+ };
1276
+
1277
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
1278
+
1279
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
1280
+ const Method = {
1281
+ GET: 'get',
1282
+ POST: 'post',
1283
+ DELETE: 'delete'
1284
+ };
1285
+ class Facebook {
1286
+ constructor(options = {}) {
1287
+ this.options = _objectSpread({
1288
+ domain: 'connect.facebook.net',
1289
+ version: 'v3.2',
1290
+ cookie: false,
1291
+ status: false,
1292
+ xfbml: false,
1293
+ language: 'en_US',
1294
+ frictionlessRequests: false,
1295
+ debug: false,
1296
+ chatSupport: false
1297
+ }, options);
1298
+
1299
+ if (!this.options.appId) {
1300
+ throw new Error('You need to set appId');
1301
+ }
1302
+
1303
+ if (!this.options.wait) {
1304
+ this.init();
1305
+ }
1306
+ }
1307
+
1308
+ getAppId() {
1309
+ return this.options.appId;
1310
+ }
1311
+
1312
+ init() {
1313
+ var _this = this;
1314
+
1315
+ return asyncToGenerator(function* () {
1316
+ if (_this.loadingPromise) {
1317
+ return _this.loadingPromise;
1318
+ }
1319
+
1320
+ _this.loadingPromise = new Promise(resolve => {
1321
+ const _this$options = _this.options,
1322
+ {
1323
+ domain,
1324
+ language,
1325
+ debug,
1326
+ chatSupport
1327
+ } = _this$options,
1328
+ restOptions = objectWithoutProperties(_this$options, ["domain", "language", "debug", "chatSupport"]);
1329
+
1330
+ window.fbAsyncInit = () => {
1331
+ window.FB.init({
1332
+ appId: restOptions.appId,
1333
+ version: restOptions.version,
1334
+ cookie: restOptions.cookie,
1335
+ status: restOptions.status,
1336
+ xfbml: restOptions.xfbml,
1337
+ frictionlessRequests: _this.frictionlessRequests
1338
+ });
1339
+ resolve(window.FB);
1340
+ };
1341
+
1342
+ if (window.document.getElementById('facebook-jssdk')) {
1343
+ return resolve(window.FB);
1344
+ }
1345
+
1346
+ const js = window.document.createElement('script');
1347
+ js.id = 'facebook-jssdk';
1348
+ js.async = true;
1349
+ js.defer = true;
1350
+ js.src = `https://${domain}/${language}/sdk${chatSupport ? '/xfbml.customerchat' : ''}${debug ? '/debug' : ''}.js`;
1351
+ window.document.body.appendChild(js);
1352
+ });
1353
+ return _this.loadingPromise;
1354
+ })();
1355
+ }
1356
+
1357
+ process(method, before = [], after = []) {
1358
+ var _this2 = this;
1359
+
1360
+ return asyncToGenerator(function* () {
1361
+ const fb = yield _this2.init();
1362
+ return new Promise((resolve, reject) => {
1363
+ fb[method](...before, response => {
1364
+ if (!response) {
1365
+ if (method === 'ui') return;
1366
+ reject(new Error('Response is undefined'));
1367
+ } else if (response.error) {
1368
+ const {
1369
+ code,
1370
+ type,
1371
+ message
1372
+ } = response.error;
1373
+ const error = new Error(message);
1374
+ error.code = code;
1375
+ error.type = type;
1376
+ reject(error);
1377
+ } else {
1378
+ resolve(response);
1379
+ }
1380
+ }, ...after);
1381
+ });
1382
+ })();
1383
+ }
1384
+
1385
+ ui(options) {
1386
+ var _this3 = this;
1387
+
1388
+ return asyncToGenerator(function* () {
1389
+ return _this3.process('ui', [options]);
1390
+ })();
1391
+ }
1392
+
1393
+ api(path, method = Method.GET, params = {}) {
1394
+ var _this4 = this;
1395
+
1396
+ return asyncToGenerator(function* () {
1397
+ return _this4.process('api', [path, method, params]);
1398
+ })();
1399
+ }
1400
+
1401
+ login(opts = null) {
1402
+ var _this5 = this;
1403
+
1404
+ return asyncToGenerator(function* () {
1405
+ return _this5.process('login', [], [opts]);
1406
+ })();
1407
+ }
1408
+
1409
+ logout() {
1410
+ var _this6 = this;
1411
+
1412
+ return asyncToGenerator(function* () {
1413
+ return _this6.process('logout');
1414
+ })();
1415
+ }
1416
+
1417
+ getLoginStatus() {
1418
+ var _this7 = this;
1419
+
1420
+ return asyncToGenerator(function* () {
1421
+ return _this7.process('getLoginStatus');
1422
+ })();
1423
+ }
1424
+
1425
+ getAuthResponse() {
1426
+ var _this8 = this;
1427
+
1428
+ return asyncToGenerator(function* () {
1429
+ return _this8.process('getAuthResponse');
1430
+ })();
1431
+ }
1432
+
1433
+ getTokenDetail(loginResponse) {
1434
+ var _this9 = this;
1435
+
1436
+ return asyncToGenerator(function* () {
1437
+ if (loginResponse.status === LoginStatus.CONNECTED && loginResponse.authResponse) {
1438
+ return loginResponse.authResponse;
1439
+ }
1440
+
1441
+ const response = yield _this9.getLoginStatus();
1442
+
1443
+ if (response.status === LoginStatus.CONNECTED && response.authResponse) {
1444
+ return response.authResponse;
1445
+ }
1446
+
1447
+ throw new Error('Token is undefined');
1448
+ })();
1449
+ }
1450
+
1451
+ getProfile(params) {
1452
+ var _this10 = this;
1453
+
1454
+ return asyncToGenerator(function* () {
1455
+ return _this10.api('/me', Method.GET, params);
1456
+ })();
1457
+ }
1458
+
1459
+ getTokenDetailWithProfile(params, response) {
1460
+ var _this11 = this;
1461
+
1462
+ return asyncToGenerator(function* () {
1463
+ const tokenDetail = yield _this11.getTokenDetail(response);
1464
+ const profile = yield _this11.getProfile(params);
1465
+ return {
1466
+ profile,
1467
+ tokenDetail
1468
+ };
1469
+ })();
1470
+ }
1471
+
1472
+ getToken() {
1473
+ var _this12 = this;
1474
+
1475
+ return asyncToGenerator(function* () {
1476
+ const authResponse = yield _this12.getTokenDetail();
1477
+ return authResponse.accessToken;
1478
+ })();
1479
+ }
1480
+
1481
+ getUserId() {
1482
+ var _this13 = this;
1483
+
1484
+ return asyncToGenerator(function* () {
1485
+ const authResponse = yield _this13.getTokenDetail();
1486
+ return authResponse.userID;
1487
+ })();
1488
+ }
1489
+
1490
+ sendInvite(to, options) {
1491
+ var _this14 = this;
1492
+
1493
+ return asyncToGenerator(function* () {
1494
+ return _this14.ui(_objectSpread({
1495
+ to,
1496
+ method: 'apprequests'
1497
+ }, options));
1498
+ })();
1499
+ }
1500
+
1501
+ postAction(ogNamespace, ogAction, ogObject, ogObjectUrl, noFeedStory) {
1502
+ var _this15 = this;
1503
+
1504
+ return asyncToGenerator(function* () {
1505
+ let url = `/me/${ogNamespace}:${ogAction}?${ogObject}=${encodeURIComponent(ogObjectUrl)}`;
1506
+
1507
+ if (noFeedStory === true) {
1508
+ url += '&no_feed_story=true';
1509
+ }
1510
+
1511
+ return _this15.api(url, Method.POST);
1512
+ })();
1513
+ }
1514
+
1515
+ getPermissions() {
1516
+ var _this16 = this;
1517
+
1518
+ return asyncToGenerator(function* () {
1519
+ const response = yield _this16.api('/me/permissions');
1520
+ return response.data;
1521
+ })();
1522
+ }
1523
+
1524
+ hasPermissions(permissions) {
1525
+ var _this17 = this;
1526
+
1527
+ return asyncToGenerator(function* () {
1528
+ const usersPermissions = yield _this17.getPermissions();
1529
+ const findedPermissions = permissions.filter(p => {
1530
+ const currentPermission = usersPermissions.find(row => {
1531
+ const {
1532
+ permission,
1533
+ status
1534
+ } = row;
1535
+ return status === 'granted' && permission === p;
1536
+ });
1537
+ return !!currentPermission;
1538
+ });
1539
+ return findedPermissions.length === permissions.length;
1540
+ })();
1541
+ }
1542
+
1543
+ subscribe(eventName, callback) {
1544
+ var _this18 = this;
1545
+
1546
+ return asyncToGenerator(function* () {
1547
+ const fb = yield _this18.init();
1548
+ fb.Event.subscribe(eventName, callback);
1549
+ })();
1550
+ }
1551
+
1552
+ unsubscribe(eventName, callback) {
1553
+ var _this19 = this;
1554
+
1555
+ return asyncToGenerator(function* () {
1556
+ const fb = yield _this19.init();
1557
+ fb.Event.unsubscribe(eventName, callback);
1558
+ })();
1559
+ }
1560
+
1561
+ parse(parentNode) {
1562
+ var _this20 = this;
1563
+
1564
+ return asyncToGenerator(function* () {
1565
+ const fb = yield _this20.init();
1566
+
1567
+ if (typeof parentNode === 'undefined') {
1568
+ fb.XFBML.parse();
1569
+ } else {
1570
+ fb.XFBML.parse(parentNode);
1571
+ }
1572
+ })();
1573
+ }
1574
+
1575
+ getRequests() {
1576
+ var _this21 = this;
1577
+
1578
+ return asyncToGenerator(function* () {
1579
+ return _this21.api('/me/apprequests');
1580
+ })();
1581
+ }
1582
+
1583
+ removeRequest(requestID) {
1584
+ var _this22 = this;
1585
+
1586
+ return asyncToGenerator(function* () {
1587
+ return _this22.api(requestID, Method.DELETE);
1588
+ })();
1589
+ }
1590
+
1591
+ setAutoGrow() {
1592
+ var _this23 = this;
1593
+
1594
+ return asyncToGenerator(function* () {
1595
+ const fb = yield _this23.init();
1596
+ fb.Canvas.setAutoGrow();
1597
+ })();
1598
+ }
1599
+
1600
+ paySimple(product, quantity = 1) {
1601
+ var _this24 = this;
1602
+
1603
+ return asyncToGenerator(function* () {
1604
+ return _this24.ui({
1605
+ method: 'pay',
1606
+ action: 'purchaseitem',
1607
+ product,
1608
+ quantity
1609
+ });
1610
+ })();
1611
+ }
1612
+
1613
+ pay(product, options) {
1614
+ var _this25 = this;
1615
+
1616
+ return asyncToGenerator(function* () {
1617
+ return _this25.ui(_objectSpread({
1618
+ method: 'pay',
1619
+ action: 'purchaseitem',
1620
+ product
1621
+ }, options));
1622
+ })();
1623
+ }
1624
+
1625
+ }
1626
+ /*
1627
+ sendToFriends: function(options, callback) {
1628
+ if(!options) {
1629
+ options = {};
1630
+ }
1631
+
1632
+ options.method = 'send';
1633
+
1634
+ this.afterLoad(function(err, fbApi) {
1635
+ if(err) {
1636
+ return callback(err);
1637
+ }
1638
+
1639
+ FB.ui(options, function(response) {
1640
+ fbApi._callCallbackByResponse(callback, response);
1641
+ });
1642
+ });
1643
+ },
1644
+
1645
+ sendMessage: function(message, name, caption, description, url, imgUrl, callback) {
1646
+ this.afterLoad(function(err, fbApi) {
1647
+ if(err) {
1648
+ return callback(err);
1649
+ }
1650
+
1651
+ FB.ui({
1652
+ method: 'stream.publish',
1653
+ message: message,
1654
+ attachment: {
1655
+ name: name,
1656
+ caption: caption,
1657
+ description: description,
1658
+ href: url,
1659
+ media:[{
1660
+ type: 'image',
1661
+ src: imgUrl,
1662
+ href: url
1663
+ }]
1664
+ },
1665
+ action_links: [{
1666
+ text: 'Code',
1667
+ href: url
1668
+ }],
1669
+ user_prompt_message: message
1670
+ },
1671
+ function(response) {
1672
+ fbApi._callCallbackByResponse(callback, response);
1673
+ });
1674
+ });
1675
+ },
1676
+
1677
+ sendInviteForm: function(options, callback) {
1678
+ if(typeof options === 'function') {
1679
+ callback = options;
1680
+ options = {};
1681
+ }
1682
+
1683
+ this.afterLoad(function(err, fbApi) {
1684
+ if(err) {
1685
+ return callback(err);
1686
+ }
1687
+
1688
+ options.method = options.method || 'apprequests';
1689
+
1690
+
1691
+ FB.ui(options, function(response) {
1692
+ fbApi._callCallbackByResponse(callback, response);
1693
+ });
1694
+ });
1695
+ },
1696
+
1697
+ checkPageLike: function(pageID, callback) {
1698
+ this.afterLoad(function(err, fbApi) {
1699
+ if(err) {
1700
+ return callback(err);
1701
+ }
1702
+
1703
+ fbApi.getUserID(function(err, userID) {
1704
+ if(err) {
1705
+ return callback(err);
1706
+ }
1707
+
1708
+ var fqlQuery = `SELECT uid FROM page_fan WHERE page_id = ${pageID} and uid = ${userID}`;
1709
+ var query = FB.Data.query(fqlQuery);
1710
+
1711
+ query.wait(function(rows) {
1712
+ if (rows.length === 1 && rows[0].uid === userID) {
1713
+ callback(null, true, query);
1714
+ }
1715
+ else {
1716
+ callback(null, false, query);
1717
+ }
1718
+ });
1719
+ });
1720
+ });
1721
+ },
1722
+
1723
+ sendMessageToFriend: function (friendID, link, callback) {
1724
+ this.afterLoad(function(err, fbApi) {
1725
+ if(err) {
1726
+ return callback(err);
1727
+ }
1728
+
1729
+ FB.ui({
1730
+ to: friendID,
1731
+ method: 'send',
1732
+ link: link
1733
+ }, function(response) {
1734
+ fbApi._callCallbackByResponse(callback, response);
1735
+ });
1736
+ });
1737
+ },
1738
+
1739
+ _prepareUsers: function(data) {
1740
+ var users=[];
1741
+
1742
+ for(var index in data) {
1743
+ var userData=data[index];
1744
+
1745
+ var user = {
1746
+ provider_uid: 'facebook'+'_'+userData.uid,
1747
+ provider: 'facebook',
1748
+ id: userData.uid,
1749
+ name: userData.name,
1750
+ first_name: userData.first_name,
1751
+ last_name: userData.last_name,
1752
+ status: (userData.status!==null) ? userData.status : null,
1753
+ image: '//graph.facebook.com/'+userData.uid+'/picture?'
1754
+ };
1755
+
1756
+ users.push(user);
1757
+ }
1758
+
1759
+ return users;
1760
+ },
1761
+
1762
+ getUserList: function(callback) {
1763
+ this.afterLoad(function(err, fbApi) {
1764
+ if(err) {
1765
+ return callback(err);
1766
+ }
1767
+
1768
+ FB.api('fql', {
1769
+ q: `
1770
+ SELECT uid, name, first_name, last_name, online_presence, status
1771
+ FROM user
1772
+ WHERE uid IN
1773
+ ( SELECT uid2 FROM friend WHERE uid1 = me()) ORDER BY name
1774
+ `,
1775
+ }, function (response)
1776
+ {
1777
+ var users = fbApi._prepareUsers(response.data);
1778
+ callback(null, users, response);
1779
+ });
1780
+ });
1781
+ },
1782
+
1783
+ postFeed: function(options, callback) {
1784
+ this.afterLoad(function(err, fbApi) {
1785
+ if(err) {
1786
+ return callback(err);
1787
+ }
1788
+
1789
+ options.method='feed';
1790
+
1791
+ FB.ui(options, function(response) {
1792
+ fbApi._callCallbackByResponse(callback, response);
1793
+ });
1794
+ });
1795
+ },
1796
+
1797
+ //need publish_stream
1798
+ createAlbum: function(name, description, callback) {
1799
+ this.afterLoad(function(err, fbApi) {
1800
+ if(err) {
1801
+ return callback(err);
1802
+ }
1803
+
1804
+ FB.api('/me/albums', 'post', {
1805
+ name: name,
1806
+ description: description
1807
+ },function(response) {
1808
+ fbApi._callCallbackByResponse(callback, response);
1809
+ });
1810
+ });
1811
+ },
1812
+
1813
+ //need publish_stream
1814
+ addImageToAlbum: function(albumID, imageURL, message, callback) {
1815
+ this.afterLoad(function(err, fbApi) {
1816
+ if(err) {
1817
+ return callback(err);
1818
+ }
1819
+
1820
+ FB.api('/'+albumID+'/photos', 'post', {
1821
+ message: message,
1822
+ url: imageURL
1823
+ }, function(response) {
1824
+ fbApi._callCallbackByResponse(callback, response);
1825
+ });
1826
+ });
1827
+ },
1828
+
1829
+ //'user_photos'
1830
+ getAlbums: function(callback) {
1831
+ this.afterLoad(function(err, fbApi) {
1832
+ if(err) {
1833
+ return callback(err);
1834
+ }
1835
+
1836
+ FB.api('/me/albums', function(response) {
1837
+ fbApi._callCallbackByResponse(callback, response);
1838
+ });
1839
+ });
1840
+ },
1841
+
1842
+ //'user_photos'
1843
+ getAlbumPhotos: function(albumID, callback) {
1844
+ this.afterLoad(function(err, fbApi) {
1845
+ if(err) {
1846
+ return callback(err);
1847
+ }
1848
+
1849
+ FB.api('/'+albumID+'/photos', function(response) {
1850
+ fbApi._callCallbackByResponse(callback, response);
1851
+ });
1852
+ });
1853
+ },
1854
+
1855
+ //'user_photos'
1856
+ getAlbumCoverPicture: function(albumID, callback) {
1857
+ this.afterLoad(function(err, fbApi) {
1858
+ if(err) {
1859
+ return callback(err);
1860
+ }
1861
+
1862
+ FB.api('/'+albumID+'/picture', function(response) {
1863
+ fbApi._callCallbackByResponse(callback, response);
1864
+ });
1865
+ });
1866
+ },
1867
+
1868
+ //'publish_stream'
1869
+ postPhoto: function(photoUrl, message, callback) {
1870
+ this.afterLoad(function(err, fbApi) {
1871
+ if(err) {
1872
+ return callback(err);
1873
+ }
1874
+
1875
+ FB.api('/me/photos', 'post', {
1876
+ message: message,
1877
+ url: photoUrl
1878
+ },function(response) {
1879
+ fbApi._callCallbackByResponse(callback, response);
1880
+ });
1881
+ });
1882
+ },
1883
+
1884
+ getPageInfo: function(callback) {
1885
+ this.afterLoad(function(err, fbApi) {
1886
+ if(err) {
1887
+ return callback(err);
1888
+ }
1889
+
1890
+ FB.Canvas.getPageInfo(function(response) {
1891
+ fbApi._callCallbackByResponse(callback, response);
1892
+ });
1893
+ });
1894
+ }
1895
+ */
1896
+
1897
+ var FacebookContext = createContext();
1898
+
1899
+ let api = null;
1900
+ class Facebook$1 extends Component {
1901
+ constructor(...args) {
1902
+ var _this;
1903
+
1904
+ super(...args);
1905
+ _this = this;
1906
+
1907
+ defineProperty(this, "state", {
1908
+ isReady: false
1909
+ });
1910
+
1911
+ defineProperty(this, "handleInit",
1912
+ /*#__PURE__*/
1913
+ asyncToGenerator(function* () {
1914
+ // do not run if SSR
1915
+ if (!canUseDom) {
1916
+ throw new Error('You can not use Facebook without DOM');
1917
+ }
1918
+
1919
+ const {
1920
+ isReady
1921
+ } = _this.state;
1922
+
1923
+ if (isReady) {
1924
+ return api;
1925
+ }
1926
+
1927
+ if (!api) {
1928
+ const {
1929
+ domain,
1930
+ version,
1931
+ appId,
1932
+ cookie,
1933
+ status,
1934
+ xfbml,
1935
+ language,
1936
+ frictionlessRequests,
1937
+ wait,
1938
+ debug,
1939
+ chatSupport
1940
+ } = _this.props;
1941
+ api = new Facebook({
1942
+ domain,
1943
+ appId,
1944
+ version,
1945
+ cookie,
1946
+ status,
1947
+ xfbml,
1948
+ language,
1949
+ frictionlessRequests,
1950
+ wait,
1951
+ debug,
1952
+ chatSupport
1953
+ });
1954
+ }
1955
+
1956
+ yield api.init();
1957
+
1958
+ if (!_this.state.isReady) {
1959
+ _this.setState({
1960
+ isReady: true
1961
+ });
1962
+ }
1963
+
1964
+ return api;
1965
+ }));
1966
+ }
1967
+
1968
+ componentDidMount() {
1969
+ const {
1970
+ wait
1971
+ } = this.props;
1972
+
1973
+ if (!wait) {
1974
+ this.handleInit();
1975
+ }
1976
+ }
1977
+
1978
+ render() {
1979
+ const {
1980
+ children
1981
+ } = this.props;
1982
+ const {
1983
+ isReady,
1984
+ error
1985
+ } = this.state;
1986
+ const {
1987
+ handleInit
1988
+ } = this;
1989
+ const value = {
1990
+ isReady,
1991
+ error,
1992
+ handleInit,
1993
+ api
1994
+ };
1995
+ return React__default.createElement(FacebookContext.Provider, {
1996
+ value: value
1997
+ }, children);
1998
+ }
1999
+
2000
+ }
2001
+
2002
+ defineProperty(Facebook$1, "defaultProps", {
2003
+ version: 'v3.1',
2004
+ cookie: false,
2005
+ status: false,
2006
+ xfbml: false,
2007
+ language: 'en_US',
2008
+ frictionlessRequests: false,
2009
+ domain: 'connect.facebook.net',
2010
+ children: undefined,
2011
+ wait: false,
2012
+ debug: false,
2013
+ chatSupport: false
2014
+ });
2015
+
2016
+ var _extends_1 = createCommonjsModule(function (module) {
2017
+ function _extends() {
2018
+ module.exports = _extends = Object.assign || function (target) {
2019
+ for (var i = 1; i < arguments.length; i++) {
2020
+ var source = arguments[i];
2021
+
2022
+ for (var key in source) {
2023
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
2024
+ target[key] = source[key];
2025
+ }
2026
+ }
2027
+ }
2028
+
2029
+ return target;
2030
+ };
2031
+
2032
+ return _extends.apply(this, arguments);
2033
+ }
2034
+
2035
+ module.exports = _extends;
2036
+ });
2037
+
2038
+ class Initialize extends Component {
2039
+ componentDidMount() {
2040
+ this.$isMounted = true;
2041
+ this.prepare();
2042
+ }
2043
+
2044
+ componentWillUnmount() {
2045
+ this.$isMounted = false;
2046
+ }
2047
+
2048
+ prepare() {
2049
+ var _this = this;
2050
+
2051
+ return asyncToGenerator(function* () {
2052
+ const {
2053
+ onReady,
2054
+ handleInit
2055
+ } = _this.props;
2056
+ const api = yield handleInit();
2057
+
2058
+ if (onReady && _this.$isMounted) {
2059
+ onReady(api);
2060
+ }
2061
+ })();
2062
+ }
2063
+
2064
+ render() {
2065
+ const {
2066
+ children,
2067
+ isReady,
2068
+ api
2069
+ } = this.props;
2070
+ const childrenProps = {
2071
+ isReady,
2072
+ api
2073
+ };
2074
+
2075
+ if (typeof children === 'function') {
2076
+ return children(childrenProps);
2077
+ }
2078
+
2079
+ return children;
2080
+ }
2081
+
2082
+ }
2083
+
2084
+ defineProperty(Initialize, "defaultProps", {
2085
+ onReady: undefined,
2086
+ api: undefined
2087
+ });
2088
+
2089
+ var Initialize$1 = forwardRef((props, ref) => React__default.createElement(FacebookContext.Consumer, null, ({
2090
+ handleInit,
2091
+ isReady,
2092
+ api
2093
+ }) => React__default.createElement(Initialize, _extends_1({}, props, {
2094
+ handleInit: handleInit,
2095
+ isReady: isReady,
2096
+ api: api,
2097
+ ref: ref
2098
+ }))));
2099
+
2100
+ class Parser extends Component {
2101
+ constructor(...args) {
2102
+ super(...args);
2103
+
2104
+ defineProperty(this, "state", {});
2105
+
2106
+ defineProperty(this, "handleReady", api => {
2107
+ this.setState({
2108
+ api
2109
+ }, this.handleParse);
2110
+ });
2111
+
2112
+ defineProperty(this, "handleContainer", container => {
2113
+ this.setState({
2114
+ container
2115
+ }, this.handleParse);
2116
+ });
2117
+
2118
+ defineProperty(this, "handleParse", () => {
2119
+ const {
2120
+ api,
2121
+ container
2122
+ } = this.state;
2123
+
2124
+ if (!api || !container) {
2125
+ return;
2126
+ }
2127
+
2128
+ api.parse(container);
2129
+ });
2130
+ }
2131
+
2132
+ render() {
2133
+ const {
2134
+ className,
2135
+ children
2136
+ } = this.props;
2137
+ return React__default.createElement("div", {
2138
+ className: className,
2139
+ ref: this.handleContainer
2140
+ }, React__default.createElement(Initialize$1, {
2141
+ onReady: this.handleReady
2142
+ }, children({
2143
+ handleParse: this.handleParse
2144
+ })));
2145
+ }
2146
+
2147
+ }
2148
+
2149
+ defineProperty(Parser, "defaultProps", {
2150
+ className: undefined
2151
+ });
2152
+
2153
+ function getCurrentHref() {
2154
+ if (!canUseDom) {
2155
+ return 'https://www.facebook.com';
2156
+ }
2157
+
2158
+ return window.location.href;
2159
+ }
2160
+
2161
+ class Like extends PureComponent {
2162
+ componentDidUpdate() {
2163
+ const {
2164
+ handleParse
2165
+ } = this.props;
2166
+ handleParse();
2167
+ }
2168
+
2169
+ render() {
2170
+ const {
2171
+ href = getCurrentHref(),
2172
+ layout,
2173
+ colorScheme,
2174
+ action,
2175
+ showFaces,
2176
+ share,
2177
+ children,
2178
+ width,
2179
+ size,
2180
+ kidDirectedSite,
2181
+ referral
2182
+ } = this.props;
2183
+ return React__default.createElement("div", {
2184
+ className: "fb-like",
2185
+ "data-ref": referral,
2186
+ "data-href": href,
2187
+ "data-layout": layout,
2188
+ "data-colorscheme": colorScheme,
2189
+ "data-action": action,
2190
+ "data-show-faces": showFaces,
2191
+ "data-share": share,
2192
+ "data-width": width,
2193
+ "data-size": size,
2194
+ "data-kid-directed-site": kidDirectedSite
2195
+ }, children);
2196
+ }
2197
+
2198
+ }
2199
+
2200
+ defineProperty(Like, "defaultProps", {
2201
+ layout: undefined,
2202
+ showFaces: undefined,
2203
+ colorScheme: undefined,
2204
+ action: undefined,
2205
+ share: undefined,
2206
+ size: undefined,
2207
+ kidDirectedSite: undefined,
2208
+ children: undefined,
2209
+ href: undefined,
2210
+ referral: undefined,
2211
+ width: undefined
2212
+ });
2213
+
2214
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
2215
+ handleParse
2216
+ }) => React__default.createElement(Like, _extends_1({}, props, {
2217
+ handleParse: handleParse,
2218
+ ref: ref
2219
+ }))));
2220
+
2221
+ function clearUndefinedProperties(obj) {
2222
+ if (!obj) {
2223
+ return obj;
2224
+ }
2225
+
2226
+ const newObj = {};
2227
+ Object.keys(obj).forEach(propertyName => {
2228
+ const value = obj[propertyName];
2229
+
2230
+ if (value !== undefined) {
2231
+ newObj[propertyName] = value;
2232
+ }
2233
+ });
2234
+ return newObj;
2235
+ }
2236
+
2237
+ class Process extends Component {
2238
+ constructor(...args) {
2239
+ var _this;
2240
+
2241
+ super(...args);
2242
+ _this = this;
2243
+
2244
+ defineProperty(this, "state", {
2245
+ api: undefined
2246
+ });
2247
+
2248
+ defineProperty(this, "handleProcess",
2249
+ /*#__PURE__*/
2250
+ function () {
2251
+ var _ref = asyncToGenerator(function* (fn, handleSuccess = () => {}) {
2252
+ _this.setState({
2253
+ data: undefined,
2254
+ error: undefined,
2255
+ loading: true
2256
+ });
2257
+
2258
+ try {
2259
+ const {
2260
+ api
2261
+ } = _this.state;
2262
+
2263
+ if (!api) {
2264
+ throw new Error('Facebook is not initialized. Wait for isReady');
2265
+ }
2266
+
2267
+ const data = yield fn(api);
2268
+
2269
+ _this.setState({
2270
+ data,
2271
+ loading: false
2272
+ }, handleSuccess);
2273
+
2274
+ return data;
2275
+ } catch (error) {
2276
+ _this.setState({
2277
+ error,
2278
+ loading: false
2279
+ });
2280
+
2281
+ throw error;
2282
+ }
2283
+ });
2284
+
2285
+ return function (_x) {
2286
+ return _ref.apply(this, arguments);
2287
+ };
2288
+ }());
2289
+
2290
+ defineProperty(this, "handleReady", api => {
2291
+ this.setState({
2292
+ api
2293
+ });
2294
+ });
2295
+ }
2296
+
2297
+ render() {
2298
+ const {
2299
+ children
2300
+ } = this.props;
2301
+ const {
2302
+ api,
2303
+ loading,
2304
+ data,
2305
+ error
2306
+ } = this.state;
2307
+ return React__default.createElement(Initialize$1, {
2308
+ onReady: this.handleReady
2309
+ }, children({
2310
+ loading: !api || loading,
2311
+ handleProcess: this.handleProcess,
2312
+ data,
2313
+ error
2314
+ }));
2315
+ }
2316
+
2317
+ }
2318
+
2319
+ class Send extends Component {
2320
+ constructor(...args) {
2321
+ var _this;
2322
+
2323
+ super(...args);
2324
+ _this = this;
2325
+
2326
+ defineProperty(this, "handleClick",
2327
+ /*#__PURE__*/
2328
+ function () {
2329
+ var _ref = asyncToGenerator(function* (evn) {
2330
+ evn.preventDefault();
2331
+ const {
2332
+ handleProcess
2333
+ } = _this.props;
2334
+ return handleProcess(
2335
+ /*#__PURE__*/
2336
+ function () {
2337
+ var _ref2 = asyncToGenerator(function* (api) {
2338
+ const {
2339
+ link = getCurrentHref(),
2340
+ display,
2341
+ appId = api.getAppId(),
2342
+ to,
2343
+ redirectURI
2344
+ } = _this.props;
2345
+ return api.ui(clearUndefinedProperties({
2346
+ method: 'send',
2347
+ link,
2348
+ display,
2349
+ app_id: appId,
2350
+ to,
2351
+ redirect_uri: redirectURI
2352
+ }));
2353
+ });
2354
+
2355
+ return function (_x2) {
2356
+ return _ref2.apply(this, arguments);
2357
+ };
2358
+ }());
2359
+ });
2360
+
2361
+ return function (_x) {
2362
+ return _ref.apply(this, arguments);
2363
+ };
2364
+ }());
2365
+ }
2366
+
2367
+ render() {
2368
+ const {
2369
+ children,
2370
+ loading
2371
+ } = this.props;
2372
+ return children({
2373
+ loading,
2374
+ handleClick: this.handleClick
2375
+ });
2376
+ }
2377
+
2378
+ }
2379
+
2380
+ defineProperty(Send, "defaultProps", {
2381
+ to: undefined,
2382
+ display: undefined,
2383
+ appId: undefined,
2384
+ redirectURI: undefined
2385
+ });
2386
+
2387
+ forwardRef((props, ref) => React__default.createElement(Process, null, ({
2388
+ loading,
2389
+ handleProcess
2390
+ }) => React__default.createElement(Send, _extends_1({}, props, {
2391
+ loading: loading,
2392
+ handleProcess: handleProcess,
2393
+ ref: ref
2394
+ }))));
2395
+
2396
+ class Share extends Component {
2397
+ constructor(...args) {
2398
+ var _this;
2399
+
2400
+ super(...args);
2401
+ _this = this;
2402
+
2403
+ defineProperty(this, "handleClick",
2404
+ /*#__PURE__*/
2405
+ function () {
2406
+ var _ref = asyncToGenerator(function* (evn) {
2407
+ evn.preventDefault();
2408
+ const {
2409
+ handleProcess
2410
+ } = _this.props;
2411
+ return handleProcess(
2412
+ /*#__PURE__*/
2413
+ function () {
2414
+ var _ref2 = asyncToGenerator(function* (api) {
2415
+ const {
2416
+ href = getCurrentHref(),
2417
+ display,
2418
+ appId = api.getAppId(),
2419
+ hashtag,
2420
+ redirectURI,
2421
+ quote,
2422
+ mobileIframe
2423
+ } = _this.props;
2424
+ return api.ui(clearUndefinedProperties({
2425
+ method: 'share',
2426
+ href,
2427
+ display,
2428
+ app_id: appId,
2429
+ hashtag,
2430
+ redirect_uri: redirectURI,
2431
+ quote,
2432
+ mobile_iframe: mobileIframe
2433
+ }));
2434
+ });
2435
+
2436
+ return function (_x2) {
2437
+ return _ref2.apply(this, arguments);
2438
+ };
2439
+ }());
2440
+ });
2441
+
2442
+ return function (_x) {
2443
+ return _ref.apply(this, arguments);
2444
+ };
2445
+ }());
2446
+ }
2447
+
2448
+ render() {
2449
+ const {
2450
+ children,
2451
+ loading,
2452
+ error,
2453
+ data
2454
+ } = this.props;
2455
+ return children({
2456
+ loading,
2457
+ handleClick: this.handleClick,
2458
+ error,
2459
+ data
2460
+ });
2461
+ }
2462
+
2463
+ }
2464
+
2465
+ defineProperty(Share, "defaultProps", {
2466
+ href: undefined,
2467
+ hashtag: undefined,
2468
+ quote: undefined,
2469
+ mobileIframe: undefined,
2470
+ display: undefined,
2471
+ appId: undefined,
2472
+ redirectURI: undefined
2473
+ });
2474
+
2475
+ var Share$1 = forwardRef((props, ref) => React__default.createElement(Process, null, ({
2476
+ loading,
2477
+ handleProcess,
2478
+ data,
2479
+ error
2480
+ }) => React__default.createElement(Share, _extends_1({}, props, {
2481
+ loading: loading,
2482
+ handleProcess: handleProcess,
2483
+ data: data,
2484
+ error: error,
2485
+ ref: ref
2486
+ }))));
2487
+
2488
+ function ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2489
+
2490
+ function _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$1(source, true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$1(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2491
+ function ShareButton(props) {
2492
+ const {
2493
+ className,
2494
+ children
2495
+ } = props,
2496
+ rest = objectWithoutProperties(props, ["className", "children"]);
2497
+
2498
+ return React__default.createElement(Share$1, rest, ({
2499
+ loading,
2500
+ handleClick
2501
+ }) => React__default.createElement("button", {
2502
+ type: "button",
2503
+ disabled: loading,
2504
+ className: className,
2505
+ onClick: handleClick
2506
+ }, children));
2507
+ }
2508
+ ShareButton.defaultProps = _objectSpread$1({}, Share$1.defaultProps, {
2509
+ className: undefined
2510
+ });
2511
+
2512
+ class Page extends PureComponent {
2513
+ componentDidUpdate() {
2514
+ const {
2515
+ handleParse
2516
+ } = this.props;
2517
+ handleParse();
2518
+ }
2519
+
2520
+ render() {
2521
+ const {
2522
+ style,
2523
+ href = getCurrentHref(),
2524
+ tabs,
2525
+ hideCover,
2526
+ width,
2527
+ height,
2528
+ showFacepile,
2529
+ hideCTA,
2530
+ smallHeader,
2531
+ adaptContainerWidth,
2532
+ children
2533
+ } = this.props;
2534
+ return React__default.createElement("div", {
2535
+ className: "fb-page",
2536
+ style: style,
2537
+ "data-tabs": tabs,
2538
+ "data-hide-cover": hideCover,
2539
+ "data-show-facepile": showFacepile,
2540
+ "data-hide-cta": hideCTA,
2541
+ "data-href": href,
2542
+ "data-small-header": smallHeader,
2543
+ "data-adapt-container-width": adaptContainerWidth,
2544
+ "data-height": height,
2545
+ "data-width": width
2546
+ }, children);
2547
+ }
2548
+
2549
+ }
2550
+
2551
+ defineProperty(Page, "defaultProps", {
2552
+ width: undefined,
2553
+ height: undefined,
2554
+ tabs: undefined,
2555
+ hideCover: undefined,
2556
+ showFacepile: undefined,
2557
+ hideCTA: undefined,
2558
+ smallHeader: undefined,
2559
+ adaptContainerWidth: undefined,
2560
+ children: undefined,
2561
+ style: undefined,
2562
+ href: undefined
2563
+ });
2564
+
2565
+ var Page$1 = forwardRef((props, ref) => React__default.createElement(Parser, null, ({
2566
+ handleParse
2567
+ }) => React__default.createElement(Page, _extends_1({}, props, {
2568
+ handleParse: handleParse,
2569
+ ref: ref
2570
+ }))));
2571
+
2572
+ // 3.0 fields without app review https://developers.facebook.com/docs/facebook-login/permissions/?locale=en_US#reference-default
2573
+ var Fields = ['id', 'first_name', 'last_name', 'middle_name', 'name', 'name_format', 'picture', 'short_name', 'email'];
2574
+
2575
+ function ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
2576
+
2577
+ function _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$2(source, true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$2(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
2578
+
2579
+ class Login extends Component {
2580
+ constructor(...args) {
2581
+ var _this;
2582
+
2583
+ super(...args);
2584
+ _this = this;
2585
+
2586
+ defineProperty(this, "handleClick",
2587
+ /*#__PURE__*/
2588
+ function () {
2589
+ var _ref = asyncToGenerator(function* (evn) {
2590
+ evn.preventDefault();
2591
+ const {
2592
+ handleProcess,
2593
+ onCompleted,
2594
+ onError,
2595
+ onSuccess
2596
+ } = _this.props;
2597
+
2598
+ try {
2599
+ yield handleProcess(
2600
+ /*#__PURE__*/
2601
+ function () {
2602
+ var _ref2 = asyncToGenerator(function* (api) {
2603
+ const {
2604
+ scope,
2605
+ fields,
2606
+ returnScopes,
2607
+ rerequest,
2608
+ reauthorize,
2609
+ eventKey
2610
+ } = _this.props;
2611
+ const loginQpts = {
2612
+ scope
2613
+ };
2614
+ const authType = [];
2615
+
2616
+ if (returnScopes) {
2617
+ loginQpts.return_scopes = true;
2618
+ }
2619
+
2620
+ if (rerequest) {
2621
+ authType.push('rerequest');
2622
+ }
2623
+
2624
+ if (reauthorize) {
2625
+ authType.push('reauthenticate');
2626
+ }
2627
+
2628
+ if (authType.length) {
2629
+ loginQpts.auth_type = authType.join(',');
2630
+ }
2631
+
2632
+ const loginResponse = yield api.login(loginQpts);
2633
+
2634
+ if (loginResponse.status !== 'connected') {
2635
+ throw new Error('Unauthorized user');
2636
+ }
2637
+
2638
+ const data = yield api.getTokenDetailWithProfile({
2639
+ fields
2640
+ }, loginResponse);
2641
+
2642
+ if (onCompleted) {
2643
+ yield onCompleted(_objectSpread$2({}, data, {
2644
+ eventKey
2645
+ }));
2646
+ }
2647
+
2648
+ return data;
2649
+ });
2650
+
2651
+ return function (_x2) {
2652
+ return _ref2.apply(this, arguments);
2653
+ };
2654
+ }(), onSuccess);
2655
+ } catch (error) {
2656
+ if (onError) {
2657
+ onError(error);
2658
+ }
2659
+ }
2660
+ });
2661
+
2662
+ return function (_x) {
2663
+ return _ref.apply(this, arguments);
2664
+ };
2665
+ }());
2666
+ }
2667
+
2668
+ render() {
2669
+ const {
2670
+ children,
2671
+ loading,
2672
+ error,
2673
+ data
2674
+ } = this.props;
2675
+ return children({
2676
+ loading,
2677
+ handleClick: this.handleClick,
2678
+ error,
2679
+ data
2680
+ });
2681
+ }
2682
+
2683
+ }
2684
+
2685
+ defineProperty(Login, "defaultProps", {
2686
+ scope: '',
2687
+ fields: Fields,
2688
+ returnScopes: false,
2689
+ rerequest: false,
2690
+ reauthorize: false,
2691
+ onCompleted: undefined,
2692
+ onError: undefined,
2693
+ eventKey: undefined
2694
+ });
2695
+
2696
+ var Login$1 = forwardRef((props, ref) => React__default.createElement(Process, null, ({
2697
+ loading,
2698
+ handleProcess,
2699
+ data,
2700
+ error
2701
+ }) => React__default.createElement(Login, _extends_1({}, props, {
2702
+ loading: loading,
2703
+ handleProcess: handleProcess,
2704
+ data: data,
2705
+ error: error,
2706
+ ref: ref
2707
+ }))));
2708
+
2709
+ var spin = createCommonjsModule(function (module) {
2710
+ (function (root, factory) {
2711
+
2712
+ /* CommonJS */
2713
+ if ( module.exports) module.exports = factory();
2714
+
2715
+ /* AMD module */
2716
+ else root.Spinner = factory();
2717
+ }(commonjsGlobal, function () {
2718
+
2719
+ var prefixes = ['webkit', 'Moz', 'ms', 'O'] /* Vendor prefixes */
2720
+ , animations = {} /* Animation rules keyed by their name */
2721
+ , useCssAnimations /* Whether to use CSS animations or setTimeout */
2722
+ , sheet; /* A stylesheet to hold the @keyframe or VML rules. */
2723
+
2724
+ /**
2725
+ * Utility function to create elements. If no tag name is given,
2726
+ * a DIV is created. Optionally properties can be passed.
2727
+ */
2728
+ function createEl (tag, prop) {
2729
+ var el = document.createElement(tag || 'div')
2730
+ , n;
2731
+
2732
+ for (n in prop) el[n] = prop[n];
2733
+ return el
2734
+ }
2735
+
2736
+ /**
2737
+ * Appends children and returns the parent.
2738
+ */
2739
+ function ins (parent /* child1, child2, ...*/) {
2740
+ for (var i = 1, n = arguments.length; i < n; i++) {
2741
+ parent.appendChild(arguments[i]);
2742
+ }
2743
+
2744
+ return parent
2745
+ }
2746
+
2747
+ /**
2748
+ * Creates an opacity keyframe animation rule and returns its name.
2749
+ * Since most mobile Webkits have timing issues with animation-delay,
2750
+ * we create separate rules for each line/segment.
2751
+ */
2752
+ function addAnimation (alpha, trail, i, lines) {
2753
+ var name = ['opacity', trail, ~~(alpha * 100), i, lines].join('-')
2754
+ , start = 0.01 + i/lines * 100
2755
+ , z = Math.max(1 - (1-alpha) / trail * (100-start), alpha)
2756
+ , prefix = useCssAnimations.substring(0, useCssAnimations.indexOf('Animation')).toLowerCase()
2757
+ , pre = prefix && '-' + prefix + '-' || '';
2758
+
2759
+ if (!animations[name]) {
2760
+ sheet.insertRule(
2761
+ '@' + pre + 'keyframes ' + name + '{' +
2762
+ '0%{opacity:' + z + '}' +
2763
+ start + '%{opacity:' + alpha + '}' +
2764
+ (start+0.01) + '%{opacity:1}' +
2765
+ (start+trail) % 100 + '%{opacity:' + alpha + '}' +
2766
+ '100%{opacity:' + z + '}' +
2767
+ '}', sheet.cssRules.length);
2768
+
2769
+ animations[name] = 1;
2770
+ }
2771
+
2772
+ return name
2773
+ }
2774
+
2775
+ /**
2776
+ * Tries various vendor prefixes and returns the first supported property.
2777
+ */
2778
+ function vendor (el, prop) {
2779
+ var s = el.style
2780
+ , pp
2781
+ , i;
2782
+
2783
+ prop = prop.charAt(0).toUpperCase() + prop.slice(1);
2784
+ if (s[prop] !== undefined) return prop
2785
+ for (i = 0; i < prefixes.length; i++) {
2786
+ pp = prefixes[i]+prop;
2787
+ if (s[pp] !== undefined) return pp
2788
+ }
2789
+ }
2790
+
2791
+ /**
2792
+ * Sets multiple style properties at once.
2793
+ */
2794
+ function css (el, prop) {
2795
+ for (var n in prop) {
2796
+ el.style[vendor(el, n) || n] = prop[n];
2797
+ }
2798
+
2799
+ return el
2800
+ }
2801
+
2802
+ /**
2803
+ * Fills in default values.
2804
+ */
2805
+ function merge (obj) {
2806
+ for (var i = 1; i < arguments.length; i++) {
2807
+ var def = arguments[i];
2808
+ for (var n in def) {
2809
+ if (obj[n] === undefined) obj[n] = def[n];
2810
+ }
2811
+ }
2812
+ return obj
2813
+ }
2814
+
2815
+ /**
2816
+ * Returns the line color from the given string or array.
2817
+ */
2818
+ function getColor (color, idx) {
2819
+ return typeof color == 'string' ? color : color[idx % color.length]
2820
+ }
2821
+
2822
+ // Built-in defaults
2823
+
2824
+ var defaults = {
2825
+ lines: 12 // The number of lines to draw
2826
+ , length: 7 // The length of each line
2827
+ , width: 5 // The line thickness
2828
+ , radius: 10 // The radius of the inner circle
2829
+ , scale: 1.0 // Scales overall size of the spinner
2830
+ , corners: 1 // Roundness (0..1)
2831
+ , color: '#000' // #rgb or #rrggbb
2832
+ , opacity: 1/4 // Opacity of the lines
2833
+ , rotate: 0 // Rotation offset
2834
+ , direction: 1 // 1: clockwise, -1: counterclockwise
2835
+ , speed: 1 // Rounds per second
2836
+ , trail: 100 // Afterglow percentage
2837
+ , fps: 20 // Frames per second when using setTimeout()
2838
+ , zIndex: 2e9 // Use a high z-index by default
2839
+ , className: 'spinner' // CSS class to assign to the element
2840
+ , top: '50%' // center vertically
2841
+ , left: '50%' // center horizontally
2842
+ , shadow: false // Whether to render a shadow
2843
+ , hwaccel: false // Whether to use hardware acceleration (might be buggy)
2844
+ , position: 'absolute' // Element positioning
2845
+ };
2846
+
2847
+ /** The constructor */
2848
+ function Spinner (o) {
2849
+ this.opts = merge(o || {}, Spinner.defaults, defaults);
2850
+ }
2851
+
2852
+ // Global defaults that override the built-ins:
2853
+ Spinner.defaults = {};
2854
+
2855
+ merge(Spinner.prototype, {
2856
+ /**
2857
+ * Adds the spinner to the given target element. If this instance is already
2858
+ * spinning, it is automatically removed from its previous target b calling
2859
+ * stop() internally.
2860
+ */
2861
+ spin: function (target) {
2862
+ this.stop();
2863
+
2864
+ var self = this
2865
+ , o = self.opts
2866
+ , el = self.el = createEl(null, {className: o.className});
2867
+
2868
+ css(el, {
2869
+ position: o.position
2870
+ , width: 0
2871
+ , zIndex: o.zIndex
2872
+ , left: o.left
2873
+ , top: o.top
2874
+ });
2875
+
2876
+ if (target) {
2877
+ target.insertBefore(el, target.firstChild || null);
2878
+ }
2879
+
2880
+ el.setAttribute('role', 'progressbar');
2881
+ self.lines(el, self.opts);
2882
+
2883
+ if (!useCssAnimations) {
2884
+ // No CSS animation support, use setTimeout() instead
2885
+ var i = 0
2886
+ , start = (o.lines - 1) * (1 - o.direction) / 2
2887
+ , alpha
2888
+ , fps = o.fps
2889
+ , f = fps / o.speed
2890
+ , ostep = (1 - o.opacity) / (f * o.trail / 100)
2891
+ , astep = f / o.lines
2892
+
2893
+ ;(function anim () {
2894
+ i++;
2895
+ for (var j = 0; j < o.lines; j++) {
2896
+ alpha = Math.max(1 - (i + (o.lines - j) * astep) % f * ostep, o.opacity);
2897
+
2898
+ self.opacity(el, j * o.direction + start, alpha, o);
2899
+ }
2900
+ self.timeout = self.el && setTimeout(anim, ~~(1000 / fps));
2901
+ })();
2902
+ }
2903
+ return self
2904
+ }
2905
+
2906
+ /**
2907
+ * Stops and removes the Spinner.
2908
+ */
2909
+ , stop: function () {
2910
+ var el = this.el;
2911
+ if (el) {
2912
+ clearTimeout(this.timeout);
2913
+ if (el.parentNode) el.parentNode.removeChild(el);
2914
+ this.el = undefined;
2915
+ }
2916
+ return this
2917
+ }
2918
+
2919
+ /**
2920
+ * Internal method that draws the individual lines. Will be overwritten
2921
+ * in VML fallback mode below.
2922
+ */
2923
+ , lines: function (el, o) {
2924
+ var i = 0
2925
+ , start = (o.lines - 1) * (1 - o.direction) / 2
2926
+ , seg;
2927
+
2928
+ function fill (color, shadow) {
2929
+ return css(createEl(), {
2930
+ position: 'absolute'
2931
+ , width: o.scale * (o.length + o.width) + 'px'
2932
+ , height: o.scale * o.width + 'px'
2933
+ , background: color
2934
+ , boxShadow: shadow
2935
+ , transformOrigin: 'left'
2936
+ , transform: 'rotate(' + ~~(360/o.lines*i + o.rotate) + 'deg) translate(' + o.scale*o.radius + 'px' + ',0)'
2937
+ , borderRadius: (o.corners * o.scale * o.width >> 1) + 'px'
2938
+ })
2939
+ }
2940
+
2941
+ for (; i < o.lines; i++) {
2942
+ seg = css(createEl(), {
2943
+ position: 'absolute'
2944
+ , top: 1 + ~(o.scale * o.width / 2) + 'px'
2945
+ , transform: o.hwaccel ? 'translate3d(0,0,0)' : ''
2946
+ , opacity: o.opacity
2947
+ , animation: useCssAnimations && addAnimation(o.opacity, o.trail, start + i * o.direction, o.lines) + ' ' + 1 / o.speed + 's linear infinite'
2948
+ });
2949
+
2950
+ if (o.shadow) ins(seg, css(fill('#000', '0 0 4px #000'), {top: '2px'}));
2951
+ ins(el, ins(seg, fill(getColor(o.color, i), '0 0 1px rgba(0,0,0,.1)')));
2952
+ }
2953
+ return el
2954
+ }
2955
+
2956
+ /**
2957
+ * Internal method that adjusts the opacity of a single line.
2958
+ * Will be overwritten in VML fallback mode below.
2959
+ */
2960
+ , opacity: function (el, i, val) {
2961
+ if (i < el.childNodes.length) el.childNodes[i].style.opacity = val;
2962
+ }
2963
+
2964
+ });
2965
+
2966
+
2967
+ function initVML () {
2968
+
2969
+ /* Utility function to create a VML tag */
2970
+ function vml (tag, attr) {
2971
+ return createEl('<' + tag + ' xmlns="urn:schemas-microsoft.com:vml" class="spin-vml">', attr)
2972
+ }
2973
+
2974
+ // No CSS transforms but VML support, add a CSS rule for VML elements:
2975
+ sheet.addRule('.spin-vml', 'behavior:url(#default#VML)');
2976
+
2977
+ Spinner.prototype.lines = function (el, o) {
2978
+ var r = o.scale * (o.length + o.width)
2979
+ , s = o.scale * 2 * r;
2980
+
2981
+ function grp () {
2982
+ return css(
2983
+ vml('group', {
2984
+ coordsize: s + ' ' + s
2985
+ , coordorigin: -r + ' ' + -r
2986
+ })
2987
+ , { width: s, height: s }
2988
+ )
2989
+ }
2990
+
2991
+ var margin = -(o.width + o.length) * o.scale * 2 + 'px'
2992
+ , g = css(grp(), {position: 'absolute', top: margin, left: margin})
2993
+ , i;
2994
+
2995
+ function seg (i, dx, filter) {
2996
+ ins(
2997
+ g
2998
+ , ins(
2999
+ css(grp(), {rotation: 360 / o.lines * i + 'deg', left: ~~dx})
3000
+ , ins(
3001
+ css(
3002
+ vml('roundrect', {arcsize: o.corners})
3003
+ , { width: r
3004
+ , height: o.scale * o.width
3005
+ , left: o.scale * o.radius
3006
+ , top: -o.scale * o.width >> 1
3007
+ , filter: filter
3008
+ }
3009
+ )
3010
+ , vml('fill', {color: getColor(o.color, i), opacity: o.opacity})
3011
+ , vml('stroke', {opacity: 0}) // transparent stroke to fix color bleeding upon opacity change
3012
+ )
3013
+ )
3014
+ );
3015
+ }
3016
+
3017
+ if (o.shadow)
3018
+ for (i = 1; i <= o.lines; i++) {
3019
+ seg(i, -2, 'progid:DXImageTransform.Microsoft.Blur(pixelradius=2,makeshadow=1,shadowopacity=.3)');
3020
+ }
3021
+
3022
+ for (i = 1; i <= o.lines; i++) seg(i);
3023
+ return ins(el, g)
3024
+ };
3025
+
3026
+ Spinner.prototype.opacity = function (el, i, val, o) {
3027
+ var c = el.firstChild;
3028
+ o = o.shadow && o.lines || 0;
3029
+ if (c && i + o < c.childNodes.length) {
3030
+ c = c.childNodes[i + o]; c = c && c.firstChild; c = c && c.firstChild;
3031
+ if (c) c.opacity = val;
3032
+ }
3033
+ };
3034
+ }
3035
+
3036
+ if (typeof document !== 'undefined') {
3037
+ sheet = (function () {
3038
+ var el = createEl('style', {type : 'text/css'});
3039
+ ins(document.getElementsByTagName('head')[0], el);
3040
+ return el.sheet || el.styleSheet
3041
+ }());
3042
+
3043
+ var probe = css(createEl('group'), {behavior: 'url(#default#VML)'});
3044
+
3045
+ if (!vendor(probe, 'transform') && probe.adj) initVML();
3046
+ else useCssAnimations = vendor(probe, 'animation');
3047
+ }
3048
+
3049
+ return Spinner
3050
+
3051
+ }));
3052
+ });
3053
+
3054
+ var dist = createCommonjsModule(function (module, exports) {
3055
+
3056
+ Object.defineProperty(exports, "__esModule", {
3057
+ value: true
3058
+ });
3059
+
3060
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
3061
+
3062
+
3063
+
3064
+ var _react2 = _interopRequireDefault(React__default);
3065
+
3066
+
3067
+
3068
+ var _propTypes2 = _interopRequireDefault(PropTypes);
3069
+
3070
+
3071
+
3072
+ var _spin2 = _interopRequireDefault(spin);
3073
+
3074
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
3075
+
3076
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3077
+
3078
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
3079
+
3080
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
3081
+
3082
+ var Spinner = function (_Component) {
3083
+ _inherits(Spinner, _Component);
3084
+
3085
+ function Spinner() {
3086
+ _classCallCheck(this, Spinner);
3087
+
3088
+ return _possibleConstructorReturn(this, (Spinner.__proto__ || Object.getPrototypeOf(Spinner)).apply(this, arguments));
3089
+ }
3090
+
3091
+ _createClass(Spinner, [{
3092
+ key: 'componentDidMount',
3093
+ value: function componentDidMount() {
3094
+ this.updateSpinner();
3095
+ }
3096
+ }, {
3097
+ key: 'componentDidUpdate',
3098
+ value: function componentDidUpdate() {
3099
+ this.updateSpinner();
3100
+ }
3101
+ }, {
3102
+ key: 'componentWillUnmount',
3103
+ value: function componentWillUnmount() {
3104
+ if (this.spinner) {
3105
+ this.spinner.stop();
3106
+ this.spinner = null;
3107
+ }
3108
+ }
3109
+ }, {
3110
+ key: 'updateSpinner',
3111
+ value: function updateSpinner() {
3112
+ var loaded = this.props.loaded;
3113
+
3114
+ if (!loaded && !this.spinner) {
3115
+ this.spinner = new _spin2.default(this.props.config);
3116
+ this.spinner.spin(this.refs.loader);
3117
+ } else if (loaded && this.spinner) {
3118
+ this.spinner.stop();
3119
+ this.spinner = null;
3120
+ }
3121
+ }
3122
+ }, {
3123
+ key: 'render',
3124
+ value: function render() {
3125
+ var _props = this.props,
3126
+ loaded = _props.loaded,
3127
+ className = _props.className;
3128
+
3129
+
3130
+ if (loaded) {
3131
+ return this.props.children ? React__default.Children.only(this.props.children) : null;
3132
+ }
3133
+
3134
+ return _react2.default.createElement('div', { className: className, ref: 'loader' });
3135
+ }
3136
+ }]);
3137
+
3138
+ return Spinner;
3139
+ }(React__default.Component);
3140
+
3141
+ Spinner.propTypes = {
3142
+ className: _propTypes2.default.string,
3143
+ config: _propTypes2.default.object.isRequired,
3144
+ loaded: _propTypes2.default.bool.isRequired,
3145
+ children: _propTypes2.default.node
3146
+ };
3147
+ Spinner.defaultProps = {
3148
+ config: {},
3149
+ loaded: false,
3150
+ className: 'loader'
3151
+ };
3152
+ exports.default = Spinner;
3153
+ });
3154
+
3155
+ var Spinner = unwrapExports(dist);
3156
+
3157
+ function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
3158
+
3159
+ function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(source, true).forEach(function (key) { defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
3160
+ function LoginButton(props) {
3161
+ const {
3162
+ children,
3163
+ className,
3164
+ spinner,
3165
+ spinnerConfig
3166
+ } = props,
3167
+ rest = objectWithoutProperties(props, ["children", "className", "spinner", "spinnerConfig"]);
3168
+
3169
+ return React__default.createElement(Login$1, rest, ({
3170
+ loading,
3171
+ handleClick
3172
+ }) => React__default.createElement("button", {
3173
+ type: "button",
3174
+ className: className,
3175
+ onClick: handleClick,
3176
+ disabled: loading
3177
+ }, children, spinner && loading && React__default.createElement(Spinner, {
3178
+ config: spinnerConfig
3179
+ })));
3180
+ }
3181
+ LoginButton.defaultProps = _objectSpread$3({}, Login$1.defaultProps, {
3182
+ className: undefined,
3183
+ spinnerConfig: {},
3184
+ spinner: true
3185
+ });
3186
+
3187
+ class EmbeddedPost extends PureComponent {
3188
+ componentDidUpdate() {
3189
+ const {
3190
+ handleParse
3191
+ } = this.props;
3192
+ handleParse();
3193
+ }
3194
+
3195
+ render() {
3196
+ const {
3197
+ href,
3198
+ width,
3199
+ showText,
3200
+ children
3201
+ } = this.props;
3202
+ return React__default.createElement("div", {
3203
+ className: "fb-post",
3204
+ "data-href": href,
3205
+ "data-width": width,
3206
+ "data-show-text": showText
3207
+ }, children);
3208
+ }
3209
+
3210
+ }
3211
+
3212
+ defineProperty(EmbeddedPost, "defaultProps", {
3213
+ width: undefined,
3214
+ showText: undefined,
3215
+ children: undefined
3216
+ });
3217
+
3218
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
3219
+ handleParse
3220
+ }) => React__default.createElement(EmbeddedPost, _extends_1({}, props, {
3221
+ handleParse: handleParse,
3222
+ ref: ref
3223
+ }))));
3224
+
3225
+ class EmbeddedVideo extends PureComponent {
3226
+ componentDidUpdate() {
3227
+ const {
3228
+ handleParse
3229
+ } = this.props;
3230
+ handleParse();
3231
+ }
3232
+
3233
+ render() {
3234
+ const {
3235
+ href,
3236
+ width,
3237
+ showText,
3238
+ allowFullScreen,
3239
+ autoPlay,
3240
+ showCaptions,
3241
+ children
3242
+ } = this.props;
3243
+ return React__default.createElement("div", {
3244
+ className: "fb-video",
3245
+ "data-href": href,
3246
+ "data-width": width,
3247
+ "data-show-text": showText,
3248
+ "data-show-captions": showCaptions,
3249
+ "data-autoplay": autoPlay,
3250
+ "data-allowfullscreen": allowFullScreen
3251
+ }, children);
3252
+ }
3253
+
3254
+ }
3255
+
3256
+ defineProperty(EmbeddedVideo, "defaultProps", {
3257
+ width: undefined,
3258
+ showText: undefined,
3259
+ allowFullScreen: undefined,
3260
+ autoPlay: undefined,
3261
+ showCaptions: undefined,
3262
+ children: undefined
3263
+ });
3264
+
3265
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
3266
+ handleParse
3267
+ }) => React__default.createElement(EmbeddedVideo, _extends_1({}, props, {
3268
+ handleParse: handleParse,
3269
+ ref: ref
3270
+ }))));
3271
+
3272
+ class Comments extends PureComponent {
3273
+ componentDidUpdate() {
3274
+ const {
3275
+ handleParse
3276
+ } = this.props;
3277
+ handleParse();
3278
+ }
3279
+
3280
+ render() {
3281
+ const {
3282
+ colorScheme,
3283
+ href = getCurrentHref(),
3284
+ numPosts,
3285
+ orderBy,
3286
+ width,
3287
+ children,
3288
+ mobile
3289
+ } = this.props;
3290
+ return React__default.createElement("div", {
3291
+ className: "fb-comments",
3292
+ "data-colorscheme": colorScheme,
3293
+ "data-numposts": numPosts,
3294
+ "data-href": href,
3295
+ "data-order-by": orderBy,
3296
+ "data-width": width,
3297
+ "data-skin": colorScheme,
3298
+ "data-mobile": mobile
3299
+ }, children);
3300
+ }
3301
+
3302
+ }
3303
+
3304
+ defineProperty(Comments, "defaultProps", {
3305
+ href: undefined,
3306
+ numPosts: undefined,
3307
+ orderBy: undefined,
3308
+ width: undefined,
3309
+ colorScheme: undefined,
3310
+ children: undefined,
3311
+ mobile: undefined
3312
+ });
3313
+
3314
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
3315
+ handleParse
3316
+ }) => React__default.createElement(Comments, _extends_1({}, props, {
3317
+ handleParse: handleParse,
3318
+ ref: ref
3319
+ }))));
3320
+
3321
+ class CommentsCount extends PureComponent {
3322
+ componentDidUpdate() {
3323
+ const {
3324
+ handleParse
3325
+ } = this.props;
3326
+ handleParse();
3327
+ }
3328
+
3329
+ render() {
3330
+ const {
3331
+ href = getCurrentHref(),
3332
+ children
3333
+ } = this.props;
3334
+ return React__default.createElement("span", {
3335
+ className: "fb-comments-count",
3336
+ "data-href": href
3337
+ }, children);
3338
+ }
3339
+
3340
+ }
3341
+
3342
+ defineProperty(CommentsCount, "defaultProps", {
3343
+ href: undefined,
3344
+ children: undefined
3345
+ });
3346
+
3347
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
3348
+ handleParse
3349
+ }) => React__default.createElement(CommentsCount, _extends_1({}, props, {
3350
+ handleParse: handleParse,
3351
+ ref: ref
3352
+ }))));
3353
+
3354
+ class Feed extends Component {
3355
+ constructor(...args) {
3356
+ var _this;
3357
+
3358
+ super(...args);
3359
+ _this = this;
3360
+
3361
+ defineProperty(this, "handleClick",
3362
+ /*#__PURE__*/
3363
+ function () {
3364
+ var _ref = asyncToGenerator(function* (evn) {
3365
+ evn.preventDefault();
3366
+ const {
3367
+ handleProcess
3368
+ } = _this.props;
3369
+ return handleProcess(
3370
+ /*#__PURE__*/
3371
+ function () {
3372
+ var _ref2 = asyncToGenerator(function* (api) {
3373
+ const {
3374
+ link = getCurrentHref(),
3375
+ display,
3376
+ appId = api.getAppId(),
3377
+ redirectURI,
3378
+ from,
3379
+ to,
3380
+ picture,
3381
+ source,
3382
+ name,
3383
+ caption,
3384
+ description,
3385
+ dataRef
3386
+ } = _this.props;
3387
+ return api.ui(clearUndefinedProperties({
3388
+ method: 'feed',
3389
+ link,
3390
+ display,
3391
+ app_id: appId,
3392
+ redirect_uri: redirectURI,
3393
+ from,
3394
+ to,
3395
+ picture,
3396
+ source,
3397
+ name,
3398
+ caption,
3399
+ description,
3400
+ ref: dataRef
3401
+ }));
3402
+ });
3403
+
3404
+ return function (_x2) {
3405
+ return _ref2.apply(this, arguments);
3406
+ };
3407
+ }());
3408
+ });
3409
+
3410
+ return function (_x) {
3411
+ return _ref.apply(this, arguments);
3412
+ };
3413
+ }());
3414
+ }
3415
+
3416
+ render() {
3417
+ const {
3418
+ children,
3419
+ loading,
3420
+ error,
3421
+ data
3422
+ } = this.props;
3423
+ return children({
3424
+ loading,
3425
+ handleClick: this.handleClick,
3426
+ error,
3427
+ data
3428
+ });
3429
+ }
3430
+
3431
+ }
3432
+
3433
+ defineProperty(Feed, "defaultProps", {
3434
+ link: undefined,
3435
+ display: undefined,
3436
+ appId: undefined,
3437
+ redirectURI: undefined,
3438
+ from: undefined,
3439
+ to: undefined,
3440
+ source: undefined,
3441
+ picture: undefined,
3442
+ name: undefined,
3443
+ caption: undefined,
3444
+ description: undefined,
3445
+ dataRef: undefined
3446
+ });
3447
+
3448
+ forwardRef((props, ref) => React__default.createElement(Process, null, ({
3449
+ loading,
3450
+ handleProcess,
3451
+ error,
3452
+ data
3453
+ }) => React__default.createElement(Feed, _extends_1({}, props, {
3454
+ loading: loading,
3455
+ handleProcess: handleProcess,
3456
+ data: data,
3457
+ error: error,
3458
+ ref: ref
3459
+ }))));
3460
+
3461
+ class Group extends PureComponent {
3462
+ componentDidUpdate() {
3463
+ const {
3464
+ handleParse
3465
+ } = this.props;
3466
+ handleParse();
3467
+ }
3468
+
3469
+ render() {
3470
+ const {
3471
+ style,
3472
+ href = getCurrentHref(),
3473
+ width,
3474
+ showSocialContext,
3475
+ showMetaData,
3476
+ children,
3477
+ skin
3478
+ } = this.props;
3479
+ return React__default.createElement("div", {
3480
+ className: "fb-group",
3481
+ style: style,
3482
+ "data-href": href,
3483
+ "data-width": width,
3484
+ "data-show-social-context": showSocialContext,
3485
+ "data-show-metadata": showMetaData,
3486
+ "data-skin": skin
3487
+ }, children);
3488
+ }
3489
+
3490
+ }
3491
+
3492
+ defineProperty(Group, "defaultProps", {
3493
+ showSocialContext: undefined,
3494
+ showMetaData: undefined,
3495
+ width: undefined,
3496
+ children: undefined,
3497
+ style: undefined,
3498
+ href: undefined,
3499
+ skin: undefined
3500
+ });
3501
+
3502
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
3503
+ handleParse
3504
+ }) => React__default.createElement(Group, _extends_1({}, props, {
3505
+ handleParse: handleParse,
3506
+ ref: ref
3507
+ }))));
3508
+
3509
+ class LoginStatus$1 extends Component {
3510
+ constructor(..._args) {
3511
+ var _this;
3512
+
3513
+ super(..._args);
3514
+ _this = this;
3515
+
3516
+ defineProperty(this, "state", {});
3517
+
3518
+ defineProperty(this, "handleReady",
3519
+ /*#__PURE__*/
3520
+ function () {
3521
+ var _ref = asyncToGenerator(function* (api) {
3522
+ const {
3523
+ event
3524
+ } = _this.props;
3525
+
3526
+ _this.setState({
3527
+ api
3528
+ });
3529
+
3530
+ yield api.subscribe(event, _this.handleChange);
3531
+ });
3532
+
3533
+ return function (_x) {
3534
+ return _ref.apply(this, arguments);
3535
+ };
3536
+ }());
3537
+
3538
+ defineProperty(this, "handleChange", (...args) => {
3539
+ const {
3540
+ onChange
3541
+ } = this.props;
3542
+
3543
+ if (onChange) {
3544
+ onChange(...args);
3545
+ }
3546
+ });
3547
+ }
3548
+
3549
+ componentWillUnmount() {
3550
+ const {
3551
+ state: {
3552
+ api
3553
+ },
3554
+ props: {
3555
+ event
3556
+ }
3557
+ } = this;
3558
+
3559
+ if (api) {
3560
+ api.unsubscribe(event, this.handleChange);
3561
+ }
3562
+ }
3563
+
3564
+ render() {
3565
+ const {
3566
+ children
3567
+ } = this.props;
3568
+ return React__default.createElement(Initialize$1, {
3569
+ onReady: this.handleReady
3570
+ }, children);
3571
+ }
3572
+
3573
+ }
3574
+
3575
+ defineProperty(LoginStatus$1, "defaultProps", {
3576
+ onChange: undefined
3577
+ });
3578
+
3579
+ class Profile extends Component {
3580
+ constructor(...args) {
3581
+ var _this;
3582
+
3583
+ super(...args);
3584
+ _this = this;
3585
+
3586
+ defineProperty(this, "state", {
3587
+ loading: true
3588
+ });
3589
+
3590
+ defineProperty(this, "handleReady",
3591
+ /*#__PURE__*/
3592
+ function () {
3593
+ var _ref = asyncToGenerator(function* (api) {
3594
+ _this.api = api;
3595
+
3596
+ _this.updateProfile();
3597
+ });
3598
+
3599
+ return function (_x) {
3600
+ return _ref.apply(this, arguments);
3601
+ };
3602
+ }());
3603
+
3604
+ defineProperty(this, "handleStatusChange", () => {
3605
+ this.updateProfile();
3606
+ });
3607
+ }
3608
+
3609
+ updateProfile() {
3610
+ var _this2 = this;
3611
+
3612
+ return asyncToGenerator(function* () {
3613
+ const {
3614
+ api,
3615
+ props: {
3616
+ fields
3617
+ }
3618
+ } = _this2;
3619
+
3620
+ if (!api) {
3621
+ return;
3622
+ }
3623
+
3624
+ try {
3625
+ const response = yield api.getLoginStatus();
3626
+
3627
+ if (response.status !== LoginStatus.CONNECTED) {
3628
+ _this2.setState({
3629
+ profile: undefined,
3630
+ loading: false,
3631
+ error: undefined
3632
+ });
3633
+
3634
+ return;
3635
+ }
3636
+
3637
+ const profile = yield api.getProfile({
3638
+ fields
3639
+ });
3640
+
3641
+ _this2.setState({
3642
+ profile,
3643
+ loading: false,
3644
+ error: undefined
3645
+ });
3646
+ } catch (error) {
3647
+ _this2.setState({
3648
+ profile: undefined,
3649
+ loading: false,
3650
+ error
3651
+ });
3652
+ }
3653
+ })();
3654
+ }
3655
+
3656
+ render() {
3657
+ const {
3658
+ children
3659
+ } = this.props;
3660
+ const {
3661
+ profile,
3662
+ loading,
3663
+ error
3664
+ } = this.state;
3665
+ return React__default.createElement(Initialize$1, {
3666
+ onReady: this.handleReady
3667
+ }, React__default.createElement(LoginStatus$1, {
3668
+ event: "auth.statusChange",
3669
+ onChange: this.handleStatusChange
3670
+ }, children({
3671
+ profile,
3672
+ loading,
3673
+ error
3674
+ })));
3675
+ }
3676
+
3677
+ }
3678
+
3679
+ defineProperty(Profile, "defaultProps", {
3680
+ fields: Fields
3681
+ });
3682
+
3683
+ class CustomChat extends PureComponent {
3684
+ componentDidUpdate() {
3685
+ const {
3686
+ handleParse
3687
+ } = this.props;
3688
+ handleParse();
3689
+ }
3690
+
3691
+ render() {
3692
+ const {
3693
+ children,
3694
+ pageId,
3695
+ themeColor,
3696
+ loggedInGreeting,
3697
+ loggedOutGreeting,
3698
+ dataRef,
3699
+ greetingDialogDisplay,
3700
+ greetingDialogDelay
3701
+ } = this.props;
3702
+ return React__default.createElement("div", {
3703
+ className: "fb-customerchat",
3704
+ page_id: pageId,
3705
+ theme_color: themeColor,
3706
+ logged_in_greeting: loggedInGreeting,
3707
+ logged_out_greeting: loggedOutGreeting,
3708
+ greeting_dialog_display: greetingDialogDisplay,
3709
+ greeting_dialog_delay: greetingDialogDelay,
3710
+ "data-ref": dataRef
3711
+ }, children);
3712
+ }
3713
+
3714
+ }
3715
+
3716
+ defineProperty(CustomChat, "defaultProps", {
3717
+ children: undefined,
3718
+ themeColor: undefined,
3719
+ loggedInGreeting: undefined,
3720
+ loggedOutGreeting: undefined,
3721
+ dataRef: undefined,
3722
+ greetingDialogDisplay: undefined,
3723
+ greetingDialogDelay: undefined
3724
+ });
3725
+
3726
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
3727
+ handleParse
3728
+ }) => React__default.createElement(CustomChat, _extends_1({}, props, {
3729
+ handleParse: handleParse,
3730
+ ref: ref
3731
+ }))));
3732
+
3733
+ class MessageUs extends PureComponent {
3734
+ componentDidUpdate() {
3735
+ const {
3736
+ handleParse
3737
+ } = this.props;
3738
+ handleParse();
3739
+ }
3740
+
3741
+ render() {
3742
+ const {
3743
+ color,
3744
+ messengerAppId,
3745
+ pageId,
3746
+ children,
3747
+ size
3748
+ } = this.props;
3749
+ return React__default.createElement("div", {
3750
+ className: "fb-messengermessageus",
3751
+ messenger_app_id: messengerAppId,
3752
+ page_id: pageId,
3753
+ "data-color": color,
3754
+ "data-size": size
3755
+ }, children);
3756
+ }
3757
+
3758
+ }
3759
+
3760
+ defineProperty(MessageUs, "defaultProps", {
3761
+ color: undefined,
3762
+ size: undefined,
3763
+ children: undefined
3764
+ });
3765
+
3766
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
3767
+ handleParse
3768
+ }) => React__default.createElement(MessageUs, _extends_1({}, props, {
3769
+ handleParse: handleParse,
3770
+ ref: ref
3771
+ }))));
3772
+
3773
+ class MessengerCheckbox extends PureComponent {
3774
+ componentDidUpdate() {
3775
+ const {
3776
+ handleParse
3777
+ } = this.props;
3778
+ handleParse();
3779
+ }
3780
+
3781
+ render() {
3782
+ const {
3783
+ origin,
3784
+ prechecked,
3785
+ allowLogin,
3786
+ userRef,
3787
+ messengerAppId,
3788
+ pageId,
3789
+ children,
3790
+ size,
3791
+ centerAlign,
3792
+ skin
3793
+ } = this.props;
3794
+ return React__default.createElement("div", {
3795
+ className: "fb-messenger-checkbox",
3796
+ messenger_app_id: messengerAppId,
3797
+ page_id: pageId,
3798
+ size: size,
3799
+ origin: origin,
3800
+ user_ref: userRef,
3801
+ prechecked: prechecked,
3802
+ allow_login: allowLogin,
3803
+ skin: skin,
3804
+ center_align: centerAlign
3805
+ }, children);
3806
+ }
3807
+
3808
+ }
3809
+
3810
+ defineProperty(MessengerCheckbox, "defaultProps", {
3811
+ size: undefined,
3812
+ allowLogin: undefined,
3813
+ prechecked: undefined,
3814
+ userRef: undefined,
3815
+ children: undefined,
3816
+ origin: undefined,
3817
+ skin: undefined,
3818
+ centerAlign: undefined
3819
+ });
3820
+
3821
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
3822
+ handleParse
3823
+ }) => React__default.createElement(MessengerCheckbox, _extends_1({}, props, {
3824
+ handleParse: handleParse,
3825
+ ref: ref
3826
+ }))));
3827
+
3828
+ // import MessengerColor from './constants/MessengerColor';
3829
+
3830
+ class SendToMessenger extends PureComponent {
3831
+ componentDidUpdate() {
3832
+ const {
3833
+ handleParse
3834
+ } = this.props;
3835
+ handleParse();
3836
+ }
3837
+
3838
+ render() {
3839
+ const {
3840
+ color,
3841
+ messengerAppId,
3842
+ pageId,
3843
+ children,
3844
+ dataRef,
3845
+ size
3846
+ } = this.props;
3847
+ return React__default.createElement("div", {
3848
+ className: "fb-send-to-messenger",
3849
+ messenger_app_id: messengerAppId,
3850
+ page_id: pageId,
3851
+ "data-color": color,
3852
+ "data-size": size,
3853
+ "data-ref": dataRef
3854
+ }, children);
3855
+ }
3856
+
3857
+ }
3858
+
3859
+ defineProperty(SendToMessenger, "defaultProps", {
3860
+ color: undefined,
3861
+ size: undefined,
3862
+ dataRef: undefined,
3863
+ children: undefined
3864
+ });
3865
+
3866
+ forwardRef((props, ref) => React__default.createElement(Parser, null, ({
3867
+ handleParse
3868
+ }) => React__default.createElement(SendToMessenger, _extends_1({}, props, {
3869
+ handleParse: handleParse,
3870
+ ref: ref
3871
+ }))));
73
3872
 
74
3873
  var ImageSlider = function ImageSlider(props) {
75
3874
  var innerSlider = useRef(null);
@@ -348,9 +4147,9 @@ var PartnerDetails = function PartnerDetails(_ref) {
348
4147
  'div',
349
4148
  { className: 'mb-5', style: { width: '100%', maxWidth: '100%', textAlign: 'center', padding: '15px', border: '2px solid #aaa', borderRadius: '15px' } },
350
4149
  partnerDetails.twitter ? React__default.createElement(TwitterTimelineEmbed, { sourceType: 'url', url: partnerDetails.twitter, options: { height: 400 } }) : partnerDetails.facebook && React__default.createElement(
351
- FacebookProvider,
4150
+ Facebook$1,
352
4151
  { appId: ' ' },
353
- React__default.createElement(Page, { href: partnerDetails.facebook, tabs: 'timeline', width: '500', height: '500' })
4152
+ React__default.createElement(Page$1, { href: partnerDetails.facebook, tabs: 'timeline', width: '500', height: '500' })
354
4153
  )
355
4154
  ),
356
4155
  React__default.createElement(
@@ -390,7 +4189,7 @@ var PartnerDetails = function PartnerDetails(_ref) {
390
4189
  };
391
4190
 
392
4191
  PartnerDetails.returnGetInitialProps = function () {
393
- var _ref2 = _asyncToGenerator( /*#__PURE__*/regenerator.mark(function _callee(identifier, partnerPageUrl, partnerDocumentGroupID, params, currentPage, client) {
4192
+ var _ref2 = _asyncToGenerator$1( /*#__PURE__*/regenerator.mark(function _callee(identifier, partnerPageUrl, partnerDocumentGroupID, params, currentPage, client) {
394
4193
  var category = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : false;
395
4194
 
396
4195
  var today, featureQuery, partnerQuery, taxonomyQuery, _ref3, _ref4, features, partnerDetails, taxonomyDetails, articlesQuery, articles;