@tma.js/sdk 3.1.7 → 3.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var xt=Object.defineProperty;var Tt=(s,r,n)=>r in s?xt(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n;var e=(s,r,n)=>Tt(s,typeof r!="symbol"?r+"":r,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@tma.js/signals"),h=require("@tma.js/bridge"),M=require("@tma.js/toolkit"),A=require("@tma.js/transformers"),t=require("fp-ts"),$=require("error-kid"),v=require("valibot");function j(s){return typeof s=="function"?s():s}class re{constructor({onMounted:r,restoreState:n,initialState:i,onUnmounted:u,isPageReload:a}){e(this,"_isMounted",_.signal(!1));e(this,"isMounted",_.computed(this._isMounted));e(this,"mount");e(this,"unmount");this.mount=()=>{if(this.isMounted())return t.either.right(void 0);const c=j(a)?n():void 0,o=c?t.either.right(c):typeof i=="function"?i():t.either.right(i);return t.function.pipe(o,t.either.map(p=>{_.batch(()=>{this._isMounted.set(!0),r==null||r(p)})}))},this.unmount=()=>{this._isMounted()&&_.batch(()=>{this._isMounted.set(!1),u==null||u()})}}}function de(s){const r={};for(const n in s){const i=s[n];i!==void 0&&(r[n]=i)}return r}function pe(s,r){const n=Object.keys(s),i=Object.keys(r);return n.length!==i.length?!1:n.every(u=>Object.prototype.hasOwnProperty.call(r,u)&&s[u]===r[u])}class z{constructor({initialState:r,onChange:n}){e(this,"_state");e(this,"state");e(this,"setState",r=>{const n={...this.state(),...de(r)};pe(n,this.state())||this._state.set(n)});this._state=_.signal(r,{equals:pe}),this.state=_.computed(this._state),this.state.sub(n)}getter(r){return _.computed(()=>this._state()[r])}hasDiff(r){return!pe({...this.state(),...de(r)},this.state())}}function W(s,r){return _.computed(()=>h.supports(s,j(r)))}function l(s){return Object.assign(M.throwifyFpFn(s),{ifAvailable(...r){return t.function.pipe(s.ifAvailable(...r),t.option.match(()=>({ok:!1}),n=>({ok:!0,data:M.throwifyAnyEither(n)})))}})}function Y(s){return[s]}class ee extends $.errorClassWithData("ValidationError",(r,n)=>({input:r,issues:n}),"Validation error"){}class oe extends $.errorClass("CSSVarsBoundError","CSS variables are already bound"){}class Me extends $.errorClassWithData("DeviceStorageMethodError",r=>({error:r}),r=>[r]){}class xe extends $.errorClassWithData("SecureStorageMethodError",r=>({error:r}),r=>[r]){}class Te extends $.errorClass("NotAvailableError",Y){}class Ot extends $.errorClass("InvalidEnvError",Y){}class Oe extends $.errorClass("FunctionNotAvailableError",Y){}class U extends $.errorClass("InvalidArgumentsError",(r,n)=>[r,{cause:n}]){}class ae extends $.errorClass("ConcurrentCallError",Y){}class Ve extends $.errorClass("SetEmojiStatusError",r=>[`Failed to set emoji status: ${r}`]){}class _e extends $.errorClass("AccessDeniedError",Y){}class Le extends $.errorClass("FullscreenFailedError",Y){}class Re extends $.errorClass("ShareMessageError",Y){}class je extends $.errorClass("UnknownThemeParamsKeyError",r=>[`Unknown theme params key passed: ${r}`]){}function q(s,r){const n=_.computed(()=>j(r.version)||"100"),i=_.computed(()=>j(r.isTma)),{requires:u,returns:a}=r,c=u?typeof u=="object"?u:{every:[u]}:void 0,o=b=>{if(!r.supports)return!0;const g=r.supports[b];return h.supports(g.method,g.param,n())},p=()=>{if(!c)return;const[b,g]="every"in c?["every",c.every]:["some",c.some];for(let d=0;d<g.length;d++){const P=g[d],V=typeof P=="function"?P():h.supports(P,n())?void 0:`it is unsupported in Mini Apps version ${n()}`;if(V&&(b==="every"||d===g.length-1))return V}},m=(...b)=>{for(const g in r.supports)if(r.supports[g].shouldCheck(...b)&&!o(g))return`option ${g} is not supported in Mini Apps version ${n()}`},F=_.computed(()=>!p()),f=_.computed(()=>n()!=="0.0"),w=_.computed(()=>r.isMounted?r.isMounted():!0),C=_.computed(()=>i()&&f()&&F()&&w()),k=b=>{const g=new Oe(b);return["task","promise"].includes(r.returns)?t.taskEither.left(g):t.either.left(g)},E=(...b)=>a==="plain"?t.either.tryCatch(()=>s(...b),g=>g):a==="promise"?t.taskEither.tryCatch(()=>s(...b),g=>g):s(...b);return Object.assign((...b)=>{var V;const g="Unable to call function:";if(!i())return k(`${g} it can't be called outside Mini Apps`);if(!f())return k(`${g} the SDK was not initialized. Use the SDK init() function`);const d=p();if(d)return k(`${g} ${d}`);const P=m(...b);if(P)return k(`${g} ${P}`);if(!w()){const T=(V=r.isMounting)!=null&&V.call(r)?"mounting. Wait for the mount completion":"unmounted. Use the mount() method";return k(`${g} the component is ${T}`)}return E(...b)},s,{isAvailable:C,ifAvailable(...b){return C()?t.option.some(E(...b)):t.option.none}},c?{isSupported:F}:{},r.supports?{supports:o}:{})}function I(s){return r=>q(r,s)}class ue{constructor({isTma:r,storage:n,onClick:i,offClick:u,initialState:a,isPageReload:c,postEvent:o,payload:p,method:m,version:F}){e(this,"isMounted");e(this,"isSupported");e(this,"state");e(this,"stateSetters");e(this,"stateBoolSetters");e(this,"setStateFp");e(this,"setState");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");e(this,"mountFp");e(this,"mount");e(this,"unmount");const f=new z({initialState:a,onChange(b){n.set(b)}}),w=new re({initialState:a,isPageReload:c,onMounted:f.setState,restoreState:n.get}),C={version:F,requires:m,isTma:r},k=I({...C,returns:"plain"}),E=I({...C,returns:"either",isMounted:w.isMounted});this.isMounted=w.isMounted,this.isSupported=W(m,F),this.state=f.state,this.setStateFp=E(b=>{const g={...this.state(),...de(b)};return f.hasDiff(g)?t.function.pipe(o(m,p(g)),t.either.map(()=>{f.setState(g)})):t.either.right(void 0)}),this.setState=l(this.setStateFp),this.onClickFp=k(i),this.onClick=l(this.onClickFp),this.offClickFp=k(u),this.offClick=l(this.offClickFp),this.mountFp=k(()=>{const b=()=>{};return t.function.pipe(w.mount(),t.either.match(b,b))}),this.mount=l(this.mountFp),this.unmount=w.unmount,this.stateSetters=b=>{const g=E(d=>this.setStateFp({[b]:d}));return[l(g),g]},this.stateBoolSetters=b=>{const[,g]=this.stateSetters(b),d=E(()=>g(!1)),P=E(()=>g(!0));return[[l(d),d],[l(P),P]]}}stateGetter(r){return _.computed(()=>this.state()[r])}}class $e{constructor(r){e(this,"isVisible");e(this,"isMounted");e(this,"isSupported");e(this,"hideFp");e(this,"hide");e(this,"showFp");e(this,"show");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");e(this,"mountFp");e(this,"mount");e(this,"unmount");const n=new ue({...r,method:"web_app_setup_back_button",payload:i=>({is_visible:i.isVisible}),initialState:{isVisible:!1}});this.isVisible=n.stateGetter("isVisible"),this.isMounted=n.isMounted,this.isSupported=n.isSupported,[[this.hide,this.hideFp],[this.show,this.showFp]]=n.stateBoolSetters("isVisible"),this.onClick=n.onClick,this.onClickFp=n.onClickFp,this.offClick=n.offClick,this.offClickFp=n.offClickFp,this.mount=n.mount,this.mountFp=n.mountFp,this.unmount=n.unmount}}function S(){return{isTma:_.computed(()=>h.isTMAFp())}}function X(s){return r=>({...r,...j(s)})}function se(s,r){return _.signal(s,r)}const De=se(h.postEventFp),Z=(...s)=>De()(...s),Ge=(...s)=>M.throwifyAnyEither(Z(...s)),O=X({postEvent:Z});function Vt(s){return{get:()=>M.getStorageValue(s),set(r){M.setStorageValue(s,r)}}}function Lt(){return performance.getEntriesByType("navigation")[0]}function Rt(){const s=Lt();return!!s&&s.type==="reload"}function N(s){return X({storage:Vt(s),isPageReload:Rt})}const fe=se("0.0"),y=X({version:fe});function ge(s,r){return{...t.function.pipe(S(),O,y,N(s)),onClick(n,i){return h.on(r,n,i)},offClick(n,i){h.off(r,n,i)}}}const jt=new $e(ge("backButton","back_button_pressed"));class Fe{constructor({initialState:r,onMounted:n,restoreState:i,onUnmounted:u,isPageReload:a}){e(this,"_isMounted",_.signal(!1));e(this,"isMounted",_.computed(this._isMounted));e(this,"mount");e(this,"unmount");this.mount=c=>{if(this._isMounted())return t.taskEither.right(void 0);const o=j(a)?i():void 0;return t.function.pipe(o?t.taskEither.right(o):r(c),t.taskEither.map(p=>{this._isMounted()||_.batch(()=>{this._isMounted.set(!0),n==null||n(p)})}))},this.unmount=()=>{this._isMounted()&&_.batch(()=>{this._isMounted.set(!1),u==null||u()})}}}function Pe(){return new Te("Biometry is not available")}function le(s){let r=!1,n=!1,i="",u=!1,a="",c=!1;return s.available&&(r=!0,n=s.token_saved,i=s.device_id,u=s.access_requested,a=s.type,c=s.access_granted),{available:r,tokenSaved:n,deviceId:i,type:a,accessGranted:c,accessRequested:u}}class Ue{constructor({version:r,request:n,postEvent:i,storage:u,onInfoReceived:a,offInfoReceived:c,isTma:o,isPageReload:p}){e(this,"isAvailable");e(this,"isSupported");e(this,"isMounted");e(this,"state");e(this,"authenticateFp");e(this,"authenticate");e(this,"openSettingsFp");e(this,"openSettings");e(this,"requestAccessFp");e(this,"requestAccess");e(this,"updateTokenFp");e(this,"updateToken");e(this,"mountFp");e(this,"mount");e(this,"unmount");const m=b=>{F.setState(le(b))},F=new z({initialState:{available:!1,type:"unknown",accessGranted:!1,accessRequested:!1,deviceId:"",tokenSaved:!1},onChange:u.set}),f=new Fe({initialState(b){return t.function.pipe(n("web_app_biometry_get_info","biometry_info_received",b),t.taskEither.map(le))},isPageReload:p,onMounted(b){F.setState(b),a(m)},onUnmounted(){c(m)},restoreState:u.get}),w={version:r,requires:"web_app_biometry_request_auth",isTma:o},C=I({...w,returns:"either"}),k=I({...w,returns:"task"}),E=I({...w,isMounted:f.isMounted,returns:"task"});this.isAvailable=F.getter("available"),this.isMounted=f.isMounted,this.isSupported=W("web_app_biometry_request_auth",r),this.state=F.state,this.unmount=f.unmount,this.mountFp=k(f.mount),this.authenticateFp=E(b=>this.isAvailable()?t.function.pipe(n("web_app_biometry_request_auth","biometry_auth_requested",{...b,params:{reason:((b||{}).reason||"").trim()}}),t.taskEither.map(g=>(F.setState({token:g.token}),g))):t.taskEither.left(Pe())),this.openSettingsFp=C(()=>i("web_app_biometry_open_settings")),this.requestAccessFp=E(b=>t.function.pipe(n("web_app_biometry_request_access","biometry_info_received",{...b,params:{reason:((b||{}).reason||"").trim()}}),t.taskEither.chain(g=>{const d=le(g);return d.available?(F.setState(d),t.taskEither.right(d.accessRequested)):t.taskEither.left(Pe())}))),this.updateTokenFp=E((b={})=>{var g;return t.function.pipe(n("web_app_biometry_update_token","biometry_token_updated",{...b,params:{token:b.token||"",reason:(g=b.reason)==null?void 0:g.trim()}}),t.taskEither.map(d=>d.status))}),this.authenticate=l(this.authenticateFp),this.openSettings=l(this.openSettingsFp),this.requestAccess=l(this.requestAccessFp),this.updateToken=l(this.updateTokenFp),this.mount=l(this.mountFp)}}const He=(s,r,n)=>h.requestFp(s,r,{postEvent:Z,...n}),Ce=(s,r,n)=>h.request2Fp(s,r,{postEvent:Z,...n}),$t=M.throwifyFpFn(He),Dt=M.throwifyFpFn(Ce),L=X({request:Ce});function Gt(){return new Ue({...t.function.pipe(S(),O,y,L,N("biometry")),offInfoReceived(s){h.off("biometry_info_received",s)},onInfoReceived(s){return h.on("biometry_info_received",s)}})}const Ut=Gt();class We{constructor({postEvent:r,storage:n,isTma:i,isPageReload:u}){e(this,"isConfirmationEnabled");e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"disableConfirmationFp");e(this,"disableConfirmation");e(this,"enableConfirmationFp");e(this,"enableConfirmation");const a=new z({initialState:{isConfirmationEnabled:!1},onChange(f){n.set(f)}}),c=new re({onMounted:a.setState,restoreState:n.get,initialState:{isConfirmationEnabled:!1},isPageReload:u}),o={requires:"web_app_setup_closing_behavior",isTma:i},p=I({...o,returns:"plain"}),m=I({...o,returns:"either",isMounted:c.isMounted}),F=f=>f===this.isConfirmationEnabled()?t.either.right(void 0):(a.setState({isConfirmationEnabled:f}),r("web_app_setup_closing_behavior",{need_confirmation:f}));this.isConfirmationEnabled=a.getter("isConfirmationEnabled"),this.isMounted=c.isMounted,this.disableConfirmationFp=m(()=>F(!1)),this.enableConfirmationFp=m(()=>F(!0)),this.mountFp=p(()=>{const f=()=>{};return t.function.pipe(c.mount(),t.either.match(f,f))}),this.unmount=c.unmount,this.disableConfirmation=l(this.disableConfirmationFp),this.enableConfirmation=l(this.enableConfirmationFp),this.mount=l(this.mountFp)}}function Ht(){return new We(t.function.pipe(S(),N("closingBehavior"),O))}const Wt=Ht();class Qe{constructor({version:r,isTma:n,invokeCustomMethod:i}){e(this,"isSupported");e(this,"deleteItemFp");e(this,"deleteItem");e(this,"getItemFp");e(this,"getItem");e(this,"getItemsFp");e(this,"getItems");e(this,"getKeysFp");e(this,"getKeys");e(this,"setItemFp");e(this,"setItem");e(this,"clearFp");e(this,"clear");const u=I({version:r,requires:"web_app_invoke_custom_method",isTma:n,returns:"task"});this.isSupported=W("web_app_invoke_custom_method",r),this.deleteItemFp=u((a,c)=>{const o=Array.isArray(a)?a:[a];return t.function.pipe(o.length?i("deleteStorageValues",{keys:o},c):t.taskEither.right(void 0),t.taskEither.map(()=>{}))}),this.getItemFp=u((a,c)=>t.function.pipe(this.getItemsFp([a],c),t.taskEither.map(o=>o[a]||""))),this.getItemsFp=u((a,c)=>t.function.pipe(a.length?i("getStorageValues",{keys:a},c):t.taskEither.right({}),t.taskEither.map(o=>({...a.reduce((p,m)=>(p[m]="",p),{}),...v.parse(v.record(v.string(),v.string()),o)})))),this.getKeysFp=u(a=>t.function.pipe(i("getStorageKeys",{},a),t.taskEither.map(c=>v.parse(v.array(v.string()),c)))),this.setItemFp=u((a,c,o)=>t.function.pipe(i("saveStorageValue",{key:a,value:c},o),t.taskEither.map(()=>{}))),this.clearFp=u(a=>t.function.pipe(this.getKeysFp(a),t.taskEither.chain(this.deleteItemFp))),this.deleteItem=l(this.deleteItemFp),this.getItem=l(this.getItemFp),this.getItems=l(this.getItemsFp),this.getKeys=l(this.getKeysFp),this.setItem=l(this.setItemFp),this.clear=l(this.clearFp)}}const he=se(0);function ce(){return he.set(he()+1),he().toString()}function Ke(s,r,n){return h.invokeCustomMethodFp(s,r,ce(),{...n||{},postEvent:Z})}const we=X({invokeCustomMethod:Ke});function Qt(){return new Qe(t.function.pipe(S(),y,we))}const Kt=Qt();class ze{constructor({isTma:r,request:n,version:i,createRequestId:u}){e(this,"getItemFp");e(this,"getItem");e(this,"setItemFp");e(this,"setItem");e(this,"deleteItemFp");e(this,"deleteItem");e(this,"clearFp");e(this,"clear");const a=I({version:i,requires:"web_app_device_storage_get_key",isTma:r,returns:"task"}),c=(o,p,m)=>{const F=u();return t.function.pipe(n(o,["device_storage_failed",p],{params:{...m,req_id:F},capture:f=>"payload"in f?f.payload.req_id===F:!0}),t.taskEither.chain(f=>f.event==="device_storage_failed"?t.taskEither.left(new Me(f.payload.error||"UNKNOWN_ERROR")):t.taskEither.right(f.payload)))};this.getItemFp=a(o=>t.function.pipe(c("web_app_device_storage_get_key","device_storage_key_received",{key:o}),t.taskEither.map(p=>p.value))),this.setItemFp=a((o,p)=>t.function.pipe(c("web_app_device_storage_save_key","device_storage_key_saved",{key:o,value:p}),t.taskEither.map(()=>{}))),this.deleteItemFp=a(o=>this.setItemFp(o,null)),this.clearFp=a(()=>t.function.pipe(c("web_app_device_storage_clear","device_storage_cleared",{}),t.taskEither.map(()=>{}))),this.getItem=l(this.getItemFp),this.setItem=l(this.setItemFp),this.deleteItem=l(this.deleteItemFp),this.clear=l(this.clearFp)}}const Ne=X({createRequestId:ce});function zt(){return new ze(t.function.pipe(S(),y,L,Ne))}const Nt=zt();function Jt({request:s,...r}){return q(n=>t.function.pipe(s("web_app_request_emoji_status_access","emoji_status_access_requested",n),t.taskEither.map(i=>i.status)),{...r,requires:"web_app_request_emoji_status_access",returns:"task"})}function Yt(){return Jt(t.function.pipe(S(),y,L))}const Je=Yt(),Zt=l(Je);function Xt({request:s,...r}){return q((n,i)=>t.function.pipe(s("web_app_set_emoji_status",["emoji_status_set","emoji_status_failed"],{params:{custom_emoji_id:n,duration:(i||{}).duration},...i}),t.taskEither.chainW(u=>u.event==="emoji_status_failed"?t.taskEither.left(new Ve(u.payload.error)):t.taskEither.right(void 0))),{...r,requires:"web_app_set_emoji_status",returns:"task"})}function er(){return Xt(t.function.pipe(S(),L,y))}const Ye=er(),tr=l(Ye);class Ze{constructor({postEvent:r,isTma:n,version:i}){e(this,"isSupported");e(this,"impactOccurredFp");e(this,"impactOccurred");e(this,"notificationOccurredFp");e(this,"notificationOccurred");e(this,"selectionChangedFp");e(this,"selectionChanged");const u="web_app_trigger_haptic_feedback",a=I({requires:u,isTma:n,version:i,returns:"plain"});this.isSupported=W(u,i),this.impactOccurredFp=a(c=>r(u,{type:"impact",impact_style:c})),this.notificationOccurredFp=a(c=>r(u,{type:"notification",notification_type:c})),this.selectionChangedFp=a(()=>r(u,{type:"selection_change"})),this.impactOccurred=l(this.impactOccurredFp),this.notificationOccurred=l(this.notificationOccurredFp),this.selectionChanged=l(this.selectionChangedFp)}}function rr(){return new Ze(t.function.pipe(S(),O,y))}const sr=rr();function nr({postEvent:s,...r}){return q(()=>s("web_app_add_to_home_screen"),{...r,requires:"web_app_add_to_home_screen",returns:"either"})}function ir(){return nr(t.function.pipe(S(),y,O))}const Xe=ir(),or=l(Xe);function ar({request:s,...r}){return q(n=>t.function.pipe(s("web_app_check_home_screen","home_screen_checked",n),t.taskEither.map(i=>i.status||"unknown")),{...r,requires:"web_app_check_home_screen",returns:"task"})}function ur(){return ar(t.function.pipe(S(),y,L))}const et=ur(),cr=l(et);class tt{constructor({retrieveInitData:r}){e(this,"_state",_.signal());e(this,"_raw",_.signal());e(this,"state",_.computed(this._state));e(this,"authDate",this.fromState("auth_date"));e(this,"canSendAfter",this.fromState("can_send_after"));e(this,"canSendAfterDate",_.computed(()=>{const r=this.authDate(),n=this.canSendAfter();return n&&r?new Date(r.getTime()+n*1e3):void 0}));e(this,"chat",this.fromState("chat"));e(this,"chatType",this.fromState("chat_type"));e(this,"chatInstance",this.fromState("chat_instance"));e(this,"hash",this.fromState("hash"));e(this,"queryId",this.fromState("query_id"));e(this,"raw",_.computed(this._raw));e(this,"receiver",this.fromState("receiver"));e(this,"signature",this.fromState("signature"));e(this,"startParam",this.fromState("start_param"));e(this,"user",this.fromState("user"));e(this,"restoreFp");e(this,"restore");this.restoreFp=()=>t.function.pipe(r(),t.either.map(t.option.match(()=>{},({raw:n,obj:i})=>{this._state.set(i),this._raw.set(n)}))),this.restore=M.throwifyFpFn(this.restoreFp)}fromState(r){return _.computed(()=>{const n=this._state();return n?n[r]:void 0})}}function pr(){return new tt({retrieveInitData(){return t.function.pipe(t.either.Do,t.either.bindW("obj",()=>t.function.pipe(h.retrieveLaunchParamsFp(),t.either.map(({tgWebAppData:s})=>s?t.option.some(s):t.option.none))),t.either.bindW("raw",h.retrieveRawInitDataFp),t.either.map(({obj:s,raw:r})=>t.function.pipe(t.option.Do,t.option.bind("obj",()=>s),t.option.bind("raw",()=>r))))}})}const lr=pr();class rt{constructor({version:r,request:n,isTma:i}){e(this,"isOpened");e(this,"isSupported");e(this,"openSlugFp");e(this,"openSlug");e(this,"openUrlFp");e(this,"openUrl");const u=I({version:r,isTma:i,requires:"web_app_open_invoice",returns:"task"}),a=_.signal(!1),c=()=>{a.set(!1)};this.isSupported=W("web_app_open_invoice",r),this.isOpened=_.computed(a),this.openSlugFp=u((o,p)=>t.function.pipe(this.isOpened()?t.taskEither.left(new ae("Invoice is already opened")):t.taskEither.right(void 0),t.taskEither.chain(()=>(a.set(!0),n("web_app_open_invoice","invoice_closed",{...p,params:{slug:o},capture:m=>o===m.slug}))),t.taskEither.mapBoth(m=>(c(),m),m=>(c(),m.status)))),this.openUrlFp=u((o,p)=>{const{hostname:m,pathname:F}=new URL(o,window.location.href);if(m!=="t.me")return t.taskEither.left(new U(`Link has unexpected hostname: ${m}`));const f=F.match(/^\/(\$|invoice\/)([A-Za-z0-9\-_=]+)$/);return f?this.openSlugFp(f[2],p):t.taskEither.left(new U('Expected to receive a link with a pathname in format "/invoice/{slug}" or "/${slug}"'))}),this.openUrl=l(this.openUrlFp),this.openSlug=l(this.openSlugFp)}}function hr(){return new rt(t.function.pipe(S(),L,y))}const dr=hr();function fr({postEvent:s,...r}){return q((n,i={})=>{if(typeof n=="string")try{n=new URL(n)}catch(u){return t.either.left(new U(`"${n.toString()}" is invalid URL`,u))}return s("web_app_open_link",{url:n.toString(),try_browser:i.tryBrowser,try_instant_view:i.tryInstantView})},{...r,returns:"either"})}function mr(){return fr(t.function.pipe(S(),O))}const st=mr(),br=l(st);function _r({postEvent:s,version:r,...n}){return q(i=>{const u=i.toString();return u.match(/^https:\/\/t.me\/.+/)?h.supports("web_app_open_tg_link",j(r))?(i=new URL(i),s("web_app_open_tg_link",{path_full:i.pathname+i.search})):(window.location.href=u,t.either.right(void 0)):t.either.left(new U(`"${u}" is invalid URL`))},{...n,returns:"either"})}function gr(){return _r(t.function.pipe(S(),O,y))}const Se=gr(),Fr=l(Se);function Cr({openTelegramLink:s,...r}){return q((n,i)=>s("https://t.me/share/url?"+new URLSearchParams({url:n,text:i||""}).toString().replace(/\+/g,"%20")),{...r,returns:"either"})}function wr(){return Cr({...S(),openTelegramLink:Se})}const nt=wr(),Sr=l(nt);function kr(s){let r=!1,n,i;return s.available&&(r=!0,n=s.access_requested,i=s.access_granted),{available:r,accessGranted:i||!1,accessRequested:n||!1}}class it{constructor({version:r,request:n,postEvent:i,storage:u,isTma:a,isPageReload:c}){e(this,"state");e(this,"isAvailable");e(this,"isAccessGranted");e(this,"isAccessRequested");e(this,"isMounted");e(this,"isSupported");e(this,"openSettingsFp");e(this,"openSettings");e(this,"requestLocationFp");e(this,"requestLocation");e(this,"mountFp");e(this,"mount");e(this,"unmount");const o=new z({initialState:{available:!1,accessGranted:!1,accessRequested:!1},onChange:u.set}),p=new Fe({isPageReload:c,restoreState:u.get,onMounted:o.setState,initialState(C){return t.function.pipe(n("web_app_check_location","location_checked",C),t.taskEither.map(kr))}}),m={version:r,requires:"web_app_check_location",isTma:a},F=I({...m,returns:"either"}),f=I({...m,returns:"task"}),w=I({...m,returns:"task",isMounted:p.isMounted});this.isAvailable=o.getter("available"),this.isAccessRequested=o.getter("accessRequested"),this.isAccessGranted=o.getter("accessGranted"),this.isSupported=W("web_app_check_location",r),this.isMounted=p.isMounted,this.state=o.state,this.unmount=p.unmount,this.mountFp=f(p.mount),this.openSettingsFp=F(()=>i("web_app_open_location_settings")),this.requestLocationFp=w(C=>t.function.pipe(n("web_app_request_location","location_requested",C),t.taskEither.map(k=>{if(!k.available)return o.setState({available:!1}),null;const{available:E,...b}=k;return b}))),this.mount=l(this.mountFp),this.openSettings=l(this.openSettingsFp),this.requestLocation=l(this.requestLocationFp)}}function Er(){return new it(t.function.pipe(S(),O,y,L,N("locationManager")))}const yr=Er();class ot{constructor({defaults:r,...n}){e(this,"bgColor");e(this,"hasShineEffect");e(this,"isEnabled");e(this,"isLoaderVisible");e(this,"isVisible");e(this,"isMounted");e(this,"state");e(this,"text");e(this,"textColor");e(this,"showFp");e(this,"show");e(this,"hideFp");e(this,"hide");e(this,"enableFp");e(this,"enable");e(this,"enableShineEffectFp");e(this,"enableShineEffect");e(this,"disableFp");e(this,"disable");e(this,"disableShineEffectFp");e(this,"disableShineEffect");e(this,"setBgColorFp");e(this,"setBgColor");e(this,"setTextColorFp");e(this,"setTextColor");e(this,"setTextFp");e(this,"setText");e(this,"showLoaderFp");e(this,"showLoader");e(this,"hideLoaderFp");e(this,"hideLoader");e(this,"setParamsFp");e(this,"setParams");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");const i=new ue({...n,version:"100",initialState:{hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,text:"Continue"},method:"web_app_setup_main_button",payload:a=>({has_shine_effect:a.hasShineEffect,is_visible:a.isVisible,is_active:a.isEnabled,is_progress_visible:a.isLoaderVisible,text:a.text,color:a.bgColor,text_color:a.textColor})}),u=(a,c)=>{const o=i.stateGetter(a);return _.computed(()=>o()||j(c))};this.bgColor=u("bgColor",r.bgColor),this.textColor=u("textColor",r.textColor),this.hasShineEffect=i.stateGetter("hasShineEffect"),this.isEnabled=i.stateGetter("isEnabled"),this.isLoaderVisible=i.stateGetter("isLoaderVisible"),this.text=i.stateGetter("text"),this.isVisible=i.stateGetter("isVisible"),this.isMounted=i.isMounted,this.state=i.state,[this.setBgColor,this.setBgColorFp]=i.stateSetters("bgColor"),[this.setTextColor,this.setTextColorFp]=i.stateSetters("textColor"),[[this.disableShineEffect,this.disableShineEffectFp],[this.enableShineEffect,this.enableShineEffectFp]]=i.stateBoolSetters("hasShineEffect"),[[this.disable,this.disableFp],[this.enable,this.enableFp]]=i.stateBoolSetters("isEnabled"),[[this.hideLoader,this.hideLoaderFp],[this.showLoader,this.showLoaderFp]]=i.stateBoolSetters("isLoaderVisible"),[this.setText,this.setTextFp]=i.stateSetters("text"),[[this.hide,this.hideFp],[this.show,this.showFp]]=i.stateBoolSetters("isVisible"),this.setParams=i.setState,this.setParamsFp=i.setStateFp,this.onClick=i.onClick,this.onClickFp=i.onClickFp,this.offClick=i.offClick,this.offClickFp=i.offClickFp,this.mount=i.mount,this.mountFp=i.mountFp,this.unmount=i.unmount}}function ke(s,r){document.documentElement.style.setProperty(s,r)}function Ee(s){document.documentElement.style.removeProperty(s)}function at(s){return t.function.pipe(A.toRGBFullFp(s),t.either.map(r=>Math.sqrt([.299,.587,.114].reduce((n,i,u)=>{const a=parseInt(r.slice(1+u*2,1+(u+1)*2),16);return n+a*a*i},0))<120))}const ye=M.throwifyFpFn(at);class ut{constructor({initialState:r,onChange:n,offChange:i,isTma:u,storage:a,isPageReload:c}){e(this,"accentTextColor");e(this,"bgColor");e(this,"buttonColor");e(this,"buttonTextColor");e(this,"bottomBarBgColor");e(this,"destructiveTextColor");e(this,"headerBgColor");e(this,"hintColor");e(this,"linkColor");e(this,"secondaryBgColor");e(this,"sectionBgColor");e(this,"sectionHeaderTextColor");e(this,"sectionSeparatorColor");e(this,"subtitleTextColor");e(this,"textColor");e(this,"_isCssVarsBound",_.signal(!1));e(this,"isCssVarsBound",_.computed(this._isCssVarsBound));e(this,"bindCssVarsFp");e(this,"bindCssVars");e(this,"state");e(this,"isDark",_.computed(()=>{const r=this.bgColor();return!r||ye(r)}));e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"unmount");const o=new z({initialState:{},onChange:a.set}),p=C=>{o.setState(C.theme_params)},m=new re({initialState:()=>t.either.right(j(r)),isPageReload:c,onMounted(C){o.setState(C),n(p)},onUnmounted(){i(p)},restoreState:a.get}),F={isTma:u,returns:"either"},f=I(F),w=I({...F,isMounted:m.isMounted});this.accentTextColor=o.getter("accent_text_color"),this.bgColor=o.getter("bg_color"),this.buttonColor=o.getter("button_color"),this.buttonTextColor=o.getter("button_text_color"),this.bottomBarBgColor=o.getter("bottom_bar_bg_color"),this.destructiveTextColor=o.getter("destructive_text_color"),this.headerBgColor=o.getter("header_bg_color"),this.hintColor=o.getter("hint_color"),this.linkColor=o.getter("link_color"),this.secondaryBgColor=o.getter("secondary_bg_color"),this.sectionBgColor=o.getter("section_bg_color"),this.sectionHeaderTextColor=o.getter("section_header_text_color"),this.sectionSeparatorColor=o.getter("section_separator_color"),this.subtitleTextColor=o.getter("subtitle_text_color"),this.textColor=o.getter("text_color"),this.state=o.state,this.isMounted=m.isMounted,this.bindCssVarsFp=w(C=>{if(this._isCssVarsBound())return t.either.left(new oe);C||(C=b=>`--tg-theme-${M.snakeToKebab(b)}`);const k=b=>{Object.entries(o.state()).forEach(([g,d])=>{d&&b(g,d)})},E=()=>{k((b,g)=>{ke(C(b),g)})};return E(),o.state.sub(E),this._isCssVarsBound.set(!0),t.either.right(()=>{k(Ee),o.state.unsub(E),this._isCssVarsBound.set(!1)})}),this.mountFp=f(m.mount),this.unmount=m.unmount,this.bindCssVars=l(this.bindCssVarsFp),this.mount=l(this.mountFp)}}const me=se({});function vr(){return new ut({...t.function.pipe(S(),N("themeParams")),offChange(s){h.off("theme_changed",s)},onChange(s){h.on("theme_changed",s)},initialState:me})}const te=vr();function ct(s,r,n){return t.function.pipe(ge(s,r),i=>({...i,defaults:n}))}const Ir=new ot(ct("mainButton","main_button_pressed",{bgColor:_.computed(()=>te.buttonColor()||"#2481cc"),textColor:_.computed(()=>te.buttonTextColor()||"#ffffff")}));class pt{constructor({storage:r,isPageReload:n,version:i,postEvent:u,isTma:a,theme:c,onVisibilityChanged:o,offVisibilityChanged:p}){e(this,"isSupported");e(this,"isDark",_.computed(()=>{const r=this.bgColorRgb();return r?ye(r):!1}));e(this,"isActive");e(this,"state");e(this,"isCssVarsBound");e(this,"bindCssVarsFp");e(this,"bindCssVars");e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"bgColor");e(this,"bgColorRgb");e(this,"setBgColorFp");e(this,"setBgColor");e(this,"headerColor");e(this,"headerColorRgb");e(this,"setHeaderColorFp");e(this,"setHeaderColor");e(this,"bottomBarColor");e(this,"bottomBarColorRgb");e(this,"setBottomBarColorFp");e(this,"setBottomBarColor");e(this,"closeFp");e(this,"close");e(this,"readyFp");e(this,"ready");const m=d=>{w.setState({isActive:d.is_visible})},F=d=>{[[this.headerColor,"web_app_set_header_color"],[this.bgColor,"web_app_set_background_color"],[this.bottomBarColor,"web_app_set_bottom_bar_color"]].forEach(([P,V])=>{const T=P();if(!A.isRGB(T)&&(V!=="web_app_set_header_color"||!["bg_color","secondary_bg_color"].includes(T))){const D=d[T];D&&u(V,{color:D})}})},f=new re({initialState(){return t.either.right({bgColor:"bg_color",headerColor:"header_bg_color",bottomBarColor:"bottom_bar_bg_color",isActive:!0})},isPageReload:n,onMounted:d=>{o(m),c.sub(F),w.setState(d)},onUnmounted(){p(m),c.unsub(F)},restoreState:r.get});this.isMounted=f.isMounted,this.mountFp=q(()=>{const d=()=>{};return t.function.pipe(f.mount(),t.either.match(d,d))},{isTma:a,returns:"plain"}),this.mount=l(this.mountFp),this.unmount=f.unmount;const w=new z({initialState:{bgColor:"bg_color",bottomBarColor:"bottom_bar_bg_color",headerColor:"bg_color",isActive:!1},onChange:r.set});this.state=w.state;const C=d=>A.isRGB(d)?d:j(c)[d],k=d=>_.computed(()=>C(d()));this.isActive=w.getter("isActive"),this.isSupported=_.computed(()=>["web_app_set_header_color","web_app_set_background_color","web_app_set_bottom_bar_color"].some(d=>h.supports(d,j(i))));const E=_.signal(!1);this.isCssVarsBound=_.computed(E),this.bindCssVarsFp=q(d=>{if(E())return t.either.left(new oe);const[P,V]=M.createCbCollector(()=>{E.set(!1)}),T=(D,R)=>{const H=()=>{ke(D,R()||null)};H(),P(R.sub(H),Ee.bind(null,D))};return d||(d=D=>`--tg-${M.camelToKebab(D)}`),T(d("bgColor"),this.bgColorRgb),T(d("bottomBarColor"),this.bottomBarColorRgb),T(d("headerColor"),this.headerColorRgb),E.set(!0),t.either.right(V)},{isTma:a,returns:"either",isMounted:this.isMounted}),this.bindCssVars=l(this.bindCssVarsFp);const b=d=>{const P=w.getter(d),V=k(P),T={headerColor:"web_app_set_header_color",bgColor:"web_app_set_background_color",bottomBarColor:"web_app_set_bottom_bar_color"}[d],D=q(R=>{if(R===P())return t.either.right(void 0);if(T==="web_app_set_header_color"&&(R==="bg_color"||R==="secondary_bg_color"))return t.function.pipe(u("web_app_set_header_color",{color_key:R}),t.either.map(()=>{w.setState({[d]:R})}));const H=C(R);return t.function.pipe(H?u(T,{color:H}):t.either.left(new je(R)),t.either.map(()=>{w.setState({[d]:R})}))},{isTma:a,version:i,requires:T,isMounted:this.isMounted,returns:"either",supports:d==="headerColor"?{rgb:{method:"web_app_set_header_color",param:"color",shouldCheck:A.isRGB}}:void 0});return[P,V,l(D),D]};[this.bgColor,this.bgColorRgb,this.setBgColor,this.setBgColorFp]=b("bgColor"),[this.headerColor,this.headerColorRgb,this.setHeaderColor,this.setHeaderColorFp]=b("headerColor"),[this.bottomBarColor,this.bottomBarColorRgb,this.setBottomBarColor,this.setBottomBarColorFp]=b("bottomBarColor");const g=I({isTma:a,returns:"either"});this.closeFp=g(d=>u("web_app_close",{return_back:d})),this.close=l(this.closeFp),this.readyFp=g(()=>u("web_app_ready")),this.ready=l(this.readyFp)}}function Br(){return new pt({...t.function.pipe(S(),O,y,N("miniApp")),offVisibilityChanged(s){h.off("visibility_changed",s)},onVisibilityChanged(s){h.on("visibility_changed",s)},theme:te.state})}const lt=Br();function qr(s){const r=s.message.trim(),n=(s.title||"").trim(),i=s.buttons||[];if(n.length>64)return t.either.left(new U(`Invalid title: ${n}`));if(!r||r.length>256)return t.either.left(new U(`Invalid message: ${r}`));if(i.length>3)return t.either.left(new U(`Invalid buttons count: ${i.length}`));const u=[];if(!i.length)u.push({type:"close",id:""});else for(let a=0;a<i.length;a++){const c=i[a],o=c.id||"";if(o.length>64)return t.either.left(new U(`Button with index ${a} has invalid id: ${o}`));if(!c.type||c.type==="default"||c.type==="destructive"){const p=c.text.trim();if(!p||p.length>64)return t.either.left(new U(`Button with index ${a} has invalid text: ${p}`));u.push({type:c.type,text:p,id:o})}else u.push({type:c.type,id:o})}return t.either.right({title:n,message:r,buttons:u})}class ht{constructor({version:r,isTma:n,request:i}){e(this,"isOpened");e(this,"isSupported");e(this,"showFp");e(this,"show");const u=_.signal(!1),a=()=>{u.set(!1)},c=I({version:r,isTma:n,requires:"web_app_open_popup",returns:"task"});this.isSupported=W("web_app_open_popup",r),this.isOpened=_.computed(u),this.showFp=c(o=>t.function.pipe(this.isOpened()?t.taskEither.left(new ae("A popup is already opened")):t.taskEither.right(void 0),t.taskEither.chainW(()=>t.taskEither.fromEither(qr(o))),t.taskEither.chain(p=>(u.set(!0),i("web_app_open_popup","popup_closed",{...o,params:p}))),t.taskEither.mapBoth(p=>(a(),p),p=>(a(),p.button_id)))),this.show=l(this.showFp)}}function Ar(){return new ht(t.function.pipe(S(),L,y))}const Pr=Ar();function Mr({request:s,...r}){return q(n=>t.function.pipe(s("web_app_request_phone","phone_requested",n),t.taskEither.map(i=>i.status)),{...r,requires:"web_app_request_phone",returns:"task"})}function xr(){return Mr(t.function.pipe(S(),y,L))}const ve=xr(),Tr=l(ve);function Or({invokeCustomMethod:s,requestPhoneAccess:r,...n}){const i=c=>t.function.pipe(s("getRequestedContact",{},{...c,timeout:(c||{}).timeout||5e3}),t.taskEither.chainW(o=>{const p=v.safeParse(v.string(),o);if(!p.success)return t.taskEither.left(new ee(o,p.issues));if(!p.output)return t.taskEither.right(void 0);const m=v.safeParse(A.pipeQueryToSchema(v.looseObject({contact:A.pipeJsonToSchema(v.looseObject({user_id:v.number(),phone_number:v.string(),first_name:v.string(),last_name:v.optional(v.string())})),auth_date:v.pipe(v.string(),v.transform(F=>new Date(Number(F)*1e3)),v.date()),hash:v.string()})),p.output);return m.success?t.taskEither.right({raw:p.output,parsed:m.output}):t.taskEither.left(new ee(p.output,m.issues))})),u=c=>t.function.pipe(i(c),t.taskEither.match(o=>ee.is(o)?t.either.left(o):t.either.right(void 0),o=>t.either.right(o))),a=c=>M.BetterTaskEither(async(o,p,m)=>{let F=50;for(;!m.isRejected;){const f=await u(m)();if(f._tag==="Left")return p(f.left);if(f.right)return o(f.right);await new Promise(w=>setTimeout(w,F)),F+=50}},c);return q(c=>M.BetterTaskEither.fn(o=>t.function.pipe(u(o),t.taskEither.chain(p=>p?t.taskEither.right(p):t.function.pipe(r(o),t.taskEither.chainW(m=>m==="sent"?a(o):t.taskEither.left(new _e("User denied access")))))),c),{...n,returns:"task",requires:"web_app_request_phone"})}function Vr(){return Or({...t.function.pipe(S(),we,y),requestPhoneAccess:ve})}function Lr({requestContact:s,...r}){return q(s,{...r,returns:"task",requires:"web_app_request_phone"})}function Rr(){return Lr({...t.function.pipe(S(),y),requestContact(s){return t.function.pipe(Ie(s),t.taskEither.map(r=>r.parsed))}})}const Ie=Vr(),jr=l(Ie),dt=Rr(),$r=l(dt);function Dr({request:s,...r}){return q(n=>t.function.pipe(s("web_app_request_write_access","write_access_requested",n),t.taskEither.map(i=>i.status)),{...r,requires:"web_app_request_write_access",returns:"task"})}function Gr(){return Dr(t.function.pipe(S(),y,L))}const ft=Gr(),Ur=l(ft);class mt{constructor({version:r,onClosed:n,onTextReceived:i,isTma:u,postEvent:a}){e(this,"isOpened");e(this,"isSupported");e(this,"captureFp");e(this,"capture");e(this,"closeFp");e(this,"close");e(this,"openFp");e(this,"open");const c={version:r,requires:"web_app_open_scan_qr_popup",isTma:u},o=I({...c,returns:"either"}),p=I({...c,returns:"task"}),m=_.signal(!1),F=()=>{m.set(!1)};this.isSupported=W("web_app_open_scan_qr_popup",r),this.isOpened=_.computed(m),this.captureFp=p(f=>{let w;return t.function.pipe(this.openFp({...f,onCaptured:C=>{f.capture(C)&&(w=C,this.close())}}),t.taskEither.map(()=>w))}),this.closeFp=o(()=>t.function.pipe(a("web_app_close_scan_qr_popup"),t.either.map(F))),this.openFp=p(f=>t.function.pipe(m()?t.taskEither.left(new ae("The QR Scanner is already opened")):async()=>a("web_app_open_scan_qr_popup",{text:f.text}),t.taskEither.chainW(()=>{m.set(!0);const[w,C]=M.createCbCollector(),k=E=>(C(),m.set(!1),E);return t.function.pipe(M.BetterTaskEither(E=>{w(n(E),m.sub(b=>{b||E()}),i(f.onCaptured))},f),t.taskEither.mapBoth(k,k))}))),this.open=l(this.openFp),this.capture=l(this.captureFp),this.close=l(this.closeFp)}}function Hr(){return new mt({...t.function.pipe(S(),O,y),onClosed(s){return h.on("scan_qr_popup_closed",s)},onTextReceived(s){return h.on("qr_text_received",r=>{s(r.data)})}})}const Wr=Hr();class bt{constructor({defaults:r,...n}){e(this,"isSupported");e(this,"position");e(this,"bgColor");e(this,"hasShineEffect");e(this,"isEnabled");e(this,"isLoaderVisible");e(this,"isVisible");e(this,"isMounted");e(this,"state");e(this,"text");e(this,"textColor");e(this,"showFp");e(this,"show");e(this,"hideFp");e(this,"hide");e(this,"enableFp");e(this,"enable");e(this,"enableShineEffectFp");e(this,"enableShineEffect");e(this,"disableFp");e(this,"disable");e(this,"disableShineEffectFp");e(this,"disableShineEffect");e(this,"setBgColorFp");e(this,"setBgColor");e(this,"setTextColorFp");e(this,"setTextColor");e(this,"setTextFp");e(this,"setText");e(this,"setPositionFp");e(this,"setPosition");e(this,"showLoaderFp");e(this,"showLoader");e(this,"hideLoaderFp");e(this,"hideLoader");e(this,"setParamsFp");e(this,"setParams");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");const i=new ue({...n,initialState:{hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,text:"Cancel",position:"left"},method:"web_app_setup_secondary_button",payload:a=>({has_shine_effect:a.hasShineEffect,is_visible:a.isVisible,is_active:a.isEnabled,is_progress_visible:a.isLoaderVisible,text:a.text,color:a.bgColor,text_color:a.textColor,position:a.position})}),u=(a,c)=>{const o=i.stateGetter(a);return _.computed(()=>o()||j(c))};this.isSupported=W("web_app_setup_secondary_button",n.version),this.bgColor=u("bgColor",r.bgColor),this.textColor=u("textColor",r.textColor),this.position=i.stateGetter("position"),this.hasShineEffect=i.stateGetter("hasShineEffect"),this.isEnabled=i.stateGetter("isEnabled"),this.isLoaderVisible=i.stateGetter("isLoaderVisible"),this.text=i.stateGetter("text"),this.isVisible=i.stateGetter("isVisible"),this.isMounted=i.isMounted,this.state=i.state,[this.setPosition,this.setPositionFp]=i.stateSetters("position"),[this.setBgColor,this.setBgColorFp]=i.stateSetters("bgColor"),[this.setTextColor,this.setTextColorFp]=i.stateSetters("textColor"),[[this.disableShineEffect,this.disableShineEffectFp],[this.enableShineEffect,this.enableShineEffectFp]]=i.stateBoolSetters("hasShineEffect"),[[this.disable,this.disableFp],[this.enable,this.enableFp]]=i.stateBoolSetters("isEnabled"),[[this.hideLoader,this.hideLoaderFp],[this.showLoader,this.showLoaderFp]]=i.stateBoolSetters("isLoaderVisible"),[this.setText,this.setTextFp]=i.stateSetters("text"),[[this.hide,this.hideFp],[this.show,this.showFp]]=i.stateBoolSetters("isVisible"),this.setParams=i.setState,this.setParamsFp=i.setStateFp,this.onClick=i.onClick,this.onClickFp=i.onClickFp,this.offClick=i.offClick,this.offClickFp=i.offClickFp,this.mount=i.mount,this.mountFp=i.mountFp,this.unmount=i.unmount}}function Qr(){return new bt(ct("secondaryButton","secondary_button_pressed",{bgColor:_.computed(()=>lt.bottomBarColorRgb()||"#000000"),textColor:_.computed(()=>te.buttonColor()||"#2481cc")}))}const Kr=Qr();class _t{constructor({isTma:r,request:n,version:i,createRequestId:u}){e(this,"getItemFp");e(this,"getItem");e(this,"restoreItemFp");e(this,"restoreItem");e(this,"setItemFp");e(this,"setItem");e(this,"deleteItemFp");e(this,"deleteItem");e(this,"clearFp");e(this,"clear");const a=I({version:i,requires:"web_app_secure_storage_get_key",isTma:r,returns:"task"}),c=(o,p,m)=>{const F=u();return t.function.pipe(n(o,["secure_storage_failed",p],{params:{...m,req_id:F},capture:f=>"payload"in f?f.payload.req_id===F:!0}),t.taskEither.chain(f=>f.event==="secure_storage_failed"?t.taskEither.left(new xe(f.payload.error||"UNKNOWN_ERROR")):t.taskEither.right(f.payload)))};this.getItemFp=a(o=>t.function.pipe(c("web_app_secure_storage_get_key","secure_storage_key_received",{key:o}),t.taskEither.map(p=>({value:p.value,canRestore:!!p.can_restore})))),this.setItemFp=a((o,p)=>t.function.pipe(c("web_app_secure_storage_save_key","secure_storage_key_saved",{key:o,value:p}),t.taskEither.map(()=>{}))),this.deleteItemFp=a(o=>this.setItemFp(o,null)),this.clearFp=a(()=>t.function.pipe(c("web_app_secure_storage_clear","secure_storage_cleared",{}),t.taskEither.map(()=>{}))),this.restoreItemFp=a(o=>t.function.pipe(c("web_app_secure_storage_restore_key","secure_storage_key_restored",{key:o}),t.taskEither.map(p=>p.value))),this.getItem=l(this.getItemFp),this.setItem=l(this.setItemFp),this.deleteItem=l(this.deleteItemFp),this.clear=l(this.clearFp),this.restoreItem=l(this.restoreItemFp)}}function zr(){return new _t(t.function.pipe(S(),y,L,Ne))}const Nr=zr();class gt{constructor(r){e(this,"isVisible");e(this,"isMounted");e(this,"isSupported");e(this,"hideFp");e(this,"hide");e(this,"showFp");e(this,"show");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");e(this,"mountFp");e(this,"mount");e(this,"unmount");const n=new ue({...r,method:"web_app_setup_settings_button",payload:i=>({is_visible:i.isVisible}),initialState:{isVisible:!1}});this.isVisible=n.stateGetter("isVisible"),this.isMounted=n.isMounted,this.isSupported=n.isSupported,[[this.hide,this.hideFp],[this.show,this.showFp]]=n.stateBoolSetters("isVisible"),this.onClick=n.onClick,this.onClickFp=n.onClickFp,this.offClick=n.offClick,this.offClickFp=n.offClickFp,this.mount=n.mount,this.mountFp=n.mountFp,this.unmount=n.unmount}}const Jr=new gt(ge("settingsButton","settings_button_pressed"));class Ft{constructor({postEvent:r,storage:n,isTma:i,isPageReload:u,version:a}){e(this,"isSupported");e(this,"isVerticalEnabled");e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"disableVerticalFp");e(this,"disableVertical");e(this,"enableVerticalFp");e(this,"enableVertical");const c={isVerticalEnabled:!0},o=new z({initialState:c,onChange(C){n.set(C)}}),p=new re({initialState:c,isPageReload:u,onMounted:o.setState,restoreState:n.get}),m={requires:"web_app_setup_swipe_behavior",isTma:i,version:a},F=I({...m,returns:"plain"}),f=I({...m,isMounted:p.isMounted,returns:"either"}),w=C=>{const k={isVerticalEnabled:C};return o.hasDiff(k)?t.function.pipe(r("web_app_setup_swipe_behavior",{allow_vertical_swipe:C}),t.either.map(()=>{o.setState(k)})):t.either.right(void 0)};this.isSupported=W("web_app_setup_swipe_behavior",a),this.isVerticalEnabled=o.getter("isVerticalEnabled"),this.isMounted=p.isMounted,this.disableVerticalFp=f(()=>w(!1)),this.enableVerticalFp=f(()=>w(!0)),this.mountFp=F(()=>{const C=()=>{};return t.function.pipe(p.mount(),t.either.match(C,C))}),this.unmount=p.unmount,this.disableVertical=l(this.disableVerticalFp),this.enableVertical=l(this.enableVerticalFp),this.mount=l(this.mountFp)}}function Yr(){return new Ft(t.function.pipe(S(),O,y,N("swipeBehavior")))}const Zr=Yr();async function Xr(s){try{const{clipboard:n}=navigator;if(n)return await n.writeText(s)}catch{}const r=document.createElement("textarea");r.value=s,r.style.top="0",r.style.left="0",r.style.position="fixed",document.body.appendChild(r),r.focus(),r.select();try{document.execCommand("copy")}finally{document.body.removeChild(r)}}function es({request:s,...r}){return q((n,i,u)=>t.function.pipe(s("web_app_request_file_download","file_download_requested",{...u,params:{url:n,file_name:i}}),t.taskEither.chain(a=>a.status==="downloading"?t.taskEither.right(void 0):t.taskEither.left(new _e("User denied the action")))),{...r,requires:"web_app_request_file_download",returns:"task"})}function ts(){return es(t.function.pipe(S(),L,y))}const Ct=ts(),rs=l(Ct);function ss({invokeCustomMethod:s,...r}){return q(n=>t.function.pipe(s("getCurrentTime",{},n),t.taskEither.chain(i=>{const u=v.safeParse(v.pipe(v.number(),v.integer(),v.transform(a=>new Date(a*1e3)),v.date()),i);return u.success?t.taskEither.right(u.output):t.taskEither.left(new ee(i,u.issues))})),{...r,requires:"web_app_invoke_custom_method",returns:"task"})}function ns(){return ss(t.function.pipe(S(),we,y))}const wt=ns(),is=l(wt);function os({postEvent:s,...r}){return q(()=>s("web_app_hide_keyboard"),{...r,returns:"either",requires:"web_app_hide_keyboard"})}function as(){return os(t.function.pipe(S(),O,y))}const St=as(),us=l(St);function cs({request:s,createRequestId:r,...n}){return q(i=>{const u=r();return t.function.pipe(s("web_app_read_text_from_clipboard","clipboard_text_received",{...i,params:{req_id:u},capture:h.captureSameReq(u)}),t.taskEither.map(({data:a=null})=>a))},{...n,requires:"web_app_read_text_from_clipboard",returns:"task"})}function ps(){return cs({...t.function.pipe(S(),y,L),createRequestId:ce})}const kt=ps(),ls=l(kt);function Et(s){const r={},n=s.match(/Telegram-Android(?:\/([^ ]+))?(?: (\([^)]+\))?|$)/);if(n){const[,i,u]=n;i&&(r.appVersion=i),u&&u.slice(1,u.length-1).split(";").forEach(a=>{const[c,o]=a.trim().split(" ");if(c==="Android")r.androidVersion=o;else if(c==="SDK"){const p=parseInt(o,10);p&&(r.sdkVersion=p)}else o?(r.manufacturer=c,r.model=o):r.performanceClass=c})}return r}function hs(){return Et(navigator.userAgent)}function ds({postEvent:s,...r}){return q(n=>{const{size:i}=new Blob([n]);return!i||i>4096?t.either.left(new U(i?"Maximum size of data to send is 4096 bytes":"Attempted to send empty data")):s("web_app_data_send",{data:n})},{...r,returns:"either"})}function fs(){return ds(t.function.pipe(S(),O))}const yt=fs(),ms=l(yt);function bs({request:s,...r}){return q((n,i)=>t.function.pipe(s("web_app_send_prepared_message",["prepared_message_failed","prepared_message_sent"],{...i,params:{id:n}}),t.taskEither.chain(u=>u.event==="prepared_message_failed"?t.taskEither.left(new Re(u.payload.error)):t.taskEither.right(void 0))),{...r,requires:"web_app_send_prepared_message",returns:"task"})}function _s(){return bs(t.function.pipe(S(),L,y))}const vt=_s(),gs=l(vt);function Fs({postEvent:s,...r}){return q((n,i={})=>s("web_app_share_to_story",{text:i.text,media_url:n,widget_link:i.widgetLink}),{...r,requires:"web_app_share_to_story",returns:"either"})}function Cs(){return Fs(t.function.pipe(S(),O,y))}const It=Cs(),ws=l(It),be=se(!1);function Ss({isInlineMode:s,postEvent:r,...n}){return q((i,u)=>r("web_app_switch_inline_query",{query:i,chat_types:u||[]}),{...n,requires:{every:["web_app_switch_inline_query",()=>j(s)?void 0:"The application must be launched in the inline mode"]},returns:"either"})}function ks(){return Ss({...t.function.pipe(S(),O,y),isInlineMode:be})}const Bt=ks(),Es=l(Bt);class qt{constructor({storage:r,isPageReload:n,onContentSafeAreaInsetsChanged:i,onSafeAreaInsetsChanged:u,onViewportChanged:a,onFullscreenChanged:c,offContentSafeAreaInsetsChanged:o,offFullscreenChanged:p,offSafeAreaInsetsChanged:m,offViewportChanged:F,request:f,isViewportStable:w,isFullscreen:C,isTma:k,version:E,postEvent:b}){e(this,"state");e(this,"height");e(this,"stableHeight");e(this,"width");e(this,"isExpanded");e(this,"isStable",_.computed(()=>this.height()===this.stableHeight()));e(this,"contentSafeAreaInsets");e(this,"contentSafeAreaInsetTop");e(this,"contentSafeAreaInsetLeft");e(this,"contentSafeAreaInsetRight");e(this,"contentSafeAreaInsetBottom");e(this,"safeAreaInsets");e(this,"safeAreaInsetTop");e(this,"safeAreaInsetLeft");e(this,"safeAreaInsetRight");e(this,"safeAreaInsetBottom");e(this,"isFullscreen");e(this,"requestFullscreenFp");e(this,"requestFullscreen");e(this,"exitFullscreenFp");e(this,"exitFullscreen");e(this,"isCssVarsBound");e(this,"bindCssVarsFp");e(this,"bindCssVars");e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"expandFp");e(this,"expand");const g={top:0,right:0,left:0,bottom:0},d=new z({initialState:{contentSafeAreaInsets:g,height:0,isExpanded:!1,isFullscreen:!1,safeAreaInsets:g,stableHeight:0,width:0},onChange:r.set}),P=B=>{d.setState({isExpanded:B.is_expanded,height:B.height,width:B.width,stableHeight:B.is_state_stable?B.height:void 0})},V=B=>{d.setState({isFullscreen:B.is_fullscreen})},T=B=>{d.setState({safeAreaInsets:B})},D=B=>{d.setState({contentSafeAreaInsets:B})},R=new Fe({initialState(B){const J=Q=>()=>{const[K,G]=Q==="safe-area"?["web_app_request_safe_area","safe_area_changed"]:["web_app_request_content_safe_area","content_safe_area_changed"];return h.supports(K,j(E))?f(K,G,B):t.taskEither.right({top:0,left:0,right:0,bottom:0})},x=Q=>()=>typeof Q=="boolean"?t.taskEither.right(Q):t.taskEither.fromEither(Q());return t.function.pipe(t.taskEither.Do,t.taskEither.bindW("safeAreaInsets",J("safe-area")),t.taskEither.bindW("contentSafeAreaInsets",J("content-safe-area")),t.taskEither.bindW("isFullscreen",x(C)),t.taskEither.bindW("isViewportStable",x(w)),t.taskEither.chainW(({isViewportStable:Q,...K})=>Q?t.taskEither.right({...K,height:window.innerHeight,isExpanded:!0,stableHeight:window.innerHeight,width:window.innerWidth}):t.function.pipe(f("web_app_request_viewport","viewport_changed",B),t.taskEither.map(G=>({...K,height:G.height,isExpanded:G.is_expanded,stableHeight:G.is_state_stable?G.height:0,width:G.width})))))},isPageReload:n,onMounted(B){a(P),c(V),u(T),i(D),d.setState(B)},onUnmounted(){F(P),p(V),m(T),o(D)},restoreState:r.get}),H=B=>_.computed(()=>this.safeAreaInsets()[B]),ne=B=>_.computed(()=>this.contentSafeAreaInsets()[B]);this.state=d.state,this.height=d.getter("height"),this.stableHeight=d.getter("stableHeight"),this.width=d.getter("width"),this.isExpanded=d.getter("isExpanded"),this.safeAreaInsets=d.getter("safeAreaInsets"),this.safeAreaInsetTop=H("top"),this.safeAreaInsetBottom=H("bottom"),this.safeAreaInsetLeft=H("left"),this.safeAreaInsetRight=H("right"),this.contentSafeAreaInsets=d.getter("contentSafeAreaInsets"),this.contentSafeAreaInsetTop=ne("top"),this.contentSafeAreaInsetBottom=ne("bottom"),this.contentSafeAreaInsetLeft=ne("left"),this.contentSafeAreaInsetRight=ne("right");const Pt=I({isTma:k,returns:"task"}),Be=I({isTma:k,returns:"either"}),Mt=I({isTma:k,requires:"web_app_request_fullscreen",version:E,returns:"task"}),qe=B=>Mt(J=>t.function.pipe(f(B?"web_app_request_fullscreen":"web_app_exit_fullscreen",["fullscreen_changed","fullscreen_failed"],J),t.taskEither.chain(x=>x.event==="fullscreen_failed"&&x.payload.error!=="ALREADY_FULLSCREEN"?t.taskEither.left(new Le(x.payload.error)):(d.setState({isFullscreen:"is_fullscreen"in x.payload?x.payload.is_fullscreen:!0}),t.taskEither.right(void 0)))));this.isMounted=R.isMounted,this.mountFp=Pt(R.mount),this.mount=l(this.mountFp),this.isFullscreen=d.getter("isFullscreen"),this.requestFullscreenFp=qe(!0),this.requestFullscreen=l(this.requestFullscreenFp),this.exitFullscreenFp=qe(!1),this.exitFullscreen=l(this.exitFullscreenFp);const ie=_.signal(!1);this.isCssVarsBound=_.computed(ie),this.bindCssVarsFp=Be(B=>{if(ie())return t.either.left(new oe);B||(B=x=>`--tg-viewport-${M.camelToKebab(x)}`);const J=[["height",this.height],["stableHeight",this.stableHeight],["width",this.width],["safeAreaInsetTop",this.safeAreaInsetTop],["safeAreaInsetBottom",this.safeAreaInsetBottom],["safeAreaInsetLeft",this.safeAreaInsetLeft],["safeAreaInsetRight",this.safeAreaInsetRight],["contentSafeAreaInsetTop",this.contentSafeAreaInsetTop],["contentSafeAreaInsetBottom",this.contentSafeAreaInsetBottom],["contentSafeAreaInsetLeft",this.contentSafeAreaInsetLeft],["contentSafeAreaInsetRight",this.contentSafeAreaInsetRight]].reduce((x,[Q,K])=>{const G=B(Q);if(G){const Ae=()=>{ke(G,`${K()}px`)};x.push({update:Ae,removeListener:K.sub(Ae),cssVar:G})}return x},[]);return J.forEach(x=>{x.update()}),ie.set(!0),t.either.right(()=>{J.forEach(x=>{x.removeListener(),Ee(x.cssVar)}),ie.set(!1)})}),this.bindCssVars=l(this.bindCssVarsFp),this.expandFp=Be(()=>b("web_app_expand")),this.expand=l(this.expandFp)}}function ys(){const s=a=>({on:c=>{h.on(a,c)},off:c=>{h.off(a,c)}}),r=s("viewport_changed"),n=s("fullscreen_changed"),i=s("safe_area_changed"),u=s("content_safe_area_changed");return new qt({...t.function.pipe(S(),N("viewport"),y,O,L),isFullscreen(){return t.function.pipe(h.retrieveLaunchParamsFp(),t.either.map(a=>!!a.tgWebAppFullscreen))},isViewportStable(){return t.function.pipe(h.retrieveLaunchParamsFp(),t.either.map(a=>["macos","tdesktop","unigram","webk","weba","web"].includes(a.tgWebAppPlatform)))},offContentSafeAreaInsetsChanged:u.off,offFullscreenChanged:n.off,offSafeAreaInsetsChanged:i.off,offViewportChanged:r.off,onContentSafeAreaInsetsChanged:u.on,onFullscreenChanged:n.on,onSafeAreaInsetsChanged:i.on,onViewportChanged:r.on})}const vs=ys();function At(s={}){const{version:r,isInlineMode:n,themeParams:i}=s;if(r&&typeof n=="boolean"&&i)fe.set(r),be.set(n),me.set(i);else{const o=t.function.pipe(h.retrieveLaunchParamsFp(),t.either.matchW(p=>p,p=>{fe.set(r||p.tgWebAppVersion),be.set(typeof n=="boolean"?n:!!p.tgWebAppBotInline),me.set(i||p.tgWebAppThemeParams)}));if(o)return t.either.left(o)}s.postEvent&&De.set(s.postEvent);const[u,a]=M.createCbCollector(h.on("reload_iframe",()=>{h.logger().log("Received a request to reload the page"),Ge("iframe_will_reload"),window.location.reload()})),{acceptCustomStyles:c=!0}=s;if(c){const o=document.createElement("style");o.id="telegram-custom-styles",document.head.appendChild(o),u(h.on("set_custom_style",p=>{o.innerHTML=p}),()=>{document.head.removeChild(o)})}return t.function.pipe(Z("iframe_ready",{reload_supported:!0}),t.either.map(()=>(h.logger().log("The package was initialized"),a)))}const Is=M.throwifyFpFn(At);Object.defineProperty(exports,"CancelledError",{enumerable:!0,get:()=>h.CancelledError});Object.defineProperty(exports,"InvalidLaunchParamsError",{enumerable:!0,get:()=>h.InvalidLaunchParamsError});Object.defineProperty(exports,"InvokeCustomMethodFailedError",{enumerable:!0,get:()=>h.InvokeCustomMethodFailedError});Object.defineProperty(exports,"LaunchParamsRetrieveError",{enumerable:!0,get:()=>h.LaunchParamsRetrieveError});Object.defineProperty(exports,"MethodParameterUnsupportedError",{enumerable:!0,get:()=>h.MethodParameterUnsupportedError});Object.defineProperty(exports,"MethodUnsupportedError",{enumerable:!0,get:()=>h.MethodUnsupportedError});Object.defineProperty(exports,"TimeoutError",{enumerable:!0,get:()=>h.TimeoutError});Object.defineProperty(exports,"UnknownEnvError",{enumerable:!0,get:()=>h.UnknownEnvError});Object.defineProperty(exports,"applyPolyfills",{enumerable:!0,get:()=>h.applyPolyfills});Object.defineProperty(exports,"createLogger",{enumerable:!0,get:()=>h.createLogger});Object.defineProperty(exports,"createPostEvent",{enumerable:!0,get:()=>h.createPostEvent});Object.defineProperty(exports,"createStartParam",{enumerable:!0,get:()=>h.createStartParam});Object.defineProperty(exports,"createStartParamFp",{enumerable:!0,get:()=>h.createStartParamFp});Object.defineProperty(exports,"debug",{enumerable:!0,get:()=>h.debug});Object.defineProperty(exports,"decodeBase64Url",{enumerable:!0,get:()=>h.decodeBase64Url});Object.defineProperty(exports,"decodeBase64UrlFp",{enumerable:!0,get:()=>h.decodeBase64UrlFp});Object.defineProperty(exports,"decodeStartParam",{enumerable:!0,get:()=>h.decodeStartParam});Object.defineProperty(exports,"decodeStartParamFp",{enumerable:!0,get:()=>h.decodeStartParamFp});Object.defineProperty(exports,"deepSnakeToCamelObjKeys",{enumerable:!0,get:()=>h.deepSnakeToCamelObjKeys});Object.defineProperty(exports,"emitEvent",{enumerable:!0,get:()=>h.emitEvent});Object.defineProperty(exports,"encodeBase64Url",{enumerable:!0,get:()=>h.encodeBase64Url});Object.defineProperty(exports,"getReleaseVersion",{enumerable:!0,get:()=>h.getReleaseVersion});Object.defineProperty(exports,"isSafeToCreateStartParam",{enumerable:!0,get:()=>h.isSafeToCreateStartParam});Object.defineProperty(exports,"isTMA",{enumerable:!0,get:()=>h.isTMA});Object.defineProperty(exports,"isTMAFp",{enumerable:!0,get:()=>h.isTMAFp});Object.defineProperty(exports,"logger",{enumerable:!0,get:()=>h.logger});Object.defineProperty(exports,"mockTelegramEnv",{enumerable:!0,get:()=>h.mockTelegramEnv});Object.defineProperty(exports,"off",{enumerable:!0,get:()=>h.off});Object.defineProperty(exports,"offAll",{enumerable:!0,get:()=>h.offAll});Object.defineProperty(exports,"on",{enumerable:!0,get:()=>h.on});Object.defineProperty(exports,"retrieveLaunchParams",{enumerable:!0,get:()=>h.retrieveLaunchParams});Object.defineProperty(exports,"retrieveLaunchParamsFp",{enumerable:!0,get:()=>h.retrieveLaunchParamsFp});Object.defineProperty(exports,"retrieveRawInitData",{enumerable:!0,get:()=>h.retrieveRawInitData});Object.defineProperty(exports,"retrieveRawInitDataFp",{enumerable:!0,get:()=>h.retrieveRawInitDataFp});Object.defineProperty(exports,"retrieveRawLaunchParams",{enumerable:!0,get:()=>h.retrieveRawLaunchParams});Object.defineProperty(exports,"retrieveRawLaunchParamsFp",{enumerable:!0,get:()=>h.retrieveRawLaunchParamsFp});Object.defineProperty(exports,"setDebug",{enumerable:!0,get:()=>h.setDebug});Object.defineProperty(exports,"setTargetOrigin",{enumerable:!0,get:()=>h.setTargetOrigin});Object.defineProperty(exports,"supports",{enumerable:!0,get:()=>h.supports});Object.defineProperty(exports,"targetOrigin",{enumerable:!0,get:()=>h.targetOrigin});Object.defineProperty(exports,"isAnyRGB",{enumerable:!0,get:()=>A.isAnyRGB});Object.defineProperty(exports,"isRGB",{enumerable:!0,get:()=>A.isRGB});Object.defineProperty(exports,"isRGBA",{enumerable:!0,get:()=>A.isRGBA});Object.defineProperty(exports,"isRGBAShort",{enumerable:!0,get:()=>A.isRGBAShort});Object.defineProperty(exports,"isRGBShort",{enumerable:!0,get:()=>A.isRGBShort});Object.defineProperty(exports,"parseInitDataQuery",{enumerable:!0,get:()=>A.parseInitDataQuery});Object.defineProperty(exports,"parseInitDataQueryFp",{enumerable:!0,get:()=>A.parseInitDataQueryFp});Object.defineProperty(exports,"parseLaunchParamsQuery",{enumerable:!0,get:()=>A.parseLaunchParamsQuery});Object.defineProperty(exports,"parseLaunchParamsQueryFp",{enumerable:!0,get:()=>A.parseLaunchParamsQueryFp});Object.defineProperty(exports,"serializeInitDataQuery",{enumerable:!0,get:()=>A.serializeInitDataQuery});Object.defineProperty(exports,"serializeLaunchParamsQuery",{enumerable:!0,get:()=>A.serializeLaunchParamsQuery});Object.defineProperty(exports,"toRGB",{enumerable:!0,get:()=>A.toRGB});Object.defineProperty(exports,"toRGBFp",{enumerable:!0,get:()=>A.toRGBFp});Object.defineProperty(exports,"toRGBFull",{enumerable:!0,get:()=>A.toRGBFull});Object.defineProperty(exports,"toRGBFullFp",{enumerable:!0,get:()=>A.toRGBFullFp});exports.AccessDeniedError=_e;exports.BackButton=$e;exports.Biometry=Ue;exports.CSSVarsBoundError=oe;exports.ClosingBehavior=We;exports.CloudStorage=Qe;exports.ConcurrentCallError=ae;exports.DeviceStorage=ze;exports.DeviceStorageMethodError=Me;exports.FullscreenFailedError=Le;exports.FunctionUnavailableError=Oe;exports.HapticFeedback=Ze;exports.InitData=tt;exports.InvalidArgumentsError=U;exports.InvalidEnvError=Ot;exports.Invoice=rt;exports.LocationManager=it;exports.MainButton=ot;exports.MiniApp=pt;exports.NotAvailableError=Te;exports.Popup=ht;exports.QrScanner=mt;exports.SecondaryButton=bt;exports.SecureStorage=_t;exports.SecureStorageMethodError=xe;exports.SetEmojiStatusError=Ve;exports.SettingsButton=gt;exports.ShareMessageError=Re;exports.SwipeBehavior=Ft;exports.ThemeParams=ut;exports.UnknownThemeParamsKeyError=je;exports.ValidationError=ee;exports.Viewport=qt;exports.addToHomeScreen=or;exports.addToHomeScreenFp=Xe;exports.backButton=jt;exports.biometry=Ut;exports.checkHomeScreenStatus=cr;exports.checkHomeScreenStatusFp=et;exports.closingBehavior=Wt;exports.cloudStorage=Kt;exports.copyTextToClipboard=Xr;exports.createRequestId=ce;exports.deviceStorage=Nt;exports.downloadFile=rs;exports.downloadFileFp=Ct;exports.getCurrentTime=is;exports.getCurrentTimeFp=wt;exports.hapticFeedback=sr;exports.hideKeyboard=us;exports.hideKeyboardFp=St;exports.init=Is;exports.initData=lr;exports.initFp=At;exports.invoice=dr;exports.invokeCustomMethod=Ke;exports.isColorDark=ye;exports.isColorDarkFp=at;exports.locationManager=yr;exports.mainButton=Ir;exports.miniApp=lt;exports.openLink=br;exports.openLinkFp=st;exports.openTelegramLink=Fr;exports.openTelegramLinkFp=Se;exports.popup=Pr;exports.postEvent=Ge;exports.postEventFp=Z;exports.qrScanner=Wr;exports.readTextFromClipboard=ls;exports.readTextFromClipboardFp=kt;exports.request=$t;exports.request2=Dt;exports.request2Fp=Ce;exports.requestContact=$r;exports.requestContactComplete=jr;exports.requestContactCompleteFp=Ie;exports.requestContactFp=dt;exports.requestEmojiStatusAccess=Zt;exports.requestEmojiStatusAccessFp=Je;exports.requestFp=He;exports.requestPhoneAccess=Tr;exports.requestPhoneAccessFp=ve;exports.requestWriteAccess=Ur;exports.requestWriteAccessFp=ft;exports.retrieveAndroidDeviceData=hs;exports.retrieveAndroidDeviceDataFrom=Et;exports.secondaryButton=Kr;exports.secureStorage=Nr;exports.sendData=ms;exports.sendDataFp=yt;exports.setEmojiStatus=tr;exports.setEmojiStatusFp=Ye;exports.settingsButton=Jr;exports.shareMessage=gs;exports.shareMessageFp=vt;exports.shareStory=ws;exports.shareStoryFp=It;exports.shareURL=Sr;exports.shareURLFp=nt;exports.swipeBehavior=Zr;exports.switchInlineQuery=Es;exports.switchInlineQueryFp=Bt;exports.themeParams=te;exports.viewport=vs;
1
+ "use strict";var xt=Object.defineProperty;var Tt=(s,r,n)=>r in s?xt(s,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):s[r]=n;var e=(s,r,n)=>Tt(s,typeof r!="symbol"?r+"":r,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@tma.js/signals"),h=require("@tma.js/bridge"),M=require("@tma.js/toolkit"),A=require("@tma.js/transformers"),t=require("fp-ts"),$=require("error-kid"),v=require("valibot");function j(s){return typeof s=="function"?s():s}class re{constructor({onMounted:r,restoreState:n,initialState:i,onUnmounted:u,isPageReload:a}){e(this,"_isMounted",_.signal(!1));e(this,"isMounted",_.computed(this._isMounted));e(this,"mount");e(this,"unmount");this.mount=()=>{if(this.isMounted())return t.either.right(void 0);const c=j(a)?n():void 0,o=c?t.either.right(c):typeof i=="function"?i():t.either.right(i);return t.function.pipe(o,t.either.map(p=>{_.batch(()=>{this._isMounted.set(!0),r==null||r(p)})}))},this.unmount=()=>{this._isMounted()&&_.batch(()=>{this._isMounted.set(!1),u==null||u()})}}}function de(s){const r={};for(const n in s){const i=s[n];i!==void 0&&(r[n]=i)}return r}function pe(s,r){const n=Object.keys(s),i=Object.keys(r);return n.length!==i.length?!1:n.every(u=>Object.prototype.hasOwnProperty.call(r,u)&&s[u]===r[u])}class z{constructor({initialState:r,onChange:n}){e(this,"_state");e(this,"state");e(this,"setState",r=>{const n={...this.state(),...de(r)};pe(n,this.state())||this._state.set(n)});this._state=_.signal(r,{equals:pe}),this.state=_.computed(this._state),this.state.sub(n)}getter(r){return _.computed(()=>this._state()[r])}hasDiff(r){return!pe({...this.state(),...de(r)},this.state())}}function W(s,r){return _.computed(()=>h.supports(s,j(r)))}function l(s){return Object.assign(M.throwifyFpFn(s),{ifAvailable(...r){return t.function.pipe(s.ifAvailable(...r),t.option.match(()=>({ok:!1}),n=>({ok:!0,data:M.throwifyAnyEither(n)})))}})}function Y(s){return[s]}class ee extends $.errorClassWithData({name:"ValidationError",data:(r,n)=>({input:r,issues:n}),super:"Validation error"}){}class oe extends $.errorClass({name:"CSSVarsBoundError",super:"CSS variables are already bound"}){}class Me extends $.errorClassWithData({name:"DeviceStorageMethodError",data:r=>({error:r}),super:r=>[r]}){}class xe extends $.errorClassWithData({name:"SecureStorageMethodError",data:r=>({error:r}),super:r=>[r]}){}class Te extends $.errorClass({name:"NotAvailableError",super:Y}){}class Ot extends $.errorClass({name:"InvalidEnvError",super:Y}){}class Oe extends $.errorClass({name:"FunctionNotAvailableError",super:Y}){}class U extends $.errorClass({name:"InvalidArgumentsError",super:(r,n)=>[r,{cause:n}]}){}class ae extends $.errorClass({name:"ConcurrentCallError",super:Y}){}class Ve extends $.errorClass({name:"SetEmojiStatusError",super:r=>[`Failed to set emoji status: ${r}`]}){}class _e extends $.errorClass({name:"AccessDeniedError",super:Y}){}class Le extends $.errorClass({name:"FullscreenFailedError",super:Y}){}class Re extends $.errorClass({name:"ShareMessageError",super:Y}){}class je extends $.errorClass({name:"UnknownThemeParamsKeyError",super:r=>[`Unknown theme params key passed: ${r}`]}){}function q(s,r){const n=_.computed(()=>j(r.version)||"100"),i=_.computed(()=>j(r.isTma)),{requires:u,returns:a}=r,c=u?typeof u=="object"?u:{every:[u]}:void 0,o=b=>{if(!r.supports)return!0;const g=r.supports[b];return h.supports(g.method,g.param,n())},p=()=>{if(!c)return;const[b,g]="every"in c?["every",c.every]:["some",c.some];for(let d=0;d<g.length;d++){const P=g[d],V=typeof P=="function"?P():h.supports(P,n())?void 0:`it is unsupported in Mini Apps version ${n()}`;if(V&&(b==="every"||d===g.length-1))return V}},m=(...b)=>{for(const g in r.supports)if(r.supports[g].shouldCheck(...b)&&!o(g))return`option ${g} is not supported in Mini Apps version ${n()}`},F=_.computed(()=>!p()),f=_.computed(()=>n()!=="0.0"),w=_.computed(()=>r.isMounted?r.isMounted():!0),C=_.computed(()=>i()&&f()&&F()&&w()),k=b=>{const g=new Oe(b);return["task","promise"].includes(r.returns)?t.taskEither.left(g):t.either.left(g)},E=(...b)=>a==="plain"?t.either.tryCatch(()=>s(...b),g=>g):a==="promise"?t.taskEither.tryCatch(()=>s(...b),g=>g):s(...b);return Object.assign((...b)=>{var V;const g="Unable to call function:";if(!i())return k(`${g} it can't be called outside Mini Apps`);if(!f())return k(`${g} the SDK was not initialized. Use the SDK init() function`);const d=p();if(d)return k(`${g} ${d}`);const P=m(...b);if(P)return k(`${g} ${P}`);if(!w()){const T=(V=r.isMounting)!=null&&V.call(r)?"mounting. Wait for the mount completion":"unmounted. Use the mount() method";return k(`${g} the component is ${T}`)}return E(...b)},s,{isAvailable:C,ifAvailable(...b){return C()?t.option.some(E(...b)):t.option.none}},c?{isSupported:F}:{},r.supports?{supports:o}:{})}function I(s){return r=>q(r,s)}class ue{constructor({isTma:r,storage:n,onClick:i,offClick:u,initialState:a,isPageReload:c,postEvent:o,payload:p,method:m,version:F}){e(this,"isMounted");e(this,"isSupported");e(this,"state");e(this,"stateSetters");e(this,"stateBoolSetters");e(this,"setStateFp");e(this,"setState");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");e(this,"mountFp");e(this,"mount");e(this,"unmount");const f=new z({initialState:a,onChange(b){n.set(b)}}),w=new re({initialState:a,isPageReload:c,onMounted:f.setState,restoreState:n.get}),C={version:F,requires:m,isTma:r},k=I({...C,returns:"plain"}),E=I({...C,returns:"either",isMounted:w.isMounted});this.isMounted=w.isMounted,this.isSupported=W(m,F),this.state=f.state,this.setStateFp=E(b=>{const g={...this.state(),...de(b)};return f.hasDiff(g)?t.function.pipe(o(m,p(g)),t.either.map(()=>{f.setState(g)})):t.either.right(void 0)}),this.setState=l(this.setStateFp),this.onClickFp=k(i),this.onClick=l(this.onClickFp),this.offClickFp=k(u),this.offClick=l(this.offClickFp),this.mountFp=k(()=>{const b=()=>{};return t.function.pipe(w.mount(),t.either.match(b,b))}),this.mount=l(this.mountFp),this.unmount=w.unmount,this.stateSetters=b=>{const g=E(d=>this.setStateFp({[b]:d}));return[l(g),g]},this.stateBoolSetters=b=>{const[,g]=this.stateSetters(b),d=E(()=>g(!1)),P=E(()=>g(!0));return[[l(d),d],[l(P),P]]}}stateGetter(r){return _.computed(()=>this.state()[r])}}class $e{constructor(r){e(this,"isVisible");e(this,"isMounted");e(this,"isSupported");e(this,"hideFp");e(this,"hide");e(this,"showFp");e(this,"show");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");e(this,"mountFp");e(this,"mount");e(this,"unmount");const n=new ue({...r,method:"web_app_setup_back_button",payload:i=>({is_visible:i.isVisible}),initialState:{isVisible:!1}});this.isVisible=n.stateGetter("isVisible"),this.isMounted=n.isMounted,this.isSupported=n.isSupported,[[this.hide,this.hideFp],[this.show,this.showFp]]=n.stateBoolSetters("isVisible"),this.onClick=n.onClick,this.onClickFp=n.onClickFp,this.offClick=n.offClick,this.offClickFp=n.offClickFp,this.mount=n.mount,this.mountFp=n.mountFp,this.unmount=n.unmount}}function S(){return{isTma:_.computed(()=>h.isTMAFp())}}function X(s){return r=>({...r,...j(s)})}function se(s,r){return _.signal(s,r)}const De=se(h.postEventFp),Z=(...s)=>De()(...s),Ge=(...s)=>M.throwifyAnyEither(Z(...s)),O=X({postEvent:Z});function Vt(s){return{get:()=>M.getStorageValue(s),set(r){M.setStorageValue(s,r)}}}function Lt(){return performance.getEntriesByType("navigation")[0]}function Rt(){const s=Lt();return!!s&&s.type==="reload"}function N(s){return X({storage:Vt(s),isPageReload:Rt})}const fe=se("0.0"),y=X({version:fe});function ge(s,r){return{...t.function.pipe(S(),O,y,N(s)),onClick(n,i){return h.on(r,n,i)},offClick(n,i){h.off(r,n,i)}}}const jt=new $e(ge("backButton","back_button_pressed"));class Fe{constructor({initialState:r,onMounted:n,restoreState:i,onUnmounted:u,isPageReload:a}){e(this,"_isMounted",_.signal(!1));e(this,"isMounted",_.computed(this._isMounted));e(this,"mount");e(this,"unmount");this.mount=c=>{if(this._isMounted())return t.taskEither.right(void 0);const o=j(a)?i():void 0;return t.function.pipe(o?t.taskEither.right(o):r(c),t.taskEither.map(p=>{this._isMounted()||_.batch(()=>{this._isMounted.set(!0),n==null||n(p)})}))},this.unmount=()=>{this._isMounted()&&_.batch(()=>{this._isMounted.set(!1),u==null||u()})}}}function Pe(){return new Te("Biometry is not available")}function le(s){let r=!1,n=!1,i="",u=!1,a="",c=!1;return s.available&&(r=!0,n=s.token_saved,i=s.device_id,u=s.access_requested,a=s.type,c=s.access_granted),{available:r,tokenSaved:n,deviceId:i,type:a,accessGranted:c,accessRequested:u}}class Ue{constructor({version:r,request:n,postEvent:i,storage:u,onInfoReceived:a,offInfoReceived:c,isTma:o,isPageReload:p}){e(this,"isAvailable");e(this,"isSupported");e(this,"isMounted");e(this,"state");e(this,"authenticateFp");e(this,"authenticate");e(this,"openSettingsFp");e(this,"openSettings");e(this,"requestAccessFp");e(this,"requestAccess");e(this,"updateTokenFp");e(this,"updateToken");e(this,"mountFp");e(this,"mount");e(this,"unmount");const m=b=>{F.setState(le(b))},F=new z({initialState:{available:!1,type:"unknown",accessGranted:!1,accessRequested:!1,deviceId:"",tokenSaved:!1},onChange:u.set}),f=new Fe({initialState(b){return t.function.pipe(n("web_app_biometry_get_info","biometry_info_received",b),t.taskEither.map(le))},isPageReload:p,onMounted(b){F.setState(b),a(m)},onUnmounted(){c(m)},restoreState:u.get}),w={version:r,requires:"web_app_biometry_request_auth",isTma:o},C=I({...w,returns:"either"}),k=I({...w,returns:"task"}),E=I({...w,isMounted:f.isMounted,returns:"task"});this.isAvailable=F.getter("available"),this.isMounted=f.isMounted,this.isSupported=W("web_app_biometry_request_auth",r),this.state=F.state,this.unmount=f.unmount,this.mountFp=k(f.mount),this.authenticateFp=E(b=>this.isAvailable()?t.function.pipe(n("web_app_biometry_request_auth","biometry_auth_requested",{...b,params:{reason:((b||{}).reason||"").trim()}}),t.taskEither.map(g=>(F.setState({token:g.token}),g))):t.taskEither.left(Pe())),this.openSettingsFp=C(()=>i("web_app_biometry_open_settings")),this.requestAccessFp=E(b=>t.function.pipe(n("web_app_biometry_request_access","biometry_info_received",{...b,params:{reason:((b||{}).reason||"").trim()}}),t.taskEither.chain(g=>{const d=le(g);return d.available?(F.setState(d),t.taskEither.right(d.accessRequested)):t.taskEither.left(Pe())}))),this.updateTokenFp=E((b={})=>{var g;return t.function.pipe(n("web_app_biometry_update_token","biometry_token_updated",{...b,params:{token:b.token||"",reason:(g=b.reason)==null?void 0:g.trim()}}),t.taskEither.map(d=>d.status))}),this.authenticate=l(this.authenticateFp),this.openSettings=l(this.openSettingsFp),this.requestAccess=l(this.requestAccessFp),this.updateToken=l(this.updateTokenFp),this.mount=l(this.mountFp)}}const He=(s,r,n)=>h.requestFp(s,r,{postEvent:Z,...n}),Ce=(s,r,n)=>h.request2Fp(s,r,{postEvent:Z,...n}),$t=M.throwifyFpFn(He),Dt=M.throwifyFpFn(Ce),L=X({request:Ce});function Gt(){return new Ue({...t.function.pipe(S(),O,y,L,N("biometry")),offInfoReceived(s){h.off("biometry_info_received",s)},onInfoReceived(s){return h.on("biometry_info_received",s)}})}const Ut=Gt();class We{constructor({postEvent:r,storage:n,isTma:i,isPageReload:u}){e(this,"isConfirmationEnabled");e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"disableConfirmationFp");e(this,"disableConfirmation");e(this,"enableConfirmationFp");e(this,"enableConfirmation");const a=new z({initialState:{isConfirmationEnabled:!1},onChange(f){n.set(f)}}),c=new re({onMounted:a.setState,restoreState:n.get,initialState:{isConfirmationEnabled:!1},isPageReload:u}),o={requires:"web_app_setup_closing_behavior",isTma:i},p=I({...o,returns:"plain"}),m=I({...o,returns:"either",isMounted:c.isMounted}),F=f=>f===this.isConfirmationEnabled()?t.either.right(void 0):(a.setState({isConfirmationEnabled:f}),r("web_app_setup_closing_behavior",{need_confirmation:f}));this.isConfirmationEnabled=a.getter("isConfirmationEnabled"),this.isMounted=c.isMounted,this.disableConfirmationFp=m(()=>F(!1)),this.enableConfirmationFp=m(()=>F(!0)),this.mountFp=p(()=>{const f=()=>{};return t.function.pipe(c.mount(),t.either.match(f,f))}),this.unmount=c.unmount,this.disableConfirmation=l(this.disableConfirmationFp),this.enableConfirmation=l(this.enableConfirmationFp),this.mount=l(this.mountFp)}}function Ht(){return new We(t.function.pipe(S(),N("closingBehavior"),O))}const Wt=Ht();class Qe{constructor({version:r,isTma:n,invokeCustomMethod:i}){e(this,"isSupported");e(this,"deleteItemFp");e(this,"deleteItem");e(this,"getItemFp");e(this,"getItem");e(this,"getItemsFp");e(this,"getItems");e(this,"getKeysFp");e(this,"getKeys");e(this,"setItemFp");e(this,"setItem");e(this,"clearFp");e(this,"clear");const u=I({version:r,requires:"web_app_invoke_custom_method",isTma:n,returns:"task"});this.isSupported=W("web_app_invoke_custom_method",r),this.deleteItemFp=u((a,c)=>{const o=Array.isArray(a)?a:[a];return t.function.pipe(o.length?i("deleteStorageValues",{keys:o},c):t.taskEither.right(void 0),t.taskEither.map(()=>{}))}),this.getItemFp=u((a,c)=>t.function.pipe(this.getItemsFp([a],c),t.taskEither.map(o=>o[a]||""))),this.getItemsFp=u((a,c)=>t.function.pipe(a.length?i("getStorageValues",{keys:a},c):t.taskEither.right({}),t.taskEither.map(o=>({...a.reduce((p,m)=>(p[m]="",p),{}),...v.parse(v.record(v.string(),v.string()),o)})))),this.getKeysFp=u(a=>t.function.pipe(i("getStorageKeys",{},a),t.taskEither.map(c=>v.parse(v.array(v.string()),c)))),this.setItemFp=u((a,c,o)=>t.function.pipe(i("saveStorageValue",{key:a,value:c},o),t.taskEither.map(()=>{}))),this.clearFp=u(a=>t.function.pipe(this.getKeysFp(a),t.taskEither.chain(this.deleteItemFp))),this.deleteItem=l(this.deleteItemFp),this.getItem=l(this.getItemFp),this.getItems=l(this.getItemsFp),this.getKeys=l(this.getKeysFp),this.setItem=l(this.setItemFp),this.clear=l(this.clearFp)}}const he=se(0);function ce(){return he.set(he()+1),he().toString()}function Ke(s,r,n){return h.invokeCustomMethodFp(s,r,ce(),{...n||{},postEvent:Z})}const we=X({invokeCustomMethod:Ke});function Qt(){return new Qe(t.function.pipe(S(),y,we))}const Kt=Qt();class ze{constructor({isTma:r,request:n,version:i,createRequestId:u}){e(this,"getItemFp");e(this,"getItem");e(this,"setItemFp");e(this,"setItem");e(this,"deleteItemFp");e(this,"deleteItem");e(this,"clearFp");e(this,"clear");const a=I({version:i,requires:"web_app_device_storage_get_key",isTma:r,returns:"task"}),c=(o,p,m)=>{const F=u();return t.function.pipe(n(o,["device_storage_failed",p],{params:{...m,req_id:F},capture:f=>"payload"in f?f.payload.req_id===F:!0}),t.taskEither.chain(f=>f.event==="device_storage_failed"?t.taskEither.left(new Me(f.payload.error||"UNKNOWN_ERROR")):t.taskEither.right(f.payload)))};this.getItemFp=a(o=>t.function.pipe(c("web_app_device_storage_get_key","device_storage_key_received",{key:o}),t.taskEither.map(p=>p.value))),this.setItemFp=a((o,p)=>t.function.pipe(c("web_app_device_storage_save_key","device_storage_key_saved",{key:o,value:p}),t.taskEither.map(()=>{}))),this.deleteItemFp=a(o=>this.setItemFp(o,null)),this.clearFp=a(()=>t.function.pipe(c("web_app_device_storage_clear","device_storage_cleared",{}),t.taskEither.map(()=>{}))),this.getItem=l(this.getItemFp),this.setItem=l(this.setItemFp),this.deleteItem=l(this.deleteItemFp),this.clear=l(this.clearFp)}}const Ne=X({createRequestId:ce});function zt(){return new ze(t.function.pipe(S(),y,L,Ne))}const Nt=zt();function Jt({request:s,...r}){return q(n=>t.function.pipe(s("web_app_request_emoji_status_access","emoji_status_access_requested",n),t.taskEither.map(i=>i.status)),{...r,requires:"web_app_request_emoji_status_access",returns:"task"})}function Yt(){return Jt(t.function.pipe(S(),y,L))}const Je=Yt(),Zt=l(Je);function Xt({request:s,...r}){return q((n,i)=>t.function.pipe(s("web_app_set_emoji_status",["emoji_status_set","emoji_status_failed"],{params:{custom_emoji_id:n,duration:(i||{}).duration},...i}),t.taskEither.chainW(u=>u.event==="emoji_status_failed"?t.taskEither.left(new Ve(u.payload.error)):t.taskEither.right(void 0))),{...r,requires:"web_app_set_emoji_status",returns:"task"})}function er(){return Xt(t.function.pipe(S(),L,y))}const Ye=er(),tr=l(Ye);class Ze{constructor({postEvent:r,isTma:n,version:i}){e(this,"isSupported");e(this,"impactOccurredFp");e(this,"impactOccurred");e(this,"notificationOccurredFp");e(this,"notificationOccurred");e(this,"selectionChangedFp");e(this,"selectionChanged");const u="web_app_trigger_haptic_feedback",a=I({requires:u,isTma:n,version:i,returns:"plain"});this.isSupported=W(u,i),this.impactOccurredFp=a(c=>r(u,{type:"impact",impact_style:c})),this.notificationOccurredFp=a(c=>r(u,{type:"notification",notification_type:c})),this.selectionChangedFp=a(()=>r(u,{type:"selection_change"})),this.impactOccurred=l(this.impactOccurredFp),this.notificationOccurred=l(this.notificationOccurredFp),this.selectionChanged=l(this.selectionChangedFp)}}function rr(){return new Ze(t.function.pipe(S(),O,y))}const sr=rr();function nr({postEvent:s,...r}){return q(()=>s("web_app_add_to_home_screen"),{...r,requires:"web_app_add_to_home_screen",returns:"either"})}function ir(){return nr(t.function.pipe(S(),y,O))}const Xe=ir(),or=l(Xe);function ar({request:s,...r}){return q(n=>t.function.pipe(s("web_app_check_home_screen","home_screen_checked",n),t.taskEither.map(i=>i.status||"unknown")),{...r,requires:"web_app_check_home_screen",returns:"task"})}function ur(){return ar(t.function.pipe(S(),y,L))}const et=ur(),cr=l(et);class tt{constructor({retrieveInitData:r}){e(this,"_state",_.signal());e(this,"_raw",_.signal());e(this,"state",_.computed(this._state));e(this,"authDate",this.fromState("auth_date"));e(this,"canSendAfter",this.fromState("can_send_after"));e(this,"canSendAfterDate",_.computed(()=>{const r=this.authDate(),n=this.canSendAfter();return n&&r?new Date(r.getTime()+n*1e3):void 0}));e(this,"chat",this.fromState("chat"));e(this,"chatType",this.fromState("chat_type"));e(this,"chatInstance",this.fromState("chat_instance"));e(this,"hash",this.fromState("hash"));e(this,"queryId",this.fromState("query_id"));e(this,"raw",_.computed(this._raw));e(this,"receiver",this.fromState("receiver"));e(this,"signature",this.fromState("signature"));e(this,"startParam",this.fromState("start_param"));e(this,"user",this.fromState("user"));e(this,"restoreFp");e(this,"restore");this.restoreFp=()=>t.function.pipe(r(),t.either.map(t.option.match(()=>{},({raw:n,obj:i})=>{this._state.set(i),this._raw.set(n)}))),this.restore=M.throwifyFpFn(this.restoreFp)}fromState(r){return _.computed(()=>{const n=this._state();return n?n[r]:void 0})}}function pr(){return new tt({retrieveInitData(){return t.function.pipe(t.either.Do,t.either.bindW("obj",()=>t.function.pipe(h.retrieveLaunchParamsFp(),t.either.map(({tgWebAppData:s})=>s?t.option.some(s):t.option.none))),t.either.bindW("raw",h.retrieveRawInitDataFp),t.either.map(({obj:s,raw:r})=>t.function.pipe(t.option.Do,t.option.bind("obj",()=>s),t.option.bind("raw",()=>r))))}})}const lr=pr();class rt{constructor({version:r,request:n,isTma:i}){e(this,"isOpened");e(this,"isSupported");e(this,"openSlugFp");e(this,"openSlug");e(this,"openUrlFp");e(this,"openUrl");const u=I({version:r,isTma:i,requires:"web_app_open_invoice",returns:"task"}),a=_.signal(!1),c=()=>{a.set(!1)};this.isSupported=W("web_app_open_invoice",r),this.isOpened=_.computed(a),this.openSlugFp=u((o,p)=>t.function.pipe(this.isOpened()?t.taskEither.left(new ae("Invoice is already opened")):t.taskEither.right(void 0),t.taskEither.chain(()=>(a.set(!0),n("web_app_open_invoice","invoice_closed",{...p,params:{slug:o},capture:m=>o===m.slug}))),t.taskEither.mapBoth(m=>(c(),m),m=>(c(),m.status)))),this.openUrlFp=u((o,p)=>{const{hostname:m,pathname:F}=new URL(o,window.location.href);if(m!=="t.me")return t.taskEither.left(new U(`Link has unexpected hostname: ${m}`));const f=F.match(/^\/(\$|invoice\/)([A-Za-z0-9\-_=]+)$/);return f?this.openSlugFp(f[2],p):t.taskEither.left(new U('Expected to receive a link with a pathname in format "/invoice/{slug}" or "/${slug}"'))}),this.openUrl=l(this.openUrlFp),this.openSlug=l(this.openSlugFp)}}function hr(){return new rt(t.function.pipe(S(),L,y))}const dr=hr();function fr({postEvent:s,...r}){return q((n,i={})=>{if(typeof n=="string")try{n=new URL(n)}catch(u){return t.either.left(new U(`"${n.toString()}" is invalid URL`,u))}return s("web_app_open_link",{url:n.toString(),try_browser:i.tryBrowser,try_instant_view:i.tryInstantView})},{...r,returns:"either"})}function mr(){return fr(t.function.pipe(S(),O))}const st=mr(),br=l(st);function _r({postEvent:s,version:r,...n}){return q(i=>{const u=i.toString();return u.match(/^https:\/\/t.me\/.+/)?h.supports("web_app_open_tg_link",j(r))?(i=new URL(i),s("web_app_open_tg_link",{path_full:i.pathname+i.search})):(window.location.href=u,t.either.right(void 0)):t.either.left(new U(`"${u}" is invalid URL`))},{...n,returns:"either"})}function gr(){return _r(t.function.pipe(S(),O,y))}const Se=gr(),Fr=l(Se);function Cr({openTelegramLink:s,...r}){return q((n,i)=>s("https://t.me/share/url?"+new URLSearchParams({url:n,text:i||""}).toString().replace(/\+/g,"%20")),{...r,returns:"either"})}function wr(){return Cr({...S(),openTelegramLink:Se})}const nt=wr(),Sr=l(nt);function kr(s){let r=!1,n,i;return s.available&&(r=!0,n=s.access_requested,i=s.access_granted),{available:r,accessGranted:i||!1,accessRequested:n||!1}}class it{constructor({version:r,request:n,postEvent:i,storage:u,isTma:a,isPageReload:c}){e(this,"state");e(this,"isAvailable");e(this,"isAccessGranted");e(this,"isAccessRequested");e(this,"isMounted");e(this,"isSupported");e(this,"openSettingsFp");e(this,"openSettings");e(this,"requestLocationFp");e(this,"requestLocation");e(this,"mountFp");e(this,"mount");e(this,"unmount");const o=new z({initialState:{available:!1,accessGranted:!1,accessRequested:!1},onChange:u.set}),p=new Fe({isPageReload:c,restoreState:u.get,onMounted:o.setState,initialState(C){return t.function.pipe(n("web_app_check_location","location_checked",C),t.taskEither.map(kr))}}),m={version:r,requires:"web_app_check_location",isTma:a},F=I({...m,returns:"either"}),f=I({...m,returns:"task"}),w=I({...m,returns:"task",isMounted:p.isMounted});this.isAvailable=o.getter("available"),this.isAccessRequested=o.getter("accessRequested"),this.isAccessGranted=o.getter("accessGranted"),this.isSupported=W("web_app_check_location",r),this.isMounted=p.isMounted,this.state=o.state,this.unmount=p.unmount,this.mountFp=f(p.mount),this.openSettingsFp=F(()=>i("web_app_open_location_settings")),this.requestLocationFp=w(C=>t.function.pipe(n("web_app_request_location","location_requested",C),t.taskEither.map(k=>{if(!k.available)return o.setState({available:!1}),null;const{available:E,...b}=k;return b}))),this.mount=l(this.mountFp),this.openSettings=l(this.openSettingsFp),this.requestLocation=l(this.requestLocationFp)}}function Er(){return new it(t.function.pipe(S(),O,y,L,N("locationManager")))}const yr=Er();class ot{constructor({defaults:r,...n}){e(this,"bgColor");e(this,"hasShineEffect");e(this,"isEnabled");e(this,"isLoaderVisible");e(this,"isVisible");e(this,"isMounted");e(this,"state");e(this,"text");e(this,"textColor");e(this,"showFp");e(this,"show");e(this,"hideFp");e(this,"hide");e(this,"enableFp");e(this,"enable");e(this,"enableShineEffectFp");e(this,"enableShineEffect");e(this,"disableFp");e(this,"disable");e(this,"disableShineEffectFp");e(this,"disableShineEffect");e(this,"setBgColorFp");e(this,"setBgColor");e(this,"setTextColorFp");e(this,"setTextColor");e(this,"setTextFp");e(this,"setText");e(this,"showLoaderFp");e(this,"showLoader");e(this,"hideLoaderFp");e(this,"hideLoader");e(this,"setParamsFp");e(this,"setParams");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");const i=new ue({...n,version:"100",initialState:{hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,text:"Continue"},method:"web_app_setup_main_button",payload:a=>({has_shine_effect:a.hasShineEffect,is_visible:a.isVisible,is_active:a.isEnabled,is_progress_visible:a.isLoaderVisible,text:a.text,color:a.bgColor,text_color:a.textColor})}),u=(a,c)=>{const o=i.stateGetter(a);return _.computed(()=>o()||j(c))};this.bgColor=u("bgColor",r.bgColor),this.textColor=u("textColor",r.textColor),this.hasShineEffect=i.stateGetter("hasShineEffect"),this.isEnabled=i.stateGetter("isEnabled"),this.isLoaderVisible=i.stateGetter("isLoaderVisible"),this.text=i.stateGetter("text"),this.isVisible=i.stateGetter("isVisible"),this.isMounted=i.isMounted,this.state=i.state,[this.setBgColor,this.setBgColorFp]=i.stateSetters("bgColor"),[this.setTextColor,this.setTextColorFp]=i.stateSetters("textColor"),[[this.disableShineEffect,this.disableShineEffectFp],[this.enableShineEffect,this.enableShineEffectFp]]=i.stateBoolSetters("hasShineEffect"),[[this.disable,this.disableFp],[this.enable,this.enableFp]]=i.stateBoolSetters("isEnabled"),[[this.hideLoader,this.hideLoaderFp],[this.showLoader,this.showLoaderFp]]=i.stateBoolSetters("isLoaderVisible"),[this.setText,this.setTextFp]=i.stateSetters("text"),[[this.hide,this.hideFp],[this.show,this.showFp]]=i.stateBoolSetters("isVisible"),this.setParams=i.setState,this.setParamsFp=i.setStateFp,this.onClick=i.onClick,this.onClickFp=i.onClickFp,this.offClick=i.offClick,this.offClickFp=i.offClickFp,this.mount=i.mount,this.mountFp=i.mountFp,this.unmount=i.unmount}}function ke(s,r){document.documentElement.style.setProperty(s,r)}function Ee(s){document.documentElement.style.removeProperty(s)}function at(s){return t.function.pipe(A.toRGBFullFp(s),t.either.map(r=>Math.sqrt([.299,.587,.114].reduce((n,i,u)=>{const a=parseInt(r.slice(1+u*2,1+(u+1)*2),16);return n+a*a*i},0))<120))}const ye=M.throwifyFpFn(at);class ut{constructor({initialState:r,onChange:n,offChange:i,isTma:u,storage:a,isPageReload:c}){e(this,"accentTextColor");e(this,"bgColor");e(this,"buttonColor");e(this,"buttonTextColor");e(this,"bottomBarBgColor");e(this,"destructiveTextColor");e(this,"headerBgColor");e(this,"hintColor");e(this,"linkColor");e(this,"secondaryBgColor");e(this,"sectionBgColor");e(this,"sectionHeaderTextColor");e(this,"sectionSeparatorColor");e(this,"subtitleTextColor");e(this,"textColor");e(this,"_isCssVarsBound",_.signal(!1));e(this,"isCssVarsBound",_.computed(this._isCssVarsBound));e(this,"bindCssVarsFp");e(this,"bindCssVars");e(this,"state");e(this,"isDark",_.computed(()=>{const r=this.bgColor();return!r||ye(r)}));e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"unmount");const o=new z({initialState:{},onChange:a.set}),p=C=>{o.setState(C.theme_params)},m=new re({initialState:()=>t.either.right(j(r)),isPageReload:c,onMounted(C){o.setState(C),n(p)},onUnmounted(){i(p)},restoreState:a.get}),F={isTma:u,returns:"either"},f=I(F),w=I({...F,isMounted:m.isMounted});this.accentTextColor=o.getter("accent_text_color"),this.bgColor=o.getter("bg_color"),this.buttonColor=o.getter("button_color"),this.buttonTextColor=o.getter("button_text_color"),this.bottomBarBgColor=o.getter("bottom_bar_bg_color"),this.destructiveTextColor=o.getter("destructive_text_color"),this.headerBgColor=o.getter("header_bg_color"),this.hintColor=o.getter("hint_color"),this.linkColor=o.getter("link_color"),this.secondaryBgColor=o.getter("secondary_bg_color"),this.sectionBgColor=o.getter("section_bg_color"),this.sectionHeaderTextColor=o.getter("section_header_text_color"),this.sectionSeparatorColor=o.getter("section_separator_color"),this.subtitleTextColor=o.getter("subtitle_text_color"),this.textColor=o.getter("text_color"),this.state=o.state,this.isMounted=m.isMounted,this.bindCssVarsFp=w(C=>{if(this._isCssVarsBound())return t.either.left(new oe);C||(C=b=>`--tg-theme-${M.snakeToKebab(b)}`);const k=b=>{Object.entries(o.state()).forEach(([g,d])=>{d&&b(g,d)})},E=()=>{k((b,g)=>{ke(C(b),g)})};return E(),o.state.sub(E),this._isCssVarsBound.set(!0),t.either.right(()=>{k(Ee),o.state.unsub(E),this._isCssVarsBound.set(!1)})}),this.mountFp=f(m.mount),this.unmount=m.unmount,this.bindCssVars=l(this.bindCssVarsFp),this.mount=l(this.mountFp)}}const me=se({});function vr(){return new ut({...t.function.pipe(S(),N("themeParams")),offChange(s){h.off("theme_changed",s)},onChange(s){h.on("theme_changed",s)},initialState:me})}const te=vr();function ct(s,r,n){return t.function.pipe(ge(s,r),i=>({...i,defaults:n}))}const Ir=new ot(ct("mainButton","main_button_pressed",{bgColor:_.computed(()=>te.buttonColor()||"#2481cc"),textColor:_.computed(()=>te.buttonTextColor()||"#ffffff")}));class pt{constructor({storage:r,isPageReload:n,version:i,postEvent:u,isTma:a,theme:c,onVisibilityChanged:o,offVisibilityChanged:p}){e(this,"isSupported");e(this,"isDark",_.computed(()=>{const r=this.bgColorRgb();return r?ye(r):!1}));e(this,"isActive");e(this,"state");e(this,"isCssVarsBound");e(this,"bindCssVarsFp");e(this,"bindCssVars");e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"bgColor");e(this,"bgColorRgb");e(this,"setBgColorFp");e(this,"setBgColor");e(this,"headerColor");e(this,"headerColorRgb");e(this,"setHeaderColorFp");e(this,"setHeaderColor");e(this,"bottomBarColor");e(this,"bottomBarColorRgb");e(this,"setBottomBarColorFp");e(this,"setBottomBarColor");e(this,"closeFp");e(this,"close");e(this,"readyFp");e(this,"ready");const m=d=>{w.setState({isActive:d.is_visible})},F=d=>{[[this.headerColor,"web_app_set_header_color"],[this.bgColor,"web_app_set_background_color"],[this.bottomBarColor,"web_app_set_bottom_bar_color"]].forEach(([P,V])=>{const T=P();if(!A.isRGB(T)&&(V!=="web_app_set_header_color"||!["bg_color","secondary_bg_color"].includes(T))){const D=d[T];D&&u(V,{color:D})}})},f=new re({initialState(){return t.either.right({bgColor:"bg_color",headerColor:"header_bg_color",bottomBarColor:"bottom_bar_bg_color",isActive:!0})},isPageReload:n,onMounted:d=>{o(m),c.sub(F),w.setState(d)},onUnmounted(){p(m),c.unsub(F)},restoreState:r.get});this.isMounted=f.isMounted,this.mountFp=q(()=>{const d=()=>{};return t.function.pipe(f.mount(),t.either.match(d,d))},{isTma:a,returns:"plain"}),this.mount=l(this.mountFp),this.unmount=f.unmount;const w=new z({initialState:{bgColor:"bg_color",bottomBarColor:"bottom_bar_bg_color",headerColor:"bg_color",isActive:!1},onChange:r.set});this.state=w.state;const C=d=>A.isRGB(d)?d:j(c)[d],k=d=>_.computed(()=>C(d()));this.isActive=w.getter("isActive"),this.isSupported=_.computed(()=>["web_app_set_header_color","web_app_set_background_color","web_app_set_bottom_bar_color"].some(d=>h.supports(d,j(i))));const E=_.signal(!1);this.isCssVarsBound=_.computed(E),this.bindCssVarsFp=q(d=>{if(E())return t.either.left(new oe);const[P,V]=M.createCbCollector(()=>{E.set(!1)}),T=(D,R)=>{const H=()=>{ke(D,R()||null)};H(),P(R.sub(H),Ee.bind(null,D))};return d||(d=D=>`--tg-${M.camelToKebab(D)}`),T(d("bgColor"),this.bgColorRgb),T(d("bottomBarColor"),this.bottomBarColorRgb),T(d("headerColor"),this.headerColorRgb),E.set(!0),t.either.right(V)},{isTma:a,returns:"either",isMounted:this.isMounted}),this.bindCssVars=l(this.bindCssVarsFp);const b=d=>{const P=w.getter(d),V=k(P),T={headerColor:"web_app_set_header_color",bgColor:"web_app_set_background_color",bottomBarColor:"web_app_set_bottom_bar_color"}[d],D=q(R=>{if(R===P())return t.either.right(void 0);if(T==="web_app_set_header_color"&&(R==="bg_color"||R==="secondary_bg_color"))return t.function.pipe(u("web_app_set_header_color",{color_key:R}),t.either.map(()=>{w.setState({[d]:R})}));const H=C(R);return t.function.pipe(H?u(T,{color:H}):t.either.left(new je(R)),t.either.map(()=>{w.setState({[d]:R})}))},{isTma:a,version:i,requires:T,isMounted:this.isMounted,returns:"either",supports:d==="headerColor"?{rgb:{method:"web_app_set_header_color",param:"color",shouldCheck:A.isRGB}}:void 0});return[P,V,l(D),D]};[this.bgColor,this.bgColorRgb,this.setBgColor,this.setBgColorFp]=b("bgColor"),[this.headerColor,this.headerColorRgb,this.setHeaderColor,this.setHeaderColorFp]=b("headerColor"),[this.bottomBarColor,this.bottomBarColorRgb,this.setBottomBarColor,this.setBottomBarColorFp]=b("bottomBarColor");const g=I({isTma:a,returns:"either"});this.closeFp=g(d=>u("web_app_close",{return_back:d})),this.close=l(this.closeFp),this.readyFp=g(()=>u("web_app_ready")),this.ready=l(this.readyFp)}}function Br(){return new pt({...t.function.pipe(S(),O,y,N("miniApp")),offVisibilityChanged(s){h.off("visibility_changed",s)},onVisibilityChanged(s){h.on("visibility_changed",s)},theme:te.state})}const lt=Br();function qr(s){const r=s.message.trim(),n=(s.title||"").trim(),i=s.buttons||[];if(n.length>64)return t.either.left(new U(`Invalid title: ${n}`));if(!r||r.length>256)return t.either.left(new U(`Invalid message: ${r}`));if(i.length>3)return t.either.left(new U(`Invalid buttons count: ${i.length}`));const u=[];if(!i.length)u.push({type:"close",id:""});else for(let a=0;a<i.length;a++){const c=i[a],o=c.id||"";if(o.length>64)return t.either.left(new U(`Button with index ${a} has invalid id: ${o}`));if(!c.type||c.type==="default"||c.type==="destructive"){const p=c.text.trim();if(!p||p.length>64)return t.either.left(new U(`Button with index ${a} has invalid text: ${p}`));u.push({type:c.type,text:p,id:o})}else u.push({type:c.type,id:o})}return t.either.right({title:n,message:r,buttons:u})}class ht{constructor({version:r,isTma:n,request:i}){e(this,"isOpened");e(this,"isSupported");e(this,"showFp");e(this,"show");const u=_.signal(!1),a=()=>{u.set(!1)},c=I({version:r,isTma:n,requires:"web_app_open_popup",returns:"task"});this.isSupported=W("web_app_open_popup",r),this.isOpened=_.computed(u),this.showFp=c(o=>t.function.pipe(this.isOpened()?t.taskEither.left(new ae("A popup is already opened")):t.taskEither.right(void 0),t.taskEither.chainW(()=>t.taskEither.fromEither(qr(o))),t.taskEither.chain(p=>(u.set(!0),i("web_app_open_popup","popup_closed",{...o,params:p}))),t.taskEither.mapBoth(p=>(a(),p),p=>(a(),p.button_id)))),this.show=l(this.showFp)}}function Ar(){return new ht(t.function.pipe(S(),L,y))}const Pr=Ar();function Mr({request:s,...r}){return q(n=>t.function.pipe(s("web_app_request_phone","phone_requested",n),t.taskEither.map(i=>i.status)),{...r,requires:"web_app_request_phone",returns:"task"})}function xr(){return Mr(t.function.pipe(S(),y,L))}const ve=xr(),Tr=l(ve);function Or({invokeCustomMethod:s,requestPhoneAccess:r,...n}){const i=c=>t.function.pipe(s("getRequestedContact",{},{...c,timeout:(c||{}).timeout||5e3}),t.taskEither.chainW(o=>{const p=v.safeParse(v.string(),o);if(!p.success)return t.taskEither.left(new ee(o,p.issues));if(!p.output)return t.taskEither.right(void 0);const m=v.safeParse(A.pipeQueryToSchema(v.looseObject({contact:A.pipeJsonToSchema(v.looseObject({user_id:v.number(),phone_number:v.string(),first_name:v.string(),last_name:v.optional(v.string())})),auth_date:v.pipe(v.string(),v.transform(F=>new Date(Number(F)*1e3)),v.date()),hash:v.string()})),p.output);return m.success?t.taskEither.right({raw:p.output,parsed:m.output}):t.taskEither.left(new ee(p.output,m.issues))})),u=c=>t.function.pipe(i(c),t.taskEither.match(o=>ee.is(o)?t.either.left(o):t.either.right(void 0),o=>t.either.right(o))),a=c=>M.BetterTaskEither(async(o,p,m)=>{let F=50;for(;!m.isRejected;){const f=await u(m)();if(f._tag==="Left")return p(f.left);if(f.right)return o(f.right);await new Promise(w=>setTimeout(w,F)),F+=50}},c);return q(c=>M.BetterTaskEither.fn(o=>t.function.pipe(u(o),t.taskEither.chain(p=>p?t.taskEither.right(p):t.function.pipe(r(o),t.taskEither.chainW(m=>m==="sent"?a(o):t.taskEither.left(new _e("User denied access")))))),c),{...n,returns:"task",requires:"web_app_request_phone"})}function Vr(){return Or({...t.function.pipe(S(),we,y),requestPhoneAccess:ve})}function Lr({requestContact:s,...r}){return q(s,{...r,returns:"task",requires:"web_app_request_phone"})}function Rr(){return Lr({...t.function.pipe(S(),y),requestContact(s){return t.function.pipe(Ie(s),t.taskEither.map(r=>r.parsed))}})}const Ie=Vr(),jr=l(Ie),dt=Rr(),$r=l(dt);function Dr({request:s,...r}){return q(n=>t.function.pipe(s("web_app_request_write_access","write_access_requested",n),t.taskEither.map(i=>i.status)),{...r,requires:"web_app_request_write_access",returns:"task"})}function Gr(){return Dr(t.function.pipe(S(),y,L))}const ft=Gr(),Ur=l(ft);class mt{constructor({version:r,onClosed:n,onTextReceived:i,isTma:u,postEvent:a}){e(this,"isOpened");e(this,"isSupported");e(this,"captureFp");e(this,"capture");e(this,"closeFp");e(this,"close");e(this,"openFp");e(this,"open");const c={version:r,requires:"web_app_open_scan_qr_popup",isTma:u},o=I({...c,returns:"either"}),p=I({...c,returns:"task"}),m=_.signal(!1),F=()=>{m.set(!1)};this.isSupported=W("web_app_open_scan_qr_popup",r),this.isOpened=_.computed(m),this.captureFp=p(f=>{let w;return t.function.pipe(this.openFp({...f,onCaptured:C=>{f.capture(C)&&(w=C,this.close())}}),t.taskEither.map(()=>w))}),this.closeFp=o(()=>t.function.pipe(a("web_app_close_scan_qr_popup"),t.either.map(F))),this.openFp=p(f=>t.function.pipe(m()?t.taskEither.left(new ae("The QR Scanner is already opened")):async()=>a("web_app_open_scan_qr_popup",{text:f.text}),t.taskEither.chainW(()=>{m.set(!0);const[w,C]=M.createCbCollector(),k=E=>(C(),m.set(!1),E);return t.function.pipe(M.BetterTaskEither(E=>{w(n(E),m.sub(b=>{b||E()}),i(f.onCaptured))},f),t.taskEither.mapBoth(k,k))}))),this.open=l(this.openFp),this.capture=l(this.captureFp),this.close=l(this.closeFp)}}function Hr(){return new mt({...t.function.pipe(S(),O,y),onClosed(s){return h.on("scan_qr_popup_closed",s)},onTextReceived(s){return h.on("qr_text_received",r=>{s(r.data)})}})}const Wr=Hr();class bt{constructor({defaults:r,...n}){e(this,"isSupported");e(this,"position");e(this,"bgColor");e(this,"hasShineEffect");e(this,"isEnabled");e(this,"isLoaderVisible");e(this,"isVisible");e(this,"isMounted");e(this,"state");e(this,"text");e(this,"textColor");e(this,"showFp");e(this,"show");e(this,"hideFp");e(this,"hide");e(this,"enableFp");e(this,"enable");e(this,"enableShineEffectFp");e(this,"enableShineEffect");e(this,"disableFp");e(this,"disable");e(this,"disableShineEffectFp");e(this,"disableShineEffect");e(this,"setBgColorFp");e(this,"setBgColor");e(this,"setTextColorFp");e(this,"setTextColor");e(this,"setTextFp");e(this,"setText");e(this,"setPositionFp");e(this,"setPosition");e(this,"showLoaderFp");e(this,"showLoader");e(this,"hideLoaderFp");e(this,"hideLoader");e(this,"setParamsFp");e(this,"setParams");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");const i=new ue({...n,initialState:{hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,text:"Cancel",position:"left"},method:"web_app_setup_secondary_button",payload:a=>({has_shine_effect:a.hasShineEffect,is_visible:a.isVisible,is_active:a.isEnabled,is_progress_visible:a.isLoaderVisible,text:a.text,color:a.bgColor,text_color:a.textColor,position:a.position})}),u=(a,c)=>{const o=i.stateGetter(a);return _.computed(()=>o()||j(c))};this.isSupported=W("web_app_setup_secondary_button",n.version),this.bgColor=u("bgColor",r.bgColor),this.textColor=u("textColor",r.textColor),this.position=i.stateGetter("position"),this.hasShineEffect=i.stateGetter("hasShineEffect"),this.isEnabled=i.stateGetter("isEnabled"),this.isLoaderVisible=i.stateGetter("isLoaderVisible"),this.text=i.stateGetter("text"),this.isVisible=i.stateGetter("isVisible"),this.isMounted=i.isMounted,this.state=i.state,[this.setPosition,this.setPositionFp]=i.stateSetters("position"),[this.setBgColor,this.setBgColorFp]=i.stateSetters("bgColor"),[this.setTextColor,this.setTextColorFp]=i.stateSetters("textColor"),[[this.disableShineEffect,this.disableShineEffectFp],[this.enableShineEffect,this.enableShineEffectFp]]=i.stateBoolSetters("hasShineEffect"),[[this.disable,this.disableFp],[this.enable,this.enableFp]]=i.stateBoolSetters("isEnabled"),[[this.hideLoader,this.hideLoaderFp],[this.showLoader,this.showLoaderFp]]=i.stateBoolSetters("isLoaderVisible"),[this.setText,this.setTextFp]=i.stateSetters("text"),[[this.hide,this.hideFp],[this.show,this.showFp]]=i.stateBoolSetters("isVisible"),this.setParams=i.setState,this.setParamsFp=i.setStateFp,this.onClick=i.onClick,this.onClickFp=i.onClickFp,this.offClick=i.offClick,this.offClickFp=i.offClickFp,this.mount=i.mount,this.mountFp=i.mountFp,this.unmount=i.unmount}}function Qr(){return new bt(ct("secondaryButton","secondary_button_pressed",{bgColor:_.computed(()=>lt.bottomBarColorRgb()||"#000000"),textColor:_.computed(()=>te.buttonColor()||"#2481cc")}))}const Kr=Qr();class _t{constructor({isTma:r,request:n,version:i,createRequestId:u}){e(this,"getItemFp");e(this,"getItem");e(this,"restoreItemFp");e(this,"restoreItem");e(this,"setItemFp");e(this,"setItem");e(this,"deleteItemFp");e(this,"deleteItem");e(this,"clearFp");e(this,"clear");const a=I({version:i,requires:"web_app_secure_storage_get_key",isTma:r,returns:"task"}),c=(o,p,m)=>{const F=u();return t.function.pipe(n(o,["secure_storage_failed",p],{params:{...m,req_id:F},capture:f=>"payload"in f?f.payload.req_id===F:!0}),t.taskEither.chain(f=>f.event==="secure_storage_failed"?t.taskEither.left(new xe(f.payload.error||"UNKNOWN_ERROR")):t.taskEither.right(f.payload)))};this.getItemFp=a(o=>t.function.pipe(c("web_app_secure_storage_get_key","secure_storage_key_received",{key:o}),t.taskEither.map(p=>({value:p.value,canRestore:!!p.can_restore})))),this.setItemFp=a((o,p)=>t.function.pipe(c("web_app_secure_storage_save_key","secure_storage_key_saved",{key:o,value:p}),t.taskEither.map(()=>{}))),this.deleteItemFp=a(o=>this.setItemFp(o,null)),this.clearFp=a(()=>t.function.pipe(c("web_app_secure_storage_clear","secure_storage_cleared",{}),t.taskEither.map(()=>{}))),this.restoreItemFp=a(o=>t.function.pipe(c("web_app_secure_storage_restore_key","secure_storage_key_restored",{key:o}),t.taskEither.map(p=>p.value))),this.getItem=l(this.getItemFp),this.setItem=l(this.setItemFp),this.deleteItem=l(this.deleteItemFp),this.clear=l(this.clearFp),this.restoreItem=l(this.restoreItemFp)}}function zr(){return new _t(t.function.pipe(S(),y,L,Ne))}const Nr=zr();class gt{constructor(r){e(this,"isVisible");e(this,"isMounted");e(this,"isSupported");e(this,"hideFp");e(this,"hide");e(this,"showFp");e(this,"show");e(this,"onClickFp");e(this,"onClick");e(this,"offClickFp");e(this,"offClick");e(this,"mountFp");e(this,"mount");e(this,"unmount");const n=new ue({...r,method:"web_app_setup_settings_button",payload:i=>({is_visible:i.isVisible}),initialState:{isVisible:!1}});this.isVisible=n.stateGetter("isVisible"),this.isMounted=n.isMounted,this.isSupported=n.isSupported,[[this.hide,this.hideFp],[this.show,this.showFp]]=n.stateBoolSetters("isVisible"),this.onClick=n.onClick,this.onClickFp=n.onClickFp,this.offClick=n.offClick,this.offClickFp=n.offClickFp,this.mount=n.mount,this.mountFp=n.mountFp,this.unmount=n.unmount}}const Jr=new gt(ge("settingsButton","settings_button_pressed"));class Ft{constructor({postEvent:r,storage:n,isTma:i,isPageReload:u,version:a}){e(this,"isSupported");e(this,"isVerticalEnabled");e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"unmount");e(this,"disableVerticalFp");e(this,"disableVertical");e(this,"enableVerticalFp");e(this,"enableVertical");const c={isVerticalEnabled:!0},o=new z({initialState:c,onChange(C){n.set(C)}}),p=new re({initialState:c,isPageReload:u,onMounted:o.setState,restoreState:n.get}),m={requires:"web_app_setup_swipe_behavior",isTma:i,version:a},F=I({...m,returns:"plain"}),f=I({...m,isMounted:p.isMounted,returns:"either"}),w=C=>{const k={isVerticalEnabled:C};return o.hasDiff(k)?t.function.pipe(r("web_app_setup_swipe_behavior",{allow_vertical_swipe:C}),t.either.map(()=>{o.setState(k)})):t.either.right(void 0)};this.isSupported=W("web_app_setup_swipe_behavior",a),this.isVerticalEnabled=o.getter("isVerticalEnabled"),this.isMounted=p.isMounted,this.disableVerticalFp=f(()=>w(!1)),this.enableVerticalFp=f(()=>w(!0)),this.mountFp=F(()=>{const C=()=>{};return t.function.pipe(p.mount(),t.either.match(C,C))}),this.unmount=p.unmount,this.disableVertical=l(this.disableVerticalFp),this.enableVertical=l(this.enableVerticalFp),this.mount=l(this.mountFp)}}function Yr(){return new Ft(t.function.pipe(S(),O,y,N("swipeBehavior")))}const Zr=Yr();async function Xr(s){try{const{clipboard:n}=navigator;if(n)return await n.writeText(s)}catch{}const r=document.createElement("textarea");r.value=s,r.style.top="0",r.style.left="0",r.style.position="fixed",document.body.appendChild(r),r.focus(),r.select();try{document.execCommand("copy")}finally{document.body.removeChild(r)}}function es({request:s,...r}){return q((n,i,u)=>t.function.pipe(s("web_app_request_file_download","file_download_requested",{...u,params:{url:n,file_name:i}}),t.taskEither.chain(a=>a.status==="downloading"?t.taskEither.right(void 0):t.taskEither.left(new _e("User denied the action")))),{...r,requires:"web_app_request_file_download",returns:"task"})}function ts(){return es(t.function.pipe(S(),L,y))}const Ct=ts(),rs=l(Ct);function ss({invokeCustomMethod:s,...r}){return q(n=>t.function.pipe(s("getCurrentTime",{},n),t.taskEither.chain(i=>{const u=v.safeParse(v.pipe(v.number(),v.integer(),v.transform(a=>new Date(a*1e3)),v.date()),i);return u.success?t.taskEither.right(u.output):t.taskEither.left(new ee(i,u.issues))})),{...r,requires:"web_app_invoke_custom_method",returns:"task"})}function ns(){return ss(t.function.pipe(S(),we,y))}const wt=ns(),is=l(wt);function os({postEvent:s,...r}){return q(()=>s("web_app_hide_keyboard"),{...r,returns:"either",requires:"web_app_hide_keyboard"})}function as(){return os(t.function.pipe(S(),O,y))}const St=as(),us=l(St);function cs({request:s,createRequestId:r,...n}){return q(i=>{const u=r();return t.function.pipe(s("web_app_read_text_from_clipboard","clipboard_text_received",{...i,params:{req_id:u},capture:h.captureSameReq(u)}),t.taskEither.map(({data:a=null})=>a))},{...n,requires:"web_app_read_text_from_clipboard",returns:"task"})}function ps(){return cs({...t.function.pipe(S(),y,L),createRequestId:ce})}const kt=ps(),ls=l(kt);function Et(s){const r={},n=s.match(/Telegram-Android(?:\/([^ ]+))?(?: (\([^)]+\))?|$)/);if(n){const[,i,u]=n;i&&(r.appVersion=i),u&&u.slice(1,u.length-1).split(";").forEach(a=>{const[c,o]=a.trim().split(" ");if(c==="Android")r.androidVersion=o;else if(c==="SDK"){const p=parseInt(o,10);p&&(r.sdkVersion=p)}else o?(r.manufacturer=c,r.model=o):r.performanceClass=c})}return r}function hs(){return Et(navigator.userAgent)}function ds({postEvent:s,...r}){return q(n=>{const{size:i}=new Blob([n]);return!i||i>4096?t.either.left(new U(i?"Maximum size of data to send is 4096 bytes":"Attempted to send empty data")):s("web_app_data_send",{data:n})},{...r,returns:"either"})}function fs(){return ds(t.function.pipe(S(),O))}const yt=fs(),ms=l(yt);function bs({request:s,...r}){return q((n,i)=>t.function.pipe(s("web_app_send_prepared_message",["prepared_message_failed","prepared_message_sent"],{...i,params:{id:n}}),t.taskEither.chain(u=>u.event==="prepared_message_failed"?t.taskEither.left(new Re(u.payload.error)):t.taskEither.right(void 0))),{...r,requires:"web_app_send_prepared_message",returns:"task"})}function _s(){return bs(t.function.pipe(S(),L,y))}const vt=_s(),gs=l(vt);function Fs({postEvent:s,...r}){return q((n,i={})=>s("web_app_share_to_story",{text:i.text,media_url:n,widget_link:i.widgetLink}),{...r,requires:"web_app_share_to_story",returns:"either"})}function Cs(){return Fs(t.function.pipe(S(),O,y))}const It=Cs(),ws=l(It),be=se(!1);function Ss({isInlineMode:s,postEvent:r,...n}){return q((i,u)=>r("web_app_switch_inline_query",{query:i,chat_types:u||[]}),{...n,requires:{every:["web_app_switch_inline_query",()=>j(s)?void 0:"The application must be launched in the inline mode"]},returns:"either"})}function ks(){return Ss({...t.function.pipe(S(),O,y),isInlineMode:be})}const Bt=ks(),Es=l(Bt);class qt{constructor({storage:r,isPageReload:n,onContentSafeAreaInsetsChanged:i,onSafeAreaInsetsChanged:u,onViewportChanged:a,onFullscreenChanged:c,offContentSafeAreaInsetsChanged:o,offFullscreenChanged:p,offSafeAreaInsetsChanged:m,offViewportChanged:F,request:f,isViewportStable:w,isFullscreen:C,isTma:k,version:E,postEvent:b}){e(this,"state");e(this,"height");e(this,"stableHeight");e(this,"width");e(this,"isExpanded");e(this,"isStable",_.computed(()=>this.height()===this.stableHeight()));e(this,"contentSafeAreaInsets");e(this,"contentSafeAreaInsetTop");e(this,"contentSafeAreaInsetLeft");e(this,"contentSafeAreaInsetRight");e(this,"contentSafeAreaInsetBottom");e(this,"safeAreaInsets");e(this,"safeAreaInsetTop");e(this,"safeAreaInsetLeft");e(this,"safeAreaInsetRight");e(this,"safeAreaInsetBottom");e(this,"isFullscreen");e(this,"requestFullscreenFp");e(this,"requestFullscreen");e(this,"exitFullscreenFp");e(this,"exitFullscreen");e(this,"isCssVarsBound");e(this,"bindCssVarsFp");e(this,"bindCssVars");e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"expandFp");e(this,"expand");const g={top:0,right:0,left:0,bottom:0},d=new z({initialState:{contentSafeAreaInsets:g,height:0,isExpanded:!1,isFullscreen:!1,safeAreaInsets:g,stableHeight:0,width:0},onChange:r.set}),P=B=>{d.setState({isExpanded:B.is_expanded,height:B.height,width:B.width,stableHeight:B.is_state_stable?B.height:void 0})},V=B=>{d.setState({isFullscreen:B.is_fullscreen})},T=B=>{d.setState({safeAreaInsets:B})},D=B=>{d.setState({contentSafeAreaInsets:B})},R=new Fe({initialState(B){const J=Q=>()=>{const[K,G]=Q==="safe-area"?["web_app_request_safe_area","safe_area_changed"]:["web_app_request_content_safe_area","content_safe_area_changed"];return h.supports(K,j(E))?f(K,G,B):t.taskEither.right({top:0,left:0,right:0,bottom:0})},x=Q=>()=>typeof Q=="boolean"?t.taskEither.right(Q):t.taskEither.fromEither(Q());return t.function.pipe(t.taskEither.Do,t.taskEither.bindW("safeAreaInsets",J("safe-area")),t.taskEither.bindW("contentSafeAreaInsets",J("content-safe-area")),t.taskEither.bindW("isFullscreen",x(C)),t.taskEither.bindW("isViewportStable",x(w)),t.taskEither.chainW(({isViewportStable:Q,...K})=>Q?t.taskEither.right({...K,height:window.innerHeight,isExpanded:!0,stableHeight:window.innerHeight,width:window.innerWidth}):t.function.pipe(f("web_app_request_viewport","viewport_changed",B),t.taskEither.map(G=>({...K,height:G.height,isExpanded:G.is_expanded,stableHeight:G.is_state_stable?G.height:0,width:G.width})))))},isPageReload:n,onMounted(B){a(P),c(V),u(T),i(D),d.setState(B)},onUnmounted(){F(P),p(V),m(T),o(D)},restoreState:r.get}),H=B=>_.computed(()=>this.safeAreaInsets()[B]),ne=B=>_.computed(()=>this.contentSafeAreaInsets()[B]);this.state=d.state,this.height=d.getter("height"),this.stableHeight=d.getter("stableHeight"),this.width=d.getter("width"),this.isExpanded=d.getter("isExpanded"),this.safeAreaInsets=d.getter("safeAreaInsets"),this.safeAreaInsetTop=H("top"),this.safeAreaInsetBottom=H("bottom"),this.safeAreaInsetLeft=H("left"),this.safeAreaInsetRight=H("right"),this.contentSafeAreaInsets=d.getter("contentSafeAreaInsets"),this.contentSafeAreaInsetTop=ne("top"),this.contentSafeAreaInsetBottom=ne("bottom"),this.contentSafeAreaInsetLeft=ne("left"),this.contentSafeAreaInsetRight=ne("right");const Pt=I({isTma:k,returns:"task"}),Be=I({isTma:k,returns:"either"}),Mt=I({isTma:k,requires:"web_app_request_fullscreen",version:E,returns:"task"}),qe=B=>Mt(J=>t.function.pipe(f(B?"web_app_request_fullscreen":"web_app_exit_fullscreen",["fullscreen_changed","fullscreen_failed"],J),t.taskEither.chain(x=>x.event==="fullscreen_failed"&&x.payload.error!=="ALREADY_FULLSCREEN"?t.taskEither.left(new Le(x.payload.error)):(d.setState({isFullscreen:"is_fullscreen"in x.payload?x.payload.is_fullscreen:!0}),t.taskEither.right(void 0)))));this.isMounted=R.isMounted,this.mountFp=Pt(R.mount),this.mount=l(this.mountFp),this.isFullscreen=d.getter("isFullscreen"),this.requestFullscreenFp=qe(!0),this.requestFullscreen=l(this.requestFullscreenFp),this.exitFullscreenFp=qe(!1),this.exitFullscreen=l(this.exitFullscreenFp);const ie=_.signal(!1);this.isCssVarsBound=_.computed(ie),this.bindCssVarsFp=Be(B=>{if(ie())return t.either.left(new oe);B||(B=x=>`--tg-viewport-${M.camelToKebab(x)}`);const J=[["height",this.height],["stableHeight",this.stableHeight],["width",this.width],["safeAreaInsetTop",this.safeAreaInsetTop],["safeAreaInsetBottom",this.safeAreaInsetBottom],["safeAreaInsetLeft",this.safeAreaInsetLeft],["safeAreaInsetRight",this.safeAreaInsetRight],["contentSafeAreaInsetTop",this.contentSafeAreaInsetTop],["contentSafeAreaInsetBottom",this.contentSafeAreaInsetBottom],["contentSafeAreaInsetLeft",this.contentSafeAreaInsetLeft],["contentSafeAreaInsetRight",this.contentSafeAreaInsetRight]].reduce((x,[Q,K])=>{const G=B(Q);if(G){const Ae=()=>{ke(G,`${K()}px`)};x.push({update:Ae,removeListener:K.sub(Ae),cssVar:G})}return x},[]);return J.forEach(x=>{x.update()}),ie.set(!0),t.either.right(()=>{J.forEach(x=>{x.removeListener(),Ee(x.cssVar)}),ie.set(!1)})}),this.bindCssVars=l(this.bindCssVarsFp),this.expandFp=Be(()=>b("web_app_expand")),this.expand=l(this.expandFp)}}function ys(){const s=a=>({on:c=>{h.on(a,c)},off:c=>{h.off(a,c)}}),r=s("viewport_changed"),n=s("fullscreen_changed"),i=s("safe_area_changed"),u=s("content_safe_area_changed");return new qt({...t.function.pipe(S(),N("viewport"),y,O,L),isFullscreen(){return t.function.pipe(h.retrieveLaunchParamsFp(),t.either.map(a=>!!a.tgWebAppFullscreen))},isViewportStable(){return t.function.pipe(h.retrieveLaunchParamsFp(),t.either.map(a=>["macos","tdesktop","unigram","webk","weba","web"].includes(a.tgWebAppPlatform)))},offContentSafeAreaInsetsChanged:u.off,offFullscreenChanged:n.off,offSafeAreaInsetsChanged:i.off,offViewportChanged:r.off,onContentSafeAreaInsetsChanged:u.on,onFullscreenChanged:n.on,onSafeAreaInsetsChanged:i.on,onViewportChanged:r.on})}const vs=ys();function At(s={}){const{version:r,isInlineMode:n,themeParams:i}=s;if(r&&typeof n=="boolean"&&i)fe.set(r),be.set(n),me.set(i);else{const o=t.function.pipe(h.retrieveLaunchParamsFp(),t.either.matchW(p=>p,p=>{fe.set(r||p.tgWebAppVersion),be.set(typeof n=="boolean"?n:!!p.tgWebAppBotInline),me.set(i||p.tgWebAppThemeParams)}));if(o)return t.either.left(o)}s.postEvent&&De.set(s.postEvent);const[u,a]=M.createCbCollector(h.on("reload_iframe",()=>{h.logger().log("Received a request to reload the page"),Ge("iframe_will_reload"),window.location.reload()})),{acceptCustomStyles:c=!0}=s;if(c){const o=document.createElement("style");o.id="telegram-custom-styles",document.head.appendChild(o),u(h.on("set_custom_style",p=>{o.innerHTML=p}),()=>{document.head.removeChild(o)})}return t.function.pipe(Z("iframe_ready",{reload_supported:!0}),t.either.map(()=>(h.logger().log("The package was initialized"),a)))}const Is=M.throwifyFpFn(At);Object.defineProperty(exports,"CancelledError",{enumerable:!0,get:()=>h.CancelledError});Object.defineProperty(exports,"InvalidLaunchParamsError",{enumerable:!0,get:()=>h.InvalidLaunchParamsError});Object.defineProperty(exports,"InvokeCustomMethodFailedError",{enumerable:!0,get:()=>h.InvokeCustomMethodFailedError});Object.defineProperty(exports,"LaunchParamsRetrieveError",{enumerable:!0,get:()=>h.LaunchParamsRetrieveError});Object.defineProperty(exports,"MethodParameterUnsupportedError",{enumerable:!0,get:()=>h.MethodParameterUnsupportedError});Object.defineProperty(exports,"MethodUnsupportedError",{enumerable:!0,get:()=>h.MethodUnsupportedError});Object.defineProperty(exports,"TimeoutError",{enumerable:!0,get:()=>h.TimeoutError});Object.defineProperty(exports,"UnknownEnvError",{enumerable:!0,get:()=>h.UnknownEnvError});Object.defineProperty(exports,"applyPolyfills",{enumerable:!0,get:()=>h.applyPolyfills});Object.defineProperty(exports,"createLogger",{enumerable:!0,get:()=>h.createLogger});Object.defineProperty(exports,"createPostEvent",{enumerable:!0,get:()=>h.createPostEvent});Object.defineProperty(exports,"createStartParam",{enumerable:!0,get:()=>h.createStartParam});Object.defineProperty(exports,"createStartParamFp",{enumerable:!0,get:()=>h.createStartParamFp});Object.defineProperty(exports,"debug",{enumerable:!0,get:()=>h.debug});Object.defineProperty(exports,"decodeBase64Url",{enumerable:!0,get:()=>h.decodeBase64Url});Object.defineProperty(exports,"decodeBase64UrlFp",{enumerable:!0,get:()=>h.decodeBase64UrlFp});Object.defineProperty(exports,"decodeStartParam",{enumerable:!0,get:()=>h.decodeStartParam});Object.defineProperty(exports,"decodeStartParamFp",{enumerable:!0,get:()=>h.decodeStartParamFp});Object.defineProperty(exports,"deepSnakeToCamelObjKeys",{enumerable:!0,get:()=>h.deepSnakeToCamelObjKeys});Object.defineProperty(exports,"emitEvent",{enumerable:!0,get:()=>h.emitEvent});Object.defineProperty(exports,"encodeBase64Url",{enumerable:!0,get:()=>h.encodeBase64Url});Object.defineProperty(exports,"getReleaseVersion",{enumerable:!0,get:()=>h.getReleaseVersion});Object.defineProperty(exports,"isSafeToCreateStartParam",{enumerable:!0,get:()=>h.isSafeToCreateStartParam});Object.defineProperty(exports,"isTMA",{enumerable:!0,get:()=>h.isTMA});Object.defineProperty(exports,"isTMAFp",{enumerable:!0,get:()=>h.isTMAFp});Object.defineProperty(exports,"logger",{enumerable:!0,get:()=>h.logger});Object.defineProperty(exports,"mockTelegramEnv",{enumerable:!0,get:()=>h.mockTelegramEnv});Object.defineProperty(exports,"off",{enumerable:!0,get:()=>h.off});Object.defineProperty(exports,"offAll",{enumerable:!0,get:()=>h.offAll});Object.defineProperty(exports,"on",{enumerable:!0,get:()=>h.on});Object.defineProperty(exports,"retrieveLaunchParams",{enumerable:!0,get:()=>h.retrieveLaunchParams});Object.defineProperty(exports,"retrieveLaunchParamsFp",{enumerable:!0,get:()=>h.retrieveLaunchParamsFp});Object.defineProperty(exports,"retrieveRawInitData",{enumerable:!0,get:()=>h.retrieveRawInitData});Object.defineProperty(exports,"retrieveRawInitDataFp",{enumerable:!0,get:()=>h.retrieveRawInitDataFp});Object.defineProperty(exports,"retrieveRawLaunchParams",{enumerable:!0,get:()=>h.retrieveRawLaunchParams});Object.defineProperty(exports,"retrieveRawLaunchParamsFp",{enumerable:!0,get:()=>h.retrieveRawLaunchParamsFp});Object.defineProperty(exports,"setDebug",{enumerable:!0,get:()=>h.setDebug});Object.defineProperty(exports,"setTargetOrigin",{enumerable:!0,get:()=>h.setTargetOrigin});Object.defineProperty(exports,"supports",{enumerable:!0,get:()=>h.supports});Object.defineProperty(exports,"targetOrigin",{enumerable:!0,get:()=>h.targetOrigin});Object.defineProperty(exports,"isAnyRGB",{enumerable:!0,get:()=>A.isAnyRGB});Object.defineProperty(exports,"isRGB",{enumerable:!0,get:()=>A.isRGB});Object.defineProperty(exports,"isRGBA",{enumerable:!0,get:()=>A.isRGBA});Object.defineProperty(exports,"isRGBAShort",{enumerable:!0,get:()=>A.isRGBAShort});Object.defineProperty(exports,"isRGBShort",{enumerable:!0,get:()=>A.isRGBShort});Object.defineProperty(exports,"parseInitDataQuery",{enumerable:!0,get:()=>A.parseInitDataQuery});Object.defineProperty(exports,"parseInitDataQueryFp",{enumerable:!0,get:()=>A.parseInitDataQueryFp});Object.defineProperty(exports,"parseLaunchParamsQuery",{enumerable:!0,get:()=>A.parseLaunchParamsQuery});Object.defineProperty(exports,"parseLaunchParamsQueryFp",{enumerable:!0,get:()=>A.parseLaunchParamsQueryFp});Object.defineProperty(exports,"serializeInitDataQuery",{enumerable:!0,get:()=>A.serializeInitDataQuery});Object.defineProperty(exports,"serializeLaunchParamsQuery",{enumerable:!0,get:()=>A.serializeLaunchParamsQuery});Object.defineProperty(exports,"toRGB",{enumerable:!0,get:()=>A.toRGB});Object.defineProperty(exports,"toRGBFp",{enumerable:!0,get:()=>A.toRGBFp});Object.defineProperty(exports,"toRGBFull",{enumerable:!0,get:()=>A.toRGBFull});Object.defineProperty(exports,"toRGBFullFp",{enumerable:!0,get:()=>A.toRGBFullFp});exports.AccessDeniedError=_e;exports.BackButton=$e;exports.Biometry=Ue;exports.CSSVarsBoundError=oe;exports.ClosingBehavior=We;exports.CloudStorage=Qe;exports.ConcurrentCallError=ae;exports.DeviceStorage=ze;exports.DeviceStorageMethodError=Me;exports.FullscreenFailedError=Le;exports.FunctionUnavailableError=Oe;exports.HapticFeedback=Ze;exports.InitData=tt;exports.InvalidArgumentsError=U;exports.InvalidEnvError=Ot;exports.Invoice=rt;exports.LocationManager=it;exports.MainButton=ot;exports.MiniApp=pt;exports.NotAvailableError=Te;exports.Popup=ht;exports.QrScanner=mt;exports.SecondaryButton=bt;exports.SecureStorage=_t;exports.SecureStorageMethodError=xe;exports.SetEmojiStatusError=Ve;exports.SettingsButton=gt;exports.ShareMessageError=Re;exports.SwipeBehavior=Ft;exports.ThemeParams=ut;exports.UnknownThemeParamsKeyError=je;exports.ValidationError=ee;exports.Viewport=qt;exports.addToHomeScreen=or;exports.addToHomeScreenFp=Xe;exports.backButton=jt;exports.biometry=Ut;exports.checkHomeScreenStatus=cr;exports.checkHomeScreenStatusFp=et;exports.closingBehavior=Wt;exports.cloudStorage=Kt;exports.copyTextToClipboard=Xr;exports.createRequestId=ce;exports.deviceStorage=Nt;exports.downloadFile=rs;exports.downloadFileFp=Ct;exports.getCurrentTime=is;exports.getCurrentTimeFp=wt;exports.hapticFeedback=sr;exports.hideKeyboard=us;exports.hideKeyboardFp=St;exports.init=Is;exports.initData=lr;exports.initFp=At;exports.invoice=dr;exports.invokeCustomMethod=Ke;exports.isColorDark=ye;exports.isColorDarkFp=at;exports.locationManager=yr;exports.mainButton=Ir;exports.miniApp=lt;exports.openLink=br;exports.openLinkFp=st;exports.openTelegramLink=Fr;exports.openTelegramLinkFp=Se;exports.popup=Pr;exports.postEvent=Ge;exports.postEventFp=Z;exports.qrScanner=Wr;exports.readTextFromClipboard=ls;exports.readTextFromClipboardFp=kt;exports.request=$t;exports.request2=Dt;exports.request2Fp=Ce;exports.requestContact=$r;exports.requestContactComplete=jr;exports.requestContactCompleteFp=Ie;exports.requestContactFp=dt;exports.requestEmojiStatusAccess=Zt;exports.requestEmojiStatusAccessFp=Je;exports.requestFp=He;exports.requestPhoneAccess=Tr;exports.requestPhoneAccessFp=ve;exports.requestWriteAccess=Ur;exports.requestWriteAccessFp=ft;exports.retrieveAndroidDeviceData=hs;exports.retrieveAndroidDeviceDataFrom=Et;exports.secondaryButton=Kr;exports.secureStorage=Nr;exports.sendData=ms;exports.sendDataFp=yt;exports.setEmojiStatus=tr;exports.setEmojiStatusFp=Ye;exports.settingsButton=Jr;exports.shareMessage=gs;exports.shareMessageFp=vt;exports.shareStory=ws;exports.shareStoryFp=It;exports.shareURL=Sr;exports.shareURLFp=nt;exports.swipeBehavior=Zr;exports.switchInlineQuery=Es;exports.switchInlineQueryFp=Bt;exports.themeParams=te;exports.viewport=vs;
2
2
  //# sourceMappingURL=index.cjs.map