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