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