react-vk
Version:
VK API bindings for React
3 lines (2 loc) • 8.86 kB
JavaScript
import e,{useState as n,useEffect as t,useContext as i}from"react";function r(e,n){for(var t=0;t<n.length;t++){var i=n[t];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function s(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=[],i=!0,r=!1,o=void 0;try{for(var s,u=e[Symbol.iterator]();!(i=(s=u.next()).done)&&(t.push(s.value),!n||t.length!==n);i=!0);}catch(e){r=!0,o=e}finally{try{i||null==u.return||u.return()}finally{if(r)throw o}}return t}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var u=e.createContext(null),d=function(){function e(n){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.apiId=n,this.options=t,this.promise=null,this.load()}var n,t,i;return n=e,(t=[{key:"init",value:function(){var e=this.apiId,n=this.options.onlyWidgets;e&&window.VK.init({apiId:e,onlyWidgets:n})}},{key:"load",value:function(){var e=this,n=this.options.version;return this.promise?this.promise:(this.promise=new Promise(function(t){window.VK&&window.VK.init?(e.init(),t(window.VK)):window.vkAsyncInit=function(){e.init(),t(window.VK)};var i="https://vk.com/js/api/openapi.js?".concat(n);if(!document.getElementById("vk-openapi")){var r=document.createElement("script");r.type="text/javascript",r.id="vk-openapi",r.src=i,r.async=!0,document.head.appendChild(r)}}),this.promise)}}])&&r(n.prototype,t),i&&r(n,i),e}(),a="undefined"!=typeof window&&window.document&&window.document.createElement,c=function(i){var r=i.onApiAvailable,o=i.apiId,c=i.options,l=i.children,m=s(n(null),2),p=m[0],v=m[1];return t(function(){a&&new d(o,c).load().then(function(e){r(e),v(e)})},[]),p?e.createElement(u.Provider,{value:p},l):null};c.defaultProps={apiId:null,options:{version:160,onlyWidgets:!0},onApiAvailable:function(){}};var l=function(n){var r=n.elementId,o=n.options,s=n.groupId,d=n.onAllow,a=n.onDeny,c=i(u);return t(function(){return c.Widgets.AllowMessagesFromCommunity(r,o,s),c.Observer.subscribe("widgets.allowMessagesFromCommunity.allowed",function(e){return d(e)}),c.Observer.subscribe("widgets.allowMessagesFromCommunity.denied",function(e){return a(e)}),function(){return c.Observer.unsubscribe("widgets.allowMessagesFromCommunity.allowed")}},[]),e.createElement("div",{id:r})};l.defaultProps={elementId:"vk_allow_messages_from_community",options:{height:24},onAllow:function(){},onDeny:function(){}};var m=function(n){var r=n.elementId,o=n.appId,s=n.options,d=i(u);return t(function(){d.Widgets.App(r,o,s)},[]),e.createElement("div",{id:r})};m.defaultProps={elementId:"vk_app",options:{mode:1}};var p=function(n){var r=n.elementId,s=n.options,d=i(u);return t(function(){var e=function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},i=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),i.forEach(function(n){o(e,n,t[n])})}return e}({},s);e.onAuth=function(e,n,t,i,r,o){return s.onAuth(e,n,t,i,r,o)},d.Widgets.Auth(r,e)},[]),e.createElement("div",{id:r})};p.defaultProps={elementId:"vk_auth",options:{width:300,onAuth:function(){}}};var v=function(n){var r=n.elementId,o=n.options,s=n.pageId,d=n.onNewComment,a=n.onDeleteComment,c=i(u);return t(function(){return c.Widgets.Comments(r,o,s),c.Observer.subscribe("widgets.comments.new_comment",function(e,n,t,i){return d(e,n,t,i)}),c.Observer.subscribe("widgets.comments.delete_comment",a),function(){c.Observer.unsubscribe("widgets.comments.new_comment"),c.Observer.unsubscribe("widgets.comments.delete_comment")}},[]),e.createElement("div",{id:r})};v.defaultProps={elementId:"vk_comments",options:{height:0,limit:10,attach:"*",autoPublish:0,mini:"auto",norealtime:0},pageId:null,onNewComment:function(){},onDeleteComment:function(){}};var f=function(n){var r=n.elementId,o=n.options,s=i(u);return t(function(){s.Widgets.CommentsBrowse(r,o)},[]),e.createElement("div",{id:r})};f.defaultProps={elementId:"vk_comments_browse",options:{height:0,limit:10,mini:"auto",norealtime:0}};var b=function(n){var r=n.elementId,o=n.groupId,s=n.options,d=n.onMount,a=i(u);return t(function(){var e=a.Widgets.CommunityMessages(r,o,s);d(e,r)},[]),e.createElement("div",{id:r})};b.defaultProps={elementId:"vk_community_messages",options:{onCanNotWrite:function(){},welcomeScreen:1,expandTimeout:0,expanded:0,widgetPosition:"right",buttonType:"blue_circle",disableButtonTooltip:0},onMount:function(){}};var w=function(n){var r=n.elementId,o=n.options,s=n.ownerId,d=i(u);return t(function(){d.Widgets.ContactUs(r,o,-s)},[]),e.createElement("div",{id:r})};w.defaultProps={elementId:"vk_contact_us",options:{height:24}};var g=function(n){var r=n.elementId,o=n.options,s=n.groupId,d=n.onJoin,a=n.onLeave,c=i(u);return t(function(){return c.Widgets.Group(r,o,s),c.Observer.subscribe("widgets.groups.joined",d),c.Observer.subscribe("widgets.groups.leaved",a),function(){c.Observer.unsubscribe("widgets.groups.joined"),c.Observer.unsubscribe("widgets.groups.leaved")}},[]),e.createElement("div",{id:r})};g.defaultProps={elementId:"vk_groups",options:{width:"auto",mode:3,no_cover:1,wide:1},onJoin:function(){},onLeave:function(){}};var h=function(n){var r=n.elementId,o=n.options,s=n.pageId,d=n.onLike,a=n.onUnlike,c=n.onShare,l=n.onUnshare,m=i(u);return t(function(){return s?m.Widgets.Like(r,o,s):m.Widgets.Like(r,o),m.Observer.subscribe("widgets.like.liked",function(e){return d(e)}),m.Observer.subscribe("widgets.like.unliked",function(e){return a(e)}),m.Observer.subscribe("widgets.like.shared",function(e){return c(e)}),m.Observer.subscribe("widgets.like.unshared",function(e){return l(e)}),function(){m.Observer.unsubscribe("widgets.like.liked"),m.Observer.unsubscribe("widgets.like.unliked"),m.Observer.unsubscribe("widgets.like.shared"),m.Observer.unsubscribe("widgets.like.unshared")}},[]),e.createElement("div",{id:r})};h.defaultProps={elementId:"vk_like",options:{type:"full",width:350,height:22,verb:0},pageId:null,onLike:function(){},onUnlike:function(){},onShare:function(){},onUnshare:function(){}};var I=function(n){var r=n.elementId,o=n.ownerId,s=n.playlistId,d=n.hash,a=n.options,c=i(u);return t(function(){c.Widgets.Playlist(r,-o,s,d,a)},[]),e.createElement("div",{id:r})};I.defaultProps={elementId:"vk_playlist",options:{}};var k=function(n){var r=n.elementId,o=n.options,s=n.pollId,d=i(u);return t(function(){d.Widgets.Poll(r,o,s)},[]),e.createElement("div",{id:r})};k.defaultProps={elementId:"vk_poll",options:{height:24}};var y=function(n){var r=n.elementId,o=n.ownerId,s=n.postId,d=n.hash,a=n.options,c=i(u);return t(function(){c.Widgets.Post(r,o,s,d,a)},[]),e.createElement("div",{id:r})};y.defaultProps={elementId:"vk_post",options:{}};var O=function(n){var r=n.elementId,o=n.options,s=i(u);return t(function(){s.Widgets.Recommended(r,o)},[]),e.createElement("div",{id:r})};O.defaultProps={elementId:"vk_recommend",options:{limit:5,max:20,period:"week",sort:"friend_like",target:"parent"}};var P=function(n){var i=n.shareOptions,r=n.buttonOptions,o=e.createRef();return t(function(){if(a)if(document.getElementById("vk-share"))window.VK.Share&&(o.current.innerHTML=window.VK.Share.button(i,r));else{var e=document.createElement("script");e.type="text/javascript",e.charset="windows-1251",e.id="vk-share",e.src="https://vk.com/js/api/share.js?93",e.async=!0,document.head.appendChild(e),e.addEventListener("load",function(){o.current.innerHTML=window.VK.Share.button(i,r)})}},[]),e.createElement("div",{ref:o})};P.defaultProps={shareOptions:null,buttonOptions:null};var _=function(n){var r=n.elementId,o=n.options,s=n.ownerId,d=n.onSubscribe,a=n.onUnsubscribe,c=i(u);return t(function(){return c.Widgets.Subscribe(r,o,s),c.Observer.subscribe("widgets.subscribed",d),c.Observer.subscribe("widgets.unsubscribed",a),function(){c.Observer.unsubscribe("widgets.subscribed"),c.Observer.unsubscribe("widgets.unsubscribed")}},[]),e.createElement("div",{id:r})};_.defaultProps={elementId:"vk_subscribe",options:{mode:0,soft:0},onSubscribe:function(){},onUnsubscribe:function(){}};var E=function(n){var r=n.elementId,o=n.articleUrl,s=i(u);return t(function(){s.Widgets.Article(r,o)},[]),e.createElement("div",{id:r})};E.defaultProps={elementId:"vk_article"};export default c;export{l as AllowMessagesFromCommunity,m as Application,E as Article,p as Auth,v as Comments,f as CommentsBrowse,b as CommunityMessages,w as ContactUs,g as Group,h as Like,I as Playlist,k as Poll,y as Post,O as Recommended,P as Share,_ as Subscribe};
//# sourceMappingURL=react-vk.esm.production.min.js.map