New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@vkontakte/superappkit

Package Overview
Dependencies
Maintainers
5
Versions
408
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vkontakte/superappkit - npm Package Compare versions

Comparing version 1.10.0 to 1.11.0-alpha.1.1

dist/common/types.d.ts

1

dist/common/constants.d.ts

@@ -6,2 +6,3 @@ export declare const VERSION = "0.0.2";

export declare const ALLOWED_DOMAIN = ".vk.com";
export declare const SMALL_TABLET_SIZE = 768;
export declare const ALLOWED_APP_SETTINGS_KEYS: string[];

@@ -0,1 +1,2 @@

import { FrameSettings } from '#/common/types';
export declare type URLParams = {

@@ -15,1 +16,2 @@ [key: string]: string | number;

export declare function makeAppSettingsString(appSettings: AppSettings): string;
export declare function makeFrame(src?: string, frameSettings?: FrameSettings): HTMLIFrameElement;

46

dist/connect/index.d.ts

@@ -1,50 +0,12 @@

import { URLParams } from '#/common/utils';
export declare type VKSilentAuthPayload = {
auth: number;
token: string;
ttl: number;
type: string;
user: {
id: number;
first_name: string;
last_name: string;
avatar: string;
phone: string;
};
uuid: string;
};
export declare type VKAuthSuccessResult = {
provider: 'vk';
payload: VKSilentAuthPayload;
};
export interface VKOAuthCallback {
provider: 'fb' | 'google';
}
export declare type VKUserVisibleAuthResult = VKAuthSuccessResult | VKOAuthCallback;
export interface ExtendTokenParams {
name: 'extend_token';
token: string;
params: {
extend_token_hash: string;
};
}
export declare type AuthAction = ExtendTokenParams;
export declare type RedirectAuthParams = {
url: string;
state?: string;
screen?: 'phone';
action?: AuthAction;
};
export declare type UserVisibleAuthParams = {
screen?: 'phone';
action?: AuthAction;
};
import { AuthButtonParams, AuthButtonType, RedirectAuthParams, UserVisibleAuthParams, VKAuthSuccessResult, VKOneTapAuthResult, VKUserVisibleAuthResult } from './types';
declare class Connect {
private readonly flags;
readonly silentAuth: () => Promise<VKAuthSuccessResult>;
readonly oneTapAuth: (oneTapAuthType: AuthButtonType, params: AuthButtonParams) => VKOneTapAuthResult | null;
private readonly userDataPolicy;
private readonly captcha;
readonly userVisibleAuth: (params?: UserVisibleAuthParams | undefined) => Promise<VKUserVisibleAuthResult>;
readonly redirectAuth: (params: RedirectAuthParams) => void;
readonly makeAuthUrl: (params: URLParams) => string;
}
declare const _default: Connect;
export default _default;

@@ -1,2 +0,8 @@

import { AuthAction } from '#/connect';
import { AuthAction, AdaptivitySwitchObserver, VKOneTapAuthOptions, ButtonOneTapAuthOptions } from '#/connect/types';
import { URLParams } from '#/common/utils';
export declare function makeAuthActionString(authAction?: AuthAction): string;
export declare function makeAdaptivitySwitchObserver(): AdaptivitySwitchObserver;
export declare const CONNECT_AUTH_RESPONSE_TYPE = "silent_token";
export declare function makeAuthUrl(params: URLParams, authPage?: string): string;
export declare function getFloatingOneTapAuthOptions(isAdaptive: boolean): VKOneTapAuthOptions;
export declare function getButtonOneTapAuthOptions(options: ButtonOneTapAuthOptions): VKOneTapAuthOptions;

@@ -1,1 +0,1 @@

"use strict";function e(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function n(e,n,o){return n in e?Object.defineProperty(e,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[n]=o,e}function o(e,n){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),o.push.apply(o,t)}return o}function t(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(o){n(e,o,i[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}Object.defineProperty(exports,"__esModule",{value:!0});var i,r="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",a=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21,n="",o=e;o--;)n+=r[64*Math.random()|0];return n},s=["agreements","promo","vkc_behavior","vkc_auth_action","vkc_brand"];!function(e){e[e.UNKNOWN=1]="UNKNOWN",e[e.MISSING_PARAM=2]="MISSING_PARAM",e[e.CONNECTION_LOST=3]="CONNECTION_LOST",e[e.USER_DENIED=4]="USER_DENIED",e[e.INVALID_PARAMS=5]="INVALID_PARAMS",e[e.CUSTOM=6]="CUSTOM",e[e.CONNECT_WINDOW_CLOSED=7]="CONNECT_WINDOW_CLOSED",e[e.CONNECT_WINDOW_NOT_OPENED=8]="CONNECT_WINDOW_NOT_OPENED",e[e.CONNECT_DOMAIN_NOT_ALLOWED=9]="CONNECT_DOMAIN_NOT_ALLOWED",e[e.CONNECT_UNKNOWN_SDK_MESSAGE=10]="CONNECT_UNKNOWN_SDK_MESSAGE",e[e.OLD_MISSING_PARAM=100]="OLD_MISSING_PARAM"}(i||(i={}));var c=function(){return"No params passed for load app!"},p=function(){return"Connect window was closed."},u=function(){return"Connect window was not opened."},d=function(e){return'URL domain "'.concat(e,'" is not allowed.')},l=function(e){return"This SDK message is unknown: ".concat(e)};function f(e){return Object.keys(e).map((function(n){var o=e[n];return n=encodeURIComponent(n),o=encodeURIComponent(o),"".concat(n,"=").concat(o)}),[]).join("&")}function h(e){return Object.keys(e).filter((function(e){return s.includes(e)}))}function m(e){var n=function(e){return h(e).reduce((function(n,o){return n[o]=e[o],n}),{})}(e);return btoa(JSON.stringify(n))}var g=["extend_token"];function v(e){return e&&g.includes(e.name)?btoa(JSON.stringify(e)):""}function _(e){return e=e||Object.create(null),{on:function(n,o){(e[n]||(e[n]=[])).push(o)},off:function(n,o){e[n]&&e[n].splice(e[n].indexOf(o)>>>0,1)},emit:function(n,o){(e[n]||[]).slice().map((function(e){e(o)})),(e["*"]||[]).slice().map((function(e){e(n,o)}))}}}var A,N,O={appId:0,superAppToken:"",loginDomain:"login.vk.com",oauthDomain:"oauth.vk.com",connectDomain:"connect.vk.com",_debug:!1},w={},E={events:_(),init:function(e){if(!e.appId)throw new Error("appId required");O.appId=e.appId,O.superAppToken=e.superAppToken||"",O.loginDomain=e.loginDomain||"login.vk.com",O.oauthDomain=e.oauthDomain||"oauth.vk.com",O.connectDomain=e.connectDomain||"connect.vk.com",O.appSettings=e.appSettings,O._debug=!!e._debug},get:function(){return O},setSuperAppToken:function(e){O.superAppToken=e,E.events.emit("superAppToken",e)},onRequestSuperAppToken:function(e){w.superAppToken=e},_requestSuperAppToken:function(){var e;w.superAppToken&&(e=w.superAppToken()),e&&e.then((function(e){return E.setSuperAppToken(e)})).catch(console.error)},onAuth:function(e){w.auth=e},_requestAuth:function(){var e;w.auth&&(e=w.auth()),e&&e.then((function(e){return E.setSuperAppToken(e)})).catch(console.error)},onOpenApp:function(e){w.openApp=e},_openApp:function(e){w.openApp&&w.openApp(e.app)}},P=new function o(){var r=this;e(this,o),n(this,"flags",null),n(this,"silentAuth",(function(){var e=E.get(),n=e.loginDomain,o=e.appId,t=a(),i="https://".concat(n,"/?act=connect&app_id=").concat(o,"&response_type=").concat("silent_token","&uuid=").concat(t,"&v=").concat("0.0.2"),r=new XMLHttpRequest;return r.open("GET",i,!0),r.responseType="json",r.withCredentials=!0,new Promise((function(e,n){r.onload=function(){r.response?e({provider:"vk",payload:r.response}):n()},r.onerror=function(){n()},r.send()}))})),n(this,"userVisibleAuth",(function(e){var n=a(),o={origin:location.protocol+"//"+location.host,uuid:n};(null==e?void 0:e.screen)&&(o.screen=e.screen);var t=v(null==e?void 0:e.action);t&&(o.action=t);var s=r.makeAuthUrl(o);r.flags&&(s="".concat(s,"#").concat(f(r.flags)));var c=screen.height/2-280,h=screen.width/2-410,m=window.open(s,"_blank","top=".concat(c,",left=").concat(h,",width=").concat(820,",height=").concat(560,",location"));if(!m){var g={code:i.CONNECT_WINDOW_NOT_OPENED,reason:u()};return Promise.reject(g)}return new Promise((function(e,o){var t=setInterval((function(){if(!m||m.closed){window.removeEventListener("message",r),clearInterval(t);var e={code:i.CONNECT_WINDOW_CLOSED,reason:p()};o(e)}}),1e3);function r(a){if(a.source===m&&m)if(window.removeEventListener("message",r),clearInterval(t),".vk.com"===a.origin.slice(a.origin.length-".vk.com".length))if(a.data.action==="vk_connect_response"+n){var s=a.data.payload;m.close(),e({provider:"vk",payload:s})}else if(a.data.action==="oauth_callback"+n)e({provider:a.data.payload.name}),m.close();else{m.close();var c={code:i.CONNECT_UNKNOWN_SDK_MESSAGE,reason:l(JSON.stringify(a.data))};o(c)}else{m.close();var p={code:i.CONNECT_DOMAIN_NOT_ALLOWED,reason:d(a.origin)};o(p)}}window.addEventListener("message",r)}))})),n(this,"redirectAuth",(function(e){var n=a(),o={redirect_uri:e.url,uuid:n};(null==e?void 0:e.state)&&(o.redirect_state=e.state),(null==e?void 0:e.screen)&&(o.screen=e.screen);var t=v(null==e?void 0:e.action);t&&(o.action=t);var i=r.makeAuthUrl(o);location.assign(i)})),n(this,"makeAuthUrl",(function(e){var n=E.get(),o=n.appId,i=n.connectDomain,r=n.appSettings,a=t({app_id:o,response_type:"silent_token",v:"0.0.2"},e);r&&function(e){var n;return Boolean(null===(n=h(e))||void 0===n?void 0:n.length)}(r)&&(a.app_settings=m(r));var s=f(a);return"https://".concat(i,"/auth?").concat(s)}))};!function(e){e.APP_HIDE="VKSDKMiniAppHide",e.APP_READY="VKSDKMiniAppReady",e.RESIZE="VKSDKMiniAppResize",e.APP_INIT_CONFIG="VKSDKMiniAppInitConfig"}(A||(A={})),function(e){e.SUPERAPP_TOKEN="VKSDKGeneralSuperAppToken",e.AUTH_NEEDED="VKSDKGeneralAuthNeeded",e.OPEN_APP="VKSDKGeneralOpenApp"}(N||(N={}));var y,k=function o(i){var r=this;e(this,o),n(this,"handler",(function(){return{}})),n(this,"config",void 0),n(this,"destroy",(function(){delete r.config,window.removeEventListener("message",r.handleMessage)})),n(this,"onMessage",(function(e){r.handler=e})),n(this,"sendMessage",(function(e){r.config.iframe.contentWindow.postMessage(t({type:"vk-sak-sdk"},e),r.config.origin)})),n(this,"handleMessage",(function(e){r.config.origin&&e.origin===r.config.origin&&e.source===r.config.iframe.contentWindow&&e.data&&"vk-sak-sdk"===e.data.type&&(console.info("[received from ui]",e.data),r.handler(e.data))})),this.config=i,window.addEventListener("message",this.handleMessage)};!function(e){e.INIT="ConnectProfileInit"}(y||(y={}));exports.Config=E,exports.Connect=P,exports.MiniApp=function o(i){var r=this;e(this,o),n(this,"iframe",void 0),n(this,"bridge",void 0),n(this,"loading",void 0),n(this,"readyPromiseResolve",null),n(this,"readyPromise",null),n(this,"bodyOverflowValue",""),n(this,"params",void 0),n(this,"events",void 0),n(this,"open",(function(e,n){return r.loading?(r.iframe.src=r.getMiniAppUrl(e,n),r.loading=new Promise((function(e){r.iframe.onload=function(){r.iframe.onload=null,e()}})),r.readyPromise=new Promise((function(e){return r.readyPromiseResolve=e}))):r.preload(e,n).catch(console.error),r.iframe.style.display="block",r.bodyOverflowValue=window.document.body.style.overflow,window.document.body.style.overflow="hidden",r.loading.then(r.handleResize).catch(console.error),r.readyPromise})),n(this,"hide",(function(){r.events.emit("hide"),r.iframe.style.display="none",window.document.body.style.overflow=r.bodyOverflowValue})),n(this,"close",(function(){window.document.body.style.overflowX="",E.events.off("superAppToken",r.onSuperAppToken),r.iframe.remove(),r.bridge.destroy(),delete r.iframe,delete r.bridge,window.removeEventListener("resize",r.handleResize)})),n(this,"preload",(function(e,n){var o=document.createElement("iframe"),t=window.innerHeight,i=isFinite(r.params.zIndex)?r.params.zIndex:999999;return o.src=r.getMiniAppUrl(e,n),o.style.cssText="\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: ".concat(t,"px;\n min-height: ").concat(t,"px;\n border: none;\n z-index: ").concat(i,";\n "),r.iframe=o,document.body.appendChild(r.iframe),E.events.on("superAppToken",r.onSuperAppToken),r.bridge=new k({iframe:r.iframe,origin:"https://"+E.get().connectDomain}),r.bridge.onMessage(r.handleMessage),window.addEventListener("resize",r.handleResize),r.loading=new Promise((function(e){o.onload=function(){o.onload=null,e()}})),r.readyPromise=new Promise((function(e){return r.readyPromiseResolve=e})),r.loading})),n(this,"onSuperAppToken",(function(e){r.bridge.sendMessage({handler:N.SUPERAPP_TOKEN,params:{result:e}})})),n(this,"handleMessage",(function(e){switch(e.handler){case A.APP_HIDE:r.hide();break;case A.APP_READY:r.resolveReadyPromise(),r.handleUpdateConfig();break;case N.SUPERAPP_TOKEN:E._requestSuperAppToken();break;case N.AUTH_NEEDED:E._requestAuth()}})),n(this,"handleResize",(function(){if(r.iframe){var e=innerWidth,n=innerHeight;r.iframe.style.height="".concat(n,"px"),r.iframe.style.minHeight="".concat(n,"px"),r.bridge.sendMessage({handler:A.RESIZE,params:{viewport_width:e,viewport_height:n}})}})),n(this,"handleUpdateConfig",(function(){r.bridge.sendMessage({handler:A.APP_INIT_CONFIG,params:{fullMode:r.params.fullMode}})})),n(this,"getMiniAppUrl",(function(e,n){var o=E.get(),t=o.connectDomain,i=o.appId,a=o.superAppToken,s=o._debug,c=f({app:r.params.app,host_app_id:i,debug:s?"1":"",localhost:s?"1":"",superapp_token:a,app_query:e?JSON.stringify(e):"",app_hash:n||""});return"https://".concat(t,"/mini_app?").concat(c)})),n(this,"resolveReadyPromise",(function(){r.readyPromise&&r.readyPromiseResolve&&(r.readyPromiseResolve(),r.readyPromise=null,r.readyPromiseResolve=null)})),this.params=t({},i,{app:"number"==typeof i.app?"app".concat(i.app):i.app}),this.events=_()},exports.Profile=function o(){var t=this;e(this,o),n(this,"iframe",void 0),n(this,"config",void 0),n(this,"bridge",void 0),n(this,"iframeLoadPromise",void 0),n(this,"load",(function(e){if(!e.container)throw new Error("container is null");if(!e)throw new Error(c());return t.iframe||t.preload(e),t.iframeLoadPromise})),n(this,"remove",(function(){t.iframe&&t.iframe.parentNode&&t.iframe.parentNode.removeChild(t.iframe),t.destroy()})),n(this,"preload",(function(e){t.config=e;var n=document.createElement("iframe");n.style.border="none",n.style.width="100%",n.style.height="100%",n.style.minHeight="100%",e.container.appendChild(n),t.setup(n)})),n(this,"setup",(function(e){E.events.on("superAppToken",t.onSuperAppToken),e.src=t.getProfileUrl(),t.iframe=e,t.iframeLoadPromise=new Promise((function(n){e.onload=function(){return n(e)}})),t.bridge=new k({iframe:t.iframe,origin:"https://"+E.get().connectDomain}),t.bridge.onMessage(t.handleMessage)})),n(this,"destroy",(function(){E.events.off("superAppToken",t.onSuperAppToken),t.bridge.destroy(),delete t.iframe,delete t.iframeLoadPromise,delete t.bridge})),n(this,"onSuperAppToken",(function(e){if(e&&t.iframe){var n=t.iframe;t.destroy(),t.setup(n)}})),n(this,"handleMessage",(function(e){switch(e.handler){case y.INIT:t.handleInitApp().catch(console.error);break;case N.SUPERAPP_TOKEN:E._requestSuperAppToken();break;case N.AUTH_NEEDED:E._requestAuth();break;case N.OPEN_APP:E._openApp(e.params)}})),n(this,"handleInitApp",(function(){return Promise.resolve()})),n(this,"getProfileUrl",(function(){var e=E.get(),n=e.connectDomain,o=e.appId,i=e.superAppToken,r=e._debug,a=t.config.widgets,s=f({host_app_id:o,debug:r?"1":"",localhost:r?"1":"",superapp_token:i,widgets:a?a.join(","):""});return"https://".concat(n,"/super_profile?").concat(s)}))};
"use strict";function e(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function n(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function t(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function o(e){for(var o=1;o<arguments.length;o++){var i=null!=arguments[o]?arguments[o]:{};o%2?t(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}Object.defineProperty(exports,"__esModule",{value:!0});var i,a="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",r=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21,n="",t=e;t--;)n+=a[64*Math.random()|0];return n},s=["agreements","promo","vkc_behavior","vkc_auth_action","vkc_brand"];!function(e){e[e.UNKNOWN=1]="UNKNOWN",e[e.MISSING_PARAM=2]="MISSING_PARAM",e[e.CONNECTION_LOST=3]="CONNECTION_LOST",e[e.USER_DENIED=4]="USER_DENIED",e[e.INVALID_PARAMS=5]="INVALID_PARAMS",e[e.CUSTOM=6]="CUSTOM",e[e.CONNECT_WINDOW_CLOSED=7]="CONNECT_WINDOW_CLOSED",e[e.CONNECT_WINDOW_NOT_OPENED=8]="CONNECT_WINDOW_NOT_OPENED",e[e.CONNECT_DOMAIN_NOT_ALLOWED=9]="CONNECT_DOMAIN_NOT_ALLOWED",e[e.CONNECT_UNKNOWN_SDK_MESSAGE=10]="CONNECT_UNKNOWN_SDK_MESSAGE",e[e.OLD_MISSING_PARAM=100]="OLD_MISSING_PARAM"}(i||(i={}));var c=function(){return"No params passed for load app!"},p=function(){return"Connect window was closed."},d=function(){return"Connect window was not opened."},u=function(e){return'URL domain "'.concat(e,'" is not allowed.')},l=function(e){return"This SDK message is unknown: ".concat(e)};function h(e){return Object.keys(e).map((function(n){var t=e[n];return n=encodeURIComponent(n),t=encodeURIComponent(t),"".concat(n,"=").concat(t)}),[]).join("&")}function f(e){return Object.keys(e).filter((function(e){return s.includes(e)}))}function m(e){var n;return Boolean(null===(n=f(e))||void 0===n?void 0:n.length)}function g(e){var n=function(e){return f(e).reduce((function(n,t){return n[t]=e[t],n}),{})}(e);return btoa(JSON.stringify(n))}function A(e,n){var t,o=document.createElement("iframe");for(var i in e&&(o.src=e),o.style.cssText=null!==(t=null==n?void 0:n.cssText)&&void 0!==t?t:"",o.width="100%",o.height="100%",o.style.border="none",null==n?void 0:n.properties){var a;if(n&&n.properties.hasOwnProperty(i))o[i]=null!==(a=n.properties[i])&&void 0!==a?a:""}return o}function _(e){return e=e||Object.create(null),{on:function(n,t){(e[n]||(e[n]=[])).push(t)},off:function(n,t){e[n]&&e[n].splice(e[n].indexOf(t)>>>0,1)},emit:function(n,t){(e[n]||[]).slice().map((function(e){e(t)})),(e["*"]||[]).slice().map((function(e){e(n,t)}))}}}var v={appId:0,superAppToken:"",loginDomain:"login.vk.com",oauthDomain:"oauth.vk.com",connectDomain:"connect.vk.com",_debug:!1},O={},y={events:_(),init:function(e){if(!e.appId)throw new Error("appId required");v.appId=e.appId,v.superAppToken=e.superAppToken||"",v.loginDomain=e.loginDomain||"login.vk.com",v.oauthDomain=e.oauthDomain||"oauth.vk.com",v.connectDomain=e.connectDomain||"connect.vk.com",v.appSettings=e.appSettings,v._debug=!!e._debug},get:function(){return v},setSuperAppToken:function(e){v.superAppToken=e,y.events.emit("superAppToken",e)},onRequestSuperAppToken:function(e){O.superAppToken=e},_requestSuperAppToken:function(){var e;O.superAppToken&&(e=O.superAppToken()),e&&e.then((function(e){return y.setSuperAppToken(e)})).catch(console.error)},onAuth:function(e){O.auth=e},_requestAuth:function(){var e;O.auth&&(e=O.auth()),e&&e.then((function(e){return y.setSuperAppToken(e)})).catch(console.error)},onOpenApp:function(e){O.openApp=e},_openApp:function(e){O.openApp&&O.openApp(e.app)}},S=["extend_token"];function E(e){return e&&S.includes(e.name)?btoa(JSON.stringify(e)):""}function w(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auth",t=y.get(),i=t.appId,a=t.connectDomain,r=t.appSettings,s=o({app_id:i,response_type:"silent_token",v:"0.0.2"},e);r&&m(r)&&(s.app_settings=g(r));var c=h(s);return"https://".concat(a,"/").concat(n,"?").concat(c)}var T,D,P,N,C,b=function t(i){var a=this;e(this,t),n(this,"handler",(function(){return{}})),n(this,"config",void 0),n(this,"destroy",(function(){delete a.config,window.removeEventListener("message",a.handleMessage)})),n(this,"onMessage",(function(e){a.handler=e})),n(this,"sendMessage",(function(e){a.config.iframe.contentWindow.postMessage(o({type:"vk-sak-sdk"},e),a.config.origin)})),n(this,"handleMessage",(function(e){a.config.origin&&e.origin===a.config.origin&&e.source===a.config.iframe.contentWindow&&e.data&&"vk-sak-sdk"===e.data.type&&(console.info("[received from ui]",e.data),a.handler(e.data))})),this.config=i,window.addEventListener("message",this.handleMessage)};!function(e){e.SHOW_DATA_POLICY="VKSDKOneTapAuthConnectDataPolicy",e.HIDE_DATA_POLICY="VKSDKOneTapAuthDataPolicyClose",e.DATA_POLICY_RESULT="VKSDKOneTapAuthDataPolicyResult",e.SHOW_CAPTCHA="VKSDKOneTapAuthDataPolicyShowCaptcha"}(T||(T={})),function(e){e.CAPTCHA_SUCCESS="VKSDKAuthCaptchaSuccess",e.CAPTCHA_FAIL="VKSDKAuthCaptchaFail"}(D||(D={})),function(e){e.PHONE_VALIDATION_NEEDED="VKSDKOneTapAuthPhoneValidationNeeded",e.FULL_AUTH_NEEDED="VKSDKOneTapAuthFullAuthNeeded",e.AUTH_DATA_LOADED="VKSDKOneTapAuthDataLoaded",e.NOT_AUTHORIZED="VKSDKOneTapAuthNotAuthorized",e.LOGIN_SUCCESS="VKSDKOneTapAuthLoginSuccess",e.RESIZE_FRAME="VKSDKOneTapResizeFrame",e.SHOW_CAPTCHA="VKSDKOneTapShowCaptcha",e.VALIDATE_CAPTCHA="VKSDKOneTapValidateCaptcha"}(P||(P={})),function(e){e.CLOSE_AUTH="VKSDKOneTapAuthClose"}(N||(N={})),function(e){e.SHOW_LOGIN="VKSDKButtonOneTapAuthShowLogin",e.SHOW_LOGIN_OPTIONS="VKSDKButtonOneTapAuthShowLoginOptions"}(C||(C={}));var k,I,L=new function t(){var a=this;e(this,t),n(this,"flags",null),n(this,"silentAuth",(function(){var e=y.get(),n=e.loginDomain,t=e.appId,o=r(),i="https://".concat(n,"/?act=connect&app_id=").concat(t,"&response_type=").concat("silent_token","&uuid=").concat(o,"&v=").concat("0.0.2"),a=new XMLHttpRequest;return a.open("GET",i,!0),a.responseType="json",a.withCredentials=!0,new Promise((function(e,n){a.onload=function(){a.response?e({provider:"vk",payload:a.response}):n()},a.onerror=function(){n()},a.send()}))})),n(this,"oneTapAuth",(function(e,n){if(!["floating","button"].includes(e))return null;var t,i,s=function(){var e,n=window.innerWidth,t=n<=768;return{destroy:function(){return window.removeEventListener("resize",e)},isAdaptive:function(){return t},observe:function(o){e=function(){var e=window.innerWidth;n>768&&e<=768?o(t=!0):n<=768&&e>768&&o(t=!1),n=e},window.addEventListener("resize",e)}}}(),c=null;switch(e){case"floating":t=s.isAdaptive(),i=t?"314px":"334px",c={pageUrl:"floating_one_tap_auth",pageUrlParams:{adaptive:t?1:0},frameStyles:t?"\n display: none;\n position: fixed;\n bottom: 0;\n right: 0;\n max-width: 100%;\n width: 100%;\n height: ".concat(i,";\n "):"\n display: none;\n position: fixed;\n top: 0;\n right: 0;\n max-width: 400px;\n width: 100%;\n height: ".concat(i,";\n ")};break;case"button":c=function(e){var n={},t=44;if(e){var o,i;n.show_agreements=null!==(o=e.showAgreements)&&void 0!==o?o:0,n.show_alternative_login=null!==(i=e.showAlternativeLogin)&&void 0!==i?i:0;t+=n.show_alternative_login?56:0,t+=n.show_agreements?80:0}return{pageUrl:"button_one_tap_auth",pageUrlParams:n,frameStyles:"\n height: ".concat(t,"px;\n ")}}(n.options)}if(!c)throw new Error("options were not set");var p=r(),d=o({origin:location.protocol+"//"+location.host,uuid:p},c.pageUrlParams),u=c.pageUrl,l=A(w(d,u),{cssText:c.frameStyles});switch(e){case"floating":s.observe((function(e){e?(l.style.maxWidth="100%",l.style.top="auto",l.style.bottom="0"):(l.style.maxWidth="400px",l.style.top="0",l.style.bottom="auto"),l.style.display="none",d=o({},d,{adaptive:e?1:0}),l.src=w(d,u)})),document.body.appendChild(l);break;case"button":var h=n.container;h&&h.appendChild(l)}var f=new b({iframe:l,origin:"https://"+y.get().connectDomain}),m=function(){f.sendMessage({handler:P.RESIZE_FRAME,params:{uuid:p}})};window.addEventListener("resize",m);var g=function(){l&&(l.remove(),l=null),window.removeEventListener("resize",m),s&&s.destroy(),f.destroy()},_=new Promise((function(t){f.onMessage((function(i){if(i.params.uuid===p)switch(i.handler){case P.FULL_AUTH_NEEDED:case P.PHONE_VALIDATION_NEEDED:a.userVisibleAuth().then((function(e){n.callback({type:P.LOGIN_SUCCESS,provider:"vk",payload:o({uuid:p},e.payload)})})).catch(console.error);break;case P.NOT_AUTHORIZED:"floating"===e&&(n.callback({type:i.handler,payload:{uuid:p,error:"not_authorized"}}),g()),t(i.handler);break;case P.AUTH_DATA_LOADED:"floating"===e&&(l.style.display="block"),f.sendMessage({handler:P.RESIZE_FRAME,params:{uuid:p}}),t(i.handler);break;case P.RESIZE_FRAME:l.style.height="".concat(i.params.height,"px");break;case P.LOGIN_SUCCESS:n.callback({type:i.handler,provider:"vk",payload:o({uuid:p},i.params)});break;case P.SHOW_CAPTCHA:var r=a.captcha(p,{captcha_sid:i.params.captcha_sid,captcha_img:i.params.captcha_img});r.show().then((function(e){f.sendMessage({handler:D.CAPTCHA_SUCCESS,params:o({uuid:p},e)})})).catch((function(){f.sendMessage({handler:D.CAPTCHA_FAIL,params:{uuid:p}}),r.destroy()}));break;case N.CLOSE_AUTH:n.callback({type:i.handler,payload:{uuid:p}}),g();break;case C.SHOW_LOGIN:case C.SHOW_LOGIN_OPTIONS:a.userVisibleAuth({screen:"phone"}).then((function(e){n.callback({type:P.LOGIN_SUCCESS,provider:"vk",payload:o({uuid:p},e.payload)})})).catch(console.error);break;case T.SHOW_DATA_POLICY:a.userDataPolicy(p).show().then((function(){n.callback({type:T.DATA_POLICY_RESULT,payload:{uuid:p,policyAccepted:!0}})})).catch((function(){n.callback({type:T.DATA_POLICY_RESULT,payload:{uuid:p,policyAccepted:!1}})}))}}))}));return{getFrame:function(){return l},destroy:g,authReadyPromise:_}})),n(this,"userDataPolicy",(function(e){var n=w({origin:location.protocol+"//"+location.host,uuid:e},"user_data_policy"),t=window.innerHeight,i="\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: ".concat(t,"px;\n min-height: ").concat(t,"px;\n border: none;\n z-index: 99999;\n "),r=A(n,{properties:{height:"".concat(t,"px")},cssText:i});document.body.appendChild(r);var s=new b({iframe:r,origin:"https://"+y.get().connectDomain}),c=function(){document.body.removeChild(r),s.destroy()},p=function(){r.style.display="none"};return{show:function(){return r.style.display="block",new Promise((function(n,t){s.onMessage((function(i){switch(i.handler){case T.HIDE_DATA_POLICY:c(),n();break;case T.SHOW_CAPTCHA:var d=a.captcha(e,{captcha_sid:i.params.captcha_sid,captcha_img:i.params.captcha_img});d.show().then((function(n){s.sendMessage({handler:D.CAPTCHA_SUCCESS,params:o({uuid:e},n)}),r.style.display="block"})).catch((function(){s.sendMessage({handler:D.CAPTCHA_FAIL,params:{uuid:e}}),d.destroy()})),p();break;default:t()}}))}))},hide:p,destroy:c}})),n(this,"captcha",(function(e,n){var t=w(o({origin:location.protocol+"//"+location.host,uuid:e},n),"auth_captcha"),i=window.innerHeight,a=A(t,{cssText:"\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: ".concat(i,"px;\n min-height: ").concat(i,"px;\n border: none;\n z-index: 99999;\n ")});document.body.appendChild(a);var r=new b({iframe:a,origin:"https://"+y.get().connectDomain}),s=function(){document.body.removeChild(a),r.destroy()};return{show:function(){return a.style.display="block",new Promise((function(e,n){r.onMessage((function(t){switch(t.handler){case D.CAPTCHA_SUCCESS:e(t.params),s();break;default:n(),s()}}))}))},destroy:s}})),n(this,"userVisibleAuth",(function(e){var n=r(),t={origin:location.protocol+"//"+location.host,uuid:n};(null==e?void 0:e.screen)&&(t.screen=e.screen);var o=E(null==e?void 0:e.action);o&&(t.action=o);var s=w(t);a.flags&&(s="".concat(s,"#").concat(h(a.flags)));var c=screen.height/2-280,f=screen.width/2-410,m=window.open(s,"_blank","top=".concat(c,",left=").concat(f,",width=").concat(820,",height=").concat(560,",location"));if(!m){var g={code:i.CONNECT_WINDOW_NOT_OPENED,reason:d()};return Promise.reject(g)}return new Promise((function(e,t){var o=setInterval((function(){if(!m||m.closed){window.removeEventListener("message",a),clearInterval(o);var e={code:i.CONNECT_WINDOW_CLOSED,reason:p()};t(e)}}),1e3);function a(r){if(r.source===m&&m)if(window.removeEventListener("message",a),clearInterval(o),".vk.com"===r.origin.slice(r.origin.length-".vk.com".length))if(r.data.action==="vk_connect_response"+n){var s=r.data.payload;m.close(),e({provider:"vk",payload:s})}else if(r.data.action==="oauth_callback"+n)e({provider:r.data.payload.name}),m.close();else{m.close();var c={code:i.CONNECT_UNKNOWN_SDK_MESSAGE,reason:l(JSON.stringify(r.data))};t(c)}else{m.close();var p={code:i.CONNECT_DOMAIN_NOT_ALLOWED,reason:u(r.origin)};t(p)}}window.addEventListener("message",a)}))})),n(this,"redirectAuth",(function(e){var n=r(),t={redirect_uri:e.url,uuid:n};(null==e?void 0:e.state)&&(t.redirect_state=e.state),(null==e?void 0:e.screen)&&(t.screen=e.screen);var o=E(null==e?void 0:e.action);o&&(t.action=o);var i=w(t);location.assign(i)}))};!function(e){e.APP_HIDE="VKSDKMiniAppHide",e.APP_READY="VKSDKMiniAppReady",e.RESIZE="VKSDKMiniAppResize",e.APP_INIT_CONFIG="VKSDKMiniAppInitConfig"}(k||(k={})),function(e){e.SUPERAPP_TOKEN="VKSDKGeneralSuperAppToken",e.AUTH_NEEDED="VKSDKGeneralAuthNeeded",e.OPEN_APP="VKSDKGeneralOpenApp"}(I||(I={}));var K;!function(e){e.INIT="ConnectProfileInit"}(K||(K={}));var M={OneTapAuthEventsSDK:P,FloatingOneTapAuthEventsSDK:N,ButtonOneTapAuthEventsSDK:C,DataPolicyEventsSDK:T,AuthCaptchaEventsSDK:D};exports.Config=y,exports.Connect=L,exports.ConnectEvents=M,exports.MiniApp=function t(i){var a=this;e(this,t),n(this,"iframe",void 0),n(this,"bridge",void 0),n(this,"loading",void 0),n(this,"readyPromiseResolve",null),n(this,"readyPromise",null),n(this,"bodyOverflowValue",""),n(this,"params",void 0),n(this,"events",void 0),n(this,"open",(function(e,n){return a.loading?(a.iframe.src=a.getMiniAppUrl(e,n),a.loading=new Promise((function(e){a.iframe.onload=function(){a.iframe.onload=null,e()}})),a.readyPromise=new Promise((function(e){return a.readyPromiseResolve=e}))):a.preload(e,n).catch(console.error),a.iframe.style.display="block",a.bodyOverflowValue=window.document.body.style.overflow,window.document.body.style.overflow="hidden",a.loading.then(a.handleResize).catch(console.error),a.readyPromise})),n(this,"hide",(function(){a.events.emit("hide"),a.iframe.style.display="none",window.document.body.style.overflow=a.bodyOverflowValue})),n(this,"close",(function(){window.document.body.style.overflowX="",y.events.off("superAppToken",a.onSuperAppToken),a.iframe.remove(),a.bridge.destroy(),delete a.iframe,delete a.bridge,window.removeEventListener("resize",a.handleResize)})),n(this,"preload",(function(e,n){var t=document.createElement("iframe"),o=window.innerHeight,i=isFinite(a.params.zIndex)?a.params.zIndex:999999;return t.src=a.getMiniAppUrl(e,n),t.style.cssText="\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: ".concat(o,"px;\n min-height: ").concat(o,"px;\n border: none;\n z-index: ").concat(i,";\n "),a.iframe=t,document.body.appendChild(a.iframe),y.events.on("superAppToken",a.onSuperAppToken),a.bridge=new b({iframe:a.iframe,origin:"https://"+y.get().connectDomain}),a.bridge.onMessage(a.handleMessage),window.addEventListener("resize",a.handleResize),a.loading=new Promise((function(e){t.onload=function(){t.onload=null,e()}})),a.readyPromise=new Promise((function(e){return a.readyPromiseResolve=e})),a.loading})),n(this,"onSuperAppToken",(function(e){a.bridge.sendMessage({handler:I.SUPERAPP_TOKEN,params:{result:e}})})),n(this,"handleMessage",(function(e){switch(e.handler){case k.APP_HIDE:a.hide();break;case k.APP_READY:a.resolveReadyPromise(),a.handleUpdateConfig();break;case I.SUPERAPP_TOKEN:y._requestSuperAppToken();break;case I.AUTH_NEEDED:y._requestAuth()}})),n(this,"handleResize",(function(){if(a.iframe){var e=innerWidth,n=innerHeight;a.iframe.style.height="".concat(n,"px"),a.iframe.style.minHeight="".concat(n,"px"),a.bridge.sendMessage({handler:k.RESIZE,params:{viewport_width:e,viewport_height:n}})}})),n(this,"handleUpdateConfig",(function(){a.bridge.sendMessage({handler:k.APP_INIT_CONFIG,params:{fullMode:a.params.fullMode}})})),n(this,"getMiniAppUrl",(function(e,n){var t=y.get(),o=t.connectDomain,i=t.appId,r=t.superAppToken,s=t._debug,c=h({app:a.params.app,host_app_id:i,debug:s?"1":"",localhost:s?"1":"",superapp_token:r,app_query:e?JSON.stringify(e):"",app_hash:n||""});return"https://".concat(o,"/mini_app?").concat(c)})),n(this,"resolveReadyPromise",(function(){a.readyPromise&&a.readyPromiseResolve&&(a.readyPromiseResolve(),a.readyPromise=null,a.readyPromiseResolve=null)})),this.params=o({},i,{app:"number"==typeof i.app?"app".concat(i.app):i.app}),this.events=_()},exports.Profile=function t(){var o=this;e(this,t),n(this,"iframe",void 0),n(this,"config",void 0),n(this,"bridge",void 0),n(this,"iframeLoadPromise",void 0),n(this,"load",(function(e){if(!e.container)throw new Error("container is null");if(!e)throw new Error(c());return o.iframe||o.preload(e),o.iframeLoadPromise})),n(this,"remove",(function(){o.iframe&&o.iframe.parentNode&&o.iframe.parentNode.removeChild(o.iframe),o.destroy()})),n(this,"preload",(function(e){o.config=e;var n=document.createElement("iframe");n.style.border="none",n.style.width="100%",n.style.height="100%",n.style.minHeight="100%",e.container.appendChild(n),o.setup(n)})),n(this,"setup",(function(e){y.events.on("superAppToken",o.onSuperAppToken),e.src=o.getProfileUrl(),o.iframe=e,o.iframeLoadPromise=new Promise((function(n){e.onload=function(){return n(e)}})),o.bridge=new b({iframe:o.iframe,origin:"https://"+y.get().connectDomain}),o.bridge.onMessage(o.handleMessage)})),n(this,"destroy",(function(){y.events.off("superAppToken",o.onSuperAppToken),o.bridge.destroy(),delete o.iframe,delete o.iframeLoadPromise,delete o.bridge})),n(this,"onSuperAppToken",(function(e){if(e&&o.iframe){var n=o.iframe;o.destroy(),o.setup(n)}})),n(this,"handleMessage",(function(e){switch(e.handler){case K.INIT:o.handleInitApp().catch(console.error);break;case I.SUPERAPP_TOKEN:y._requestSuperAppToken();break;case I.AUTH_NEEDED:y._requestAuth();break;case I.OPEN_APP:y._openApp(e.params)}})),n(this,"handleInitApp",(function(){return Promise.resolve()})),n(this,"getProfileUrl",(function(){var e=y.get(),n=e.connectDomain,t=e.appId,i=e.superAppToken,a=e._debug,r=o.config.widgets,s=h({host_app_id:t,debug:a?"1":"",localhost:a?"1":"",superapp_token:i,widgets:r?r.join(","):""});return"https://".concat(n,"/super_profile?").concat(s)}))};

@@ -5,2 +5,10 @@ import Connect from './connect';

import Config from './config';
export { Connect, MiniApp, Profile, Config };
import { OneTapAuthEventsSDK, FloatingOneTapAuthEventsSDK, ButtonOneTapAuthEventsSDK, DataPolicyEventsSDK, AuthCaptchaEventsSDK } from './connect/events';
declare const ConnectEvents: {
OneTapAuthEventsSDK: typeof OneTapAuthEventsSDK;
FloatingOneTapAuthEventsSDK: typeof FloatingOneTapAuthEventsSDK;
ButtonOneTapAuthEventsSDK: typeof ButtonOneTapAuthEventsSDK;
DataPolicyEventsSDK: typeof DataPolicyEventsSDK;
AuthCaptchaEventsSDK: typeof AuthCaptchaEventsSDK;
};
export { Connect, ConnectEvents, MiniApp, Profile, Config };

@@ -1,1 +0,1 @@

function e(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function n(e,n,o){return n in e?Object.defineProperty(e,n,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[n]=o,e}function o(e,n){var o=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);n&&(t=t.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),o.push.apply(o,t)}return o}function t(e){for(var t=1;t<arguments.length;t++){var i=null!=arguments[t]?arguments[t]:{};t%2?o(Object(i),!0).forEach((function(o){n(e,o,i[o])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):o(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}var i,r="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",a=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21,n="",o=e;o--;)n+=r[64*Math.random()|0];return n},s=["agreements","promo","vkc_behavior","vkc_auth_action","vkc_brand"];!function(e){e[e.UNKNOWN=1]="UNKNOWN",e[e.MISSING_PARAM=2]="MISSING_PARAM",e[e.CONNECTION_LOST=3]="CONNECTION_LOST",e[e.USER_DENIED=4]="USER_DENIED",e[e.INVALID_PARAMS=5]="INVALID_PARAMS",e[e.CUSTOM=6]="CUSTOM",e[e.CONNECT_WINDOW_CLOSED=7]="CONNECT_WINDOW_CLOSED",e[e.CONNECT_WINDOW_NOT_OPENED=8]="CONNECT_WINDOW_NOT_OPENED",e[e.CONNECT_DOMAIN_NOT_ALLOWED=9]="CONNECT_DOMAIN_NOT_ALLOWED",e[e.CONNECT_UNKNOWN_SDK_MESSAGE=10]="CONNECT_UNKNOWN_SDK_MESSAGE",e[e.OLD_MISSING_PARAM=100]="OLD_MISSING_PARAM"}(i||(i={}));var c=function(){return"No params passed for load app!"},p=function(){return"Connect window was closed."},u=function(){return"Connect window was not opened."},d=function(e){return'URL domain "'.concat(e,'" is not allowed.')},l=function(e){return"This SDK message is unknown: ".concat(e)};function f(e){return Object.keys(e).map((function(n){var o=e[n];return n=encodeURIComponent(n),o=encodeURIComponent(o),"".concat(n,"=").concat(o)}),[]).join("&")}function h(e){return Object.keys(e).filter((function(e){return s.includes(e)}))}function m(e){var n=function(e){return h(e).reduce((function(n,o){return n[o]=e[o],n}),{})}(e);return btoa(JSON.stringify(n))}var v=["extend_token"];function g(e){return e&&v.includes(e.name)?btoa(JSON.stringify(e)):""}function _(e){return e=e||Object.create(null),{on:function(n,o){(e[n]||(e[n]=[])).push(o)},off:function(n,o){e[n]&&e[n].splice(e[n].indexOf(o)>>>0,1)},emit:function(n,o){(e[n]||[]).slice().map((function(e){e(o)})),(e["*"]||[]).slice().map((function(e){e(n,o)}))}}}var A,N,O={appId:0,superAppToken:"",loginDomain:"login.vk.com",oauthDomain:"oauth.vk.com",connectDomain:"connect.vk.com",_debug:!1},w={},E={events:_(),init:function(e){if(!e.appId)throw new Error("appId required");O.appId=e.appId,O.superAppToken=e.superAppToken||"",O.loginDomain=e.loginDomain||"login.vk.com",O.oauthDomain=e.oauthDomain||"oauth.vk.com",O.connectDomain=e.connectDomain||"connect.vk.com",O.appSettings=e.appSettings,O._debug=!!e._debug},get:function(){return O},setSuperAppToken:function(e){O.superAppToken=e,E.events.emit("superAppToken",e)},onRequestSuperAppToken:function(e){w.superAppToken=e},_requestSuperAppToken:function(){var e;w.superAppToken&&(e=w.superAppToken()),e&&e.then((function(e){return E.setSuperAppToken(e)})).catch(console.error)},onAuth:function(e){w.auth=e},_requestAuth:function(){var e;w.auth&&(e=w.auth()),e&&e.then((function(e){return E.setSuperAppToken(e)})).catch(console.error)},onOpenApp:function(e){w.openApp=e},_openApp:function(e){w.openApp&&w.openApp(e.app)}},P=new function o(){var r=this;e(this,o),n(this,"flags",null),n(this,"silentAuth",(function(){var e=E.get(),n=e.loginDomain,o=e.appId,t=a(),i="https://".concat(n,"/?act=connect&app_id=").concat(o,"&response_type=").concat("silent_token","&uuid=").concat(t,"&v=").concat("0.0.2"),r=new XMLHttpRequest;return r.open("GET",i,!0),r.responseType="json",r.withCredentials=!0,new Promise((function(e,n){r.onload=function(){r.response?e({provider:"vk",payload:r.response}):n()},r.onerror=function(){n()},r.send()}))})),n(this,"userVisibleAuth",(function(e){var n=a(),o={origin:location.protocol+"//"+location.host,uuid:n};(null==e?void 0:e.screen)&&(o.screen=e.screen);var t=g(null==e?void 0:e.action);t&&(o.action=t);var s=r.makeAuthUrl(o);r.flags&&(s="".concat(s,"#").concat(f(r.flags)));var c=screen.height/2-280,h=screen.width/2-410,m=window.open(s,"_blank","top=".concat(c,",left=").concat(h,",width=").concat(820,",height=").concat(560,",location"));if(!m){var v={code:i.CONNECT_WINDOW_NOT_OPENED,reason:u()};return Promise.reject(v)}return new Promise((function(e,o){var t=setInterval((function(){if(!m||m.closed){window.removeEventListener("message",r),clearInterval(t);var e={code:i.CONNECT_WINDOW_CLOSED,reason:p()};o(e)}}),1e3);function r(a){if(a.source===m&&m)if(window.removeEventListener("message",r),clearInterval(t),".vk.com"===a.origin.slice(a.origin.length-".vk.com".length))if(a.data.action==="vk_connect_response"+n){var s=a.data.payload;m.close(),e({provider:"vk",payload:s})}else if(a.data.action==="oauth_callback"+n)e({provider:a.data.payload.name}),m.close();else{m.close();var c={code:i.CONNECT_UNKNOWN_SDK_MESSAGE,reason:l(JSON.stringify(a.data))};o(c)}else{m.close();var p={code:i.CONNECT_DOMAIN_NOT_ALLOWED,reason:d(a.origin)};o(p)}}window.addEventListener("message",r)}))})),n(this,"redirectAuth",(function(e){var n=a(),o={redirect_uri:e.url,uuid:n};(null==e?void 0:e.state)&&(o.redirect_state=e.state),(null==e?void 0:e.screen)&&(o.screen=e.screen);var t=g(null==e?void 0:e.action);t&&(o.action=t);var i=r.makeAuthUrl(o);location.assign(i)})),n(this,"makeAuthUrl",(function(e){var n=E.get(),o=n.appId,i=n.connectDomain,r=n.appSettings,a=t({app_id:o,response_type:"silent_token",v:"0.0.2"},e);r&&function(e){var n;return Boolean(null===(n=h(e))||void 0===n?void 0:n.length)}(r)&&(a.app_settings=m(r));var s=f(a);return"https://".concat(i,"/auth?").concat(s)}))};!function(e){e.APP_HIDE="VKSDKMiniAppHide",e.APP_READY="VKSDKMiniAppReady",e.RESIZE="VKSDKMiniAppResize",e.APP_INIT_CONFIG="VKSDKMiniAppInitConfig"}(A||(A={})),function(e){e.SUPERAPP_TOKEN="VKSDKGeneralSuperAppToken",e.AUTH_NEEDED="VKSDKGeneralAuthNeeded",e.OPEN_APP="VKSDKGeneralOpenApp"}(N||(N={}));var y,k=function o(i){var r=this;e(this,o),n(this,"handler",(function(){return{}})),n(this,"config",void 0),n(this,"destroy",(function(){delete r.config,window.removeEventListener("message",r.handleMessage)})),n(this,"onMessage",(function(e){r.handler=e})),n(this,"sendMessage",(function(e){r.config.iframe.contentWindow.postMessage(t({type:"vk-sak-sdk"},e),r.config.origin)})),n(this,"handleMessage",(function(e){r.config.origin&&e.origin===r.config.origin&&e.source===r.config.iframe.contentWindow&&e.data&&"vk-sak-sdk"===e.data.type&&(console.info("[received from ui]",e.data),r.handler(e.data))})),this.config=i,window.addEventListener("message",this.handleMessage)},T=function o(i){var r=this;e(this,o),n(this,"iframe",void 0),n(this,"bridge",void 0),n(this,"loading",void 0),n(this,"readyPromiseResolve",null),n(this,"readyPromise",null),n(this,"bodyOverflowValue",""),n(this,"params",void 0),n(this,"events",void 0),n(this,"open",(function(e,n){return r.loading?(r.iframe.src=r.getMiniAppUrl(e,n),r.loading=new Promise((function(e){r.iframe.onload=function(){r.iframe.onload=null,e()}})),r.readyPromise=new Promise((function(e){return r.readyPromiseResolve=e}))):r.preload(e,n).catch(console.error),r.iframe.style.display="block",r.bodyOverflowValue=window.document.body.style.overflow,window.document.body.style.overflow="hidden",r.loading.then(r.handleResize).catch(console.error),r.readyPromise})),n(this,"hide",(function(){r.events.emit("hide"),r.iframe.style.display="none",window.document.body.style.overflow=r.bodyOverflowValue})),n(this,"close",(function(){window.document.body.style.overflowX="",E.events.off("superAppToken",r.onSuperAppToken),r.iframe.remove(),r.bridge.destroy(),delete r.iframe,delete r.bridge,window.removeEventListener("resize",r.handleResize)})),n(this,"preload",(function(e,n){var o=document.createElement("iframe"),t=window.innerHeight,i=isFinite(r.params.zIndex)?r.params.zIndex:999999;return o.src=r.getMiniAppUrl(e,n),o.style.cssText="\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: ".concat(t,"px;\n min-height: ").concat(t,"px;\n border: none;\n z-index: ").concat(i,";\n "),r.iframe=o,document.body.appendChild(r.iframe),E.events.on("superAppToken",r.onSuperAppToken),r.bridge=new k({iframe:r.iframe,origin:"https://"+E.get().connectDomain}),r.bridge.onMessage(r.handleMessage),window.addEventListener("resize",r.handleResize),r.loading=new Promise((function(e){o.onload=function(){o.onload=null,e()}})),r.readyPromise=new Promise((function(e){return r.readyPromiseResolve=e})),r.loading})),n(this,"onSuperAppToken",(function(e){r.bridge.sendMessage({handler:N.SUPERAPP_TOKEN,params:{result:e}})})),n(this,"handleMessage",(function(e){switch(e.handler){case A.APP_HIDE:r.hide();break;case A.APP_READY:r.resolveReadyPromise(),r.handleUpdateConfig();break;case N.SUPERAPP_TOKEN:E._requestSuperAppToken();break;case N.AUTH_NEEDED:E._requestAuth()}})),n(this,"handleResize",(function(){if(r.iframe){var e=innerWidth,n=innerHeight;r.iframe.style.height="".concat(n,"px"),r.iframe.style.minHeight="".concat(n,"px"),r.bridge.sendMessage({handler:A.RESIZE,params:{viewport_width:e,viewport_height:n}})}})),n(this,"handleUpdateConfig",(function(){r.bridge.sendMessage({handler:A.APP_INIT_CONFIG,params:{fullMode:r.params.fullMode}})})),n(this,"getMiniAppUrl",(function(e,n){var o=E.get(),t=o.connectDomain,i=o.appId,a=o.superAppToken,s=o._debug,c=f({app:r.params.app,host_app_id:i,debug:s?"1":"",localhost:s?"1":"",superapp_token:a,app_query:e?JSON.stringify(e):"",app_hash:n||""});return"https://".concat(t,"/mini_app?").concat(c)})),n(this,"resolveReadyPromise",(function(){r.readyPromise&&r.readyPromiseResolve&&(r.readyPromiseResolve(),r.readyPromise=null,r.readyPromiseResolve=null)})),this.params=t({},i,{app:"number"==typeof i.app?"app".concat(i.app):i.app}),this.events=_()};!function(e){e.INIT="ConnectProfileInit"}(y||(y={}));var b=function o(){var t=this;e(this,o),n(this,"iframe",void 0),n(this,"config",void 0),n(this,"bridge",void 0),n(this,"iframeLoadPromise",void 0),n(this,"load",(function(e){if(!e.container)throw new Error("container is null");if(!e)throw new Error(c());return t.iframe||t.preload(e),t.iframeLoadPromise})),n(this,"remove",(function(){t.iframe&&t.iframe.parentNode&&t.iframe.parentNode.removeChild(t.iframe),t.destroy()})),n(this,"preload",(function(e){t.config=e;var n=document.createElement("iframe");n.style.border="none",n.style.width="100%",n.style.height="100%",n.style.minHeight="100%",e.container.appendChild(n),t.setup(n)})),n(this,"setup",(function(e){E.events.on("superAppToken",t.onSuperAppToken),e.src=t.getProfileUrl(),t.iframe=e,t.iframeLoadPromise=new Promise((function(n){e.onload=function(){return n(e)}})),t.bridge=new k({iframe:t.iframe,origin:"https://"+E.get().connectDomain}),t.bridge.onMessage(t.handleMessage)})),n(this,"destroy",(function(){E.events.off("superAppToken",t.onSuperAppToken),t.bridge.destroy(),delete t.iframe,delete t.iframeLoadPromise,delete t.bridge})),n(this,"onSuperAppToken",(function(e){if(e&&t.iframe){var n=t.iframe;t.destroy(),t.setup(n)}})),n(this,"handleMessage",(function(e){switch(e.handler){case y.INIT:t.handleInitApp().catch(console.error);break;case N.SUPERAPP_TOKEN:E._requestSuperAppToken();break;case N.AUTH_NEEDED:E._requestAuth();break;case N.OPEN_APP:E._openApp(e.params)}})),n(this,"handleInitApp",(function(){return Promise.resolve()})),n(this,"getProfileUrl",(function(){var e=E.get(),n=e.connectDomain,o=e.appId,i=e.superAppToken,r=e._debug,a=t.config.widgets,s=f({host_app_id:o,debug:r?"1":"",localhost:r?"1":"",superapp_token:i,widgets:a?a.join(","):""});return"https://".concat(n,"/super_profile?").concat(s)}))};export{E as Config,P as Connect,T as MiniApp,b as Profile};
function e(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}function n(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function t(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);n&&(o=o.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,o)}return t}function o(e){for(var o=1;o<arguments.length;o++){var i=null!=arguments[o]?arguments[o]:{};o%2?t(Object(i),!0).forEach((function(t){n(e,t,i[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(i)):t(Object(i)).forEach((function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(i,n))}))}return e}var i,a="ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW",r=function(){for(var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:21,n="",t=e;t--;)n+=a[64*Math.random()|0];return n},s=["agreements","promo","vkc_behavior","vkc_auth_action","vkc_brand"];!function(e){e[e.UNKNOWN=1]="UNKNOWN",e[e.MISSING_PARAM=2]="MISSING_PARAM",e[e.CONNECTION_LOST=3]="CONNECTION_LOST",e[e.USER_DENIED=4]="USER_DENIED",e[e.INVALID_PARAMS=5]="INVALID_PARAMS",e[e.CUSTOM=6]="CUSTOM",e[e.CONNECT_WINDOW_CLOSED=7]="CONNECT_WINDOW_CLOSED",e[e.CONNECT_WINDOW_NOT_OPENED=8]="CONNECT_WINDOW_NOT_OPENED",e[e.CONNECT_DOMAIN_NOT_ALLOWED=9]="CONNECT_DOMAIN_NOT_ALLOWED",e[e.CONNECT_UNKNOWN_SDK_MESSAGE=10]="CONNECT_UNKNOWN_SDK_MESSAGE",e[e.OLD_MISSING_PARAM=100]="OLD_MISSING_PARAM"}(i||(i={}));var c=function(){return"No params passed for load app!"},p=function(){return"Connect window was closed."},d=function(){return"Connect window was not opened."},u=function(e){return'URL domain "'.concat(e,'" is not allowed.')},l=function(e){return"This SDK message is unknown: ".concat(e)};function h(e){return Object.keys(e).map((function(n){var t=e[n];return n=encodeURIComponent(n),t=encodeURIComponent(t),"".concat(n,"=").concat(t)}),[]).join("&")}function f(e){return Object.keys(e).filter((function(e){return s.includes(e)}))}function m(e){var n;return Boolean(null===(n=f(e))||void 0===n?void 0:n.length)}function g(e){var n=function(e){return f(e).reduce((function(n,t){return n[t]=e[t],n}),{})}(e);return btoa(JSON.stringify(n))}function A(e,n){var t,o=document.createElement("iframe");for(var i in e&&(o.src=e),o.style.cssText=null!==(t=null==n?void 0:n.cssText)&&void 0!==t?t:"",o.width="100%",o.height="100%",o.style.border="none",null==n?void 0:n.properties){var a;if(n&&n.properties.hasOwnProperty(i))o[i]=null!==(a=n.properties[i])&&void 0!==a?a:""}return o}function _(e){return e=e||Object.create(null),{on:function(n,t){(e[n]||(e[n]=[])).push(t)},off:function(n,t){e[n]&&e[n].splice(e[n].indexOf(t)>>>0,1)},emit:function(n,t){(e[n]||[]).slice().map((function(e){e(t)})),(e["*"]||[]).slice().map((function(e){e(n,t)}))}}}var v={appId:0,superAppToken:"",loginDomain:"login.vk.com",oauthDomain:"oauth.vk.com",connectDomain:"connect.vk.com",_debug:!1},O={},y={events:_(),init:function(e){if(!e.appId)throw new Error("appId required");v.appId=e.appId,v.superAppToken=e.superAppToken||"",v.loginDomain=e.loginDomain||"login.vk.com",v.oauthDomain=e.oauthDomain||"oauth.vk.com",v.connectDomain=e.connectDomain||"connect.vk.com",v.appSettings=e.appSettings,v._debug=!!e._debug},get:function(){return v},setSuperAppToken:function(e){v.superAppToken=e,y.events.emit("superAppToken",e)},onRequestSuperAppToken:function(e){O.superAppToken=e},_requestSuperAppToken:function(){var e;O.superAppToken&&(e=O.superAppToken()),e&&e.then((function(e){return y.setSuperAppToken(e)})).catch(console.error)},onAuth:function(e){O.auth=e},_requestAuth:function(){var e;O.auth&&(e=O.auth()),e&&e.then((function(e){return y.setSuperAppToken(e)})).catch(console.error)},onOpenApp:function(e){O.openApp=e},_openApp:function(e){O.openApp&&O.openApp(e.app)}},S=["extend_token"];function E(e){return e&&S.includes(e.name)?btoa(JSON.stringify(e)):""}function w(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"auth",t=y.get(),i=t.appId,a=t.connectDomain,r=t.appSettings,s=o({app_id:i,response_type:"silent_token",v:"0.0.2"},e);r&&m(r)&&(s.app_settings=g(r));var c=h(s);return"https://".concat(a,"/").concat(n,"?").concat(c)}var T,D,N,P,C,b=function t(i){var a=this;e(this,t),n(this,"handler",(function(){return{}})),n(this,"config",void 0),n(this,"destroy",(function(){delete a.config,window.removeEventListener("message",a.handleMessage)})),n(this,"onMessage",(function(e){a.handler=e})),n(this,"sendMessage",(function(e){a.config.iframe.contentWindow.postMessage(o({type:"vk-sak-sdk"},e),a.config.origin)})),n(this,"handleMessage",(function(e){a.config.origin&&e.origin===a.config.origin&&e.source===a.config.iframe.contentWindow&&e.data&&"vk-sak-sdk"===e.data.type&&(console.info("[received from ui]",e.data),a.handler(e.data))})),this.config=i,window.addEventListener("message",this.handleMessage)};!function(e){e.SHOW_DATA_POLICY="VKSDKOneTapAuthConnectDataPolicy",e.HIDE_DATA_POLICY="VKSDKOneTapAuthDataPolicyClose",e.DATA_POLICY_RESULT="VKSDKOneTapAuthDataPolicyResult",e.SHOW_CAPTCHA="VKSDKOneTapAuthDataPolicyShowCaptcha"}(T||(T={})),function(e){e.CAPTCHA_SUCCESS="VKSDKAuthCaptchaSuccess",e.CAPTCHA_FAIL="VKSDKAuthCaptchaFail"}(D||(D={})),function(e){e.PHONE_VALIDATION_NEEDED="VKSDKOneTapAuthPhoneValidationNeeded",e.FULL_AUTH_NEEDED="VKSDKOneTapAuthFullAuthNeeded",e.AUTH_DATA_LOADED="VKSDKOneTapAuthDataLoaded",e.NOT_AUTHORIZED="VKSDKOneTapAuthNotAuthorized",e.LOGIN_SUCCESS="VKSDKOneTapAuthLoginSuccess",e.RESIZE_FRAME="VKSDKOneTapResizeFrame",e.SHOW_CAPTCHA="VKSDKOneTapShowCaptcha",e.VALIDATE_CAPTCHA="VKSDKOneTapValidateCaptcha"}(N||(N={})),function(e){e.CLOSE_AUTH="VKSDKOneTapAuthClose"}(P||(P={})),function(e){e.SHOW_LOGIN="VKSDKButtonOneTapAuthShowLogin",e.SHOW_LOGIN_OPTIONS="VKSDKButtonOneTapAuthShowLoginOptions"}(C||(C={}));var k,I,L=new function t(){var a=this;e(this,t),n(this,"flags",null),n(this,"silentAuth",(function(){var e=y.get(),n=e.loginDomain,t=e.appId,o=r(),i="https://".concat(n,"/?act=connect&app_id=").concat(t,"&response_type=").concat("silent_token","&uuid=").concat(o,"&v=").concat("0.0.2"),a=new XMLHttpRequest;return a.open("GET",i,!0),a.responseType="json",a.withCredentials=!0,new Promise((function(e,n){a.onload=function(){a.response?e({provider:"vk",payload:a.response}):n()},a.onerror=function(){n()},a.send()}))})),n(this,"oneTapAuth",(function(e,n){if(!["floating","button"].includes(e))return null;var t,i,s=function(){var e,n=window.innerWidth,t=n<=768;return{destroy:function(){return window.removeEventListener("resize",e)},isAdaptive:function(){return t},observe:function(o){e=function(){var e=window.innerWidth;n>768&&e<=768?o(t=!0):n<=768&&e>768&&o(t=!1),n=e},window.addEventListener("resize",e)}}}(),c=null;switch(e){case"floating":t=s.isAdaptive(),i=t?"314px":"334px",c={pageUrl:"floating_one_tap_auth",pageUrlParams:{adaptive:t?1:0},frameStyles:t?"\n display: none;\n position: fixed;\n bottom: 0;\n right: 0;\n max-width: 100%;\n width: 100%;\n height: ".concat(i,";\n "):"\n display: none;\n position: fixed;\n top: 0;\n right: 0;\n max-width: 400px;\n width: 100%;\n height: ".concat(i,";\n ")};break;case"button":c=function(e){var n={},t=44;if(e){var o,i;n.show_agreements=null!==(o=e.showAgreements)&&void 0!==o?o:0,n.show_alternative_login=null!==(i=e.showAlternativeLogin)&&void 0!==i?i:0;t+=n.show_alternative_login?56:0,t+=n.show_agreements?80:0}return{pageUrl:"button_one_tap_auth",pageUrlParams:n,frameStyles:"\n height: ".concat(t,"px;\n ")}}(n.options)}if(!c)throw new Error("options were not set");var p=r(),d=o({origin:location.protocol+"//"+location.host,uuid:p},c.pageUrlParams),u=c.pageUrl,l=A(w(d,u),{cssText:c.frameStyles});switch(e){case"floating":s.observe((function(e){e?(l.style.maxWidth="100%",l.style.top="auto",l.style.bottom="0"):(l.style.maxWidth="400px",l.style.top="0",l.style.bottom="auto"),l.style.display="none",d=o({},d,{adaptive:e?1:0}),l.src=w(d,u)})),document.body.appendChild(l);break;case"button":var h=n.container;h&&h.appendChild(l)}var f=new b({iframe:l,origin:"https://"+y.get().connectDomain}),m=function(){f.sendMessage({handler:N.RESIZE_FRAME,params:{uuid:p}})};window.addEventListener("resize",m);var g=function(){l&&(l.remove(),l=null),window.removeEventListener("resize",m),s&&s.destroy(),f.destroy()},_=new Promise((function(t){f.onMessage((function(i){if(i.params.uuid===p)switch(i.handler){case N.FULL_AUTH_NEEDED:case N.PHONE_VALIDATION_NEEDED:a.userVisibleAuth().then((function(e){n.callback({type:N.LOGIN_SUCCESS,provider:"vk",payload:o({uuid:p},e.payload)})})).catch(console.error);break;case N.NOT_AUTHORIZED:"floating"===e&&(n.callback({type:i.handler,payload:{uuid:p,error:"not_authorized"}}),g()),t(i.handler);break;case N.AUTH_DATA_LOADED:"floating"===e&&(l.style.display="block"),f.sendMessage({handler:N.RESIZE_FRAME,params:{uuid:p}}),t(i.handler);break;case N.RESIZE_FRAME:l.style.height="".concat(i.params.height,"px");break;case N.LOGIN_SUCCESS:n.callback({type:i.handler,provider:"vk",payload:o({uuid:p},i.params)});break;case N.SHOW_CAPTCHA:var r=a.captcha(p,{captcha_sid:i.params.captcha_sid,captcha_img:i.params.captcha_img});r.show().then((function(e){f.sendMessage({handler:D.CAPTCHA_SUCCESS,params:o({uuid:p},e)})})).catch((function(){f.sendMessage({handler:D.CAPTCHA_FAIL,params:{uuid:p}}),r.destroy()}));break;case P.CLOSE_AUTH:n.callback({type:i.handler,payload:{uuid:p}}),g();break;case C.SHOW_LOGIN:case C.SHOW_LOGIN_OPTIONS:a.userVisibleAuth({screen:"phone"}).then((function(e){n.callback({type:N.LOGIN_SUCCESS,provider:"vk",payload:o({uuid:p},e.payload)})})).catch(console.error);break;case T.SHOW_DATA_POLICY:a.userDataPolicy(p).show().then((function(){n.callback({type:T.DATA_POLICY_RESULT,payload:{uuid:p,policyAccepted:!0}})})).catch((function(){n.callback({type:T.DATA_POLICY_RESULT,payload:{uuid:p,policyAccepted:!1}})}))}}))}));return{getFrame:function(){return l},destroy:g,authReadyPromise:_}})),n(this,"userDataPolicy",(function(e){var n=w({origin:location.protocol+"//"+location.host,uuid:e},"user_data_policy"),t=window.innerHeight,i="\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: ".concat(t,"px;\n min-height: ").concat(t,"px;\n border: none;\n z-index: 99999;\n "),r=A(n,{properties:{height:"".concat(t,"px")},cssText:i});document.body.appendChild(r);var s=new b({iframe:r,origin:"https://"+y.get().connectDomain}),c=function(){document.body.removeChild(r),s.destroy()},p=function(){r.style.display="none"};return{show:function(){return r.style.display="block",new Promise((function(n,t){s.onMessage((function(i){switch(i.handler){case T.HIDE_DATA_POLICY:c(),n();break;case T.SHOW_CAPTCHA:var d=a.captcha(e,{captcha_sid:i.params.captcha_sid,captcha_img:i.params.captcha_img});d.show().then((function(n){s.sendMessage({handler:D.CAPTCHA_SUCCESS,params:o({uuid:e},n)}),r.style.display="block"})).catch((function(){s.sendMessage({handler:D.CAPTCHA_FAIL,params:{uuid:e}}),d.destroy()})),p();break;default:t()}}))}))},hide:p,destroy:c}})),n(this,"captcha",(function(e,n){var t=w(o({origin:location.protocol+"//"+location.host,uuid:e},n),"auth_captcha"),i=window.innerHeight,a=A(t,{cssText:"\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: ".concat(i,"px;\n min-height: ").concat(i,"px;\n border: none;\n z-index: 99999;\n ")});document.body.appendChild(a);var r=new b({iframe:a,origin:"https://"+y.get().connectDomain}),s=function(){document.body.removeChild(a),r.destroy()};return{show:function(){return a.style.display="block",new Promise((function(e,n){r.onMessage((function(t){switch(t.handler){case D.CAPTCHA_SUCCESS:e(t.params),s();break;default:n(),s()}}))}))},destroy:s}})),n(this,"userVisibleAuth",(function(e){var n=r(),t={origin:location.protocol+"//"+location.host,uuid:n};(null==e?void 0:e.screen)&&(t.screen=e.screen);var o=E(null==e?void 0:e.action);o&&(t.action=o);var s=w(t);a.flags&&(s="".concat(s,"#").concat(h(a.flags)));var c=screen.height/2-280,f=screen.width/2-410,m=window.open(s,"_blank","top=".concat(c,",left=").concat(f,",width=").concat(820,",height=").concat(560,",location"));if(!m){var g={code:i.CONNECT_WINDOW_NOT_OPENED,reason:d()};return Promise.reject(g)}return new Promise((function(e,t){var o=setInterval((function(){if(!m||m.closed){window.removeEventListener("message",a),clearInterval(o);var e={code:i.CONNECT_WINDOW_CLOSED,reason:p()};t(e)}}),1e3);function a(r){if(r.source===m&&m)if(window.removeEventListener("message",a),clearInterval(o),".vk.com"===r.origin.slice(r.origin.length-".vk.com".length))if(r.data.action==="vk_connect_response"+n){var s=r.data.payload;m.close(),e({provider:"vk",payload:s})}else if(r.data.action==="oauth_callback"+n)e({provider:r.data.payload.name}),m.close();else{m.close();var c={code:i.CONNECT_UNKNOWN_SDK_MESSAGE,reason:l(JSON.stringify(r.data))};t(c)}else{m.close();var p={code:i.CONNECT_DOMAIN_NOT_ALLOWED,reason:u(r.origin)};t(p)}}window.addEventListener("message",a)}))})),n(this,"redirectAuth",(function(e){var n=r(),t={redirect_uri:e.url,uuid:n};(null==e?void 0:e.state)&&(t.redirect_state=e.state),(null==e?void 0:e.screen)&&(t.screen=e.screen);var o=E(null==e?void 0:e.action);o&&(t.action=o);var i=w(t);location.assign(i)}))};!function(e){e.APP_HIDE="VKSDKMiniAppHide",e.APP_READY="VKSDKMiniAppReady",e.RESIZE="VKSDKMiniAppResize",e.APP_INIT_CONFIG="VKSDKMiniAppInitConfig"}(k||(k={})),function(e){e.SUPERAPP_TOKEN="VKSDKGeneralSuperAppToken",e.AUTH_NEEDED="VKSDKGeneralAuthNeeded",e.OPEN_APP="VKSDKGeneralOpenApp"}(I||(I={}));var K,M=function t(i){var a=this;e(this,t),n(this,"iframe",void 0),n(this,"bridge",void 0),n(this,"loading",void 0),n(this,"readyPromiseResolve",null),n(this,"readyPromise",null),n(this,"bodyOverflowValue",""),n(this,"params",void 0),n(this,"events",void 0),n(this,"open",(function(e,n){return a.loading?(a.iframe.src=a.getMiniAppUrl(e,n),a.loading=new Promise((function(e){a.iframe.onload=function(){a.iframe.onload=null,e()}})),a.readyPromise=new Promise((function(e){return a.readyPromiseResolve=e}))):a.preload(e,n).catch(console.error),a.iframe.style.display="block",a.bodyOverflowValue=window.document.body.style.overflow,window.document.body.style.overflow="hidden",a.loading.then(a.handleResize).catch(console.error),a.readyPromise})),n(this,"hide",(function(){a.events.emit("hide"),a.iframe.style.display="none",window.document.body.style.overflow=a.bodyOverflowValue})),n(this,"close",(function(){window.document.body.style.overflowX="",y.events.off("superAppToken",a.onSuperAppToken),a.iframe.remove(),a.bridge.destroy(),delete a.iframe,delete a.bridge,window.removeEventListener("resize",a.handleResize)})),n(this,"preload",(function(e,n){var t=document.createElement("iframe"),o=window.innerHeight,i=isFinite(a.params.zIndex)?a.params.zIndex:999999;return t.src=a.getMiniAppUrl(e,n),t.style.cssText="\n display: none;\n position: fixed;\n top: 0;\n left: 0;\n width: 100%;\n height: ".concat(o,"px;\n min-height: ").concat(o,"px;\n border: none;\n z-index: ").concat(i,";\n "),a.iframe=t,document.body.appendChild(a.iframe),y.events.on("superAppToken",a.onSuperAppToken),a.bridge=new b({iframe:a.iframe,origin:"https://"+y.get().connectDomain}),a.bridge.onMessage(a.handleMessage),window.addEventListener("resize",a.handleResize),a.loading=new Promise((function(e){t.onload=function(){t.onload=null,e()}})),a.readyPromise=new Promise((function(e){return a.readyPromiseResolve=e})),a.loading})),n(this,"onSuperAppToken",(function(e){a.bridge.sendMessage({handler:I.SUPERAPP_TOKEN,params:{result:e}})})),n(this,"handleMessage",(function(e){switch(e.handler){case k.APP_HIDE:a.hide();break;case k.APP_READY:a.resolveReadyPromise(),a.handleUpdateConfig();break;case I.SUPERAPP_TOKEN:y._requestSuperAppToken();break;case I.AUTH_NEEDED:y._requestAuth()}})),n(this,"handleResize",(function(){if(a.iframe){var e=innerWidth,n=innerHeight;a.iframe.style.height="".concat(n,"px"),a.iframe.style.minHeight="".concat(n,"px"),a.bridge.sendMessage({handler:k.RESIZE,params:{viewport_width:e,viewport_height:n}})}})),n(this,"handleUpdateConfig",(function(){a.bridge.sendMessage({handler:k.APP_INIT_CONFIG,params:{fullMode:a.params.fullMode}})})),n(this,"getMiniAppUrl",(function(e,n){var t=y.get(),o=t.connectDomain,i=t.appId,r=t.superAppToken,s=t._debug,c=h({app:a.params.app,host_app_id:i,debug:s?"1":"",localhost:s?"1":"",superapp_token:r,app_query:e?JSON.stringify(e):"",app_hash:n||""});return"https://".concat(o,"/mini_app?").concat(c)})),n(this,"resolveReadyPromise",(function(){a.readyPromise&&a.readyPromiseResolve&&(a.readyPromiseResolve(),a.readyPromise=null,a.readyPromiseResolve=null)})),this.params=o({},i,{app:"number"==typeof i.app?"app".concat(i.app):i.app}),this.events=_()};!function(e){e.INIT="ConnectProfileInit"}(K||(K={}));var U=function t(){var o=this;e(this,t),n(this,"iframe",void 0),n(this,"config",void 0),n(this,"bridge",void 0),n(this,"iframeLoadPromise",void 0),n(this,"load",(function(e){if(!e.container)throw new Error("container is null");if(!e)throw new Error(c());return o.iframe||o.preload(e),o.iframeLoadPromise})),n(this,"remove",(function(){o.iframe&&o.iframe.parentNode&&o.iframe.parentNode.removeChild(o.iframe),o.destroy()})),n(this,"preload",(function(e){o.config=e;var n=document.createElement("iframe");n.style.border="none",n.style.width="100%",n.style.height="100%",n.style.minHeight="100%",e.container.appendChild(n),o.setup(n)})),n(this,"setup",(function(e){y.events.on("superAppToken",o.onSuperAppToken),e.src=o.getProfileUrl(),o.iframe=e,o.iframeLoadPromise=new Promise((function(n){e.onload=function(){return n(e)}})),o.bridge=new b({iframe:o.iframe,origin:"https://"+y.get().connectDomain}),o.bridge.onMessage(o.handleMessage)})),n(this,"destroy",(function(){y.events.off("superAppToken",o.onSuperAppToken),o.bridge.destroy(),delete o.iframe,delete o.iframeLoadPromise,delete o.bridge})),n(this,"onSuperAppToken",(function(e){if(e&&o.iframe){var n=o.iframe;o.destroy(),o.setup(n)}})),n(this,"handleMessage",(function(e){switch(e.handler){case K.INIT:o.handleInitApp().catch(console.error);break;case I.SUPERAPP_TOKEN:y._requestSuperAppToken();break;case I.AUTH_NEEDED:y._requestAuth();break;case I.OPEN_APP:y._openApp(e.params)}})),n(this,"handleInitApp",(function(){return Promise.resolve()})),n(this,"getProfileUrl",(function(){var e=y.get(),n=e.connectDomain,t=e.appId,i=e.superAppToken,a=e._debug,r=o.config.widgets,s=h({host_app_id:t,debug:a?"1":"",localhost:a?"1":"",superapp_token:i,widgets:r?r.join(","):""});return"https://".concat(n,"/super_profile?").concat(s)}))},R={OneTapAuthEventsSDK:N,FloatingOneTapAuthEventsSDK:P,ButtonOneTapAuthEventsSDK:C,DataPolicyEventsSDK:T,AuthCaptchaEventsSDK:D};export{y as Config,L as Connect,R as ConnectEvents,M as MiniApp,U as Profile};
{
"name": "@vkontakte/superappkit",
"version": "1.10.0",
"version": "1.11.0-alpha.1.1",
"description": "VK SuperAppKit",

@@ -5,0 +5,0 @@ "main": "dist/index-cjs.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc