UNPKG

@telegram-apps/sdk

Version:

TypeScript Source Development Kit for Telegram Mini Apps client application.

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