UNPKG

@telegram-apps/sdk

Version:

TypeScript Source Development Kit for Telegram Mini Apps client application.

3 lines (2 loc) 47.6 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("@telegram-apps/bridge"),l=require("@telegram-apps/toolkit"),w=require("@telegram-apps/navigation"),k=require("@telegram-apps/signals"),y=require("error-kid"),b=require("better-promises"),c=require("valibot"),g=require("@telegram-apps/transformers");function K(e,t){return k.signal(e,t)}function p(e,t){return k.computed(e,t)}function d(e,t){const o=K(e,t);return[o,p(o)]}let Yo=!1;function _i(e){Yo=e,n.setDebug(e)}const de=k.signal(l.createLogger("Bridge",{bgColor:"forestgreen",textColor:"white",shouldLog(){return Yo}})),Ze=K(0),Xo=K(n.postEvent),[Vo,ie]=d({tgWebAppPlatform:"unknown",tgWebAppVersion:"0.0"}),O=p(()=>ie().tgWebAppVersion);function Zo(e){e||(e={});const{postEvent:t}=e,o=e.launchParams||n.retrieveLaunchParams();Vo.set(o),Xo.set(typeof t=="function"?t:n.createPostEvent(o.tgWebAppVersion)),de().log("The package was configured. Launch params:",Vo())}function mt(){return Ze.set(Ze()+1),Ze().toString()}function L(e,t,o){return n.invokeCustomMethod(e,t,mt(),{...o||{},postEvent:u})}const _=(e,t,o)=>(o||(o={}),o.postEvent||(o.postEvent=u),n.request(e,t,o)),u=(e,t)=>Xo()(e,t);function $(e){return p(()=>n.supports(e,O()))}function N(e){return[e]}const[he,bi]=y.errorClass("CSSVarsBoundError","CSS variables are already bound"),[ft,gi]=y.errorClass("NotAvailableError",N),[hi,Si]=y.errorClass("InvalidEnvError",N),[W,Ei]=y.errorClass("FunctionNotAvailableError",N),[A,Ci]=y.errorClass("InvalidArgumentsError",(e,t)=>[e,{cause:t}]),[Jo,wi]=y.errorClass("ConcurrentCallError",N),[er,Pi]=y.errorClass("SetEmojiStatusError",e=>[`Failed to set emoji status: ${e}`]),[_t,Ai]=y.errorClass("AccessDeniedError",N),[tr,yi]=y.errorClass("FullscreenFailedError",N),[or,$i]=y.errorClass("ShareMessageError",N),[Se,Mi]=y.errorClass("UnknownThemeParamsKeyError",e=>[`Unknown theme params key passed: ${e}`]);function nt(){return typeof window>"u"}function f(e,t,o){o||(o={});const{isSupported:r,isMounted:s,isMounting:a,component:i,supports:m}=o||{},v=`${i?`${i}.`:""}${e}()`,T=r?Array.isArray(r)||typeof r=="object"&&"any"in r?r:[r]:void 0;function Z(C){if(m){const h=m[C];return n.supports(h[0],h[1],O())}return!0}function B(){if(!T)return;function C(z){return typeof z=="function"?z():n.supports(z,O())?void 0:`it is unsupported in Mini Apps version ${O()}`}const h=Array.isArray(T)?T:T.any,j=h.map(C).filter(Boolean);return Array.isArray(T)?j[0]:j.length===h.length?j[j.length-1]:void 0}function mi(...C){for(const h in m)if(m[h][2](...C)&&!Z(h))return`option ${h} is not supported in Mini Apps version ${O()}`}let pe;if(m){pe={};for(const C in m)pe[C]=p(()=>Z(C))}const Oo=p(()=>!B()),ko=p(()=>O()!=="0.0"),qo=p(()=>!s||s()),Io=p(()=>n.isTMA()&&!nt()&&ko()&&Oo()&&qo());return Object.assign((...C)=>{const h=`Unable to call the ${v} ${i?"method":"function"}:`;if(nt()||!n.isTMA())throw new W(`${h} it can't be called outside Mini Apps`);if(!ko())throw new W(`${h} the SDK was not initialized. Use the SDK init() function`);const j=B();if(j)throw new W(`${h} ${j}`);const z=mi(...C);if(z)throw new W(`${h} ${z}`);if(!qo()){const fi=a&&a()?"mounting. Wait for the mount completion":`unmounted. Use the ${i}.mount() method`;throw new W(`${h} the component is ${fi}`)}return t(...C)},t,{isAvailable:Io,ifAvailable(...C){return Io()?[!0,t(...C)]:[!1]}},T?{isSupported:Oo}:{},pe?{supports:pe}:{})}function Ee(e,t){return t||(t={}),(o,r,s,a)=>f(o,r,{...t,isSupported:s||t.isSupported,supports:a,component:e})}function q(e,t,o){return Ee(e,{isSupported:o,isMounted:t})}function P(e,t){return Ee(e,{isSupported:t})}const Ce="web_app_setup_back_button",rr="back_button_pressed",we="backButton",[jo,nr]=d(!1),[me,sr]=d(!1),ar=$(Ce),ir=q(we,me,Ce),bt=P(we,Ce),cr=ir("hide",()=>{gt(!1)}),ur=bt("mount",()=>{me()||(gt(w.isPageReload()&&l.getStorageValue(we)||!1),me.set(!0))});function gt(e){e!==jo()&&(u(Ce,{is_visible:e}),l.setStorageValue(we,e),jo.set(e))}const lr=bt("onClick",e=>n.on(rr,e)),pr=bt("offClick",e=>{n.off(rr,e)}),dr=ir("show",()=>{gt(!0)});function mr(){me.set(!1)}const vi=Object.freeze(Object.defineProperty({__proto__:null,hide:cr,isMounted:sr,isSupported:ar,isVisible:nr,mount:ur,offClick:pr,onClick:lr,show:dr,unmount:mr},Symbol.toStringTag,{value:"Module"}));function E(e,t,o){o||(o={});const{promise:r,error:s}=o,[a,i]=r?[r,p(r)]:d(),[m,v]=s?[s,p(s)]:d();return[Object.assign((...T)=>{if(a()){const B=new Jo(t);return m.set(B),b.AbortablePromise.reject(B)}k.batch(()=>{a.set(e(...T)),m.set(void 0)});let Z;return a().catch(B=>{throw Z=B,B}).finally(()=>{k.batch(()=>{a.set(void 0),m.set(Z)})})},e),[a,i,p(()=>!!a())],[m,v]]}function ce(e,t,o){const[r,...s]=E(t,`The ${e} component is already mounting`),[a,i]=d(!1);return[(...m)=>a()?b.AbortablePromise.resolve():r(...m).then(v=>{k.batch(()=>{a.set(!0),o(v)})}),...s,[a,i]]}const[ht,fr]=d({available:!1,type:"",accessGranted:!1,accessRequested:!1,deviceId:"",tokenSaved:!1}),_r=p(()=>ht().available),Ro="web_app_biometry_get_info",br=f("requestBiometry",e=>_(Ro,"biometry_info_received",e),{isSupported:Ro});function St(e){if(!b.isCancelledError(e))throw e}function Y(e){const t=e();t&&t.catch(St).cancel()}const oe="biometry",Pe="web_app_biometry_request_auth",Et="biometry_info_received",gr=e=>{Ae(Ct(e))};function hr(){throw new ft("Biometry is not available")}function Ct(e){let t=!1,o=!1,r="",s=!1,a="",i=!1;return e.available&&(t=!0,o=e.token_saved,r=e.device_id,s=e.access_requested,a=e.type,i=e.access_granted),{available:t,tokenSaved:o,deviceId:r,type:a,accessGranted:i,accessRequested:s}}const Sr=$(Pe),[Ti,Bi,Oi,Er]=ce(oe,e=>{const t=w.isPageReload()&&l.getStorageValue(oe);return t?b.AbortablePromise.resolve(t):br({abortSignal:e}).then(Ct)},e=>{n.on(Et,gr),Ae(e)}),Cr=P(oe,Pe),wt=q(oe,Er[0],Pe),wr=Cr("mount",Ti),[,Pt,Pr]=Bi,[,Ar]=Oi,[ki,yr]=Er,[qi,Ii,Vi]=E(e=>b.AbortablePromise.fn(async t=>{const o=ht();o.available||hr();const r=await _(Pe,"biometry_auth_requested",{...e,...t,params:{reason:((e||{}).reason||"").trim()}}),{token:s}=r;return typeof s=="string"&&Ae({...o,token:s}),r},e),"Biometry authentication is already in progress"),$r=wt("authenticate",qi),[,At,Mr]=Ii,[,vr]=Vi,Tr=Cr("openSettings",()=>{u("web_app_biometry_open_settings")}),[ji,Ri,xi]=E(e=>b.AbortablePromise.fn(async t=>{const o=await _("web_app_biometry_request_access",Et,{...e,...t,params:{reason:(e||{}).reason||""}}).then(Ct);return o.available||hr(),Ae(o),o.accessGranted},e),"Biometry access request is already in progress"),Br=wt("requestAccess",ji),[,yt,Or]=Ri,[,kr]=xi;function Ae(e){ht.set(e),l.setStorageValue(oe,e)}function qr(){[At,yt,Pt].forEach(Y),n.off(Et,gr),ki.set(!1)}const Ir=wt("updateToken",e=>(e||(e={}),_("web_app_biometry_update_token","biometry_token_updated",{...e,params:{token:e.token||"",reason:e.reason}}).then(t=>t.status))),Di=Object.freeze(Object.defineProperty({__proto__:null,authError:vr,authPromise:At,authenticate:$r,isAuthenticating:Mr,isAvailable:_r,isMounted:yr,isMounting:Pr,isRequestingAccess:Or,isSupported:Sr,mount:wr,mountError:Ar,mountPromise:Pt,openSettings:Tr,requestAccess:Br,requestAccessError:kr,requestAccessPromise:yt,state:fr,unmount:qr,updateToken:Ir},Symbol.toStringTag,{value:"Module"}));function ye(e,t){return Ee(e,{isMounted:t})}const I=Ee,$e="closingBehavior",[xo,Vr]=d(!1),[st,$t]=d(!1),jr=ye($e,$t),Li=I($e),Rr=jr("disableConfirmation",()=>{Mt(!1)}),xr=jr("enableConfirmation",()=>{Mt(!0)}),Dr=Li("mount",()=>{st()||(Mt(w.isPageReload()&&l.getStorageValue($e)||!1),st.set(!0))});function Mt(e){e!==xo()&&(u("web_app_setup_closing_behavior",{need_confirmation:e}),l.setStorageValue($e,e),xo.set(e))}function Lr(){st.set(!1)}const Ni=Object.freeze(Object.defineProperty({__proto__:null,disableConfirmation:Rr,enableConfirmation:xr,isConfirmationEnabled:Vr,isMounted:$t,mount:Dr,unmount:Lr},Symbol.toStringTag,{value:"Module"})),Nr="web_app_invoke_custom_method",ue=P("cloudStorage",Nr),Hr=$(Nr),vt=ue("deleteItem",(e,t)=>{const o=Array.isArray(e)?e:[e];return o.length?L("deleteStorageValues",{keys:o},t).then():b.AbortablePromise.resolve()});function Hi(e,t){const o=Array.isArray(e)?e:[e];return o.length?L("getStorageValues",{keys:o},t).then(r=>{const s={...o.reduce((a,i)=>(a[i]="",a),{}),...c.parse(c.record(c.string(),c.string()),r)};return typeof e=="string"?s[e]:s}):b.AbortablePromise.resolve(Array.isArray(e)?{}:"")}const Fr=ue("getItem",Hi),Tt=ue("getKeys",e=>L("getStorageKeys",{},e).then(t=>c.parse(c.array(c.string()),t))),Ur=ue("setItem",(e,t,o)=>L("saveStorageValue",{key:e,value:t},o).then()),Fi=ue("clear",e=>Tt(e).then(vt)),Ui=Object.freeze(Object.defineProperty({__proto__:null,clear:Fi,deleteItem:vt,getItem:Fr,getKeys:Tt,isSupported:Hr,setItem:Ur},Symbol.toStringTag,{value:"Module"})),le="web_app_trigger_haptic_feedback",Bt=P("hapticFeedback",le),Gr=$(le),zr=Bt("impactOccurred",e=>{u(le,{type:"impact",impact_style:e})}),Wr=Bt("notificationOccurred",e=>{u(le,{type:"notification",notification_type:e})}),Qr=Bt("selectionChanged",()=>{u(le,{type:"selection_change"})}),Gi=Object.freeze(Object.defineProperty({__proto__:null,impactOccurred:zr,isSupported:Gr,notificationOccurred:Wr,selectionChanged:Qr},Symbol.toStringTag,{value:"Module"})),[Kr,Yr]=d(void 0);function M(e){return p(()=>{const t=Kr();return t?t[e]:void 0})}const Ot=M("auth_date"),kt=M("can_send_after"),Xr=p(()=>{const e=Ot(),t=kt();return t&&e?new Date(e.getTime()+t*1e3):void 0}),Zr=M("chat"),Jr=M("chat_type"),en=M("chat_instance"),tn=M("hash"),on=M("query_id"),[zi,rn]=d(),nn=M("receiver");function sn(){const e=n.retrieveLaunchParams();Kr.set(e.tgWebAppData),zi.set(n.retrieveRawInitData())}const an=M("start_param"),cn=M("user"),Wi=Object.freeze(Object.defineProperty({__proto__:null,authDate:Ot,canSendAfter:kt,canSendAfterDate:Xr,chat:Zr,chatInstance:en,chatType:Jr,hash:tn,queryId:on,raw:rn,receiver:nn,restore:sn,startParam:an,state:Yr,user:cn},Symbol.toStringTag,{value:"Module"})),qt="web_app_open_invoice",Qi=P("invoice",qt),un=$(qt);function Ki(e,t,o){let r;if(t==="url"){const{hostname:s,pathname:a}=new URL(e,window.location.href);if(s!=="t.me")throw new A(`Link has unexpected hostname: ${s}`);const i=a.match(/^\/(\$|invoice\/)([A-Za-z0-9\-_=]+)$/);if(!i)throw new A('Expected to receive a link with a pathname in format "/invoice/{slug}" or "/${slug}"');[,,r]=i}else r=e,o=t;return _(qt,"invoice_closed",{...o,params:{slug:r},capture:s=>r===s.slug}).then(s=>s.status)}const[Yi,Xi,Zi]=E(Ki,"Invoice is already opened"),ln=Qi("open",Yi),[,pn,dn]=Xi,[,mn]=Zi,Ji=Object.freeze(Object.defineProperty({__proto__:null,isOpened:dn,isSupported:un,open:ln,openError:mn,openPromise:pn},Symbol.toStringTag,{value:"Module"})),J="locationManager",It="web_app_check_location",Do="web_app_open_location_settings",fe=K({available:!1,accessGranted:!1,accessRequested:!1});function Vt(e){return p(()=>fe()[e])}const fn=$(It),_n=Vt("available"),bn=Vt("accessGranted"),gn=Vt("accessRequested");function ec(e){let t=!1,o,r;return e.available&&(t=!0,o=e.access_requested,r=e.access_granted),{available:t,accessGranted:r||!1,accessRequested:o||!1}}const[tc,oc,rc,hn]=ce(J,e=>{const t=w.isPageReload()&&l.getStorageValue(J);return t?b.AbortablePromise.resolve(t):_("web_app_check_location","location_checked",e).then(ec)},e=>{fe.set(e),l.setStorageValue(J,e)}),Sn=P(J,It),nc=q(J,hn[0],It),En=Sn("mount",tc),[,Cn,wn]=oc,[,Pn]=rc,[sc,An]=hn,[ac,ic,cc]=E(e=>_("web_app_request_location","location_requested",e).then(t=>{if(!t.available)throw fe.set({...fe(),available:!1}),new ft("Location data tracking is not available");const{available:o,...r}=t;return r}),"Location request is currently in progress"),yn=nc("requestLocation",ac),[,jt,$n]=ic,[,Mn]=cc,vn=Sn("openSettings",()=>{u(Do)},Do);function Tn(){Y(jt),sc.set(!1)}const uc=Object.freeze(Object.defineProperty({__proto__:null,isAccessGranted:bn,isAccessRequested:gn,isAvailable:_n,isMounted:An,isMounting:wn,isRequestingLocation:$n,isSupported:fn,mount:En,mountError:Pn,mountPromise:Cn,openSettings:vn,requestLocation:yn,requestLocationError:Mn,requestLocationPromise:jt,unmount:Tn},Symbol.toStringTag,{value:"Module"}));function Rt(e){const t={};for(const o in e){const r=e[o];r!==void 0&&(t[o]=r)}return t}function xt(e){const t=g.toRGB(e);return Math.sqrt([.299,.587,.114].reduce((o,r,s)=>{const a=parseInt(t.slice(1+s*2,1+(s+1)*2),16);return o+a*a*r},0))<120}const[Je,Bn]=d(!1),[x,H]=d({});function S(e){return p(()=>x()[e])}const On=S("accent_text_color"),Dt=S("bg_color"),Me=S("button_color"),Lt=S("button_text_color"),kn=S("bottom_bar_bg_color"),qn=S("destructive_text_color"),In=S("header_bg_color"),Vn=S("hint_color"),jn=p(()=>{const e=Dt();return!e||xt(e)}),Rn=S("link_color"),Nt=S("secondary_bg_color"),xn=S("section_bg_color"),Dn=S("section_header_text_color"),Ln=S("section_separator_color"),Nn=S("subtitle_text_color"),Hn=S("text_color");function F(e){return p(()=>ve()[e])}const ee=K({hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,text:"Continue"}),ve=p(()=>{const e=ee();return{...e,backgroundColor:e.backgroundColor||Me()||"#2481cc",textColor:e.textColor||Lt()||"#ffffff"}}),[at,Ht]=d(!1),Fn=F("backgroundColor"),Un=F("hasShineEffect"),Gn=F("isEnabled"),zn=F("isLoaderVisible"),Wn=F("isVisible"),Qn=F("text"),Kn=F("textColor"),lc="web_app_setup_main_button",Yn="main_button_pressed",Te="mainButton",Ft=I(Te),pc=ye(Te,Ht),Xn=Ft("mount",()=>{if(!at()){const e=w.isPageReload()&&l.getStorageValue(Te);e&&ee.set(e),at.set(!0)}}),Zn=Ft("onClick",e=>n.on(Yn,e)),Jn=Ft("offClick",e=>{n.off(Yn,e)}),es=pc("setParams",e=>{ee.set({...ee(),...Rt(e)}),l.setStorageValue(Te,ee());const t=ve();t.text&&u(lc,{color:t.backgroundColor,has_shine_effect:t.hasShineEffect,is_active:t.isEnabled,is_progress_visible:t.isLoaderVisible,is_visible:t.isVisible,text:t.text,text_color:t.textColor})});function ts(){at.set(!1)}const dc=Object.freeze(Object.defineProperty({__proto__:null,backgroundColor:Fn,hasShineEffect:Un,isEnabled:Gn,isLoaderVisible:zn,isMounted:Ht,isVisible:Wn,mount:Xn,offClick:Jn,onClick:Zn,setParams:es,state:ve,text:Qn,textColor:Kn,unmount:ts},Symbol.toStringTag,{value:"Module"}));function Ut(e,t){document.documentElement.style.setProperty(e,t)}function Gt(e){document.documentElement.style.removeProperty(e)}const Q="themeParams",zt="theme_changed",os=I(Q),Wt=({theme_params:e})=>{x.set(e),l.setStorageValue(Q,e)},[mc,rs,fc,ns]=ce(Q,e=>b.AbortablePromise.resolve(w.isPageReload()&&l.getStorageValue(Q)||ie().tgWebAppThemeParams||{}),e=>{n.on(zt,Wt),x.set(e)}),_c=ye(Q,ns[0]),ss=_c("bindCssVars",e=>{if(Je())throw new he;e||(e=r=>`--tg-theme-${l.snakeToKebab(r)}`);function t(r){Object.entries(x()).forEach(([s,a])=>{a&&r(s,a)})}function o(){t((r,s)=>{Ut(e(r),s)})}return o(),x.sub(o),Je.set(!0),()=>{t(Gt),x.unsub(o),Je.set(!1)}}),Qt=os("mount",mc),as=rs[2],Kt=rs[1],is=fc[1],[it,cs]=ns,Yt=os("mountSync",()=>{if(!it()){const e=w.isPageReload()&&l.getStorageValue(Q)||ie().tgWebAppThemeParams||{};n.on(zt,Wt),k.batch(()=>{x.set(e),it.set(!0)})}});function us(){Y(Kt),n.off(zt,Wt),it.set(!1)}function ls(e){return p(()=>Be(e()))}function Be(e){return g.isRGB(e)?e:H()[e]}const[re,ps]=d("bg_color"),Oe=ls(re),[ne,ds]=d("bottom_bar_bg_color"),ke=p(()=>{const e=ne();return g.isRGB(e)?e:H()[e]||Nt()}),[se,ms]=d("bg_color"),Xt=ls(se),[et,fs]=d(!1),_s=p(()=>{const e=Oe();return e?xt(e):!1}),[qe,bs]=d(!0),Zt=p(()=>({backgroundColor:re(),bottomBarColor:ne(),headerColor:se(),isActive:qe()})),bc=Object.freeze(Object.defineProperty({__proto__:null,accentTextColor:On,backgroundColor:Dt,bindCssVars:ss,bottomBarBgColor:kn,buttonColor:Me,buttonTextColor:Lt,destructiveTextColor:qn,headerBackgroundColor:In,hintColor:Vn,isCssVarsBound:Bn,isDark:jn,isMounted:cs,isMounting:as,linkColor:Rn,mount:Qt,mountError:is,mountPromise:Kt,mountSync:Yt,secondaryBackgroundColor:Nt,sectionBackgroundColor:xn,sectionHeaderTextColor:Dn,sectionSeparatorColor:Ln,state:H,subtitleTextColor:Nn,textColor:Hn,unmount:us},Symbol.toStringTag,{value:"Module"})),_e="web_app_set_background_color",be="web_app_set_bottom_bar_color",R="web_app_set_header_color",Jt="visibility_changed",D="miniApp",eo={any:[_e,be,R]},gs=p(()=>eo.any.some(e=>n.supports(e,O()))),to=e=>{qe.set(e.is_visible),Ve()},oo=e=>{[[se,R],[re,_e],[ne,be]].forEach(([t,o])=>{const r=t();if(!g.isRGB(r)&&(o!==R||r!=="bg_color"&&r!=="secondary_bg_color")){const s=e[r];s&&u(o,{color:s})}})},[gc,hs,hc,Ss]=ce(D,e=>Qt(e).then(()=>w.isPageReload()&&l.getStorageValue(D)||void 0),e=>{je.ifAvailable(e?e.backgroundColor:"bg_color"),Re.ifAvailable(e?e.bottomBarColor:"bottom_bar_bg_color"),xe.ifAvailable(e?e.headerColor:"bg_color"),qe.set(e?e.isActive:!0),n.on(Jt,to),H.sub(oo)}),Es=I(D),Cs=P(D,eo),Ie=q(D,Ss[0],eo),ws=Ie("bindCssVars",e=>{if(et())throw new he;const[t,o]=l.createCbCollector();function r(s,a){function i(){Ut(s,a()||null)}i(),t(a.sub(i),Gt.bind(null,s))}return e||(e=s=>`--tg-${l.camelToKebab(s)}`),r(e("bgColor"),Oe),r(e("bottomBarColor"),ke),r(e("headerColor"),Xt),t(()=>{et.set(!1)}),et.set(!0),o}),Ps=Es("close",e=>{u("web_app_close",{return_back:e})}),As=Cs("mount",gc),ys=hs[2],ro=hs[1],$s=hc[1],[ct,Ms]=Ss,vs=Cs("mountSync",()=>{if(!ct()){Yt();const e=w.isPageReload()&&l.getStorageValue(D)||void 0;je.ifAvailable(e?e.backgroundColor:"bg_color"),Re.ifAvailable(e?e.bottomBarColor:"bottom_bar_bg_color"),xe.ifAvailable(e?e.headerColor:"bg_color"),n.on(Jt,to),H.sub(oo),k.batch(()=>{qe.set(e?e.isActive:!0),ct.set(!0)})}}),Ts=Es("ready",()=>{u("web_app_ready")});function Ve(){l.setStorageValue(D,Zt())}const je=Ie("setBackgroundColor",e=>{if(e===re())return;const t=Be(e);if(!t)throw new Se(e);u(_e,{color:t}),re.set(e),Ve()},_e),Re=Ie("setBottomBarColor",e=>{if(e===ne())return;const t=Be(e);if(!t)throw new Se(e);u(be,{color:t}),ne.set(e),Ve()},be),xe=Ie("setHeaderColor",e=>{if(e!==se()){if(e==="bg_color"||e==="secondary_bg_color")u(R,{color_key:e});else{const t=Be(e);if(!t)throw new Se(e);u(R,{color:t})}se.set(e),Ve()}},R,{rgb:[R,"color",g.isRGB]});function Bs(){Y(ro),n.off(Jt,to),H.unsub(oo),ct.set(!1)}const Sc=Object.freeze(Object.defineProperty({__proto__:null,backgroundColor:ps,backgroundColorRGB:Oe,bindCssVars:ws,bottomBarColor:ds,bottomBarColorRGB:ke,close:Ps,headerColor:ms,headerColorRGB:Xt,isActive:bs,isCssVarsBound:fs,isDark:_s,isMounted:Ms,isMounting:ys,isSupported:gs,mount:As,mountError:$s,mountPromise:ro,mountSync:vs,ready:Ts,setBackgroundColor:je,setBottomBarColor:Re,setHeaderColor:xe,state:Zt,unmount:Bs},Symbol.toStringTag,{value:"Module"}));function Ec(e){const t=e.message.trim(),o=(e.title||"").trim(),r=e.buttons||[];if(o.length>64)throw new A(`Invalid title: ${o}`);if(!t||t.length>256)throw new A(`Invalid message: ${t}`);if(r.length>3)throw new A(`Invalid buttons count: ${r.length}`);return{title:o,message:t,buttons:r.length?r.map((s,a)=>{const i=s.id||"";if(i.length>64)throw new A(`Button with index ${a} has invalid id: ${i}`);if(!s.type||s.type==="default"||s.type==="destructive"){const m=s.text.trim();if(!m||m.length>64)throw new A(`Button with index ${a} has invalid text: ${m}`);return{type:s.type,text:m,id:i}}return{type:s.type,id:i}}):[{type:"close",id:""}]}}const no="web_app_open_popup",Os=P("popup",no),ks=$(no),[qs,so,Is]=E(e=>_(no,"popup_closed",{...e,params:Ec(e)}).then(({button_id:t})=>t===void 0?null:t),"A popup is already opened"),Vs=Os("open",qs),js=so[1],Rs=so[2],xs=Is[1],Ds=Os("show",qs),[,Ls,Ns]=so,[,Hs]=Is,Cc=Object.freeze(Object.defineProperty({__proto__:null,isOpened:Rs,isShown:Ns,isSupported:ks,open:Vs,openError:xs,openPromise:js,show:Ds,showError:Hs,showPromise:Ls},Symbol.toStringTag,{value:"Module"})),Fs="web_app_close_scan_qr_popup",ao="web_app_open_scan_qr_popup",wc="scan_qr_popup_closed",Pc="qr_text_received",Us=P("qrScanner",ao),Gs=Us("close",()=>{u(Fs),Y(io)}),zs=$(ao);function Ac(e){e||(e={});const{onCaptured:t,text:o,capture:r}=e,[,s]=l.createCbCollector(n.on(wc,()=>{a.resolve()}),n.on(Pc,i=>{t?t(i.data):(!r||r(i.data))&&(a.resolve(i.data),u(Fs))})),a=new b.ManualPromise(e);return(e.postEvent||u)(ao,{text:o}),b.AbortablePromise.resolve(a).catch(St).finally(s)}const[yc,$c,Mc]=E(Ac,"The QR Scanner is already opened"),Ws=Us("open",yc),[,io,Qs]=$c,[,Ks]=Mc,vc=Object.freeze(Object.defineProperty({__proto__:null,close:Gs,isOpened:Qs,isSupported:zs,open:Ws,openError:Ks,openPromise:io},Symbol.toStringTag,{value:"Module"}));function V(e){return p(()=>De()[e])}const te=K({hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,position:"left",text:"Cancel"}),De=p(()=>{const e=te();return{...e,backgroundColor:e.backgroundColor||ke()||"#000000",textColor:e.textColor||Me()||"#2481cc"}}),[ut,co]=d(!1),Ys=V("backgroundColor"),Xs=V("hasShineEffect"),Zs=V("isEnabled"),Js=V("isLoaderVisible"),ea=V("isVisible"),ta=V("position"),oa=V("text"),ra=V("textColor"),Le="web_app_setup_secondary_button",na="secondary_button_pressed",Ne="secondaryButton",uo=P(Ne,Le),Tc=q(Ne,co,Le),sa=$(Le),aa=uo("mount",()=>{if(!ut()){const e=w.isPageReload()&&l.getStorageValue(Ne);e&&te.set(e),ut.set(!0)}}),ia=uo("onClick",e=>n.on(na,e)),ca=uo("offClick",e=>{n.off(na,e)}),ua=Tc("setParams",e=>{te.set({...te(),...Rt(e)}),l.setStorageValue(Ne,te());const t=De();t.text&&u(Le,{color:t.backgroundColor,has_shine_effect:t.hasShineEffect,is_active:t.isEnabled,is_progress_visible:t.isLoaderVisible,is_visible:t.isVisible,position:t.position,text:t.text,text_color:t.textColor})});function la(){ut.set(!1)}const Bc=Object.freeze(Object.defineProperty({__proto__:null,backgroundColor:Ys,hasShineEffect:Xs,isEnabled:Zs,isLoaderVisible:Js,isMounted:co,isSupported:sa,isVisible:ea,mount:aa,offClick:ca,onClick:ia,position:ta,setParams:ua,state:De,text:oa,textColor:ra,unmount:la},Symbol.toStringTag,{value:"Module"})),He="web_app_setup_settings_button",pa="settings_button_pressed",Fe="settingsButton",[Lo,da]=d(!1),[ge,ma]=d(!1),fa=$(He),lo=P(Fe,He),_a=q(Fe,ge,He),ba=_a("hide",()=>{po(!1)}),ga=lo("mount",()=>{ge()||(po(w.isPageReload()&&l.getStorageValue(Fe)||!1),ge.set(!0))});function po(e){e!==Lo()&&(u(He,{is_visible:e}),l.setStorageValue(Fe,e),Lo.set(e))}const ha=lo("onClick",e=>n.on(pa,e)),Sa=lo("offClick",e=>{n.off(pa,e)}),Ea=_a("show",()=>{po(!0)});function Ca(){ge.set(!1)}const Oc=Object.freeze(Object.defineProperty({__proto__:null,hide:ba,isMounted:ma,isSupported:fa,isVisible:da,mount:ga,offClick:Sa,onClick:ha,show:Ea,unmount:Ca},Symbol.toStringTag,{value:"Module"})),Ue="web_app_setup_swipe_behavior",Ge="swipeBehavior",[ae,wa]=d(!1),Pa=$(Ue),[lt,Aa]=d(!0),kc=P(Ge,Ue),ya=q(Ge,ae,Ue),$a=ya("disableVertical",()=>{mo(!1)}),Ma=ya("enableVertical",()=>{mo(!0)}),va=kc("mount",()=>{ae()||(mo(w.isPageReload()&&l.getStorageValue(Ge)||!1,!0),ae.set(!0))});function mo(e,t){(e!==lt()||t)&&(u(Ue,{allow_vertical_swipe:e}),l.setStorageValue(Ge,e),lt.set(e))}function Ta(){ae.set(!1)}const qc=Object.freeze(Object.defineProperty({__proto__:null,_isMounted:ae,_isVerticalEnabled:lt,disableVertical:$a,enableVertical:Ma,isMounted:wa,isSupported:Pa,isVerticalEnabled:Aa,mount:va,unmount:Ta},Symbol.toStringTag,{value:"Module"})),U="viewport",fo="fullscreen_changed",_o="safe_area_changed",bo="content_safe_area_changed",go="viewport_changed",Ba=I(U),No={left:0,top:0,bottom:0,right:0};function tt(e){return Math.max(e,0)}const[ot,ho]=d({contentSafeAreaInsets:No,height:0,isExpanded:!1,isFullscreen:!1,safeAreaInsets:No,stableHeight:0,width:0});function G(e){return p(()=>ho()[e])}const ze=G("height"),We=G("stableHeight"),So=G("width"),Oa=G("isExpanded"),ka=p(()=>ze()===We());function X(e){const{height:t,stableHeight:o,width:r}=e;ot.set({...ot(),...Rt({...e,height:t?tt(t):void 0,width:r?tt(r):void 0,stableHeight:o?tt(o):void 0})}),l.setStorageValue(U,ot())}function Ic(){return l.getStorageValue(U)}function Qe(e){return p(()=>Ke()[e])}const Ke=G("contentSafeAreaInsets"),Eo=Qe("bottom"),Co=Qe("left"),wo=Qe("right"),Po=Qe("top");function Ye(e){return p(()=>Xe()[e])}const Xe=G("safeAreaInsets"),Ao=Ye("bottom"),yo=Ye("left"),$o=Ye("right"),Mo=Ye("top"),qa="web_app_request_safe_area",Ia=P(U,qa),pt=Ia("requestContentSafeAreaInsets",e=>_("web_app_request_content_safe_area",bo,e));function Va(e){return _("web_app_request_viewport",go,e)}const dt=Ia("requestSafeAreaInsets",e=>_(qa,_o,e)),ja=e=>{const{height:t}=e;X({isExpanded:e.is_expanded,height:t,width:e.width,stableHeight:e.is_state_stable?t:void 0})},Ra=e=>{X({isFullscreen:e.is_fullscreen})},xa=e=>{X({safeAreaInsets:e})},Da=e=>{X({contentSafeAreaInsets:e})},[Vc,jc,Rc,xc]=ce(U,e=>{const t=w.isPageReload()&&Ic();return t?b.AbortablePromise.resolve(t):b.AbortablePromise.fn(async o=>{const r=await b.AbortablePromise.all([dt.isAvailable()?dt(o):Xe(),pt.isAvailable()?pt(o):Ke()]),s=ie(),a={contentSafeAreaInsets:r[1],isFullscreen:!!s.tgWebAppFullscreen,safeAreaInsets:r[0]};if(["macos","tdesktop","unigram","webk","weba","web"].includes(s.tgWebAppPlatform)){const i=window;return{...a,height:i.innerHeight,isExpanded:!0,stableHeight:i.innerHeight,width:i.innerWidth}}return Va(o).then(i=>({...a,height:i.height,isExpanded:i.is_expanded,stableHeight:i.is_state_stable?i.height:0,width:i.width}))},e)},e=>{n.on(go,ja),n.on(fo,Ra),n.on(_o,xa),n.on(bo,Da),X(e)}),La=Ba("mount",Vc),[,vo,Na]=jc,[,Ha]=Rc,[To,Fa]=xc;function Ua(){Y(vo),n.off(go,ja),n.off(fo,Ra),n.off(_o,xa),n.off(bo,Da),To.set(!1)}const Dc=ye(U,To),[rt,Ga]=d(!1),za=Dc("bindCssVars",e=>{if(rt())throw new he;e||(e=o=>`--tg-viewport-${l.camelToKebab(o)}`);const t=[["height",ze],["stableHeight",We],["width",So],["safeAreaInsetTop",Mo],["safeAreaInsetBottom",Ao],["safeAreaInsetLeft",yo],["safeAreaInsetRight",$o],["contentSafeAreaInsetTop",Po],["contentSafeAreaInsetBottom",Eo],["contentSafeAreaInsetLeft",Co],["contentSafeAreaInsetRight",wo]].reduce((o,[r,s])=>{const a=e(r);if(a){const i=()=>{Ut(a,`${s()}px`)};o.push([i,s.sub(i),a])}return o},[]);return t.forEach(o=>{o[0]()}),rt.set(!0),()=>{t.forEach(o=>{o[1](),Gt(o[2])}),rt.set(!1)}}),Wa=Ba("expand",()=>{u("web_app_expand")}),Qa="web_app_request_fullscreen",Lc=q(U,To,Qa),Bo=G("isFullscreen"),[Nc,Ka]=d(),[Hc,Ya]=d();function Xa(e,t){return Lc(e,E(o=>_(t?Qa:"web_app_exit_fullscreen",[fo,"fullscreen_failed"],o).then(r=>{if("error"in r&&r.error!=="ALREADY_FULLSCREEN")throw new tr(r.error);const s="is_fullscreen"in r?r.is_fullscreen:!0;s!==Bo()&&X({isFullscreen:s})}),"Fullscreen mode change is already being requested",{promise:Nc,error:Hc})[0])}const Za=Xa("requestFullscreen",!0),Ja=Xa("exitFullscreen"),Fc=Object.freeze(Object.defineProperty({__proto__:null,bindCssVars:za,changeFullscreenError:Ya,changeFullscreenPromise:Ka,contentSafeAreaInsetBottom:Eo,contentSafeAreaInsetLeft:Co,contentSafeAreaInsetRight:wo,contentSafeAreaInsetTop:Po,contentSafeAreaInsets:Ke,exitFullscreen:Ja,expand:Wa,height:ze,isCssVarsBound:Ga,isExpanded:Oa,isFullscreen:Bo,isMounted:Fa,isMounting:Na,isStable:ka,mount:La,mountError:Ha,mountPromise:vo,requestFullscreen:Za,safeAreaInsetBottom:Ao,safeAreaInsetLeft:yo,safeAreaInsetRight:$o,safeAreaInsetTop:Mo,safeAreaInsets:Xe,stableHeight:We,state:ho,unmount:Ua,width:So},Symbol.toStringTag,{value:"Module"})),ei="web_app_request_emoji_status_access",[Uc,Gc,zc]=E(e=>_(ei,"emoji_status_access_requested",e).then(t=>t.status),"Emoji status access request is already in progress"),Wc=f("requestEmojiStatusAccess",Uc,{isSupported:ei}),[,Qc,Kc]=Gc,[,Yc]=zc,ti="web_app_set_emoji_status",[Xc,Zc,Jc]=E((e,t)=>_(ti,["emoji_status_set","emoji_status_failed"],{params:{custom_emoji_id:e,duration:(t||{}).duration},...t}).then(o=>{if(o&&"error"in o)throw new er(o.error)}),"Emoji status set request is currently in progress"),eu=f("setEmojiStatus",Xc,{isSupported:ti}),[,tu,ou]=Zc,[,ru]=Jc,nu={isSupported:"web_app_add_to_home_screen"},oi="home_screen_failed",su=f("onAddToHomeScreenFailed",(e,t)=>n.on(oi,e,t),{isSupported:"web_app_add_to_home_screen"}),au=f("offAddToHomeScreenFailed",e=>{n.off(oi,e)},nu),ri={isSupported:"web_app_add_to_home_screen"},ni="home_screen_added",iu=f("onAddedToHomeScreen",(e,t)=>n.on(ni,e,t),ri),cu=f("offAddedToHomeScreen",e=>{n.off(ni,e)},ri),Ho="web_app_add_to_home_screen",uu=f("addToHomeScreen",()=>{u(Ho)},{isSupported:Ho}),si="web_app_check_home_screen",[lu,pu,du]=E(e=>_(si,"home_screen_checked",e).then(t=>t.status||"unknown"),"Check home screen status request is currently in progress"),mu=f("checkHomeScreenStatus",lu,{isSupported:si}),[,fu,_u]=pu,[,bu]=du,gu=I(),hu=gu("openLink",(e,t)=>{if(typeof e=="string")try{e=new URL(e)}catch(o){throw new A(`"${e.toString()}" is invalid URL`,o)}t||(t={}),u("web_app_open_link",{url:e.toString(),try_browser:t.tryBrowser,try_instant_view:t.tryInstantView})}),Fo="web_app_open_tg_link",Su=I(),ai=Su("openTelegramLink",e=>{const t=e.toString();if(!t.match(/^https:\/\/t.me\/.+/))throw new A(`"${t}" is invalid URL`);if(!n.supports(Fo,O())){window.location.href=t;return}e=new URL(e),u(Fo,{path_full:e.pathname+e.search})}),Eu=I(),Cu=Eu("shareURL",(e,t)=>{ai("https://t.me/share/url?"+new URLSearchParams({url:e,text:t||""}).toString().replace(/\+/g,"%20"))});function wu(e,t){return new b.AbortablePromise({abortSignal:t,timeout:e}).catch(()=>{})}const ii="web_app_request_phone",[Pu,Au,yu]=E(e=>_(ii,"phone_requested",e).then(t=>t.status),"Phone access request is currently in progress"),ci=f("requestPhoneAccess",Pu,{isSupported:ii}),[,$u,Mu]=Au,[,vu]=yu,ui={isSupported:"web_app_request_phone"};async function Uo(e){const t=c.parse(c.string(),await L("getRequestedContact",{},{...e,timeout:(e||{}).timeout||5e3}));return{raw:t,parsed:c.parse(c.pipe(c.union([c.string(),c.instance(URLSearchParams)]),g.transformQueryUsing(c.looseObject({contact:c.pipe(c.string(),g.jsonParse(),c.looseObject({user_id:c.number(),phone_number:c.string(),first_name:c.string(),last_name:c.optional(c.string())})),auth_date:c.pipe(c.string(),c.transform(o=>new Date(Number(o)*1e3)),c.date()),hash:c.string()}))),t)}}const[Tu,Bu,Ou]=E(e=>new b.AbortablePromise(async(t,o,r)=>{try{return t(await Uo(r))}catch(i){if(i instanceof c.ValiError)throw i}if(await ci(r)!=="sent")throw new _t("User denied access");let a=50;for(;!r.isAborted();){try{return t(await Uo(r))}catch(i){if(i instanceof c.ValiError)throw i}await wu(a),a+=50}},e),"Contact is already being requested"),li=f("requestContactComplete",Tu,ui),ku=f("requestContact",e=>li(e).then(t=>t.parsed),ui),[,qu,Iu]=Bu,[,Vu]=Ou,pi="web_app_request_write_access",[ju,Ru,xu]=E(e=>_(pi,"write_access_requested",e).then(t=>t.status),"Write access request is currently in progress"),Du=f("requestWriteAccess",ju,{isSupported:pi}),[,Lu,Nu]=Ru,[,Hu]=xu;function Fu(e){const t=document.createElement("textarea");t.value=e,t.style.top="0",t.style.left="0",t.style.position="fixed",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy")}finally{document.body.removeChild(t)}}async function Uu(e){try{const{clipboard:t}=navigator;if(t)return await t.writeText(e)}catch{}Fu(e)}const Go="web_app_request_file_download",Gu=f("downloadFile",(e,t,o)=>_(Go,"file_download_requested",{...o,params:{url:e,file_name:t}}).then(r=>{if(r.status!=="downloading")throw new _t("User denied the action")}),{isSupported:Go}),zu=f("getCurrentTime",e=>L("getCurrentTime",{},e).then(t=>c.parse(c.pipe(c.number(),c.integer(),c.transform(o=>new Date(o*1e3)),c.date()),t)),{isSupported:"web_app_invoke_custom_method"}),zo="web_app_read_text_from_clipboard",Wu=f("readTextFromClipboard",e=>{const t=mt();return _(zo,"clipboard_text_received",{...e,params:{req_id:t},capture:n.captureSameReq(t)}).then(({data:o=null})=>o)},{isSupported:zo});function di(e){const t={},o=e.match(/Telegram-Android(?:\/([^ ]+))?(?: (\([^)]+\))?|$)/);if(o){const[,r,s]=o;r&&(t.appVersion=r),s&&s.slice(1,s.length-1).split(";").forEach(a=>{const[i,m]=a.trim().split(" ");if(i==="Android")t.androidVersion=m;else if(i==="SDK"){const v=parseInt(m,10);v&&(t.sdkVersion=v)}else m?(t.manufacturer=i,t.model=m):t.performanceClass=i})}return t}function Qu(){return di(navigator.userAgent)}const Wo="web_app_data_send",Ku=f("sendData",e=>{const{size:t}=new Blob([e]);if(!t||t>4096)throw new A(t?"Maximum size of data to send is 4096 bytes":"Attempted to send empty data");u(Wo,{data:e})},{isSupported:Wo}),Qo="web_app_send_prepared_message",Yu=f("shareMessage",(e,t)=>_(Qo,["prepared_message_failed","prepared_message_sent"],{...t,params:{id:e}}).then(o=>{if(o&&"error"in o)throw new or(o.error)}),{isSupported:Qo}),Ko="web_app_share_to_story",Xu=f("shareStory",(e,t)=>{t||(t={}),u(Ko,{text:t.text,media_url:e,widget_link:t.widgetLink})},{isSupported:Ko}),Zu="web_app_switch_inline_query",Ju=f("switchInlineQuery",(e,t)=>{u(Zu,{query:e,chat_types:t||[]})},{isSupported(){return ie().tgWebAppBotInline?void 0:"The application must be launched in the inline mode"}});function el(e){try{return[!0,e()]}catch(t){return[!1,t]}}function tl(e){Zo(e);const[t,o]=l.createCbCollector(n.on("reload_iframe",()=>{de().log("Received a request to reload the page"),u("iframe_will_reload"),window.location.reload()})),{acceptCustomStyles:r=!0}=e||{};if(r){const s=document.createElement("style");s.id="telegram-custom-styles",document.head.appendChild(s),t(n.on("set_custom_style",a=>{s.innerHTML=a}),()=>{document.head.removeChild(s)})}return u("iframe_ready",{reload_supported:!0}),de().log("The package was initialized"),o}Object.defineProperty(exports,"AbortablePromise",{enumerable:!0,get:()=>n.AbortablePromise});Object.defineProperty(exports,"CancelledError",{enumerable:!0,get:()=>n.CancelledError});Object.defineProperty(exports,"InvalidLaunchParamsError",{enumerable:!0,get:()=>n.InvalidLaunchParamsError});Object.defineProperty(exports,"InvokeCustomMethodError",{enumerable:!0,get:()=>n.InvokeCustomMethodError});Object.defineProperty(exports,"LaunchParamsRetrieveError",{enumerable:!0,get:()=>n.LaunchParamsRetrieveError});Object.defineProperty(exports,"ManualPromise",{enumerable:!0,get:()=>n.ManualPromise});Object.defineProperty(exports,"MethodParameterUnsupportedError",{enumerable:!0,get:()=>n.MethodParameterUnsupportedError});Object.defineProperty(exports,"MethodUnsupportedError",{enumerable:!0,get:()=>n.MethodUnsupportedError});Object.defineProperty(exports,"TimeoutError",{enumerable:!0,get:()=>n.TimeoutError});Object.defineProperty(exports,"UnknownEnvError",{enumerable:!0,get:()=>n.UnknownEnvError});Object.defineProperty(exports,"applyPolyfills",{enumerable:!0,get:()=>n.applyPolyfills});Object.defineProperty(exports,"bridgeLogger",{enumerable:!0,get:()=>n.logger});Object.defineProperty(exports,"createPostEvent",{enumerable:!0,get:()=>n.createPostEvent});Object.defineProperty(exports,"createStartParam",{enumerable:!0,get:()=>n.createStartParam});Object.defineProperty(exports,"decodeBase64Url",{enumerable:!0,get:()=>n.decodeBase64Url});Object.defineProperty(exports,"decodeStartParam",{enumerable:!0,get:()=>n.decodeStartParam});Object.defineProperty(exports,"emitEvent",{enumerable:!0,get:()=>n.emitEvent});Object.defineProperty(exports,"encodeBase64Url",{enumerable:!0,get:()=>n.encodeBase64Url});Object.defineProperty(exports,"isCancelledError",{enumerable:!0,get:()=>n.isCancelledError});Object.defineProperty(exports,"isInvalidLaunchParamsError",{enumerable:!0,get:()=>n.isInvalidLaunchParamsError});Object.defineProperty(exports,"isInvokeCustomMethodError",{enumerable:!0,get:()=>n.isInvokeCustomMethodError});Object.defineProperty(exports,"isLaunchParamsRetrieveError",{enumerable:!0,get:()=>n.isLaunchParamsRetrieveError});Object.defineProperty(exports,"isMethodMethodParameterUnsupportedError",{enumerable:!0,get:()=>n.isMethodMethodParameterUnsupportedError});Object.defineProperty(exports,"isMethodUnsupportedError",{enumerable:!0,get:()=>n.isMethodUnsupportedError});Object.defineProperty(exports,"isSafeToCreateStartParam",{enumerable:!0,get:()=>n.isSafeToCreateStartParam});Object.defineProperty(exports,"isTMA",{enumerable:!0,get:()=>n.isTMA});Object.defineProperty(exports,"isTimeoutError",{enumerable:!0,get:()=>n.isTimeoutError});Object.defineProperty(exports,"isUnknownEnvError",{enumerable:!0,get:()=>n.isUnknownEnvError});Object.defineProperty(exports,"mockTelegramEnv",{enumerable:!0,get:()=>n.mockTelegramEnv});Object.defineProperty(exports,"off",{enumerable:!0,get:()=>n.off});Object.defineProperty(exports,"on",{enumerable:!0,get:()=>n.on});Object.defineProperty(exports,"postMessage",{enumerable:!0,get:()=>n.postMessage});Object.defineProperty(exports,"postMessageImplementation",{enumerable:!0,get:()=>n.postMessageImplementation});Object.defineProperty(exports,"retrieveLaunchParams",{enumerable:!0,get:()=>n.retrieveLaunchParams});Object.defineProperty(exports,"retrieveRawInitData",{enumerable:!0,get:()=>n.retrieveRawInitData});Object.defineProperty(exports,"retrieveRawLaunchParams",{enumerable:!0,get:()=>n.retrieveRawLaunchParams});Object.defineProperty(exports,"supports",{enumerable:!0,get:()=>n.supports});Object.defineProperty(exports,"targetOrigin",{enumerable:!0,get:()=>n.targetOrigin});Object.defineProperty(exports,"createLogger",{enumerable:!0,get:()=>l.createLogger});Object.defineProperty(exports,"isRGB",{enumerable:!0,get:()=>g.isRGB});Object.defineProperty(exports,"isRGBShort",{enumerable:!0,get:()=>g.isRGBShort});Object.defineProperty(exports,"parseInitDataQuery",{enumerable:!0,get:()=>g.parseInitDataQuery});Object.defineProperty(exports,"parseLaunchParamsQuery",{enumerable:!0,get:()=>g.parseLaunchParamsQuery});Object.defineProperty(exports,"serializeInitDataQuery",{enumerable:!0,get:()=>g.serializeInitDataQuery});Object.defineProperty(exports,"serializeLaunchParamsQuery",{enumerable:!0,get:()=>g.serializeLaunchParamsQuery});Object.defineProperty(exports,"serializeToQuery",{enumerable:!0,get:()=>g.serializeToQuery});Object.defineProperty(exports,"toRGB",{enumerable:!0,get:()=>g.toRGB});Object.defineProperty(exports,"transformQueryUsing",{enumerable:!0,get:()=>g.transformQueryUsing});exports.AccessDeniedError=_t;exports.CSSVarsBoundError=he;exports.ConcurrentCallError=Jo;exports.FullscreenFailedError=tr;exports.FunctionUnavailableError=W;exports.InvalidArgumentsError=A;exports.InvalidEnvError=hi;exports.NotAvailableError=ft;exports.SetEmojiStatusError=er;exports.ShareMessageError=or;exports.UnknownThemeParamsKeyError=Se;exports.addToHomeScreen=uu;exports.authenticateBiometry=$r;exports.backButton=vi;exports.bindMiniAppCssVars=ws;exports.bindThemeParamsCssVars=ss;exports.bindViewportCssVars=za;exports.biometry=Di;exports.biometryAuthError=vr;exports.biometryAuthPromise=At;exports.biometryMountError=Ar;exports.biometryState=fr;exports.changeFullscreenError=Ya;exports.changeFullscreenPromise=Ka;exports.checkHomeScreenStatus=mu;exports.checkHomeScreenStatusError=bu;exports.checkHomeScreenStatusPromise=fu;exports.closeMiniApp=Ps;exports.closeQrScanner=Gs;exports.closingBehavior=Ni;exports.cloudStorage=Ui;exports.configure=Zo;exports.copyTextToClipboard=Uu;exports.createRequestId=mt;exports.deleteCloudStorageItem=vt;exports.disableClosingConfirmation=Rr;exports.disableVerticalSwipes=$a;exports.downloadFile=Gu;exports.enableClosingConfirmation=xr;exports.enableVerticalSwipes=Ma;exports.exitFullscreen=Ja;exports.expandViewport=Wa;exports.getCloudStorageItem=Fr;exports.getCloudStorageKeys=Tt;exports.getCurrentTime=zu;exports.hapticFeedback=Gi;exports.hapticFeedbackImpactOccurred=zr;exports.hapticFeedbackNotificationOccurred=Wr;exports.hapticFeedbackSelectionChanged=Qr;exports.hideBackButton=cr;exports.hideSettingsButton=ba;exports.ignoreCanceled=St;exports.init=tl;exports.initData=Wi;exports.initDataAuthDate=Ot;exports.initDataCanSendAfter=kt;exports.initDataCanSendAfterDate=Xr;exports.initDataChat=Zr;exports.initDataChatInstance=en;exports.initDataChatType=Jr;exports.initDataHash=tn;exports.initDataQueryId=on;exports.initDataRaw=rn;exports.initDataReceiver=nn;exports.initDataStartParam=an;exports.initDataState=Yr;exports.initDataUser=cn;exports.invoice=Ji;exports.invokeCustomMethod=L;exports.isAccessDeniedError=Ai;exports.isAuthenticatingBiometry=Mr;exports.isBackButtonMounted=sr;exports.isBackButtonSupported=ar;exports.isBackButtonVisible=nr;exports.isBiometryAvailable=_r;exports.isBiometryMounted=yr;exports.isBiometryMounting=Pr;exports.isBiometrySupported=Sr;exports.isCSSVarsBoundError=bi;exports.isCheckingHomeScreenStatus=_u;exports.isClosingBehaviorMounted=$t;exports.isClosingConfirmationEnabled=Vr;exports.isCloudStorageSupported=Hr;exports.isColorDark=xt;exports.isConcurrentCallError=wi;exports.isFullscreen=Bo;exports.isFullscreenFailedError=yi;exports.isFunctionNotAvailableError=Ei;exports.isHapticFeedbackSupported=Gr;exports.isInvalidArguments=Ci;exports.isInvalidEnvError=Si;exports.isInvoiceOpened=dn;exports.isInvoiceSupported=un;exports.isLocationManagerAccessGranted=bn;exports.isLocationManagerAccessRequested=gn;exports.isLocationManagerAvailable=_n;exports.isLocationManagerMounted=An;exports.isLocationManagerMounting=wn;exports.isLocationManagerSupported=fn;exports.isMainButtonEnabled=Gn;exports.isMainButtonLoaderVisible=zn;exports.isMainButtonMounted=Ht;exports.isMainButtonVisible=Wn;exports.isMiniAppActive=bs;exports.isMiniAppCssVarsBound=fs;exports.isMiniAppDark=_s;exports.isMiniAppMounted=Ms;exports.isMiniAppMounting=ys;exports.isMiniAppSupported=gs;exports.isNotAvailableError=gi;exports.isPopupOpened=Rs;exports.isPopupShown=Ns;exports.isPopupSupported=ks;exports.isQrScannerOpened=Qs;exports.isQrScannerSupported=zs;exports.isRequestingBiometryAccess=Or;exports.isRequestingContact=Iu;exports.isRequestingEmojiStatusAccess=Kc;exports.isRequestingLocation=$n;exports.isRequestingPhoneAccess=Mu;exports.isRequestingWriteAccess=Nu;exports.isSSR=nt;exports.isSecondaryButtonEnabled=Zs;exports.isSecondaryButtonLoaderVisible=Js;exports.isSecondaryButtonMounted=co;exports.isSecondaryButtonSupported=sa;exports.isSecondaryButtonVisible=ea;exports.isSetEmojiStatusError=Pi;exports.isSettingEmojiStatus=ou;exports.isSettingsButtonMounted=ma;exports.isSettingsButtonSupported=fa;exports.isSettingsButtonVisible=da;exports.isShareMessageError=$i;exports.isSwipeBehaviorMounted=wa;exports.isSwipeBehaviorSupported=Pa;exports.isThemeParamsCssVarsBound=Bn;exports.isThemeParamsDark=jn;exports.isThemeParamsMounted=cs;exports.isThemeParamsMounting=as;exports.isUnknownThemeParamsKeyError=Mi;exports.isVerticalSwipesEnabled=Aa;exports.isViewportCssVarsBound=Ga;exports.isViewportExpanded=Oa;exports.isViewportMounted=Fa;exports.isViewportMounting=Na;exports.isViewportStable=ka;exports.locationManager=uc;exports.locationManagerMountError=Pn;exports.locationManagerMountPromise=Cn;exports.mainButton=dc;exports.mainButtonBackgroundColor=Fn;exports.mainButtonHasShineEffect=Un;exports.mainButtonState=ve;exports.mainButtonText=Qn;exports.mainButtonTextColor=Kn;exports.miniApp=Sc;exports.miniAppBackgroundColor=ps;exports.miniAppBackgroundColorRGB=Oe;exports.miniAppBottomBarColor=ds;exports.miniAppBottomBarColorRGB=ke;exports.miniAppHeaderColor=ms;exports.miniAppHeaderColorRGB=Xt;exports.miniAppMountError=$s;exports.miniAppMountPromise=ro;exports.miniAppReady=Ts;exports.miniAppState=Zt;exports.mountBackButton=ur;exports.mountBiometry=wr;exports.mountBiometryPromise=Pt;exports.mountClosingBehavior=Dr;exports.mountLocationManager=En;exports.mountMainButton=Xn;exports.mountMiniApp=As;exports.mountMiniAppSync=vs;exports.mountSecondaryButton=aa;exports.mountSettingsButton=ga;exports.mountSwipeBehavior=va;exports.mountThemeParams=Qt;exports.mountThemeParamsSync=Yt;exports.mountViewport=La;exports.offAddToHomeScreenFailed=au;exports.offAddedToHomeScreen=cu;exports.offBackButtonClick=pr;exports.offMainButtonClick=Jn;exports.offSecondaryButtonClick=ca;exports.offSettingsButtonClick=Sa;exports.onAddToHomeScreenFailed=su;exports.onAddedToHomeScreen=iu;exports.onBackButtonClick=lr;exports.onMainButtonClick=Zn;exports.onSecondaryButtonClick=ia;exports.onSettingsButtonClick=ha;exports.openBiometrySettings=Tr;exports.openInvoice=ln;exports.openInvoiceError=mn;exports.openInvoicePromise=pn;exports.openLink=hu;exports.openLocationManagerSettings=vn;exports.openPopup=Vs;exports.openPopupError=xs;exports.openPopupPromise=js;exports.openQrScanner=Ws;exports.openQrScannerError=Ks;exports.openQrScannerPromise=io;exports.openTelegramLink=ai;exports.popup=Cc;exports.postEvent=u;exports.qrScanner=vc;exports.readTextFromClipboard=Wu;exports.request=_;exports.requestBiometry=br;exports.requestBiometryAccess=Br;exports.requestBiometryAccessError=kr;exports.requestBiometryAccessPromise=yt;exports.requestContact=ku;exports.requestContactComplete=li;exports.requestContactError=Vu;exports.requestContactPromise=qu;exports.requestContentSafeAreaInsets=pt;exports.requestEmojiStatusAccess=Wc;exports.requestEmojiStatusAccessError=Yc;exports.requestEmojiStatusAccessPromise=Qc;exports.requestFullscreen=Za;exports.requestLocation=yn;exports.requestLocationError=Mn;exports.requestLocationPromise=jt;exports.requestPhoneAccess=ci;exports.requestPhoneAccessError=vu;exports.requestPhoneAccessPromise=$u;exports.requestSafeAreaInsets=dt;exports.requestViewport=Va;exports.requestWriteAccess=Du;exports.requestWriteAccessError=Hu;exports.requestWriteAccessPromise=Lu;exports.restoreInitData=sn;exports.retrieveAndroidDeviceData=Qu;exports.retrieveAndroidDeviceDataFrom=di;exports.safeCall=el;exports.sdkLogger=de;exports.secondaryButton=Bc;exports.secondaryButtonBackgroundColor=Ys;exports.secondaryButtonHasShineEffect=Xs;exports.secondaryButtonPosition=ta;exports.secondaryButtonState=De;exports.secondaryButtonText=oa;exports.secondaryButtonTextColor=ra;exports.sendData=Ku;exports.setCloudStorageItem=Ur;exports.setDebug=_i;exports.setEmojiStatus=eu;exports.setEmojiStatusError=ru;exports.setEmojiStatusPromise=tu;exports.setMainButtonParams=es;exports.setMiniAppBackgroundColor=je;exports.setMiniAppBottomBarColor=Re;exports.setMiniAppHeaderColor=xe;exports.setSecondaryButtonParams=ua;exports.settingsButton=Oc;exports.shareMessage=Yu;exports.shareStory=Xu;exports.shareURL=Cu;exports.showBackButton=dr;exports.showPopup=Ds;exports.showPopupError=Hs;exports.showPopupPromise=Ls;exports.showSettingsButton=Ea;exports.swipeBehavior=qc;exports.switchInlineQuery=Ju;exports.themeParams=bc;exports.themeParamsAccentTextColor=On;exports.themeParamsBackgroundColor=Dt;exports.themeParamsBottomBarBgColor=kn;exports.themeParamsButtonColor=Me;exports.themeParamsButtonTextColor=Lt;exports.themeParamsDestructiveTextColor=qn;exports.themeParamsHeaderBackgroundColor=In;exports.themeParamsHintColor=Vn;exports.themeParamsLinkColor=Rn;exports.themeParamsMountError=is;exports.themeParamsMountPromise=Kt;exports.themeParamsSecondaryBackgroundColor=Nt;exports.themeParamsSectionBackgroundColor=xn;exports.themeParamsSectionHeaderTextColor=Dn;exports.themeParamsSectionSeparatorColor=Ln;exports.themeParamsState=H;exports.themeParamsSubtitleTextColor=Nn;exports.themeParamsTextColor=Hn;exports.unmountBackButton=mr;exports.unmountBiometry=qr;exports.unmountClosingBehavior=Lr;exports.unmountLocationManager=Tn;exports.unmountMainButton=ts;exports.unmountMiniApp=Bs;exports.unmountSecondaryButton=la;exports.unmountSettingsButton=Ca;exports.unmountSwipeBehavior=Ta;exports.unmountThemeParams=us;exports.unmountViewport=Ua;exports.updateBiometryToken=Ir;exports.viewport=Fc;exports.viewportContentSafeAreaInsetBottom=Eo;exports.viewportContentSafeAreaInsetLeft=Co;exports.viewportContentSafeAreaInsetRight=wo;exports.viewportContentSafeAreaInsetTop=Po;exports.viewportContentSafeAreaInsets=Ke;exports.viewportHeight=ze;exports.viewportMountError=Ha;exports.viewportMountPromise=vo;exports.viewportSafeAreaInsetBottom=Ao;exports.viewportSafeAreaInsetLeft=yo;exports.viewportSafeAreaInsetRight=$o;exports.viewportSafeAreaInsetTop=Mo;exports.viewportSafeAreaInsets=Xe;exports.viewportStableHeight=We;exports.viewportState=ho;exports.viewportWidth=So;exports.wrapSafe=f; //# sourceMappingURL=index.cjs.map