UNPKG

29.7 kBSource Map (JSON)View Raw
1{"version":3,"file":"react-vk.umd.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":["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","React","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