UNPKG

29.7 kBSource Map (JSON)View Raw
1{"version":3,"file":"react-vk.esm.production.min.js","sources":["../src/VKContext.js","../src/API.js","../src/VK.js","../src/AllowMessagesFromCommunity.js","../src/App.js","../src/Auth.js","../src/Comments.js","../src/CommentsBrowse.js","../src/CommunityMessages.js","../src/ContactUs.js","../src/Group.js","../src/Like.js","../src/Playlist.js","../src/Poll.js","../src/Post.js","../src/Recommended.js","../src/Subscribe.js","../src/Article.js"],"sourcesContent":["import React from \"react\";\n\nexport default React.createContext();\n","/* global document, window */\n\nexport default class VKApi {\n constructor(apiId, options = {}) {\n this.apiId = apiId;\n this.options = options;\n\n this.promise = null;\n\n this.init();\n }\n\n init() {\n const {\n apiId,\n options: { version, onlyWidgets }\n } = this;\n\n if (this.promise) return this.promise;\n\n this.promise = new Promise(resolve => {\n const baseUrl = `https://vk.com/js/api/openapi.js?${version}`;\n\n window.vkAsyncInit = () => {\n if (apiId) {\n window.VK.init({\n apiId,\n onlyWidgets\n });\n }\n\n resolve(window.VK);\n };\n\n if (document.getElementById(\"vk-openapi\")) {\n return;\n }\n\n const script = document.createElement(\"script\");\n\n script.type = \"text/javascript\";\n script.id = \"vk-openapi\";\n script.src = baseUrl;\n script.async = true;\n\n document.head.appendChild(script);\n });\n\n return this.promise;\n }\n}\n","/* eslint-disable no-underscore-dangle */\n/* global window */\nimport React from \"react\";\nimport PropTypes from \"prop-types\";\n\nimport VKContext from \"./VKContext\";\nimport VKApi from \"./API\";\n\nlet VKInstance = null;\n\nexport default class VK extends React.Component {\n _mounted = true;\n\n static propTypes = {\n apiId: PropTypes.number,\n options: PropTypes.shape({\n version: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n onlyWidgets: PropTypes.bool\n }),\n onApiAvailable: PropTypes.func\n };\n\n static defaultProps = {\n apiId: null,\n options: {\n version: 160,\n onlyWidgets: true\n },\n onApiAvailable: () => {}\n };\n\n state = { vk: null };\n\n componentDidMount() {\n const { onApiAvailable, apiId } = this.props;\n if (\n typeof window !== \"undefined\" &&\n window.document &&\n window.document.createElement\n ) {\n this.VKinit().then(vk => {\n onApiAvailable(vk);\n if (apiId) {\n vk.init({\n apiId\n });\n }\n if (this._mounted) this.setState({ vk });\n });\n }\n }\n\n componentWillUnmount() {\n this._mounted = false;\n }\n\n VKinit() {\n const { apiId, options } = this.props;\n\n if (!this.vk) {\n this.vk = VKInstance || new VKApi(apiId, options);\n VKInstance = this.vk;\n }\n\n return this.vk.init();\n }\n\n render() {\n const { vk } = this.state;\n const { children } = this.props;\n return vk ? (\n <VKContext.Provider value={{ vk }}>{children}</VKContext.Provider>\n ) : null;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class AllowMessagesFromCommunity extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n options: PropTypes.shape({\n height: PropTypes.number\n }),\n groupId: PropTypes.number.isRequired,\n onAllow: PropTypes.func,\n onDeny: PropTypes.func\n };\n\n static defaultProps = {\n elementId: \"vk_send_message\",\n options: {\n height: 24\n },\n onAllow: () => {},\n onDeny: () => {}\n };\n\n componentDidMount() {\n this.mount();\n }\n\n componentWillUnmount() {\n const { vk } = this.context;\n vk.Observer.unsubscribe(\"widgets.allowMessagesFromCommunity.allowed\");\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, options, groupId, onAllow, onDeny } = this.props;\n vk.Widgets.AllowMessagesFromCommunity(elementId, options, groupId);\n vk.Observer.subscribe(\n \"widgets.allowMessagesFromCommunity.allowed\",\n userId => onAllow(userId)\n );\n vk.Observer.subscribe(\"widgets.allowMessagesFromCommunity.denied\", userId =>\n onDeny(userId)\n );\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Application extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n appId: PropTypes.number.isRequired,\n options: PropTypes.shape({\n mode: PropTypes.oneOf([1, 2, 3]),\n height: PropTypes.number\n })\n };\n\n static defaultProps = {\n elementId: \"vk_app\",\n options: {\n mode: 1\n }\n };\n\n componentDidMount() {\n this.mount();\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, appId, options } = this.props;\n vk.Widgets.App(elementId, appId, options);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Auth extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n options: PropTypes.shape({\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n authUrl: PropTypes.string,\n onAuth: PropTypes.func\n })\n };\n\n static defaultProps = {\n elementId: \"vk_auth\",\n options: {\n width: 300,\n onAuth: () => {}\n }\n };\n\n componentDidMount() {\n this.mount();\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, options } = this.props;\n const copy = { ...options };\n copy.onAuth = (uid, first_name, last_name, photo, photo_rec, hash) =>\n options.onAuth(uid, first_name, last_name, photo, photo_rec, hash);\n vk.Widgets.Auth(elementId, copy);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Comments extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n options: PropTypes.shape({\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n limit: PropTypes.number,\n attach: PropTypes.oneOf([\n false,\n \"graffiti\",\n \"photo\",\n \"audio\",\n \"video\",\n \"link\",\n \"*\"\n ]),\n autoPublish: PropTypes.oneOf([0, 1]),\n mini: PropTypes.oneOf([0, 1, \"auto\"]),\n norealtime: PropTypes.oneOf([0, 1]),\n pageUrl: PropTypes.string\n }),\n pageId: PropTypes.string,\n onNewComment: PropTypes.func,\n onDeleteComment: PropTypes.func\n };\n\n static defaultProps = {\n elementId: \"vk_comments\",\n options: {\n height: 0,\n limit: 10,\n attach: \"*\",\n autoPublish: 0,\n mini: \"auto\",\n norealtime: 0\n },\n pageId: null,\n onNewComment: () => {},\n onDeleteComment: () => {}\n };\n\n componentDidMount() {\n this.mount();\n }\n\n componentWillUnmount() {\n const { vk } = this.context;\n vk.Observer.unsubscribe(\"widgets.comments.new_comment\");\n vk.Observer.unsubscribe(\"widgets.comments.delete_comment\");\n }\n\n mount() {\n const { vk } = this.context;\n const {\n elementId,\n options,\n pageId,\n onNewComment,\n onDeleteComment\n } = this.props;\n vk.Widgets.Comments(elementId, options, pageId);\n vk.Observer.subscribe(\n \"widgets.comments.new_comment\",\n (num, last_comment, date, sign) =>\n onNewComment(num, last_comment, date, sign)\n );\n vk.Observer.subscribe(\"widgets.comments.delete_comment\", onDeleteComment);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class CommentsBrowse extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n options: PropTypes.shape({\n width: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n height: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n limit: PropTypes.number,\n mini: PropTypes.oneOf([0, 1, \"auto\"]),\n norealtime: PropTypes.oneOf([0, 1])\n })\n };\n\n static defaultProps = {\n elementId: \"vk_comments_browse\",\n options: {\n height: 0,\n limit: 10,\n mini: \"auto\",\n norealtime: 0\n }\n };\n\n componentDidMount() {\n this.mount();\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, options } = this.props;\n vk.Widgets.CommentsBrowse(elementId, options);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class CommunityMessages extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n groupId: PropTypes.number.isRequired,\n options: PropTypes.shape({\n onCanNotWrite: PropTypes.func,\n welcomeScreen: PropTypes.oneOf([0, 1]),\n expandTimeout: PropTypes.number,\n expanded: PropTypes.number,\n widgetPosition: PropTypes.oneOf([\"left\", \"right\"]),\n buttonType: PropTypes.oneOf([\"no_button\", \"blue_circle\"]),\n disableButtonTooltip: PropTypes.oneOf([0, 1]),\n tooltipButtonText: PropTypes.string,\n disableNewMessagesSound: PropTypes.number,\n disableExpandChatSound: PropTypes.number,\n disableTitleChange: PropTypes.number\n }),\n onMount: PropTypes.func\n };\n\n static defaultProps = {\n elementId: \"vk_community_messages\",\n options: {\n onCanNotWrite: () => {},\n welcomeScreen: 1,\n expandTimeout: 0,\n expanded: 0,\n widgetPosition: \"right\",\n buttonType: \"blue_circle\",\n disableButtonTooltip: 0\n },\n onMount: () => {}\n };\n\n componentDidMount() {\n const { vk } = this.context;\n const { elementId, groupId, options, onMount } = this.props;\n const widget = vk.Widgets.CommunityMessages(elementId, groupId, options);\n onMount(widget, elementId);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class ContactUs extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n options: PropTypes.shape({\n text: PropTypes.string,\n height: PropTypes.number\n }),\n ownerId: PropTypes.number.isRequired\n };\n\n static defaultProps = {\n elementId: \"vk_contact_us\",\n options: {\n height: 24\n }\n };\n\n componentDidMount() {\n this.mount();\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, options, ownerId } = this.props;\n vk.Widgets.ContactUs(elementId, options, -ownerId);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Group extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n groupId: PropTypes.number.isRequired,\n options: PropTypes.shape({\n height: PropTypes.number,\n mode: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n no_cover: PropTypes.oneOf([0, 1]),\n wide: PropTypes.oneOf([0, 1]),\n color1: PropTypes.string,\n color2: PropTypes.string,\n color3: PropTypes.string,\n pageImage: PropTypes.string\n }),\n onJoin: PropTypes.func,\n onLeave: PropTypes.func\n };\n\n static defaultProps = {\n elementId: \"vk_groups\",\n options: {\n width: \"auto\",\n mode: 3,\n no_cover: 1,\n wide: 1\n },\n onJoin: () => {},\n onLeave: () => {}\n };\n\n componentDidMount() {\n this.mount();\n }\n\n componentWillUnmount() {\n const { vk } = this.context;\n vk.Observer.unsubscribe(\"widgets.groups.joined\");\n vk.Observer.unsubscribe(\"widgets.groups.leaved\");\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, options, groupId, onJoin, onLeave } = this.props;\n vk.Widgets.Group(elementId, options, groupId);\n vk.Observer.subscribe(\"widgets.groups.joined\", onJoin);\n vk.Observer.subscribe(\"widgets.groups.leaved\", onLeave);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Like extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n options: PropTypes.shape({\n type: PropTypes.oneOf([\"full\", \"button\", \"mini\", \"vertical\"]),\n width: PropTypes.number,\n height: PropTypes.number,\n verb: PropTypes.oneOf([0, 1]),\n pageUrl: PropTypes.string,\n pageTitle: PropTypes.string,\n pageImage: PropTypes.string\n }),\n pageId: PropTypes.string,\n onLike: PropTypes.func,\n onUnlike: PropTypes.func,\n onShare: PropTypes.func,\n onUnshare: PropTypes.func\n };\n\n static defaultProps = {\n elementId: \"vk_like\",\n options: {\n type: \"full\",\n width: 350,\n height: 22,\n verb: 0\n },\n pageId: null,\n onLike: () => {},\n onUnlike: () => {},\n onShare: () => {},\n onUnshare: () => {}\n };\n\n componentDidMount() {\n this.mount();\n }\n\n componentWillUnmount() {\n const { vk } = this.context;\n vk.Observer.unsubscribe(\"widgets.like.liked\");\n vk.Observer.unsubscribe(\"widgets.like.unliked\");\n vk.Observer.unsubscribe(\"widgets.like.shared\");\n vk.Observer.unsubscribe(\"widgets.like.unshared\");\n }\n\n mount() {\n const { vk } = this.context;\n const {\n elementId,\n options,\n pageId,\n onLike,\n onUnlike,\n onShare,\n onUnshare\n } = this.props;\n if (pageId) {\n vk.Widgets.Like(elementId, options, pageId);\n } else {\n vk.Widgets.Like(elementId, options);\n }\n vk.Observer.subscribe(\"widgets.like.liked\", quantity => onLike(quantity));\n vk.Observer.subscribe(\"widgets.like.unliked\", quantity =>\n onUnlike(quantity)\n );\n vk.Observer.subscribe(\"widgets.like.shared\", quantity => onShare(quantity));\n vk.Observer.subscribe(\"widgets.like.unshared\", quantity =>\n onUnshare(quantity)\n );\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Playlist extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n ownerId: PropTypes.number.isRequired,\n playlistId: PropTypes.number.isRequired,\n hash: PropTypes.string.isRequired,\n options: PropTypes.shape({\n width: PropTypes.number\n })\n };\n\n static defaultProps = {\n elementId: \"vk_playlist\",\n options: {}\n };\n\n componentDidMount() {\n this.mount();\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, ownerId, playlistId, hash, options } = this.props;\n vk.Widgets.Playlist(elementId, -ownerId, playlistId, hash, options);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Poll extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n options: PropTypes.shape({\n width: PropTypes.number,\n pageUrl: PropTypes.string\n }),\n pollId: PropTypes.string.isRequired\n };\n\n static defaultProps = {\n elementId: \"vk_poll\",\n options: {\n height: 24\n }\n };\n\n componentDidMount() {\n this.mount();\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, options, pollId } = this.props;\n vk.Widgets.Poll(elementId, options, pollId);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Post extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n ownerId: PropTypes.number.isRequired,\n postId: PropTypes.number.isRequired,\n hash: PropTypes.string.isRequired,\n options: PropTypes.shape({\n width: PropTypes.number\n })\n };\n\n static defaultProps = {\n elementId: \"vk_post\",\n options: {}\n };\n\n componentDidMount() {\n this.mount();\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, ownerId, postId, hash, options } = this.props;\n vk.Widgets.Post(elementId, ownerId, postId, hash, options);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Recommended extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n options: PropTypes.shape({\n limit: PropTypes.number,\n max: PropTypes.number,\n period: PropTypes.string,\n verb: PropTypes.number,\n sort: PropTypes.string,\n target: PropTypes.string\n })\n };\n\n static defaultProps = {\n elementId: \"vk_recommend\",\n options: {\n limit: 5,\n max: 20,\n period: \"week\",\n sort: \"friend_like\",\n target: \"parent\"\n }\n };\n\n componentDidMount() {\n this.mount();\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, options } = this.props;\n vk.Widgets.Recommended(elementId, options);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Subscribe extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n options: PropTypes.shape({\n mode: PropTypes.number,\n soft: PropTypes.number\n }),\n ownerId: PropTypes.number.isRequired,\n onSubscribe: PropTypes.func,\n onUnsubscribe: PropTypes.func\n };\n\n static defaultProps = {\n elementId: \"vk_subscribe\",\n options: {\n mode: 0,\n soft: 0\n },\n onSubscribe: () => {},\n onUnsubscribe: () => {}\n };\n\n componentDidMount() {\n this.mount();\n }\n\n componentWillUnmount() {\n const { vk } = this.context;\n vk.Observer.unsubscribe(\"widgets.subscribed\");\n vk.Observer.unsubscribe(\"widgets.unsubscribed\");\n }\n\n mount() {\n const { vk } = this.context;\n const {\n elementId,\n options,\n ownerId,\n onSubscribe,\n onUnsubscribe\n } = this.props;\n vk.Widgets.Subscribe(elementId, options, ownerId);\n vk.Observer.subscribe(\"widgets.subscribed\", onSubscribe);\n vk.Observer.subscribe(\"widgets.unsubscribed\", onUnsubscribe);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n","import React from \"react\";\nimport PropTypes from \"prop-types\";\nimport VKContext from \"./VKContext\";\n\nexport default class Post extends React.Component {\n static contextType = VKContext;\n\n static propTypes = {\n elementId: PropTypes.string,\n articleUrl: PropTypes.string.isRequired\n };\n\n static defaultProps = {\n elementId: \"vk_article\"\n };\n\n componentDidMount() {\n this.mount();\n }\n\n mount() {\n const { vk } = this.context;\n const { elementId, articleUrl } = this.props;\n vk.Widgets.Article(elementId, articleUrl);\n }\n\n render() {\n const { elementId } = this.props;\n return <div id={elementId} />;\n }\n}\n"],"names":["React","createContext","VKApi","apiId","options","promise","init","this","version","onlyWidgets","Promise","resolve","baseUrl","window","vkAsyncInit","VK","document","getElementById","script","createElement","type","id","src","async","head","appendChild","VKInstance","vk","Component","props","onApiAvailable","VKinit","then","_this2","_mounted","setState","state","children","VKContext","Provider","value","AllowMessagesFromCommunity","mount","context","Observer","unsubscribe","elementId","groupId","onAllow","onDeny","Widgets","subscribe","userId","height","Application","appId","App","mode","Auth","copy","onAuth","uid","first_name","last_name","photo","photo_rec","hash","width","Comments","pageId","onNewComment","onDeleteComment","num","last_comment","date","sign","limit","attach","autoPublish","mini","norealtime","CommentsBrowse","CommunityMessages","onMount","onCanNotWrite","welcomeScreen","expandTimeout","expanded","widgetPosition","buttonType","disableButtonTooltip","ContactUs","ownerId","Group","onJoin","onLeave","no_cover","wide","Like","onLike","onUnlike","onShare","onUnshare","quantity","verb","Playlist","playlistId","Poll","pollId","Post","postId","Recommended","max","period","sort","target","Subscribe","onSubscribe","onUnsubscribe","soft","articleUrl","Article"],"mappings":"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"}
\No newline at end of file