@vbotma/sdk 3.2.4 → 3.2.6
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/dts/composables/Button.d.ts +1 -1
- package/dist/dts/features/Biometry/Biometry.d.ts +1 -1
- package/dist/dts/features/ClosingBehavior/ClosingBehavior.d.ts +1 -1
- package/dist/dts/features/CloudStorage/CloudStorage.d.ts +1 -1
- package/dist/dts/features/DeviceStorage/DeviceStorage.d.ts +1 -1
- package/dist/dts/features/HapticFeedback/HapticFeedback.d.ts +1 -1
- package/dist/dts/features/Invoice/Invoice.d.ts +1 -1
- package/dist/dts/features/LocationManager/LocationManager.d.ts +1 -1
- package/dist/dts/features/MiniApp/MiniApp.d.ts +1 -1
- package/dist/dts/features/Notification/Notification.d.ts +8 -1
- package/dist/dts/features/Popup/Popup.d.ts +1 -1
- package/dist/dts/features/QrScanner/QrScanner.d.ts +1 -1
- package/dist/dts/features/SecureStorage/SecureStorage.d.ts +1 -1
- package/dist/dts/features/SwipeBehavior/SwipeBehavior.d.ts +1 -1
- package/dist/dts/features/ThemeParams/ThemeParams.d.ts +1 -1
- package/dist/dts/features/Viewport/Viewport.d.ts +1 -1
- package/dist/dts/fn-options/bottomButtonOptions.d.ts +1 -1
- package/dist/dts/fn-options/buttonOptions.d.ts +1 -1
- package/dist/dts/fn-options/sharedFeatureOptions.d.ts +1 -1
- package/dist/dts/host-features/BackButton/HostBackButton.d.ts +12 -0
- package/dist/dts/host-features/Biometry/HostBiometry.d.ts +36 -0
- package/dist/dts/host-features/Chat/HostChat.d.ts +12 -0
- package/dist/dts/host-features/Clipboard/HostClipboard.d.ts +12 -0
- package/dist/dts/host-features/ClosingBehavior/HostClosingBehavior.d.ts +8 -0
- package/dist/dts/host-features/CustomMethod/HostCustomMethod.d.ts +12 -0
- package/dist/dts/host-features/EmojiStatus/HostEmojiStatus.d.ts +24 -0
- package/dist/dts/host-features/Files/HostFiles.d.ts +12 -0
- package/dist/dts/host-features/HapticFeedback/HostHapticFeedback.d.ts +8 -0
- package/dist/dts/host-features/HomeScreen/HostHomeScreen.d.ts +24 -0
- package/dist/dts/host-features/Invoice/HostInvoice.d.ts +12 -0
- package/dist/dts/host-features/Link/HostLink.d.ts +12 -0
- package/dist/dts/host-features/LocationManager/HostLocationManager.d.ts +24 -0
- package/dist/dts/host-features/MainButton/HostMainButton.d.ts +13 -0
- package/dist/dts/host-features/MiniApp/HostMiniApp.d.ts +53 -0
- package/dist/dts/host-features/Notification/HostNotification.d.ts +2 -1
- package/dist/dts/host-features/Popup/HostPopup.d.ts +14 -0
- package/dist/dts/host-features/Privacy/HostPrivacy.d.ts +20 -0
- package/dist/dts/host-features/QrScanner/HostQrScanner.d.ts +20 -0
- package/dist/dts/host-features/SecondaryButton/HostSecondaryButton.d.ts +13 -0
- package/dist/dts/host-features/SettingsButton/HostSettingsButton.d.ts +13 -0
- package/dist/dts/host-features/Sharing/HostSharing.d.ts +20 -0
- package/dist/dts/host-features/SwipeBehavior/HostSwipeBehavior.d.ts +8 -0
- package/dist/dts/host-features/ThemeParams/HostThemeParams.d.ts +4 -12
- package/dist/dts/host-features/Viewport/HostViewport.d.ts +52 -0
- package/dist/dts/host-features/index.d.ts +23 -0
- package/dist/dts/index.d.ts +1 -1
- package/dist/dts/with-checks/withChecksFp.d.ts +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.iife.js +3 -3
- package/dist/index.iife.js.map +1 -1
- package/dist/index.js +2367 -1645
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1,21 +1,13 @@
|
|
|
1
|
-
import { RGB } from '@vbotma/types';
|
|
2
1
|
import { EventPayload } from '@vbotma/bridge';
|
|
3
2
|
export declare class HostThemeParams {
|
|
4
3
|
/**
|
|
5
4
|
* Sets the theme params of the Mini App.
|
|
6
5
|
* Sends 'theme_changed' event to the Mini App.
|
|
7
6
|
*/
|
|
8
|
-
|
|
7
|
+
setTheme(params: EventPayload<'theme_changed'>['theme_params']): void;
|
|
9
8
|
/**
|
|
10
|
-
* Listens to '
|
|
9
|
+
* Listens to 'web_app_request_theme' method call from Mini App.
|
|
11
10
|
*/
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
* Listens to 'web_app_set_header_color' method call from Mini App.
|
|
15
|
-
*/
|
|
16
|
-
static onHeaderColorChange(listener: (colorKeyOrColor: string) => void): VoidFunction;
|
|
17
|
-
/**
|
|
18
|
-
* Listens to 'web_app_set_bottom_bar_color' method call from Mini App.
|
|
19
|
-
*/
|
|
20
|
-
static onBottomBarColorChange(listener: (color: RGB) => void): VoidFunction;
|
|
11
|
+
onRequestTheme(listener: () => void): VoidFunction;
|
|
21
12
|
}
|
|
13
|
+
export declare const hostThemeParams: HostThemeParams;
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { EventPayload } from '@vbotma/bridge';
|
|
2
|
+
export declare class HostViewport {
|
|
3
|
+
/**
|
|
4
|
+
* Listens to 'web_app_expand' methods calls from Mini App.
|
|
5
|
+
*/
|
|
6
|
+
onExpand(listener: () => void): VoidFunction;
|
|
7
|
+
/**
|
|
8
|
+
* Listens to 'web_app_request_content_safe_area' methods calls from Mini App.
|
|
9
|
+
*/
|
|
10
|
+
onRequestContentSafeArea(listener: () => void): VoidFunction;
|
|
11
|
+
/**
|
|
12
|
+
* Listens to 'web_app_request_safe_area' methods calls from Mini App.
|
|
13
|
+
*/
|
|
14
|
+
onRequestSafeArea(listener: () => void): VoidFunction;
|
|
15
|
+
/**
|
|
16
|
+
* Listens to 'web_app_request_viewport' methods calls from Mini App.
|
|
17
|
+
*/
|
|
18
|
+
onRequestViewport(listener: () => void): VoidFunction;
|
|
19
|
+
/**
|
|
20
|
+
* Listens to 'web_app_toggle_orientation_lock' methods calls from Mini App.
|
|
21
|
+
*/
|
|
22
|
+
onToggleOrientationLock(listener: (locked: boolean) => void): VoidFunction;
|
|
23
|
+
/**
|
|
24
|
+
* Listens to 'web_app_request_fullscreen' methods calls from Mini App.
|
|
25
|
+
*/
|
|
26
|
+
onRequestFullscreen(listener: () => void): VoidFunction;
|
|
27
|
+
/**
|
|
28
|
+
* Sends the 'fullscreen_changed' event to the Mini App.
|
|
29
|
+
*/
|
|
30
|
+
setFullscreen(isFullscreen: boolean): void;
|
|
31
|
+
/**
|
|
32
|
+
* Sends the 'fullscreen_failed' event to the Mini App.
|
|
33
|
+
*/
|
|
34
|
+
setFullscreenFailed(error: string): void;
|
|
35
|
+
/**
|
|
36
|
+
* Listens to 'web_app_exit_fullscreen' methods calls from Mini App.
|
|
37
|
+
*/
|
|
38
|
+
onExitFullscreen(listener: () => void): VoidFunction;
|
|
39
|
+
/**
|
|
40
|
+
* Sends the 'content_safe_area_changed' event to the Mini App.
|
|
41
|
+
*/
|
|
42
|
+
setContentSafeArea(insets: EventPayload<'content_safe_area_changed'>): void;
|
|
43
|
+
/**
|
|
44
|
+
* Sends the 'safe_area_changed' event to the Mini App.
|
|
45
|
+
*/
|
|
46
|
+
setSafeArea(insets: EventPayload<'safe_area_changed'>): void;
|
|
47
|
+
/**
|
|
48
|
+
* Sends the 'viewport_changed' event to the Mini App.
|
|
49
|
+
*/
|
|
50
|
+
setViewport(params: EventPayload<'viewport_changed'>): void;
|
|
51
|
+
}
|
|
52
|
+
export declare const hostViewport: HostViewport;
|
|
@@ -1,2 +1,25 @@
|
|
|
1
|
+
export * from './BackButton/HostBackButton.js';
|
|
2
|
+
export * from './MainButton/HostMainButton.js';
|
|
3
|
+
export * from './SecondaryButton/HostSecondaryButton.js';
|
|
4
|
+
export * from './SettingsButton/HostSettingsButton.js';
|
|
5
|
+
export * from './Popup/HostPopup.js';
|
|
6
|
+
export * from './Viewport/HostViewport.js';
|
|
7
|
+
export * from './MiniApp/HostMiniApp.js';
|
|
8
|
+
export * from './HapticFeedback/HostHapticFeedback.js';
|
|
9
|
+
export * from './Biometry/HostBiometry.js';
|
|
10
|
+
export * from './Invoice/HostInvoice.js';
|
|
11
|
+
export * from './QrScanner/HostQrScanner.js';
|
|
12
|
+
export * from './LocationManager/HostLocationManager.js';
|
|
13
|
+
export * from './Link/HostLink.js';
|
|
14
|
+
export * from './EmojiStatus/HostEmojiStatus.js';
|
|
15
|
+
export * from './HomeScreen/HostHomeScreen.js';
|
|
16
|
+
export * from './Privacy/HostPrivacy.js';
|
|
17
|
+
export * from './ClosingBehavior/HostClosingBehavior.js';
|
|
18
|
+
export * from './SwipeBehavior/HostSwipeBehavior.js';
|
|
19
|
+
export * from './Clipboard/HostClipboard.js';
|
|
20
|
+
export * from './Files/HostFiles.js';
|
|
21
|
+
export * from './Sharing/HostSharing.js';
|
|
22
|
+
export * from './Chat/HostChat.js';
|
|
23
|
+
export * from './CustomMethod/HostCustomMethod.js';
|
|
1
24
|
export * from './Notification/HostNotification.js';
|
|
2
25
|
export * from './ThemeParams/HostThemeParams.js';
|
package/dist/dts/index.d.ts
CHANGED
|
@@ -34,6 +34,6 @@ export { isColorDark, isColorDarkFp } from './helpers/isColorDark.js';
|
|
|
34
34
|
export * from './errors.js';
|
|
35
35
|
export { init, initFp, type InitOptions } from './init.js';
|
|
36
36
|
export type { AsyncOptions } from './types.js';
|
|
37
|
-
export {
|
|
37
|
+
export { isVBma, isVBmaFp, type isVBmaError, mockVBotEnv, defineHostBridge, getHostBridge, type HostBridge, type HostEventHandler, emitEvent, off, offAll, on, type EventListener, type SubscribeListener, type Events, type WriteAccessRequestedStatus, type EmojiStatusAccessRequestedStatus, type BiometryAuthRequestStatus, type BiometryTokenUpdateStatus, type BiometryType, type EmojiStatusFailedError, type EventName, type EventPayload, type EventWithoutPayload, type EventWithPayload, type PhoneRequestedStatus, type FullScreenErrorStatus, type HomeScreenStatus, type InvoiceStatus, type SafeAreaInsets, createPostEvent, type CreatePostEventMode, type OnUnsupportedFn, getReleaseVersion, type PostEventFn, type PostEventFpFn, type PostEventError, supports, type AnyHapticFeedbackParams, type AnyInvokeCustomMethodParams, type CreateMethodParams, type CustomMethodName, type ImpactHapticFeedbackParams, type ImpactHapticFeedbackStyle, type CustomMethodsParams, type CustomMethodParams, type MethodName, type MethodVersionedParams, type NotificationHapticFeedbackParams, type NotificationHapticFeedbackType, type Methods, type SelectionHapticFeedbackParams, type MethodNameWithOptionalParams, type MethodNameWithoutParams, type MethodNameWithRequiredParams, type MethodNameWithVersionedParams, type MethodParams, type PopupParams, type BackgroundColor, type BottomBarColor, type HeaderColorKey, type PopupButton, type OpenLinkBrowser, type SecondaryButtonPosition, type SwitchInlineQueryChatType, type InvokeCustomMethodFn, type InvokeCustomMethodOptions, type InvokeCustomMethodFpFn, type InvokeCustomMethodError, type InvokeCustomMethodFpOptions, type RequestCaptureEventFn, type RequestCaptureEventsFn, type RequestCaptureFn, type RequestCaptureFnEventsPayload, type RequestFn, type RequestOptions, type RequestResult, type RequestError, type RequestFpOptions, type RequestFpFn, applyPolyfills, decodeBase64Url, encodeBase64Url, decodeBase64UrlFp, type DecodeBase64UrlError, LaunchParamsRetrieveError, InvalidLaunchParamsError, InvokeCustomMethodFailedError, MethodParameterUnsupportedError, MethodUnsupportedError, UnknownEnvError, setDebug, debug, logger, setTargetOrigin, targetOrigin, retrieveLaunchParams, retrieveRawInitData, retrieveRawInitDataFp, retrieveRawLaunchParams, retrieveRawLaunchParamsFp, retrieveLaunchParamsFp, type RetrieveLaunchParamsError, type RetrieveLaunchParamsResult, type RetrieveRawInitDataError, type RetrieveRawLaunchParamsError, createStartParam, createStartParamFp, decodeStartParam, decodeStartParamFp, isSafeToCreateStartParam, createLogger, deepSnakeToCamelObjKeys, type DeepConvertSnakeKeysToCamelCase, type Logger, type LoggerFn, type LoggerForceFn, type LoggerOptions, type LogLevel, CancelledError, TimeoutError, } from '@vbotma/bridge';
|
|
38
38
|
export { parseInitDataQuery, parseInitDataQueryFp, type ParseInitDataQueryError, parseLaunchParamsQuery, parseLaunchParamsQueryFp, type ParseLaunchParamsQueryError, isRGBShort, isRGBAShort, isRGB, isRGBA, isAnyRGB, toRGBFullFp, toRGBFp, toRGB, toRGBFull, serializeInitDataQuery, type InitDataLike, serializeLaunchParamsQuery, type LaunchParamsLike, } from '@vbotma/transformers';
|
|
39
39
|
export type { RGB, User, Chat, Auth, InitData as InitDataType, ChatType, Platform, ThemeParams as ThemeParamsType, LaunchParams, KnownThemeParamsKey, Version, } from '@vbotma/types';
|
|
@@ -147,7 +147,7 @@ export interface WithChecksOptions<Fn extends AnyFn> {
|
|
|
147
147
|
/**
|
|
148
148
|
* A signal to retrieve the current VBot Mini Apps version or the value itself.
|
|
149
149
|
*/
|
|
150
|
-
|
|
150
|
+
isVBma: MaybeAccessor<boolean>;
|
|
151
151
|
/**
|
|
152
152
|
* A map where the key is a method name with versioned parameters, and the value is a tuple
|
|
153
153
|
* containing the method and parameter names. The third tuple value is a function accepting
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";var Ot=Object.defineProperty;var Lt=(i,r,n)=>r in i?Ot(i,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):i[r]=n;var e=(i,r,n)=>Lt(i,typeof r!="symbol"?r+"":r,n);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const b=require("@vbotma/signals"),h=require("@vbotma/bridge"),x=require("@vbotma/toolkit"),Me=require("better-promises"),A=require("@vbotma/transformers"),t=require("fp-ts"),j=require("error-kid"),v=require("valibot");function $(i){return typeof i=="function"?i():i}class re{constructor({onMounted:r,restoreState:n,initialState:s,onUnmounted:o,isPageReload:u}){e(this,"_isMounted",b.signal(!1));e(this,"isMounted",b.computed(this._isMounted));e(this,"mount");e(this,"unmount");this.mount=()=>{if(this.isMounted())return t.either.right(void 0);const c=$(u)?n():void 0,a=c?t.either.right(c):typeof s=="function"?s():t.either.right(s);return t.function.pipe(a,t.either.map(p=>{b.batch(()=>{this._isMounted.set(!0),r==null||r(p)})}))},this.unmount=()=>{this._isMounted()&&b.batch(()=>{this._isMounted.set(!1),o==null||o()})}}}function de(i){const r={};for(const n in i){const s=i[n];s!==void 0&&(r[n]=s)}return r}function pe(i,r){const n=Object.keys(i),s=Object.keys(r);return n.length!==s.length?!1:n.every(o=>Object.prototype.hasOwnProperty.call(r,o)&&i[o]===r[o])}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=b.signal(r,{equals:pe}),this.state=b.computed(this._state),this.state.sub(n)}getter(r){return b.computed(()=>this._state()[r])}hasDiff(r){return!pe({...this.state(),...de(r)},this.state())}}function W(i,r){return b.computed(()=>h.supports(i,$(r)))}function l(i){return Object.assign(x.throwifyFpFn(i),{ifAvailable(...r){return t.function.pipe(i.ifAvailable(...r),t.option.match(()=>({ok:!1}),n=>({ok:!0,data:x.throwifyAnyEither(n)})))}})}function Y(i){return[i]}class ee extends j.errorClassWithData("ValidationError",(r,n)=>({input:r,issues:n}),"Validation error"){}class oe extends j.errorClass("CSSVarsBoundError","CSS variables are already bound"){}class xe extends j.errorClassWithData("DeviceStorageMethodError",r=>({error:r}),r=>[r]){}class Te extends j.errorClassWithData("SecureStorageMethodError",r=>({error:r}),r=>[r]){}class Ve extends j.errorClass("NotAvailableError",Y){}class $t extends j.errorClass("InvalidEnvError",Y){}class Re extends j.errorClass("FunctionNotAvailableError",Y){}class H extends j.errorClass("InvalidArgumentsError",(r,n)=>[r,{cause:n}]){}class ae extends j.errorClass("ConcurrentCallError",Y){}class Oe extends j.errorClass("SetEmojiStatusError",r=>[`Failed to set emoji status: ${r}`]){}class be extends j.errorClass("AccessDeniedError",Y){}class Le extends j.errorClass("FullscreenFailedError",Y){}class $e extends j.errorClass("ShareMessageError",Y){}class je extends j.errorClass("UnknownThemeParamsKeyError",r=>[`Unknown theme params key passed: ${r}`]){}function q(i,r){const n=b.computed(()=>$(r.version)||"100"),s=b.computed(()=>$(r.isTma)),{requires:o,returns:u}=r,c=o?typeof o=="object"?o:{every:[o]}:void 0,a=_=>{if(!r.supports)return!0;const g=r.supports[_];return h.supports(g.method,g.param,n())},p=()=>{if(!c)return;const[_,g]="every"in c?["every",c.every]:["some",c.some];for(let d=0;d<g.length;d++){const P=g[d],R=typeof P=="function"?P():h.supports(P,n())?void 0:`it is unsupported in Mini Apps version ${n()}`;if(R&&(_==="every"||d===g.length-1))return R}},m=(..._)=>{for(const g in r.supports)if(r.supports[g].shouldCheck(..._)&&!a(g))return`option ${g} is not supported in Mini Apps version ${n()}`},F=b.computed(()=>!p()),f=b.computed(()=>n()!=="0.0"),S=b.computed(()=>r.isMounted?r.isMounted():!0),w=b.computed(()=>s()&&f()&&F()&&S()),k=_=>{const g=new Re(_);return["task","promise"].includes(r.returns)?t.taskEither.left(g):t.either.left(g)},E=(..._)=>u==="plain"?t.either.tryCatch(()=>i(..._),g=>g):u==="promise"?t.taskEither.tryCatch(()=>i(..._),g=>g):i(..._);return Object.assign((..._)=>{var R;const g="Unable to call function:";if(!s())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(..._);if(P)return k(`${g} ${P}`);if(!S()){const T=(R=r.isMounting)!=null&&R.call(r)?"mounting. Wait for the mount completion":"unmounted. Use the mount() method";return k(`${g} the component is ${T}`)}return E(..._)},i,{isAvailable:w,ifAvailable(..._){return w()?t.option.some(E(..._)):t.option.none}},c?{isSupported:F}:{},r.supports?{supports:a}:{})}function B(i){return r=>q(r,i)}class ue{constructor({isTma:r,storage:n,onClick:s,offClick:o,initialState:u,isPageReload:c,postEvent:a,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:u,onChange(_){n.set(_)}}),S=new re({initialState:u,isPageReload:c,onMounted:f.setState,restoreState:n.get}),w={version:F,requires:m,isTma:r},k=B({...w,returns:"plain"}),E=B({...w,returns:"either",isMounted:S.isMounted});this.isMounted=S.isMounted,this.isSupported=W(m,F),this.state=f.state,this.setStateFp=E(_=>{const g={...this.state(),...de(_)};return f.hasDiff(g)?t.function.pipe(a(m,p(g)),t.either.map(()=>{f.setState(g)})):t.either.right(void 0)}),this.setState=l(this.setStateFp),this.onClickFp=k(s),this.onClick=l(this.onClickFp),this.offClickFp=k(o),this.offClick=l(this.offClickFp),this.mountFp=k(()=>{const _=()=>{};return t.function.pipe(S.mount(),t.either.match(_,_))}),this.mount=l(this.mountFp),this.unmount=S.unmount,this.stateSetters=_=>{const g=E(d=>this.setStateFp({[_]:d}));return[l(g),g]},this.stateBoolSetters=_=>{const[,g]=this.stateSetters(_),d=E(()=>g(!1)),P=E(()=>g(!0));return[[l(d),d],[l(P),P]]}}stateGetter(r){return b.computed(()=>this.state()[r])}}class De{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:s=>({is_visible:s.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 C(){return{isTma:b.computed(()=>h.isVBMAFp())}}function X(i){return r=>({...r,...$(i)})}function se(i,r){return b.signal(i,r)}const Ge=se(h.postEventFp),Z=(...i)=>Ge()(...i),He=(...i)=>x.throwifyAnyEither(Z(...i)),V=X({postEvent:Z});function jt(i){return{get:()=>x.getStorageValue(i),set(r){x.setStorageValue(i,r)}}}function Dt(){return performance.getEntriesByType("navigation")[0]}function Gt(){const i=Dt();return!!i&&i.type==="reload"}function N(i){return X({storage:jt(i),isPageReload:Gt})}const fe=se("0.0"),y=X({version:fe});function ge(i,r){return{...t.function.pipe(C(),V,y,N(i)),onClick(n,s){return h.on(r,n,s)},offClick(n,s){h.off(r,n,s)}}}const Ht=new De(ge("backButton","back_button_pressed"));class Fe{constructor({initialState:r,onMounted:n,restoreState:s,onUnmounted:o,isPageReload:u}){e(this,"_isMounted",b.signal(!1));e(this,"isMounted",b.computed(this._isMounted));e(this,"mount");e(this,"unmount");this.mount=c=>{if(this._isMounted())return t.taskEither.right(void 0);const a=$(u)?s():void 0;return t.function.pipe(a?t.taskEither.right(a):r(c),t.taskEither.map(p=>{this._isMounted()||b.batch(()=>{this._isMounted.set(!0),n==null||n(p)})}))},this.unmount=()=>{this._isMounted()&&b.batch(()=>{this._isMounted.set(!1),o==null||o()})}}}function Pe(){return new Ve("Biometry is not available")}function he(i){let r=!1,n=!1,s="",o=!1,u="",c=!1;return i.available&&(r=!0,n=i.token_saved,s=i.device_id,o=i.access_requested,u=i.type,c=i.access_granted),{available:r,tokenSaved:n,deviceId:s,type:u,accessGranted:c,accessRequested:o}}class Ue{constructor({version:r,request:n,postEvent:s,storage:o,onInfoReceived:u,offInfoReceived:c,isTma:a,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=_=>{F.setState(he(_))},F=new z({initialState:{available:!1,type:"unknown",accessGranted:!1,accessRequested:!1,deviceId:"",tokenSaved:!1},onChange:o.set}),f=new Fe({initialState(_){return t.function.pipe(n("web_app_biometry_get_info","biometry_info_received",_),t.taskEither.map(he))},isPageReload:p,onMounted(_){F.setState(_),u(m)},onUnmounted(){c(m)},restoreState:o.get}),S={version:r,requires:"web_app_biometry_request_auth",isTma:a},w=B({...S,returns:"either"}),k=B({...S,returns:"task"}),E=B({...S,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(_=>this.isAvailable()?t.function.pipe(n("web_app_biometry_request_auth","biometry_auth_requested",{..._,params:{reason:((_||{}).reason||"").trim()}}),t.taskEither.map(g=>(F.setState({token:g.token}),g))):t.taskEither.left(Pe())),this.openSettingsFp=w(()=>s("web_app_biometry_open_settings")),this.requestAccessFp=E(_=>t.function.pipe(n("web_app_biometry_request_access","biometry_info_received",{..._,params:{reason:((_||{}).reason||"").trim()}}),t.taskEither.chain(g=>{const d=he(g);return d.available?(F.setState(d),t.taskEither.right(d.accessRequested)):t.taskEither.left(Pe())}))),this.updateTokenFp=E((_={})=>{var g;return t.function.pipe(n("web_app_biometry_update_token","biometry_token_updated",{..._,params:{token:_.token||"",reason:(g=_.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 We=(i,r,n)=>h.requestFp(i,r,{postEvent:Z,...n}),we=(i,r,n)=>h.request2Fp(i,r,{postEvent:Z,...n}),Ut=(...i)=>Me.BetterPromise.fn(()=>We(...i)()),Wt=(...i)=>Me.BetterPromise.fn(()=>we(...i)()),O=X({request:we});function Qt(){return new Ue({...t.function.pipe(C(),V,y,O,N("biometry")),offInfoReceived(i){h.off("biometry_info_received",i)},onInfoReceived(i){return h.on("biometry_info_received",i)}})}const Kt=Qt();class Qe{constructor({postEvent:r,storage:n,isTma:s,isPageReload:o}){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 u=new z({initialState:{isConfirmationEnabled:!1},onChange(f){n.set(f)}}),c=new re({onMounted:u.setState,restoreState:n.get,initialState:{isConfirmationEnabled:!1},isPageReload:o}),a={requires:"web_app_setup_closing_behavior",isTma:s},p=B({...a,returns:"plain"}),m=B({...a,returns:"either",isMounted:c.isMounted}),F=f=>f===this.isConfirmationEnabled()?t.either.right(void 0):(u.setState({isConfirmationEnabled:f}),r("web_app_setup_closing_behavior",{need_confirmation:f}));this.isConfirmationEnabled=u.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 zt(){return new Qe(t.function.pipe(C(),N("closingBehavior"),V))}const Nt=zt();class Ke{constructor({version:r,isTma:n,invokeCustomMethod:s}){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 o=B({version:r,requires:"web_app_invoke_custom_method",isTma:n,returns:"task"});this.isSupported=W("web_app_invoke_custom_method",r),this.deleteItemFp=o((u,c)=>{const a=Array.isArray(u)?u:[u];return t.function.pipe(a.length?s("deleteStorageValues",{keys:a},c):t.taskEither.right(void 0),t.taskEither.map(()=>{}))}),this.getItemFp=o((u,c)=>t.function.pipe(this.getItemsFp([u],c),t.taskEither.map(a=>a[u]||""))),this.getItemsFp=o((u,c)=>t.function.pipe(u.length?s("getStorageValues",{keys:u},c):t.taskEither.right({}),t.taskEither.map(a=>({...u.reduce((p,m)=>(p[m]="",p),{}),...v.parse(v.record(v.string(),v.string()),a)})))),this.getKeysFp=o(u=>t.function.pipe(s("getStorageKeys",{},u),t.taskEither.map(c=>v.parse(v.array(v.string()),c)))),this.setItemFp=o((u,c,a)=>t.function.pipe(s("saveStorageValue",{key:u,value:c},a),t.taskEither.map(()=>{}))),this.clearFp=o(u=>t.function.pipe(this.getKeysFp(u),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 le=se(0);function ce(){return le.set(le()+1),le().toString()}function ze(i,r,n){return h.invokeCustomMethodFp(i,r,ce(),{...n||{},postEvent:Z})}const Ce=X({invokeCustomMethod:ze});function Jt(){return new Ke(t.function.pipe(C(),y,Ce))}const Yt=Jt();class Ne{constructor({isTma:r,request:n,version:s,createRequestId:o}){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 u=B({version:s,requires:"web_app_device_storage_get_key",isTma:r,returns:"task"}),c=(a,p,m)=>{const F=o();return t.function.pipe(n(a,["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 xe(f.payload.error||"UNKNOWN_ERROR")):t.taskEither.right(f.payload)))};this.getItemFp=u(a=>t.function.pipe(c("web_app_device_storage_get_key","device_storage_key_received",{key:a}),t.taskEither.map(p=>p.value))),this.setItemFp=u((a,p)=>t.function.pipe(c("web_app_device_storage_save_key","device_storage_key_saved",{key:a,value:p}),t.taskEither.map(()=>{}))),this.deleteItemFp=u(a=>this.setItemFp(a,null)),this.clearFp=u(()=>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 Je=X({createRequestId:ce});function Zt(){return new Ne(t.function.pipe(C(),y,O,Je))}const Xt=Zt();function er({request:i,...r}){return q(n=>t.function.pipe(i("web_app_request_emoji_status_access","emoji_status_access_requested",n),t.taskEither.map(s=>s.status)),{...r,requires:"web_app_request_emoji_status_access",returns:"task"})}function tr(){return er(t.function.pipe(C(),y,O))}const Ye=tr(),rr=l(Ye);function sr({request:i,...r}){return q((n,s)=>t.function.pipe(i("web_app_set_emoji_status",["emoji_status_set","emoji_status_failed"],{params:{custom_emoji_id:n,duration:(s||{}).duration},...s}),t.taskEither.chainW(o=>o.event==="emoji_status_failed"?t.taskEither.left(new Oe(o.payload.error)):t.taskEither.right(void 0))),{...r,requires:"web_app_set_emoji_status",returns:"task"})}function nr(){return sr(t.function.pipe(C(),O,y))}const Ze=nr(),ir=l(Ze);class Xe{constructor({postEvent:r,isTma:n,version:s}){e(this,"isSupported");e(this,"impactOccurredFp");e(this,"impactOccurred");e(this,"notificationOccurredFp");e(this,"notificationOccurred");e(this,"selectionChangedFp");e(this,"selectionChanged");const o="web_app_trigger_haptic_feedback",u=B({requires:o,isTma:n,version:s,returns:"plain"});this.isSupported=W(o,s),this.impactOccurredFp=u(c=>r(o,{type:"impact",impact_style:c})),this.notificationOccurredFp=u(c=>r(o,{type:"notification",notification_type:c})),this.selectionChangedFp=u(()=>r(o,{type:"selection_change"})),this.impactOccurred=l(this.impactOccurredFp),this.notificationOccurred=l(this.notificationOccurredFp),this.selectionChanged=l(this.selectionChangedFp)}}function or(){return new Xe(t.function.pipe(C(),V,y))}const ar=or();function ur({postEvent:i,...r}){return q(()=>i("web_app_add_to_home_screen"),{...r,requires:"web_app_add_to_home_screen",returns:"either"})}function cr(){return ur(t.function.pipe(C(),y,V))}const et=cr(),pr=l(et);function hr({request:i,...r}){return q(n=>t.function.pipe(i("web_app_check_home_screen","home_screen_checked",n),t.taskEither.map(s=>s.status||"unknown")),{...r,requires:"web_app_check_home_screen",returns:"task"})}function lr(){return hr(t.function.pipe(C(),y,O))}const tt=lr(),dr=l(tt);class rt{constructor({retrieveInitData:r}){e(this,"_state",b.signal());e(this,"_raw",b.signal());e(this,"state",b.computed(this._state));e(this,"authDate",this.fromState("auth_date"));e(this,"canSendAfter",this.fromState("can_send_after"));e(this,"canSendAfterDate",b.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",b.computed(this._raw));e(this,"receiver",this.fromState("receiver"));e(this,"signature",this.fromState("signature"));e(this,"startParam",this.fromState("start_param"));e(this,"auth",this.fromState("auth"));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:s})=>{this._state.set(s),this._raw.set(n)}))),this.restore=x.throwifyFpFn(this.restoreFp)}fromState(r){return b.computed(()=>{const n=this._state();return n?n[r]:void 0})}}function fr(){return new rt({retrieveInitData(){return t.function.pipe(t.either.Do,t.either.bindW("obj",()=>t.function.pipe(h.retrieveLaunchParamsFp(),t.either.map(({vbWebAppData:i})=>i?t.option.some(i):t.option.none))),t.either.bindW("raw",h.retrieveRawInitDataFp),t.either.map(({obj:i,raw:r})=>t.function.pipe(t.option.Do,t.option.bind("obj",()=>i),t.option.bind("raw",()=>r))))}})}const mr=fr();class st{constructor({version:r,request:n,isTma:s}){e(this,"isOpened");e(this,"isSupported");e(this,"openSlugFp");e(this,"openSlug");e(this,"openUrlFp");e(this,"openUrl");const o=B({version:r,isTma:s,requires:"web_app_open_invoice",returns:"task"}),u=b.signal(!1),c=()=>{u.set(!1)};this.isSupported=W("web_app_open_invoice",r),this.isOpened=b.computed(u),this.openSlugFp=o((a,p)=>t.function.pipe(this.isOpened()?t.taskEither.left(new ae("Invoice is already opened")):t.taskEither.right(void 0),t.taskEither.chain(()=>(u.set(!0),n("web_app_open_invoice","invoice_closed",{...p,params:{slug:a},capture:m=>a===m.slug}))),t.taskEither.mapBoth(m=>(c(),m),m=>(c(),m.status)))),this.openUrlFp=o((a,p)=>{const{hostname:m,pathname:F}=new URL(a,window.location.href);if(m!=="t.me")return t.taskEither.left(new H(`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 H('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 _r(){return new st(t.function.pipe(C(),O,y))}const br=_r();function gr({postEvent:i,...r}){return q((n,s={})=>{if(typeof n=="string")try{n=new URL(n)}catch(o){return t.either.left(new H(`"${n.toString()}" is invalid URL`,o))}return i("web_app_open_link",{url:n.toString(),try_browser:s.tryBrowser,try_instant_view:s.tryInstantView})},{...r,returns:"either"})}function Fr(){return gr(t.function.pipe(C(),V))}const nt=Fr(),wr=l(nt);function Cr({postEvent:i,version:r,...n}){return q(s=>{const o=s.toString();return o.match(/^https:\/\/t.me\/.+/)?h.supports("web_app_open_tg_link",$(r))?(s=new URL(s),i("web_app_open_tg_link",{path_full:s.pathname+s.search})):(window.location.href=o,t.either.right(void 0)):t.either.left(new H(`"${o}" is invalid URL`))},{...n,returns:"either"})}function Sr(){return Cr(t.function.pipe(C(),V,y))}const Se=Sr(),kr=l(Se);function Er({openVbotLink:i,...r}){return q((n,s)=>i("https://t.me/share/url?"+new URLSearchParams({url:n,text:s||""}).toString().replace(/\+/g,"%20")),{...r,returns:"either"})}function yr(){return Er({...C(),openVbotLink:Se})}const it=yr(),vr=l(it);function Br(i){let r=!1,n,s;return i.available&&(r=!0,n=i.access_requested,s=i.access_granted),{available:r,accessGranted:s||!1,accessRequested:n||!1}}class ot{constructor({version:r,request:n,postEvent:s,storage:o,isTma:u,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 a=new z({initialState:{available:!1,accessGranted:!1,accessRequested:!1},onChange:o.set}),p=new Fe({isPageReload:c,restoreState:o.get,onMounted:a.setState,initialState(w){return t.function.pipe(n("web_app_check_location","location_checked",w),t.taskEither.map(Br))}}),m={version:r,requires:"web_app_check_location",isTma:u},F=B({...m,returns:"either"}),f=B({...m,returns:"task"}),S=B({...m,returns:"task",isMounted:p.isMounted});this.isAvailable=a.getter("available"),this.isAccessRequested=a.getter("accessRequested"),this.isAccessGranted=a.getter("accessGranted"),this.isSupported=W("web_app_check_location",r),this.isMounted=p.isMounted,this.state=a.state,this.unmount=p.unmount,this.mountFp=f(p.mount),this.openSettingsFp=F(()=>s("web_app_open_location_settings")),this.requestLocationFp=S(w=>t.function.pipe(n("web_app_request_location","location_requested",w),t.taskEither.map(k=>{if(!k.available)return a.setState({available:!1}),null;const{available:E,..._}=k;return _}))),this.mount=l(this.mountFp),this.openSettings=l(this.openSettingsFp),this.requestLocation=l(this.requestLocationFp)}}function Ir(){return new ot(t.function.pipe(C(),V,y,O,N("locationManager")))}const qr=Ir();class at{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 s=new ue({...n,version:"100",initialState:{hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,text:"Continue"},method:"web_app_setup_main_button",payload:u=>({has_shine_effect:u.hasShineEffect,is_visible:u.isVisible,is_active:u.isEnabled,is_progress_visible:u.isLoaderVisible,text:u.text,color:u.bgColor,text_color:u.textColor})}),o=(u,c)=>{const a=s.stateGetter(u);return b.computed(()=>a()||$(c))};this.bgColor=o("bgColor",r.bgColor),this.textColor=o("textColor",r.textColor),this.hasShineEffect=s.stateGetter("hasShineEffect"),this.isEnabled=s.stateGetter("isEnabled"),this.isLoaderVisible=s.stateGetter("isLoaderVisible"),this.text=s.stateGetter("text"),this.isVisible=s.stateGetter("isVisible"),this.isMounted=s.isMounted,this.state=s.state,[this.setBgColor,this.setBgColorFp]=s.stateSetters("bgColor"),[this.setTextColor,this.setTextColorFp]=s.stateSetters("textColor"),[[this.disableShineEffect,this.disableShineEffectFp],[this.enableShineEffect,this.enableShineEffectFp]]=s.stateBoolSetters("hasShineEffect"),[[this.disable,this.disableFp],[this.enable,this.enableFp]]=s.stateBoolSetters("isEnabled"),[[this.hideLoader,this.hideLoaderFp],[this.showLoader,this.showLoaderFp]]=s.stateBoolSetters("isLoaderVisible"),[this.setText,this.setTextFp]=s.stateSetters("text"),[[this.hide,this.hideFp],[this.show,this.showFp]]=s.stateBoolSetters("isVisible"),this.setParams=s.setState,this.setParamsFp=s.setStateFp,this.onClick=s.onClick,this.onClickFp=s.onClickFp,this.offClick=s.offClick,this.offClickFp=s.offClickFp,this.mount=s.mount,this.mountFp=s.mountFp,this.unmount=s.unmount}}function ke(i,r){document.documentElement.style.setProperty(i,r)}function Ee(i){document.documentElement.style.removeProperty(i)}function ut(i){return t.function.pipe(A.toRGBFullFp(i),t.either.map(r=>Math.sqrt([.299,.587,.114].reduce((n,s,o)=>{const u=parseInt(r.slice(1+o*2,1+(o+1)*2),16);return n+u*u*s},0))<120))}const ye=x.throwifyFpFn(ut);class ct{constructor({initialState:r,onChange:n,offChange:s,isTma:o,storage:u,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",b.signal(!1));e(this,"isCssVarsBound",b.computed(this._isCssVarsBound));e(this,"bindCssVarsFp");e(this,"bindCssVars");e(this,"state");e(this,"isDark",b.computed(()=>{const r=this.bgColor();return!r||ye(r)}));e(this,"isMounted");e(this,"mountFp");e(this,"mount");e(this,"unmount");const a=new z({initialState:{},onChange:u.set}),p=w=>{a.setState(w.theme_params)},m=new re({initialState:()=>t.either.right($(r)),isPageReload:c,onMounted(w){a.setState(w),n(p)},onUnmounted(){s(p)},restoreState:u.get}),F={isTma:o,returns:"either"},f=B(F),S=B({...F,isMounted:m.isMounted});this.accentTextColor=a.getter("accent_text_color"),this.bgColor=a.getter("bg_color"),this.buttonColor=a.getter("button_color"),this.buttonTextColor=a.getter("button_text_color"),this.bottomBarBgColor=a.getter("bottom_bar_bg_color"),this.destructiveTextColor=a.getter("destructive_text_color"),this.headerBgColor=a.getter("header_bg_color"),this.hintColor=a.getter("hint_color"),this.linkColor=a.getter("link_color"),this.secondaryBgColor=a.getter("secondary_bg_color"),this.sectionBgColor=a.getter("section_bg_color"),this.sectionHeaderTextColor=a.getter("section_header_text_color"),this.sectionSeparatorColor=a.getter("section_separator_color"),this.subtitleTextColor=a.getter("subtitle_text_color"),this.textColor=a.getter("text_color"),this.state=a.state,this.isMounted=m.isMounted,this.bindCssVarsFp=S(w=>{if(this._isCssVarsBound())return t.either.left(new oe);w||(w=_=>`--tg-theme-${x.snakeToKebab(_)}`);const k=_=>{Object.entries(a.state()).forEach(([g,d])=>{d&&_(g,d)})},E=()=>{k((_,g)=>{ke(w(_),g)})};return E(),a.state.sub(E),this._isCssVarsBound.set(!0),t.either.right(()=>{k(Ee),a.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 Ar(){return new ct({...t.function.pipe(C(),N("themeParams")),offChange(i){h.off("theme_changed",i)},onChange(i){h.on("theme_changed",i)},initialState:me})}const te=Ar();function pt(i,r,n){return t.function.pipe(ge(i,r),s=>({...s,defaults:n}))}const Pr=new at(pt("mainButton","main_button_pressed",{bgColor:b.computed(()=>te.buttonColor()||"#2481cc"),textColor:b.computed(()=>te.buttonTextColor()||"#ffffff")}));class ht{constructor({storage:r,isPageReload:n,version:s,postEvent:o,isTma:u,theme:c,onVisibilityChanged:a,offVisibilityChanged:p}){e(this,"isSupported");e(this,"isDark",b.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=>{S.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,R])=>{const T=P();if(!A.isRGB(T)&&(R!=="web_app_set_header_color"||!["bg_color","secondary_bg_color"].includes(T))){const D=d[T];D&&o(R,{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=>{a(m),c.sub(F),S.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:u,returns:"plain"}),this.mount=l(this.mountFp),this.unmount=f.unmount;const S=new z({initialState:{bgColor:"bg_color",bottomBarColor:"bottom_bar_bg_color",headerColor:"bg_color",isActive:!1},onChange:r.set});this.state=S.state;const w=d=>A.isRGB(d)?d:$(c)[d],k=d=>b.computed(()=>w(d()));this.isActive=S.getter("isActive"),this.isSupported=b.computed(()=>["web_app_set_header_color","web_app_set_background_color","web_app_set_bottom_bar_color"].some(d=>h.supports(d,$(s))));const E=b.signal(!1);this.isCssVarsBound=b.computed(E),this.bindCssVarsFp=q(d=>{if(E())return t.either.left(new oe);const[P,R]=x.createCbCollector(()=>{E.set(!1)}),T=(D,L)=>{const U=()=>{ke(D,L()||null)};U(),P(L.sub(U),Ee.bind(null,D))};return d||(d=D=>`--tg-${x.camelToKebab(D)}`),T(d("bgColor"),this.bgColorRgb),T(d("bottomBarColor"),this.bottomBarColorRgb),T(d("headerColor"),this.headerColorRgb),E.set(!0),t.either.right(R)},{isTma:u,returns:"either",isMounted:this.isMounted}),this.bindCssVars=l(this.bindCssVarsFp);const _=d=>{const P=S.getter(d),R=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(L=>{if(L===P())return t.either.right(void 0);if(T==="web_app_set_header_color"&&(L==="bg_color"||L==="secondary_bg_color"))return t.function.pipe(o("web_app_set_header_color",{color_key:L}),t.either.map(()=>{S.setState({[d]:L})}));const U=w(L);return t.function.pipe(U?o(T,{color:U}):t.either.left(new je(L)),t.either.map(()=>{S.setState({[d]:L})}))},{isTma:u,version:s,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,R,l(D),D]};[this.bgColor,this.bgColorRgb,this.setBgColor,this.setBgColorFp]=_("bgColor"),[this.headerColor,this.headerColorRgb,this.setHeaderColor,this.setHeaderColorFp]=_("headerColor"),[this.bottomBarColor,this.bottomBarColorRgb,this.setBottomBarColor,this.setBottomBarColorFp]=_("bottomBarColor");const g=B({isTma:u,returns:"either"});this.closeFp=g(d=>o("web_app_close",{return_back:d})),this.close=l(this.closeFp),this.readyFp=g(()=>o("web_app_ready")),this.ready=l(this.readyFp)}}function Mr(){return new ht({...t.function.pipe(C(),V,y,N("miniApp")),offVisibilityChanged(i){h.off("visibility_changed",i)},onVisibilityChanged(i){h.on("visibility_changed",i)},theme:te.state})}const lt=Mr();function xr(){const i=Date.now(),r=Math.random().toString(36).substring(2,9);return`notif_${i}_${r}`}class dt{constructor({}){e(this,"sendFp");e(this,"send");this.sendFp=r=>t.function.pipe(t.taskEither.fromEither(h.postEventFp("web_app_send_notification",{id:xr(),message:r.message,title:r.title,type:r.type??"default"})),t.taskEither.map(()=>{})),this.send=r=>this.sendFp(r)().then(s=>{if(s._tag==="Left")throw s.left;return s.right})}}function Tr(){return new dt(t.function.pipe(C()))}const Vr=Tr();function Rr(i){const r=i.message.trim(),n=(i.title||"").trim(),s=i.buttons||[];if(n.length>64)return t.either.left(new H(`Invalid title: ${n}`));if(!r||r.length>256)return t.either.left(new H(`Invalid message: ${r}`));if(s.length>3)return t.either.left(new H(`Invalid buttons count: ${s.length}`));const o=[];if(!s.length)o.push({type:"close",id:""});else for(let u=0;u<s.length;u++){const c=s[u],a=c.id||"";if(a.length>64)return t.either.left(new H(`Button with index ${u} has invalid id: ${a}`));if(!c.type||c.type==="default"||c.type==="destructive"){const p=c.text.trim();if(!p||p.length>64)return t.either.left(new H(`Button with index ${u} has invalid text: ${p}`));o.push({type:c.type,text:p,id:a})}else o.push({type:c.type,id:a})}return t.either.right({title:n,message:r,buttons:o})}class ft{constructor({version:r,isTma:n,request:s}){e(this,"isOpened");e(this,"isSupported");e(this,"showFp");e(this,"show");const o=b.signal(!1),u=()=>{o.set(!1)},c=B({version:r,isTma:n,requires:"web_app_open_popup",returns:"task"});this.isSupported=W("web_app_open_popup",r),this.isOpened=b.computed(o),this.showFp=c(a=>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(Rr(a))),t.taskEither.chain(p=>(o.set(!0),s("web_app_open_popup","popup_closed",{...a,params:p}))),t.taskEither.mapBoth(p=>(u(),p),p=>(u(),p.button_id)))),this.show=l(this.showFp)}}function Or(){return new ft(t.function.pipe(C(),O,y))}const Lr=Or();function $r({request:i,...r}){return q(n=>t.function.pipe(i("web_app_request_phone","phone_requested",n),t.taskEither.map(s=>s.status)),{...r,requires:"web_app_request_phone",returns:"task"})}function jr(){return $r(t.function.pipe(C(),y,O))}const ve=jr(),Dr=l(ve);function Gr({invokeCustomMethod:i,requestPhoneAccess:r,...n}){const s=c=>t.function.pipe(i("getRequestedContact",{},{...c,timeout:(c||{}).timeout||5e3}),t.taskEither.chainW(a=>{const p=v.safeParse(v.string(),a);if(!p.success)return t.taskEither.left(new ee(a,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))})),o=c=>t.function.pipe(s(c),t.taskEither.match(a=>ee.is(a)?t.either.left(a):t.either.right(void 0),a=>t.either.right(a))),u=c=>x.BetterTaskEither(async(a,p,m)=>{let F=50;for(;!m.isRejected;){const f=await o(m)();if(f._tag==="Left")return p(f.left);if(f.right)return a(f.right);await new Promise(S=>setTimeout(S,F)),F+=50}},c);return q(c=>x.BetterTaskEither.fn(a=>t.function.pipe(o(a),t.taskEither.chain(p=>p?t.taskEither.right(p):t.function.pipe(r(a),t.taskEither.chainW(m=>m==="sent"?u(a):t.taskEither.left(new be("User denied access")))))),c),{...n,returns:"task",requires:"web_app_request_phone"})}function Hr(){return Gr({...t.function.pipe(C(),Ce,y),requestPhoneAccess:ve})}function Ur({requestContact:i,...r}){return q(i,{...r,returns:"task",requires:"web_app_request_phone"})}function Wr(){return Ur({...t.function.pipe(C(),y),requestContact(i){return t.function.pipe(Be(i),t.taskEither.map(r=>r.parsed))}})}const Be=Hr(),Qr=l(Be),mt=Wr(),Kr=l(mt);function zr({request:i,...r}){return q(n=>t.function.pipe(i("web_app_request_write_access","write_access_requested",n),t.taskEither.map(s=>s.status)),{...r,requires:"web_app_request_write_access",returns:"task"})}function Nr(){return zr(t.function.pipe(C(),y,O))}const _t=Nr(),Jr=l(_t);class bt{constructor({version:r,onClosed:n,onTextReceived:s,isTma:o,postEvent:u}){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:o},a=B({...c,returns:"either"}),p=B({...c,returns:"task"}),m=b.signal(!1),F=()=>{m.set(!1)};this.isSupported=W("web_app_open_scan_qr_popup",r),this.isOpened=b.computed(m),this.captureFp=p(f=>{let S;return t.function.pipe(this.openFp({...f,onCaptured:w=>{f.capture(w)&&(S=w,this.close())}}),t.taskEither.map(()=>S))}),this.closeFp=a(()=>t.function.pipe(u("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()=>u("web_app_open_scan_qr_popup",{text:f.text}),t.taskEither.chainW(()=>{m.set(!0);const[S,w]=x.createCbCollector(),k=E=>(w(),m.set(!1),E);return t.function.pipe(x.BetterTaskEither(E=>{S(n(E),m.sub(_=>{_||E()}),s(f.onCaptured))},f),t.taskEither.mapBoth(k,k))}))),this.open=l(this.openFp),this.capture=l(this.captureFp),this.close=l(this.closeFp)}}function Yr(){return new bt({...t.function.pipe(C(),V,y),onClosed(i){return h.on("scan_qr_popup_closed",i)},onTextReceived(i){return h.on("qr_text_received",r=>{i(r.data)})}})}const Zr=Yr();class gt{constructor({}){e(this,"isRefreshing");e(this,"finishRefreshFp");e(this,"finishRefresh");e(this,"onRefreshRequest");const r=b.signal(!1);h.on("refresh_requested",()=>{r.set(!0)}),this.isRefreshing=b.computed(r),this.finishRefreshFp=()=>t.function.pipe(t.taskEither.fromEither(h.postEventFp("web_app_finish_refresh")),t.taskEither.map(()=>{r.set(!1)})),this.finishRefresh=()=>this.finishRefreshFp()().then(s=>{if(s._tag==="Left")throw s.left;return s.right}),this.onRefreshRequest=n=>{const s=()=>{n()};return h.on("refresh_requested",s)}}}function Xr(){return new gt(t.function.pipe(C()))}const es=Xr();class Ft{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 s=new ue({...n,initialState:{hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,text:"Cancel",position:"left"},method:"web_app_setup_secondary_button",payload:u=>({has_shine_effect:u.hasShineEffect,is_visible:u.isVisible,is_active:u.isEnabled,is_progress_visible:u.isLoaderVisible,text:u.text,color:u.bgColor,text_color:u.textColor,position:u.position})}),o=(u,c)=>{const a=s.stateGetter(u);return b.computed(()=>a()||$(c))};this.isSupported=W("web_app_setup_secondary_button",n.version),this.bgColor=o("bgColor",r.bgColor),this.textColor=o("textColor",r.textColor),this.position=s.stateGetter("position"),this.hasShineEffect=s.stateGetter("hasShineEffect"),this.isEnabled=s.stateGetter("isEnabled"),this.isLoaderVisible=s.stateGetter("isLoaderVisible"),this.text=s.stateGetter("text"),this.isVisible=s.stateGetter("isVisible"),this.isMounted=s.isMounted,this.state=s.state,[this.setPosition,this.setPositionFp]=s.stateSetters("position"),[this.setBgColor,this.setBgColorFp]=s.stateSetters("bgColor"),[this.setTextColor,this.setTextColorFp]=s.stateSetters("textColor"),[[this.disableShineEffect,this.disableShineEffectFp],[this.enableShineEffect,this.enableShineEffectFp]]=s.stateBoolSetters("hasShineEffect"),[[this.disable,this.disableFp],[this.enable,this.enableFp]]=s.stateBoolSetters("isEnabled"),[[this.hideLoader,this.hideLoaderFp],[this.showLoader,this.showLoaderFp]]=s.stateBoolSetters("isLoaderVisible"),[this.setText,this.setTextFp]=s.stateSetters("text"),[[this.hide,this.hideFp],[this.show,this.showFp]]=s.stateBoolSetters("isVisible"),this.setParams=s.setState,this.setParamsFp=s.setStateFp,this.onClick=s.onClick,this.onClickFp=s.onClickFp,this.offClick=s.offClick,this.offClickFp=s.offClickFp,this.mount=s.mount,this.mountFp=s.mountFp,this.unmount=s.unmount}}function ts(){return new Ft(pt("secondaryButton","secondary_button_pressed",{bgColor:b.computed(()=>lt.bottomBarColorRgb()||"#000000"),textColor:b.computed(()=>te.buttonColor()||"#2481cc")}))}const rs=ts();class wt{constructor({isTma:r,request:n,version:s,createRequestId:o}){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 u=B({version:s,requires:"web_app_secure_storage_get_key",isTma:r,returns:"task"}),c=(a,p,m)=>{const F=o();return t.function.pipe(n(a,["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 Te(f.payload.error||"UNKNOWN_ERROR")):t.taskEither.right(f.payload)))};this.getItemFp=u(a=>t.function.pipe(c("web_app_secure_storage_get_key","secure_storage_key_received",{key:a}),t.taskEither.map(p=>({value:p.value,canRestore:!!p.can_restore})))),this.setItemFp=u((a,p)=>t.function.pipe(c("web_app_secure_storage_save_key","secure_storage_key_saved",{key:a,value:p}),t.taskEither.map(()=>{}))),this.deleteItemFp=u(a=>this.setItemFp(a,null)),this.clearFp=u(()=>t.function.pipe(c("web_app_secure_storage_clear","secure_storage_cleared",{}),t.taskEither.map(()=>{}))),this.restoreItemFp=u(a=>t.function.pipe(c("web_app_secure_storage_restore_key","secure_storage_key_restored",{key:a}),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 ss(){return new wt(t.function.pipe(C(),y,O,Je))}const ns=ss();class Ct{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:s=>({is_visible:s.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 is=new Ct(ge("settingsButton","settings_button_pressed"));class St{constructor({postEvent:r,storage:n,isTma:s,isPageReload:o,version:u}){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},a=new z({initialState:c,onChange(w){n.set(w)}}),p=new re({initialState:c,isPageReload:o,onMounted:a.setState,restoreState:n.get}),m={requires:"web_app_setup_swipe_behavior",isTma:s,version:u},F=B({...m,returns:"plain"}),f=B({...m,isMounted:p.isMounted,returns:"either"}),S=w=>{const k={isVerticalEnabled:w};return a.hasDiff(k)?t.function.pipe(r("web_app_setup_swipe_behavior",{allow_vertical_swipe:w}),t.either.map(()=>{a.setState(k)})):t.either.right(void 0)};this.isSupported=W("web_app_setup_swipe_behavior",u),this.isVerticalEnabled=a.getter("isVerticalEnabled"),this.isMounted=p.isMounted,this.disableVerticalFp=f(()=>S(!1)),this.enableVerticalFp=f(()=>S(!0)),this.mountFp=F(()=>{const w=()=>{};return t.function.pipe(p.mount(),t.either.match(w,w))}),this.unmount=p.unmount,this.disableVertical=l(this.disableVerticalFp),this.enableVertical=l(this.enableVerticalFp),this.mount=l(this.mountFp)}}function os(){return new St(t.function.pipe(C(),V,y,N("swipeBehavior")))}const as=os();async function us(i){try{const{clipboard:n}=navigator;if(n)return await n.writeText(i)}catch{}const r=document.createElement("textarea");r.value=i,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 cs({request:i,...r}){return q((n,s,o)=>t.function.pipe(i("web_app_request_file_download","file_download_requested",{...o,params:{url:n,file_name:s}}),t.taskEither.chain(u=>u.status==="downloading"?t.taskEither.right(void 0):t.taskEither.left(new be("User denied the action")))),{...r,requires:"web_app_request_file_download",returns:"task"})}function ps(){return cs(t.function.pipe(C(),O,y))}const kt=ps(),hs=l(kt);function ls({invokeCustomMethod:i,...r}){return q(n=>t.function.pipe(i("getCurrentTime",{},n),t.taskEither.chain(s=>{const o=v.safeParse(v.pipe(v.number(),v.integer(),v.transform(u=>new Date(u*1e3)),v.date()),s);return o.success?t.taskEither.right(o.output):t.taskEither.left(new ee(s,o.issues))})),{...r,requires:"web_app_invoke_custom_method",returns:"task"})}function ds(){return ls(t.function.pipe(C(),Ce,y))}const Et=ds(),fs=l(Et);function ms({postEvent:i,...r}){return q(()=>i("web_app_hide_keyboard"),{...r,returns:"either",requires:"web_app_hide_keyboard"})}function _s(){return ms(t.function.pipe(C(),V,y))}const yt=_s(),bs=l(yt);function gs({request:i,createRequestId:r,...n}){return q(s=>{const o=r();return t.function.pipe(i("web_app_read_text_from_clipboard","clipboard_text_received",{...s,params:{req_id:o},capture:h.captureSameReq(o)}),t.taskEither.map(({data:u=null})=>u))},{...n,requires:"web_app_read_text_from_clipboard",returns:"task"})}function Fs(){return gs({...t.function.pipe(C(),y,O),createRequestId:ce})}const vt=Fs(),ws=l(vt);function Bt(i){const r={},n=i.match(/Telegram-Android(?:\/([^ ]+))?(?: (\([^)]+\))?|$)/);if(n){const[,s,o]=n;s&&(r.appVersion=s),o&&o.slice(1,o.length-1).split(";").forEach(u=>{const[c,a]=u.trim().split(" ");if(c==="Android")r.androidVersion=a;else if(c==="SDK"){const p=parseInt(a,10);p&&(r.sdkVersion=p)}else a?(r.manufacturer=c,r.model=a):r.performanceClass=c})}return r}function Cs(){return Bt(navigator.userAgent)}function Ss({postEvent:i,...r}){return q(n=>{const{size:s}=new Blob([n]);return!s||s>4096?t.either.left(new H(s?"Maximum size of data to send is 4096 bytes":"Attempted to send empty data")):i("web_app_data_send",{data:n})},{...r,returns:"either"})}function ks(){return Ss(t.function.pipe(C(),V))}const It=ks(),Es=l(It);function ys({request:i,...r}){return q((n,s)=>t.function.pipe(i("web_app_send_prepared_message",["prepared_message_failed","prepared_message_sent"],{...s,params:{id:n}}),t.taskEither.chain(o=>o.event==="prepared_message_failed"?t.taskEither.left(new $e(o.payload.error)):t.taskEither.right(void 0))),{...r,requires:"web_app_send_prepared_message",returns:"task"})}function vs(){return ys(t.function.pipe(C(),O,y))}const qt=vs(),Bs=l(qt);function Is({postEvent:i,...r}){return q((n,s={})=>i("web_app_share_to_story",{text:s.text,media_url:n,widget_link:s.widgetLink}),{...r,requires:"web_app_share_to_story",returns:"either"})}function qs(){return Is(t.function.pipe(C(),V,y))}const At=qs(),As=l(At),_e=se(!1);function Ps({isInlineMode:i,postEvent:r,...n}){return q((s,o)=>r("web_app_switch_inline_query",{query:s,chat_types:o||[]}),{...n,requires:{every:["web_app_switch_inline_query",()=>$(i)?void 0:"The application must be launched in the inline mode"]},returns:"either"})}function Ms(){return Ps({...t.function.pipe(C(),V,y),isInlineMode:_e})}const Pt=Ms(),xs=l(Pt);class Mt{constructor({storage:r,isPageReload:n,onContentSafeAreaInsetsChanged:s,onSafeAreaInsetsChanged:o,onViewportChanged:u,onFullscreenChanged:c,offContentSafeAreaInsetsChanged:a,offFullscreenChanged:p,offSafeAreaInsetsChanged:m,offViewportChanged:F,request:f,isViewportStable:S,isFullscreen:w,isTma:k,version:E,postEvent:_}){e(this,"state");e(this,"height");e(this,"stableHeight");e(this,"width");e(this,"isExpanded");e(this,"isStable",b.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=I=>{d.setState({isExpanded:I.is_expanded,height:I.height,width:I.width,stableHeight:I.is_state_stable?I.height:void 0})},R=I=>{d.setState({isFullscreen:I.is_fullscreen})},T=I=>{d.setState({safeAreaInsets:I})},D=I=>{d.setState({contentSafeAreaInsets:I})},L=new Fe({initialState(I){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,$(E))?f(K,G,I):t.taskEither.right({top:0,left:0,right:0,bottom:0})},M=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",M(w)),t.taskEither.bindW("isViewportStable",M(S)),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",I),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(I){u(P),c(R),o(T),s(D),d.setState(I)},onUnmounted(){F(P),p(R),m(T),a(D)},restoreState:r.get}),U=I=>b.computed(()=>this.safeAreaInsets()[I]),ne=I=>b.computed(()=>this.contentSafeAreaInsets()[I]);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=U("top"),this.safeAreaInsetBottom=U("bottom"),this.safeAreaInsetLeft=U("left"),this.safeAreaInsetRight=U("right"),this.contentSafeAreaInsets=d.getter("contentSafeAreaInsets"),this.contentSafeAreaInsetTop=ne("top"),this.contentSafeAreaInsetBottom=ne("bottom"),this.contentSafeAreaInsetLeft=ne("left"),this.contentSafeAreaInsetRight=ne("right");const Vt=B({isTma:k,returns:"task"}),Ie=B({isTma:k,returns:"either"}),Rt=B({isTma:k,requires:"web_app_request_fullscreen",version:E,returns:"task"}),qe=I=>Rt(J=>t.function.pipe(f(I?"web_app_request_fullscreen":"web_app_exit_fullscreen",["fullscreen_changed","fullscreen_failed"],J),t.taskEither.chain(M=>M.event==="fullscreen_failed"&&M.payload.error!=="ALREADY_FULLSCREEN"?t.taskEither.left(new Le(M.payload.error)):(d.setState({isFullscreen:"is_fullscreen"in M.payload?M.payload.is_fullscreen:!0}),t.taskEither.right(void 0)))));this.isMounted=L.isMounted,this.mountFp=Vt(L.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=b.signal(!1);this.isCssVarsBound=b.computed(ie),this.bindCssVarsFp=Ie(I=>{if(ie())return t.either.left(new oe);I||(I=M=>`--vb-viewport-${x.camelToKebab(M)}`);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((M,[Q,K])=>{const G=I(Q);if(G){const Ae=()=>{ke(G,`${K()}px`)};M.push({update:Ae,removeListener:K.sub(Ae),cssVar:G})}return M},[]);return J.forEach(M=>{M.update()}),ie.set(!0),t.either.right(()=>{J.forEach(M=>{M.removeListener(),Ee(M.cssVar)}),ie.set(!1)})}),this.bindCssVars=l(this.bindCssVarsFp),this.expandFp=Ie(()=>_("web_app_expand")),this.expand=l(this.expandFp)}}function Ts(){const i=u=>({on:c=>{h.on(u,c)},off:c=>{h.off(u,c)}}),r=i("viewport_changed"),n=i("fullscreen_changed"),s=i("safe_area_changed"),o=i("content_safe_area_changed");return new Mt({...t.function.pipe(C(),N("viewport"),y,V,O),isFullscreen(){return t.function.pipe(h.retrieveLaunchParamsFp(),t.either.map(u=>!!u.vbWebAppFullscreen))},isViewportStable(){return t.function.pipe(h.retrieveLaunchParamsFp(),t.either.map(u=>["macos","tdesktop","unigram","webk","weba","web"].includes(u.vbWebAppPlatform)))},offContentSafeAreaInsetsChanged:o.off,offFullscreenChanged:n.off,offSafeAreaInsetsChanged:s.off,offViewportChanged:r.off,onContentSafeAreaInsetsChanged:o.on,onFullscreenChanged:n.on,onSafeAreaInsetsChanged:s.on,onViewportChanged:r.on})}const Vs=Ts();class xt{constructor({request:r}){e(this,"requestAccessFp");e(this,"requestAccess");e(this,"selectFile");e(this,"selectFiles");e(this,"selectFolder");this.requestAccessFp=n=>t.function.pipe(r("web_app_request_storage_access","storage_access_granted",{params:{access_type:n.accessType,multiple:n.multiple,accept:n.accept,max_file_size:n.maxFileSize,read_content:n.readContent}}),t.taskEither.map(s=>({accessType:s.access_type,items:s.items.map(o=>({name:o.name,path:o.path,size:o.size,type:o.type,content:o.content,lastModified:o.last_modified}))}))),this.requestAccess=n=>this.requestAccessFp(n)().then(o=>{if(o._tag==="Left")throw o.left;return o.right}),this.selectFile=n=>this.requestAccess({accessType:"file",multiple:!1,...n}),this.selectFiles=n=>this.requestAccess({accessType:"file",multiple:!0,...n}),this.selectFolder=()=>this.requestAccess({accessType:"folder"})}}function Rs(){return new xt({request:h.request2Fp})}const Os=Rs();class Ls{static onSend(r){return h.getHostBridge().on("web_app_send_notification",s=>{s&&r(s)})}}class $s{static setTheme(r){h.getHostBridge().send("theme_changed",{theme_params:r})}static onBackgroundColorChange(r){return h.getHostBridge().on("web_app_set_background_color",s=>{s&&typeof s.color=="string"&&r(s.color)})}static onHeaderColorChange(r){return h.getHostBridge().on("web_app_set_header_color",s=>{s&&("color_key"in s&&s.color_key?r(s.color_key):"color"in s&&s.color&&r(s.color))})}static onBottomBarColorChange(r){return h.getHostBridge().on("web_app_set_bottom_bar_color",s=>{s&&s.color&&r(s.color)})}}function Tt(i={}){const{version:r,isInlineMode:n,themeParams:s}=i;if(r&&typeof n=="boolean"&&s)fe.set(r),_e.set(n),me.set(s);else{const a=t.function.pipe(h.retrieveLaunchParamsFp(),t.either.matchW(p=>p,p=>{fe.set(r||p.vbWebAppVersion),_e.set(typeof n=="boolean"?n:!!p.vbWebAppBotInline),me.set(s||p.vbWebAppThemeParams)}));if(a)return t.either.left(a)}i.postEvent&&Ge.set(i.postEvent);const[o,u]=x.createCbCollector(h.on("reload_iframe",()=>{h.logger().log("Received a request to reload the page"),He("iframe_will_reload"),window.location.reload()})),{acceptCustomStyles:c=!0}=i;if(c){const a=document.createElement("style");a.id="telegram-custom-styles",document.head.appendChild(a),o(h.on("set_custom_style",p=>{a.innerHTML=p}),()=>{document.head.removeChild(a)})}return t.function.pipe(Z("iframe_ready",{reload_supported:!0}),t.either.map(()=>(h.logger().log("The package was initialized"),u)))}const js=x.throwifyFpFn(Tt);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,"defineHostBridge",{enumerable:!0,get:()=>h.defineHostBridge});Object.defineProperty(exports,"emitEvent",{enumerable:!0,get:()=>h.emitEvent});Object.defineProperty(exports,"encodeBase64Url",{enumerable:!0,get:()=>h.encodeBase64Url});Object.defineProperty(exports,"getHostBridge",{enumerable:!0,get:()=>h.getHostBridge});Object.defineProperty(exports,"getReleaseVersion",{enumerable:!0,get:()=>h.getReleaseVersion});Object.defineProperty(exports,"isSafeToCreateStartParam",{enumerable:!0,get:()=>h.isSafeToCreateStartParam});Object.defineProperty(exports,"isVBMA",{enumerable:!0,get:()=>h.isVBMA});Object.defineProperty(exports,"isVBMAFp",{enumerable:!0,get:()=>h.isVBMAFp});Object.defineProperty(exports,"logger",{enumerable:!0,get:()=>h.logger});Object.defineProperty(exports,"mockVBotEnv",{enumerable:!0,get:()=>h.mockVBotEnv});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=be;exports.BackButton=De;exports.Biometry=Ue;exports.CSSVarsBoundError=oe;exports.ClosingBehavior=Qe;exports.CloudStorage=Ke;exports.ConcurrentCallError=ae;exports.DeviceStorage=Ne;exports.DeviceStorageMethodError=xe;exports.FullscreenFailedError=Le;exports.FunctionUnavailableError=Re;exports.HapticFeedback=Xe;exports.HostNotification=Ls;exports.HostThemeParams=$s;exports.InitData=rt;exports.InvalidArgumentsError=H;exports.InvalidEnvError=$t;exports.Invoice=st;exports.LocationManager=ot;exports.MainButton=at;exports.MiniApp=ht;exports.NotAvailableError=Ve;exports.Notification=dt;exports.Popup=ft;exports.QrScanner=bt;exports.Refresh=gt;exports.SecondaryButton=Ft;exports.SecureStorage=wt;exports.SecureStorageMethodError=Te;exports.SetEmojiStatusError=Oe;exports.SettingsButton=Ct;exports.ShareMessageError=$e;exports.StoragePermission=xt;exports.SwipeBehavior=St;exports.ThemeParams=ct;exports.UnknownThemeParamsKeyError=je;exports.ValidationError=ee;exports.Viewport=Mt;exports.addToHomeScreen=pr;exports.addToHomeScreenFp=et;exports.backButton=Ht;exports.biometry=Kt;exports.checkHomeScreenStatus=dr;exports.checkHomeScreenStatusFp=tt;exports.closingBehavior=Nt;exports.cloudStorage=Yt;exports.copyTextToClipboard=us;exports.createRequestId=ce;exports.deviceStorage=Xt;exports.downloadFile=hs;exports.downloadFileFp=kt;exports.getCurrentTime=fs;exports.getCurrentTimeFp=Et;exports.hapticFeedback=ar;exports.hideKeyboard=bs;exports.hideKeyboardFp=yt;exports.init=js;exports.initData=mr;exports.initFp=Tt;exports.invoice=br;exports.invokeCustomMethod=ze;exports.isColorDark=ye;exports.isColorDarkFp=ut;exports.locationManager=qr;exports.mainButton=Pr;exports.miniApp=lt;exports.notification=Vr;exports.openLink=wr;exports.openLinkFp=nt;exports.openVBotLink=kr;exports.openVBotLinkFp=Se;exports.popup=Lr;exports.postEvent=He;exports.postEventFp=Z;exports.qrScanner=Zr;exports.readTextFromClipboard=ws;exports.readTextFromClipboardFp=vt;exports.refresh=es;exports.request=Ut;exports.request2=Wt;exports.request2Fp=we;exports.requestContact=Kr;exports.requestContactComplete=Qr;exports.requestContactCompleteFp=Be;exports.requestContactFp=mt;exports.requestEmojiStatusAccess=rr;exports.requestEmojiStatusAccessFp=Ye;exports.requestFp=We;exports.requestPhoneAccess=Dr;exports.requestPhoneAccessFp=ve;exports.requestWriteAccess=Jr;exports.requestWriteAccessFp=_t;exports.retrieveAndroidDeviceData=Cs;exports.retrieveAndroidDeviceDataFrom=Bt;exports.secondaryButton=rs;exports.secureStorage=ns;exports.sendData=Es;exports.sendDataFp=It;exports.setEmojiStatus=ir;exports.setEmojiStatusFp=Ze;exports.settingsButton=is;exports.shareMessage=Bs;exports.shareMessageFp=qt;exports.shareStory=As;exports.shareStoryFp=At;exports.shareURL=vr;exports.shareURLFp=it;exports.storagePermission=Os;exports.swipeBehavior=as;exports.switchInlineQuery=xs;exports.switchInlineQueryFp=Pt;exports.themeParams=te;exports.viewport=Vs;
|
|
1
|
+
"use strict";var cr=Object.defineProperty;var ur=(i,e,s)=>e in i?cr(i,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):i[e]=s;var t=(i,e,s)=>ur(i,typeof e!="symbol"?e+"":e,s);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const _=require("@vbotma/signals"),o=require("@vbotma/bridge"),A=require("@vbotma/toolkit"),Pe=require("better-promises"),I=require("@vbotma/transformers"),n=require("fp-ts"),O=require("error-kid"),v=require("valibot");function V(i){return typeof i=="function"?i():i}class re{constructor({onMounted:e,restoreState:s,initialState:r,onUnmounted:a,isPageReload:c}){t(this,"_isMounted",_.signal(!1));t(this,"isMounted",_.computed(this._isMounted));t(this,"mount");t(this,"unmount");this.mount=()=>{if(this.isMounted())return n.either.right(void 0);const p=V(c)?s():void 0,u=p?n.either.right(p):typeof r=="function"?r():n.either.right(r);return n.function.pipe(u,n.either.map(d=>{_.batch(()=>{this._isMounted.set(!0),e==null||e(d)})}))},this.unmount=()=>{this._isMounted()&&_.batch(()=>{this._isMounted.set(!1),a==null||a()})}}}function le(i){const e={};for(const s in i){const r=i[s];r!==void 0&&(e[s]=r)}return e}function pe(i,e){const s=Object.keys(i),r=Object.keys(e);return s.length!==r.length?!1:s.every(a=>Object.prototype.hasOwnProperty.call(e,a)&&i[a]===e[a])}class N{constructor({initialState:e,onChange:s}){t(this,"_state");t(this,"state");t(this,"setState",e=>{const s={...this.state(),...le(e)};pe(s,this.state())||this._state.set(s)});this._state=_.signal(e,{equals:pe}),this.state=_.computed(this._state),this.state.sub(s)}getter(e){return _.computed(()=>this._state()[e])}hasDiff(e){return!pe({...this.state(),...le(e)},this.state())}}function U(i,e){return _.computed(()=>o.supports(i,V(e)))}function h(i){return Object.assign(A.throwifyFpFn(i),{ifAvailable(...e){return n.function.pipe(i.ifAvailable(...e),n.option.match(()=>({ok:!1}),s=>({ok:!0,data:A.throwifyAnyEither(s)})))}})}function Y(i){return[i]}class ee extends O.errorClassWithData("ValidationError",(e,s)=>({input:e,issues:s}),"Validation error"){}class oe extends O.errorClass("CSSVarsBoundError","CSS variables are already bound"){}class Ae extends O.errorClassWithData("DeviceStorageMethodError",e=>({error:e}),e=>[e]){}class Me extends O.errorClassWithData("SecureStorageMethodError",e=>({error:e}),e=>[e]){}class Re extends O.errorClass("NotAvailableError",Y){}class pr extends O.errorClass("InvalidEnvError",Y){}class xe extends O.errorClass("FunctionNotAvailableError",Y){}class G extends O.errorClass("InvalidArgumentsError",(e,s)=>[e,{cause:s}]){}class ae extends O.errorClass("ConcurrentCallError",Y){}class Te extends O.errorClass("SetEmojiStatusError",e=>[`Failed to set emoji status: ${e}`]){}class _e extends O.errorClass("AccessDeniedError",Y){}class Le extends O.errorClass("FullscreenFailedError",Y){}class Ve extends O.errorClass("ShareMessageError",Y){}class Oe extends O.errorClass("UnknownThemeParamsKeyError",e=>[`Unknown theme params key passed: ${e}`]){}function q(i,e){const s=_.computed(()=>V(e.version)||"100"),r=_.computed(()=>V(e.isVBma)),{requires:a,returns:c}=e,p=a?typeof a=="object"?a:{every:[a]}:void 0,u=f=>{if(!e.supports)return!0;const m=e.supports[f];return o.supports(m.method,m.param,s())},d=()=>{if(!p)return;const[f,m]="every"in p?["every",p.every]:["some",p.some];for(let l=0;l<m.length;l++){const H=m[l],x=typeof H=="function"?H():o.supports(H,s())?void 0:`it is unsupported in Mini Apps version ${s()}`;if(x&&(f==="every"||l===m.length-1))return x}},b=(...f)=>{for(const m in e.supports)if(e.supports[m].shouldCheck(...f)&&!u(m))return`option ${m} is not supported in Mini Apps version ${s()}`},w=_.computed(()=>!d()),g=_.computed(()=>s()!=="0.0"),C=_.computed(()=>e.isMounted?e.isMounted():!0),F=_.computed(()=>r()&&g()&&w()&&C()),k=f=>{const m=new xe(f);return["task","promise"].includes(e.returns)?n.taskEither.left(m):n.either.left(m)},B=(...f)=>c==="plain"?n.either.tryCatch(()=>i(...f),m=>m):c==="promise"?n.taskEither.tryCatch(()=>i(...f),m=>m):i(...f);return Object.assign((...f)=>{var x;const m="Unable to call function:";if(!r())return k(`${m} it can't be called outside Mini Apps`);if(!g())return k(`${m} the SDK was not initialized. Use the SDK init() function`);const l=d();if(l)return k(`${m} ${l}`);const H=b(...f);if(H)return k(`${m} ${H}`);if(!C()){const M=(x=e.isMounting)!=null&&x.call(e)?"mounting. Wait for the mount completion":"unmounted. Use the mount() method";return k(`${m} the component is ${M}`)}return B(...f)},i,{isAvailable:F,ifAvailable(...f){return F()?n.option.some(B(...f)):n.option.none}},p?{isSupported:w}:{},e.supports?{supports:u}:{})}function y(i){return e=>q(e,i)}class ce{constructor({isVBma:e,storage:s,onClick:r,offClick:a,initialState:c,isPageReload:p,postEvent:u,payload:d,method:b,version:w}){t(this,"isMounted");t(this,"isSupported");t(this,"state");t(this,"stateSetters");t(this,"stateBoolSetters");t(this,"setStateFp");t(this,"setState");t(this,"onClickFp");t(this,"onClick");t(this,"offClickFp");t(this,"offClick");t(this,"mountFp");t(this,"mount");t(this,"unmount");const g=new N({initialState:c,onChange(f){s.set(f)}}),C=new re({initialState:c,isPageReload:p,onMounted:g.setState,restoreState:s.get}),F={version:w,requires:b,isVBma:e},k=y({...F,returns:"plain"}),B=y({...F,returns:"either",isMounted:C.isMounted});this.isMounted=C.isMounted,this.isSupported=U(b,w),this.state=g.state,this.setStateFp=B(f=>{const m={...this.state(),...le(f)};return g.hasDiff(m)?n.function.pipe(u(b,d(m)),n.either.map(()=>{g.setState(m)})):n.either.right(void 0)}),this.setState=h(this.setStateFp),this.onClickFp=k(r),this.onClick=h(this.onClickFp),this.offClickFp=k(a),this.offClick=h(this.offClickFp),this.mountFp=k(()=>{const f=()=>{};return n.function.pipe(C.mount(),n.either.match(f,f))}),this.mount=h(this.mountFp),this.unmount=C.unmount,this.stateSetters=f=>{const m=B(l=>this.setStateFp({[f]:l}));return[h(m),m]},this.stateBoolSetters=f=>{const[,m]=this.stateSetters(f),l=B(()=>m(!1)),H=B(()=>m(!0));return[[h(l),l],[h(H),H]]}}stateGetter(e){return _.computed(()=>this.state()[e])}}class je{constructor(e){t(this,"isVisible");t(this,"isMounted");t(this,"isSupported");t(this,"hideFp");t(this,"hide");t(this,"showFp");t(this,"show");t(this,"onClickFp");t(this,"onClick");t(this,"offClickFp");t(this,"offClick");t(this,"mountFp");t(this,"mount");t(this,"unmount");const s=new ce({...e,method:"web_app_setup_back_button",payload:r=>({is_visible:r.isVisible}),initialState:{isVisible:!1}});this.isVisible=s.stateGetter("isVisible"),this.isMounted=s.isMounted,this.isSupported=s.isSupported,[[this.hide,this.hideFp],[this.show,this.showFp]]=s.stateBoolSetters("isVisible"),this.onClick=s.onClick,this.onClickFp=s.onClickFp,this.offClick=s.offClick,this.offClickFp=s.offClickFp,this.mount=s.mount,this.mountFp=s.mountFp,this.unmount=s.unmount}}function S(){return{isVBma:_.computed(()=>o.isVBmaFp())}}function X(i){return e=>({...e,...V(i)})}function se(i,e){return _.signal(i,e)}const De=se(o.postEventFp),Z=(...i)=>De()(...i),Ge=(...i)=>A.throwifyAnyEither(Z(...i)),R=X({postEvent:Z});function dr(i){return{get:()=>A.getStorageValue(i),set(e){A.setStorageValue(i,e)}}}function hr(){return performance.getEntriesByType("navigation")[0]}function lr(){const i=hr();return!!i&&i.type==="reload"}function z(i){return X({storage:dr(i),isPageReload:lr})}const ge=se("0.0"),E=X({version:ge});function me(i,e){return{...n.function.pipe(S(),R,E,z(i)),onClick(s,r){return o.on(e,s,r)},offClick(s,r){o.off(e,s,r)}}}const gr=new je(me("backButton","back_button_pressed"));class we{constructor({initialState:e,onMounted:s,restoreState:r,onUnmounted:a,isPageReload:c}){t(this,"_isMounted",_.signal(!1));t(this,"isMounted",_.computed(this._isMounted));t(this,"mount");t(this,"unmount");this.mount=p=>{if(this._isMounted())return n.taskEither.right(void 0);const u=V(c)?r():void 0;return n.function.pipe(u?n.taskEither.right(u):e(p),n.taskEither.map(d=>{this._isMounted()||_.batch(()=>{this._isMounted.set(!0),s==null||s(d)})}))},this.unmount=()=>{this._isMounted()&&_.batch(()=>{this._isMounted.set(!1),a==null||a()})}}}function He(){return new Re("Biometry is not available")}function de(i){let e=!1,s=!1,r="",a=!1,c="",p=!1;return i.available&&(e=!0,s=i.token_saved,r=i.device_id,a=i.access_requested,c=i.type,p=i.access_granted),{available:e,tokenSaved:s,deviceId:r,type:c,accessGranted:p,accessRequested:a}}class Ue{constructor({version:e,request:s,postEvent:r,storage:a,onInfoReceived:c,offInfoReceived:p,isVBma:u,isPageReload:d}){t(this,"isAvailable");t(this,"isSupported");t(this,"isMounted");t(this,"state");t(this,"authenticateFp");t(this,"authenticate");t(this,"openSettingsFp");t(this,"openSettings");t(this,"requestAccessFp");t(this,"requestAccess");t(this,"updateTokenFp");t(this,"updateToken");t(this,"mountFp");t(this,"mount");t(this,"unmount");const b=f=>{w.setState(de(f))},w=new N({initialState:{available:!1,type:"unknown",accessGranted:!1,accessRequested:!1,deviceId:"",tokenSaved:!1},onChange:a.set}),g=new we({initialState(f){return n.function.pipe(s("web_app_biometry_get_info","biometry_info_received",f),n.taskEither.map(de))},isPageReload:d,onMounted(f){w.setState(f),c(b)},onUnmounted(){p(b)},restoreState:a.get}),C={version:e,requires:"web_app_biometry_request_auth",isVBma:u},F=y({...C,returns:"either"}),k=y({...C,returns:"task"}),B=y({...C,isMounted:g.isMounted,returns:"task"});this.isAvailable=w.getter("available"),this.isMounted=g.isMounted,this.isSupported=U("web_app_biometry_request_auth",e),this.state=w.state,this.unmount=g.unmount,this.mountFp=k(g.mount),this.authenticateFp=B(f=>this.isAvailable()?n.function.pipe(s("web_app_biometry_request_auth","biometry_auth_requested",{...f,params:{reason:((f||{}).reason||"").trim()}}),n.taskEither.map(m=>(w.setState({token:m.token}),m))):n.taskEither.left(He())),this.openSettingsFp=F(()=>r("web_app_biometry_open_settings")),this.requestAccessFp=B(f=>n.function.pipe(s("web_app_biometry_request_access","biometry_info_received",{...f,params:{reason:((f||{}).reason||"").trim()}}),n.taskEither.chain(m=>{const l=de(m);return l.available?(w.setState(l),n.taskEither.right(l.accessRequested)):n.taskEither.left(He())}))),this.updateTokenFp=B((f={})=>{var m;return n.function.pipe(s("web_app_biometry_update_token","biometry_token_updated",{...f,params:{token:f.token||"",reason:(m=f.reason)==null?void 0:m.trim()}}),n.taskEither.map(l=>l.status))}),this.authenticate=h(this.authenticateFp),this.openSettings=h(this.openSettingsFp),this.requestAccess=h(this.requestAccessFp),this.updateToken=h(this.updateTokenFp),this.mount=h(this.mountFp)}}const We=(i,e,s)=>o.requestFp(i,e,{postEvent:Z,...s}),Fe=(i,e,s)=>o.request2Fp(i,e,{postEvent:Z,...s}),br=(...i)=>Pe.BetterPromise.fn(()=>We(...i)()),fr=(...i)=>Pe.BetterPromise.fn(()=>Fe(...i)()),T=X({request:Fe});function _r(){return new Ue({...n.function.pipe(S(),R,E,T,z("biometry")),offInfoReceived(i){o.off("biometry_info_received",i)},onInfoReceived(i){return o.on("biometry_info_received",i)}})}const mr=_r();class Qe{constructor({postEvent:e,storage:s,isVBma:r,isPageReload:a}){t(this,"isConfirmationEnabled");t(this,"isMounted");t(this,"mountFp");t(this,"mount");t(this,"unmount");t(this,"disableConfirmationFp");t(this,"disableConfirmation");t(this,"enableConfirmationFp");t(this,"enableConfirmation");const c=new N({initialState:{isConfirmationEnabled:!1},onChange(g){s.set(g)}}),p=new re({onMounted:c.setState,restoreState:s.get,initialState:{isConfirmationEnabled:!1},isPageReload:a}),u={requires:"web_app_setup_closing_behavior",isVBma:r},d=y({...u,returns:"plain"}),b=y({...u,returns:"either",isMounted:p.isMounted}),w=g=>g===this.isConfirmationEnabled()?n.either.right(void 0):(c.setState({isConfirmationEnabled:g}),e("web_app_setup_closing_behavior",{need_confirmation:g}));this.isConfirmationEnabled=c.getter("isConfirmationEnabled"),this.isMounted=p.isMounted,this.disableConfirmationFp=b(()=>w(!1)),this.enableConfirmationFp=b(()=>w(!0)),this.mountFp=d(()=>{const g=()=>{};return n.function.pipe(p.mount(),n.either.match(g,g))}),this.unmount=p.unmount,this.disableConfirmation=h(this.disableConfirmationFp),this.enableConfirmation=h(this.enableConfirmationFp),this.mount=h(this.mountFp)}}function wr(){return new Qe(n.function.pipe(S(),z("closingBehavior"),R))}const Fr=wr();class Ke{constructor({version:e,isVBma:s,invokeCustomMethod:r}){t(this,"isSupported");t(this,"deleteItemFp");t(this,"deleteItem");t(this,"getItemFp");t(this,"getItem");t(this,"getItemsFp");t(this,"getItems");t(this,"getKeysFp");t(this,"getKeys");t(this,"setItemFp");t(this,"setItem");t(this,"clearFp");t(this,"clear");const a=y({version:e,requires:"web_app_invoke_custom_method",isVBma:s,returns:"task"});this.isSupported=U("web_app_invoke_custom_method",e),this.deleteItemFp=a((c,p)=>{const u=Array.isArray(c)?c:[c];return n.function.pipe(u.length?r("deleteStorageValues",{keys:u},p):n.taskEither.right(void 0),n.taskEither.map(()=>{}))}),this.getItemFp=a((c,p)=>n.function.pipe(this.getItemsFp([c],p),n.taskEither.map(u=>u[c]||""))),this.getItemsFp=a((c,p)=>n.function.pipe(c.length?r("getStorageValues",{keys:c},p):n.taskEither.right({}),n.taskEither.map(u=>({...c.reduce((d,b)=>(d[b]="",d),{}),...v.parse(v.record(v.string(),v.string()),u)})))),this.getKeysFp=a(c=>n.function.pipe(r("getStorageKeys",{},c),n.taskEither.map(p=>v.parse(v.array(v.string()),p)))),this.setItemFp=a((c,p,u)=>n.function.pipe(r("saveStorageValue",{key:c,value:p},u),n.taskEither.map(()=>{}))),this.clearFp=a(c=>n.function.pipe(this.getKeysFp(c),n.taskEither.chain(this.deleteItemFp))),this.deleteItem=h(this.deleteItemFp),this.getItem=h(this.getItemFp),this.getItems=h(this.getItemsFp),this.getKeys=h(this.getKeysFp),this.setItem=h(this.setItemFp),this.clear=h(this.clearFp)}}const he=se(0);function ue(){return he.set(he()+1),he().toString()}function Ne(i,e,s){return o.invokeCustomMethodFp(i,e,ue(),{...s||{},postEvent:Z})}const Se=X({invokeCustomMethod:Ne});function Sr(){return new Ke(n.function.pipe(S(),E,Se))}const Cr=Sr();class ze{constructor({isVBma:e,request:s,version:r,createRequestId:a}){t(this,"getItemFp");t(this,"getItem");t(this,"setItemFp");t(this,"setItem");t(this,"deleteItemFp");t(this,"deleteItem");t(this,"clearFp");t(this,"clear");const c=y({version:r,requires:"web_app_device_storage_get_key",isVBma:e,returns:"task"}),p=(u,d,b)=>{const w=a();return n.function.pipe(s(u,["device_storage_failed",d],{params:{...b,req_id:w},capture:(g=>"payload"in g?g.payload.req_id===w:!0)}),n.taskEither.chain(g=>g.event==="device_storage_failed"?n.taskEither.left(new Ae(g.payload.error||"UNKNOWN_ERROR")):n.taskEither.right(g.payload)))};this.getItemFp=c(u=>n.function.pipe(p("web_app_device_storage_get_key","device_storage_key_received",{key:u}),n.taskEither.map(d=>d.value))),this.setItemFp=c((u,d)=>n.function.pipe(p("web_app_device_storage_save_key","device_storage_key_saved",{key:u,value:d}),n.taskEither.map(()=>{}))),this.deleteItemFp=c(u=>this.setItemFp(u,null)),this.clearFp=c(()=>n.function.pipe(p("web_app_device_storage_clear","device_storage_cleared",{}),n.taskEither.map(()=>{}))),this.getItem=h(this.getItemFp),this.setItem=h(this.setItemFp),this.deleteItem=h(this.deleteItemFp),this.clear=h(this.clearFp)}}const Je=X({createRequestId:ue});function kr(){return new ze(n.function.pipe(S(),E,T,Je))}const Br=kr();function Er({request:i,...e}){return q(s=>n.function.pipe(i("web_app_request_emoji_status_access","emoji_status_access_requested",s),n.taskEither.map(r=>r.status)),{...e,requires:"web_app_request_emoji_status_access",returns:"task"})}function vr(){return Er(n.function.pipe(S(),E,T))}const Ye=vr(),yr=h(Ye);function $r({request:i,...e}){return q((s,r)=>n.function.pipe(i("web_app_set_emoji_status",["emoji_status_set","emoji_status_failed"],{params:{custom_emoji_id:s,duration:(r||{}).duration},...r}),n.taskEither.chainW(a=>a.event==="emoji_status_failed"?n.taskEither.left(new Te(a.payload.error)):n.taskEither.right(void 0))),{...e,requires:"web_app_set_emoji_status",returns:"task"})}function qr(){return $r(n.function.pipe(S(),T,E))}const Ze=qr(),Ir=h(Ze);class Xe{constructor({postEvent:e,isVBma:s,version:r}){t(this,"isSupported");t(this,"impactOccurredFp");t(this,"impactOccurred");t(this,"notificationOccurredFp");t(this,"notificationOccurred");t(this,"selectionChangedFp");t(this,"selectionChanged");const a="web_app_trigger_haptic_feedback",c=y({requires:a,isVBma:s,version:r,returns:"plain"});this.isSupported=U(a,r),this.impactOccurredFp=c(p=>e(a,{type:"impact",impact_style:p})),this.notificationOccurredFp=c(p=>e(a,{type:"notification",notification_type:p})),this.selectionChangedFp=c(()=>e(a,{type:"selection_change"})),this.impactOccurred=h(this.impactOccurredFp),this.notificationOccurred=h(this.notificationOccurredFp),this.selectionChanged=h(this.selectionChangedFp)}}function Hr(){return new Xe(n.function.pipe(S(),R,E))}const Pr=Hr();function Ar({postEvent:i,...e}){return q(()=>i("web_app_add_to_home_screen"),{...e,requires:"web_app_add_to_home_screen",returns:"either"})}function Mr(){return Ar(n.function.pipe(S(),E,R))}const et=Mr(),Rr=h(et);function xr({request:i,...e}){return q(s=>n.function.pipe(i("web_app_check_home_screen","home_screen_checked",s),n.taskEither.map(r=>r.status||"unknown")),{...e,requires:"web_app_check_home_screen",returns:"task"})}function Tr(){return xr(n.function.pipe(S(),E,T))}const tt=Tr(),Lr=h(tt);class rt{constructor({retrieveInitData:e}){t(this,"_state",_.signal());t(this,"_raw",_.signal());t(this,"state",_.computed(this._state));t(this,"authDate",this.fromState("auth_date"));t(this,"canSendAfter",this.fromState("can_send_after"));t(this,"canSendAfterDate",_.computed(()=>{const e=this.authDate(),s=this.canSendAfter();return s&&e?new Date(e.getTime()+s*1e3):void 0}));t(this,"chat",this.fromState("chat"));t(this,"chatType",this.fromState("chat_type"));t(this,"chatInstance",this.fromState("chat_instance"));t(this,"hash",this.fromState("hash"));t(this,"queryId",this.fromState("query_id"));t(this,"raw",_.computed(this._raw));t(this,"receiver",this.fromState("receiver"));t(this,"signature",this.fromState("signature"));t(this,"startParam",this.fromState("start_param"));t(this,"auth",this.fromState("auth"));t(this,"user",this.fromState("user"));t(this,"restoreFp");t(this,"restore");this.restoreFp=()=>n.function.pipe(e(),n.either.map(n.option.match(()=>{},({raw:s,obj:r})=>{this._state.set(r),this._raw.set(s)}))),this.restore=A.throwifyFpFn(this.restoreFp)}fromState(e){return _.computed(()=>{const s=this._state();return s?s[e]:void 0})}}function Vr(){return new rt({retrieveInitData(){return n.function.pipe(n.either.Do,n.either.bindW("obj",()=>n.function.pipe(o.retrieveLaunchParamsFp(),n.either.map(({vbWebAppData:i})=>i?n.option.some(i):n.option.none))),n.either.bindW("raw",o.retrieveRawInitDataFp),n.either.map(({obj:i,raw:e})=>n.function.pipe(n.option.Do,n.option.bind("obj",()=>i),n.option.bind("raw",()=>e))))}})}const Or=Vr();class st{constructor({version:e,request:s,isVBma:r}){t(this,"isOpened");t(this,"isSupported");t(this,"openSlugFp");t(this,"openSlug");t(this,"openUrlFp");t(this,"openUrl");const a=y({version:e,isVBma:r,requires:"web_app_open_invoice",returns:"task"}),c=_.signal(!1),p=()=>{c.set(!1)};this.isSupported=U("web_app_open_invoice",e),this.isOpened=_.computed(c),this.openSlugFp=a((u,d)=>n.function.pipe(this.isOpened()?n.taskEither.left(new ae("Invoice is already opened")):n.taskEither.right(void 0),n.taskEither.chain(()=>(c.set(!0),s("web_app_open_invoice","invoice_closed",{...d,params:{slug:u},capture:b=>u===b.slug}))),n.taskEither.mapBoth(b=>(p(),b),b=>(p(),b.status)))),this.openUrlFp=a((u,d)=>{const{hostname:b,pathname:w}=new URL(u,window.location.href);if(b!=="t.me")return n.taskEither.left(new G(`Link has unexpected hostname: ${b}`));const g=w.match(/^\/(\$|invoice\/)([A-Za-z0-9\-_=]+)$/);return g?this.openSlugFp(g[2],d):n.taskEither.left(new G('Expected to receive a link with a pathname in format "/invoice/{slug}" or "/${slug}"'))}),this.openUrl=h(this.openUrlFp),this.openSlug=h(this.openSlugFp)}}function jr(){return new st(n.function.pipe(S(),T,E))}const Dr=jr();function Gr({postEvent:i,...e}){return q((s,r={})=>{if(typeof s=="string")try{s=new URL(s)}catch(a){return n.either.left(new G(`"${s.toString()}" is invalid URL`,a))}return i("web_app_open_link",{url:s.toString(),try_browser:r.tryBrowser,try_instant_view:r.tryInstantView})},{...e,returns:"either"})}function Ur(){return Gr(n.function.pipe(S(),R))}const nt=Ur(),Wr=h(nt);function Qr({postEvent:i,version:e,...s}){return q(r=>{const a=r.toString();return a.match(/^https:\/\/t.me\/.+/)?o.supports("web_app_open_tg_link",V(e))?(r=new URL(r),i("web_app_open_tg_link",{path_full:r.pathname+r.search})):(window.location.href=a,n.either.right(void 0)):n.either.left(new G(`"${a}" is invalid URL`))},{...s,returns:"either"})}function Kr(){return Qr(n.function.pipe(S(),R,E))}const Ce=Kr(),Nr=h(Ce);function zr({openVbotLink:i,...e}){return q((s,r)=>i("https://t.me/share/url?"+new URLSearchParams({url:s,text:r||""}).toString().replace(/\+/g,"%20")),{...e,returns:"either"})}function Jr(){return zr({...S(),openVbotLink:Ce})}const it=Jr(),Yr=h(it);function Zr(i){let e=!1,s,r;return i.available&&(e=!0,s=i.access_requested,r=i.access_granted),{available:e,accessGranted:r||!1,accessRequested:s||!1}}class ot{constructor({version:e,request:s,postEvent:r,storage:a,isVBma:c,isPageReload:p}){t(this,"state");t(this,"isAvailable");t(this,"isAccessGranted");t(this,"isAccessRequested");t(this,"isMounted");t(this,"isSupported");t(this,"openSettingsFp");t(this,"openSettings");t(this,"requestLocationFp");t(this,"requestLocation");t(this,"mountFp");t(this,"mount");t(this,"unmount");const u=new N({initialState:{available:!1,accessGranted:!1,accessRequested:!1},onChange:a.set}),d=new we({isPageReload:p,restoreState:a.get,onMounted:u.setState,initialState(F){return n.function.pipe(s("web_app_check_location","location_checked",F),n.taskEither.map(Zr))}}),b={version:e,requires:"web_app_check_location",isVBma:c},w=y({...b,returns:"either"}),g=y({...b,returns:"task"}),C=y({...b,returns:"task",isMounted:d.isMounted});this.isAvailable=u.getter("available"),this.isAccessRequested=u.getter("accessRequested"),this.isAccessGranted=u.getter("accessGranted"),this.isSupported=U("web_app_check_location",e),this.isMounted=d.isMounted,this.state=u.state,this.unmount=d.unmount,this.mountFp=g(d.mount),this.openSettingsFp=w(()=>r("web_app_open_location_settings")),this.requestLocationFp=C(F=>n.function.pipe(s("web_app_request_location","location_requested",F),n.taskEither.map(k=>{if(!k.available)return u.setState({available:!1}),null;const{available:B,...f}=k;return f}))),this.mount=h(this.mountFp),this.openSettings=h(this.openSettingsFp),this.requestLocation=h(this.requestLocationFp)}}function Xr(){return new ot(n.function.pipe(S(),R,E,T,z("locationManager")))}const es=Xr();class at{constructor({defaults:e,...s}){t(this,"bgColor");t(this,"hasShineEffect");t(this,"isEnabled");t(this,"isLoaderVisible");t(this,"isVisible");t(this,"isMounted");t(this,"state");t(this,"text");t(this,"textColor");t(this,"showFp");t(this,"show");t(this,"hideFp");t(this,"hide");t(this,"enableFp");t(this,"enable");t(this,"enableShineEffectFp");t(this,"enableShineEffect");t(this,"disableFp");t(this,"disable");t(this,"disableShineEffectFp");t(this,"disableShineEffect");t(this,"setBgColorFp");t(this,"setBgColor");t(this,"setTextColorFp");t(this,"setTextColor");t(this,"setTextFp");t(this,"setText");t(this,"showLoaderFp");t(this,"showLoader");t(this,"hideLoaderFp");t(this,"hideLoader");t(this,"setParamsFp");t(this,"setParams");t(this,"mountFp");t(this,"mount");t(this,"unmount");t(this,"onClickFp");t(this,"onClick");t(this,"offClickFp");t(this,"offClick");const r=new ce({...s,version:"100",initialState:{hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,text:"Continue"},method:"web_app_setup_main_button",payload:c=>({has_shine_effect:c.hasShineEffect,is_visible:c.isVisible,is_active:c.isEnabled,is_progress_visible:c.isLoaderVisible,text:c.text,color:c.bgColor,text_color:c.textColor})}),a=(c,p)=>{const u=r.stateGetter(c);return _.computed(()=>u()||V(p))};this.bgColor=a("bgColor",e.bgColor),this.textColor=a("textColor",e.textColor),this.hasShineEffect=r.stateGetter("hasShineEffect"),this.isEnabled=r.stateGetter("isEnabled"),this.isLoaderVisible=r.stateGetter("isLoaderVisible"),this.text=r.stateGetter("text"),this.isVisible=r.stateGetter("isVisible"),this.isMounted=r.isMounted,this.state=r.state,[this.setBgColor,this.setBgColorFp]=r.stateSetters("bgColor"),[this.setTextColor,this.setTextColorFp]=r.stateSetters("textColor"),[[this.disableShineEffect,this.disableShineEffectFp],[this.enableShineEffect,this.enableShineEffectFp]]=r.stateBoolSetters("hasShineEffect"),[[this.disable,this.disableFp],[this.enable,this.enableFp]]=r.stateBoolSetters("isEnabled"),[[this.hideLoader,this.hideLoaderFp],[this.showLoader,this.showLoaderFp]]=r.stateBoolSetters("isLoaderVisible"),[this.setText,this.setTextFp]=r.stateSetters("text"),[[this.hide,this.hideFp],[this.show,this.showFp]]=r.stateBoolSetters("isVisible"),this.setParams=r.setState,this.setParamsFp=r.setStateFp,this.onClick=r.onClick,this.onClickFp=r.onClickFp,this.offClick=r.offClick,this.offClickFp=r.offClickFp,this.mount=r.mount,this.mountFp=r.mountFp,this.unmount=r.unmount}}function ke(i,e){document.documentElement.style.setProperty(i,e)}function Be(i){document.documentElement.style.removeProperty(i)}function ct(i){return n.function.pipe(I.toRGBFullFp(i),n.either.map(e=>Math.sqrt([.299,.587,.114].reduce((s,r,a)=>{const c=parseInt(e.slice(1+a*2,1+(a+1)*2),16);return s+c*c*r},0))<120))}const Ee=A.throwifyFpFn(ct);class ut{constructor({initialState:e,onChange:s,offChange:r,isVBma:a,storage:c,isPageReload:p}){t(this,"accentTextColor");t(this,"bgColor");t(this,"buttonColor");t(this,"buttonTextColor");t(this,"bottomBarBgColor");t(this,"destructiveTextColor");t(this,"headerBgColor");t(this,"hintColor");t(this,"linkColor");t(this,"secondaryBgColor");t(this,"sectionBgColor");t(this,"sectionHeaderTextColor");t(this,"sectionSeparatorColor");t(this,"subtitleTextColor");t(this,"textColor");t(this,"_isCssVarsBound",_.signal(!1));t(this,"isCssVarsBound",_.computed(this._isCssVarsBound));t(this,"bindCssVarsFp");t(this,"bindCssVars");t(this,"state");t(this,"isDark",_.computed(()=>{const e=this.bgColor();return!e||Ee(e)}));t(this,"isMounted");t(this,"mountFp");t(this,"mount");t(this,"unmount");const u=new N({initialState:{},onChange:c.set}),d=F=>{u.setState(F.theme_params)},b=new re({initialState:()=>n.either.right(V(e)),isPageReload:p,onMounted(F){u.setState(F),s(d)},onUnmounted(){r(d)},restoreState:c.get}),w={isVBma:a,returns:"either"},g=y(w),C=y({...w,isMounted:b.isMounted});this.accentTextColor=u.getter("accent_text_color"),this.bgColor=u.getter("bg_color"),this.buttonColor=u.getter("button_color"),this.buttonTextColor=u.getter("button_text_color"),this.bottomBarBgColor=u.getter("bottom_bar_bg_color"),this.destructiveTextColor=u.getter("destructive_text_color"),this.headerBgColor=u.getter("header_bg_color"),this.hintColor=u.getter("hint_color"),this.linkColor=u.getter("link_color"),this.secondaryBgColor=u.getter("secondary_bg_color"),this.sectionBgColor=u.getter("section_bg_color"),this.sectionHeaderTextColor=u.getter("section_header_text_color"),this.sectionSeparatorColor=u.getter("section_separator_color"),this.subtitleTextColor=u.getter("subtitle_text_color"),this.textColor=u.getter("text_color"),this.state=u.state,this.isMounted=b.isMounted,this.bindCssVarsFp=C(F=>{if(this._isCssVarsBound())return n.either.left(new oe);F||(F=f=>`--vb-theme-${A.snakeToKebab(f)}`);const k=f=>{Object.entries(u.state()).forEach(([m,l])=>{l&&f(m,l)})},B=()=>{k((f,m)=>{ke(F(f),m)})};return B(),u.state.sub(B),this._isCssVarsBound.set(!0),n.either.right(()=>{k(Be),u.state.unsub(B),this._isCssVarsBound.set(!1)})}),this.mountFp=g(b.mount),this.unmount=b.unmount,this.bindCssVars=h(this.bindCssVarsFp),this.mount=h(this.mountFp)}}const be=se({});function ts(){return new ut({...n.function.pipe(S(),z("themeParams")),offChange(i){o.off("theme_changed",i)},onChange(i){o.on("theme_changed",i)},initialState:be})}const te=ts();function pt(i,e,s){return n.function.pipe(me(i,e),r=>({...r,defaults:s}))}const rs=new at(pt("mainButton","main_button_pressed",{bgColor:_.computed(()=>te.buttonColor()||"#2481cc"),textColor:_.computed(()=>te.buttonTextColor()||"#ffffff")}));class dt{constructor({storage:e,isPageReload:s,version:r,postEvent:a,isVBma:c,theme:p,onVisibilityChanged:u,offVisibilityChanged:d}){t(this,"isSupported");t(this,"isDark",_.computed(()=>{const e=this.bgColorRgb();return e?Ee(e):!1}));t(this,"isActive");t(this,"state");t(this,"isCssVarsBound");t(this,"bindCssVarsFp");t(this,"bindCssVars");t(this,"isMounted");t(this,"mountFp");t(this,"mount");t(this,"unmount");t(this,"bgColor");t(this,"bgColorRgb");t(this,"setBgColorFp");t(this,"setBgColor");t(this,"headerColor");t(this,"headerColorRgb");t(this,"setHeaderColorFp");t(this,"setHeaderColor");t(this,"bottomBarColor");t(this,"bottomBarColorRgb");t(this,"setBottomBarColorFp");t(this,"setBottomBarColor");t(this,"closeFp");t(this,"close");t(this,"readyFp");t(this,"ready");const b=l=>{C.setState({isActive:l.is_visible})},w=l=>{[[this.headerColor,"web_app_set_header_color"],[this.bgColor,"web_app_set_background_color"],[this.bottomBarColor,"web_app_set_bottom_bar_color"]].forEach(([H,x])=>{const M=H();if(!I.isRGB(M)&&(x!=="web_app_set_header_color"||!["bg_color","secondary_bg_color"].includes(M))){const j=l[M];j&&a(x,{color:j})}})},g=new re({initialState(){return n.either.right({bgColor:"bg_color",headerColor:"header_bg_color",bottomBarColor:"bottom_bar_bg_color",isActive:!0})},isPageReload:s,onMounted:l=>{u(b),p.sub(w),C.setState(l)},onUnmounted(){d(b),p.unsub(w)},restoreState:e.get});this.isMounted=g.isMounted,this.mountFp=q(()=>{const l=()=>{};return n.function.pipe(g.mount(),n.either.match(l,l))},{isVBma:c,returns:"plain"}),this.mount=h(this.mountFp),this.unmount=g.unmount;const C=new N({initialState:{bgColor:"bg_color",bottomBarColor:"bottom_bar_bg_color",headerColor:"bg_color",isActive:!1},onChange:e.set});this.state=C.state;const F=l=>I.isRGB(l)?l:V(p)[l],k=l=>_.computed(()=>F(l()));this.isActive=C.getter("isActive"),this.isSupported=_.computed(()=>["web_app_set_header_color","web_app_set_background_color","web_app_set_bottom_bar_color"].some(l=>o.supports(l,V(r))));const B=_.signal(!1);this.isCssVarsBound=_.computed(B),this.bindCssVarsFp=q(l=>{if(B())return n.either.left(new oe);const[H,x]=A.createCbCollector(()=>{B.set(!1)}),M=(j,L)=>{const W=()=>{ke(j,L()||null)};W(),H(L.sub(W),Be.bind(null,j))};return l||(l=j=>`--tg-${A.camelToKebab(j)}`),M(l("bgColor"),this.bgColorRgb),M(l("bottomBarColor"),this.bottomBarColorRgb),M(l("headerColor"),this.headerColorRgb),B.set(!0),n.either.right(x)},{isVBma:c,returns:"either",isMounted:this.isMounted}),this.bindCssVars=h(this.bindCssVarsFp);const f=l=>{const H=C.getter(l),x=k(H),M={headerColor:"web_app_set_header_color",bgColor:"web_app_set_background_color",bottomBarColor:"web_app_set_bottom_bar_color"}[l],j=q(L=>{if(L===H())return n.either.right(void 0);if(M==="web_app_set_header_color"&&(L==="bg_color"||L==="secondary_bg_color"))return n.function.pipe(a("web_app_set_header_color",{color_key:L}),n.either.map(()=>{C.setState({[l]:L})}));const W=F(L);return n.function.pipe(W?a(M,{color:W}):n.either.left(new Oe(L)),n.either.map(()=>{C.setState({[l]:L})}))},{isVBma:c,version:r,requires:M,isMounted:this.isMounted,returns:"either",supports:l==="headerColor"?{rgb:{method:"web_app_set_header_color",param:"color",shouldCheck:I.isRGB}}:void 0});return[H,x,h(j),j]};[this.bgColor,this.bgColorRgb,this.setBgColor,this.setBgColorFp]=f("bgColor"),[this.headerColor,this.headerColorRgb,this.setHeaderColor,this.setHeaderColorFp]=f("headerColor"),[this.bottomBarColor,this.bottomBarColorRgb,this.setBottomBarColor,this.setBottomBarColorFp]=f("bottomBarColor");const m=y({isVBma:c,returns:"either"});this.closeFp=m(l=>a("web_app_close",{return_back:l})),this.close=h(this.closeFp),this.readyFp=m(()=>a("web_app_ready")),this.ready=h(this.readyFp)}}function ss(){return new dt({...n.function.pipe(S(),R,E,z("miniApp")),offVisibilityChanged(i){o.off("visibility_changed",i)},onVisibilityChanged(i){o.on("visibility_changed",i)},theme:te.state})}const ht=ss();function ns(){const i=Date.now(),e=Math.random().toString(36).substring(2,9);return`notif_${i}_${e}`}class lt{constructor({version:e,isVBma:s}){t(this,"isSupported");t(this,"sendFp");t(this,"send");this.isSupported=U("web_app_send_notification",e||"6.0");const r=y({isVBma:s,version:e,requires:"web_app_send_notification",returns:"task"});this.sendFp=r(a=>n.function.pipe(n.taskEither.fromEither(o.postEventFp("web_app_send_notification",{id:ns(),message:a.message,title:a.title,type:a.type??"default"})),n.taskEither.map(()=>{}))),this.send=a=>this.sendFp(a)().then(p=>{if(p._tag==="Left")throw p.left;return p.right})}}function is(){return new lt(n.function.pipe(S()))}const os=is();function as(i){const e=i.message.trim(),s=(i.title||"").trim(),r=i.buttons||[];if(s.length>64)return n.either.left(new G(`Invalid title: ${s}`));if(!e||e.length>256)return n.either.left(new G(`Invalid message: ${e}`));if(r.length>3)return n.either.left(new G(`Invalid buttons count: ${r.length}`));const a=[];if(!r.length)a.push({type:"close",id:""});else for(let c=0;c<r.length;c++){const p=r[c],u=p.id||"";if(u.length>64)return n.either.left(new G(`Button with index ${c} has invalid id: ${u}`));if(!p.type||p.type==="default"||p.type==="destructive"){const d=p.text.trim();if(!d||d.length>64)return n.either.left(new G(`Button with index ${c} has invalid text: ${d}`));a.push({type:p.type,text:d,id:u})}else a.push({type:p.type,id:u})}return n.either.right({title:s,message:e,buttons:a})}class gt{constructor({version:e,isVBma:s,request:r}){t(this,"isOpened");t(this,"isSupported");t(this,"showFp");t(this,"show");const a=_.signal(!1),c=()=>{a.set(!1)},p=y({version:e,isVBma:s,requires:"web_app_open_popup",returns:"task"});this.isSupported=U("web_app_open_popup",e),this.isOpened=_.computed(a),this.showFp=p(u=>n.function.pipe(this.isOpened()?n.taskEither.left(new ae("A popup is already opened")):n.taskEither.right(void 0),n.taskEither.chainW(()=>n.taskEither.fromEither(as(u))),n.taskEither.chain(d=>(a.set(!0),r("web_app_open_popup","popup_closed",{...u,params:d}))),n.taskEither.mapBoth(d=>(c(),d),d=>(c(),d.button_id)))),this.show=h(this.showFp)}}function cs(){return new gt(n.function.pipe(S(),T,E))}const us=cs();function ps({request:i,...e}){return q(s=>n.function.pipe(i("web_app_request_phone","phone_requested",s),n.taskEither.map(r=>r.status)),{...e,requires:"web_app_request_phone",returns:"task"})}function ds(){return ps(n.function.pipe(S(),E,T))}const ve=ds(),hs=h(ve);function ls({invokeCustomMethod:i,requestPhoneAccess:e,...s}){const r=p=>n.function.pipe(i("getRequestedContact",{},{...p,timeout:(p||{}).timeout||5e3}),n.taskEither.chainW(u=>{const d=v.safeParse(v.string(),u);if(!d.success)return n.taskEither.left(new ee(u,d.issues));if(!d.output)return n.taskEither.right(void 0);const b=v.safeParse(I.pipeQueryToSchema(v.looseObject({contact:I.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(w=>new Date(Number(w)*1e3)),v.date()),hash:v.string()})),d.output);return b.success?n.taskEither.right({raw:d.output,parsed:b.output}):n.taskEither.left(new ee(d.output,b.issues))})),a=p=>n.function.pipe(r(p),n.taskEither.match(u=>ee.is(u)?n.either.left(u):n.either.right(void 0),u=>n.either.right(u))),c=p=>A.BetterTaskEither(async(u,d,b)=>{let w=50;for(;!b.isRejected;){const g=await a(b)();if(g._tag==="Left")return d(g.left);if(g.right)return u(g.right);await new Promise(C=>setTimeout(C,w)),w+=50}},p);return q(p=>A.BetterTaskEither.fn(u=>n.function.pipe(a(u),n.taskEither.chain(d=>d?n.taskEither.right(d):n.function.pipe(e(u),n.taskEither.chainW(b=>b==="sent"?c(u):n.taskEither.left(new _e("User denied access")))))),p),{...s,returns:"task",requires:"web_app_request_phone"})}function gs(){return ls({...n.function.pipe(S(),Se,E),requestPhoneAccess:ve})}function bs({requestContact:i,...e}){return q(i,{...e,returns:"task",requires:"web_app_request_phone"})}function fs(){return bs({...n.function.pipe(S(),E),requestContact(i){return n.function.pipe(ye(i),n.taskEither.map(e=>e.parsed))}})}const ye=gs(),_s=h(ye),bt=fs(),ms=h(bt);function ws({request:i,...e}){return q(s=>n.function.pipe(i("web_app_request_write_access","write_access_requested",s),n.taskEither.map(r=>r.status)),{...e,requires:"web_app_request_write_access",returns:"task"})}function Fs(){return ws(n.function.pipe(S(),E,T))}const ft=Fs(),Ss=h(ft);class _t{constructor({version:e,onClosed:s,onTextReceived:r,isVBma:a,postEvent:c}){t(this,"isOpened");t(this,"isSupported");t(this,"captureFp");t(this,"capture");t(this,"closeFp");t(this,"close");t(this,"openFp");t(this,"open");const p={version:e,requires:"web_app_open_scan_qr_popup",isVBma:a},u=y({...p,returns:"either"}),d=y({...p,returns:"task"}),b=_.signal(!1),w=()=>{b.set(!1)};this.isSupported=U("web_app_open_scan_qr_popup",e),this.isOpened=_.computed(b),this.captureFp=d(g=>{let C;return n.function.pipe(this.openFp({...g,onCaptured:F=>{g.capture(F)&&(C=F,this.close())}}),n.taskEither.map(()=>C))}),this.closeFp=u(()=>n.function.pipe(c("web_app_close_scan_qr_popup"),n.either.map(w))),this.openFp=d(g=>n.function.pipe(b()?n.taskEither.left(new ae("The QR Scanner is already opened")):async()=>c("web_app_open_scan_qr_popup",{text:g.text}),n.taskEither.chainW(()=>{b.set(!0);const[C,F]=A.createCbCollector(),k=B=>(F(),b.set(!1),B);return n.function.pipe(A.BetterTaskEither(B=>{C(s(B),b.sub(f=>{f||B()}),r(g.onCaptured))},g),n.taskEither.mapBoth(k,k))}))),this.open=h(this.openFp),this.capture=h(this.captureFp),this.close=h(this.closeFp)}}function Cs(){return new _t({...n.function.pipe(S(),R,E),onClosed(i){return o.on("scan_qr_popup_closed",i)},onTextReceived(i){return o.on("qr_text_received",e=>{i(e.data)})}})}const ks=Cs();class mt{constructor({}){t(this,"isRefreshing");t(this,"finishRefreshFp");t(this,"finishRefresh");t(this,"onRefreshRequest");const e=_.signal(!1);o.on("refresh_requested",()=>{e.set(!0)}),this.isRefreshing=_.computed(e),this.finishRefreshFp=()=>n.function.pipe(n.taskEither.fromEither(o.postEventFp("web_app_finish_refresh")),n.taskEither.map(()=>{e.set(!1)})),this.finishRefresh=()=>this.finishRefreshFp()().then(r=>{if(r._tag==="Left")throw r.left;return r.right}),this.onRefreshRequest=s=>{const r=()=>{s()};return o.on("refresh_requested",r)}}}function Bs(){return new mt(n.function.pipe(S()))}const Es=Bs();class wt{constructor({defaults:e,...s}){t(this,"isSupported");t(this,"position");t(this,"bgColor");t(this,"hasShineEffect");t(this,"isEnabled");t(this,"isLoaderVisible");t(this,"isVisible");t(this,"isMounted");t(this,"state");t(this,"text");t(this,"textColor");t(this,"showFp");t(this,"show");t(this,"hideFp");t(this,"hide");t(this,"enableFp");t(this,"enable");t(this,"enableShineEffectFp");t(this,"enableShineEffect");t(this,"disableFp");t(this,"disable");t(this,"disableShineEffectFp");t(this,"disableShineEffect");t(this,"setBgColorFp");t(this,"setBgColor");t(this,"setTextColorFp");t(this,"setTextColor");t(this,"setTextFp");t(this,"setText");t(this,"setPositionFp");t(this,"setPosition");t(this,"showLoaderFp");t(this,"showLoader");t(this,"hideLoaderFp");t(this,"hideLoader");t(this,"setParamsFp");t(this,"setParams");t(this,"mountFp");t(this,"mount");t(this,"unmount");t(this,"onClickFp");t(this,"onClick");t(this,"offClickFp");t(this,"offClick");const r=new ce({...s,initialState:{hasShineEffect:!1,isEnabled:!0,isLoaderVisible:!1,isVisible:!1,text:"Cancel",position:"left"},method:"web_app_setup_secondary_button",payload:c=>({has_shine_effect:c.hasShineEffect,is_visible:c.isVisible,is_active:c.isEnabled,is_progress_visible:c.isLoaderVisible,text:c.text,color:c.bgColor,text_color:c.textColor,position:c.position})}),a=(c,p)=>{const u=r.stateGetter(c);return _.computed(()=>u()||V(p))};this.isSupported=U("web_app_setup_secondary_button",s.version),this.bgColor=a("bgColor",e.bgColor),this.textColor=a("textColor",e.textColor),this.position=r.stateGetter("position"),this.hasShineEffect=r.stateGetter("hasShineEffect"),this.isEnabled=r.stateGetter("isEnabled"),this.isLoaderVisible=r.stateGetter("isLoaderVisible"),this.text=r.stateGetter("text"),this.isVisible=r.stateGetter("isVisible"),this.isMounted=r.isMounted,this.state=r.state,[this.setPosition,this.setPositionFp]=r.stateSetters("position"),[this.setBgColor,this.setBgColorFp]=r.stateSetters("bgColor"),[this.setTextColor,this.setTextColorFp]=r.stateSetters("textColor"),[[this.disableShineEffect,this.disableShineEffectFp],[this.enableShineEffect,this.enableShineEffectFp]]=r.stateBoolSetters("hasShineEffect"),[[this.disable,this.disableFp],[this.enable,this.enableFp]]=r.stateBoolSetters("isEnabled"),[[this.hideLoader,this.hideLoaderFp],[this.showLoader,this.showLoaderFp]]=r.stateBoolSetters("isLoaderVisible"),[this.setText,this.setTextFp]=r.stateSetters("text"),[[this.hide,this.hideFp],[this.show,this.showFp]]=r.stateBoolSetters("isVisible"),this.setParams=r.setState,this.setParamsFp=r.setStateFp,this.onClick=r.onClick,this.onClickFp=r.onClickFp,this.offClick=r.offClick,this.offClickFp=r.offClickFp,this.mount=r.mount,this.mountFp=r.mountFp,this.unmount=r.unmount}}function vs(){return new wt(pt("secondaryButton","secondary_button_pressed",{bgColor:_.computed(()=>ht.bottomBarColorRgb()||"#000000"),textColor:_.computed(()=>te.buttonColor()||"#2481cc")}))}const ys=vs();class Ft{constructor({isVBma:e,request:s,version:r,createRequestId:a}){t(this,"getItemFp");t(this,"getItem");t(this,"restoreItemFp");t(this,"restoreItem");t(this,"setItemFp");t(this,"setItem");t(this,"deleteItemFp");t(this,"deleteItem");t(this,"clearFp");t(this,"clear");const c=y({version:r,requires:"web_app_secure_storage_get_key",isVBma:e,returns:"task"}),p=(u,d,b)=>{const w=a();return n.function.pipe(s(u,["secure_storage_failed",d],{params:{...b,req_id:w},capture:(g=>"payload"in g?g.payload.req_id===w:!0)}),n.taskEither.chain(g=>g.event==="secure_storage_failed"?n.taskEither.left(new Me(g.payload.error||"UNKNOWN_ERROR")):n.taskEither.right(g.payload)))};this.getItemFp=c(u=>n.function.pipe(p("web_app_secure_storage_get_key","secure_storage_key_received",{key:u}),n.taskEither.map(d=>({value:d.value,canRestore:!!d.can_restore})))),this.setItemFp=c((u,d)=>n.function.pipe(p("web_app_secure_storage_save_key","secure_storage_key_saved",{key:u,value:d}),n.taskEither.map(()=>{}))),this.deleteItemFp=c(u=>this.setItemFp(u,null)),this.clearFp=c(()=>n.function.pipe(p("web_app_secure_storage_clear","secure_storage_cleared",{}),n.taskEither.map(()=>{}))),this.restoreItemFp=c(u=>n.function.pipe(p("web_app_secure_storage_restore_key","secure_storage_key_restored",{key:u}),n.taskEither.map(d=>d.value))),this.getItem=h(this.getItemFp),this.setItem=h(this.setItemFp),this.deleteItem=h(this.deleteItemFp),this.clear=h(this.clearFp),this.restoreItem=h(this.restoreItemFp)}}function $s(){return new Ft(n.function.pipe(S(),E,T,Je))}const qs=$s();class St{constructor(e){t(this,"isVisible");t(this,"isMounted");t(this,"isSupported");t(this,"hideFp");t(this,"hide");t(this,"showFp");t(this,"show");t(this,"onClickFp");t(this,"onClick");t(this,"offClickFp");t(this,"offClick");t(this,"mountFp");t(this,"mount");t(this,"unmount");const s=new ce({...e,method:"web_app_setup_settings_button",payload:r=>({is_visible:r.isVisible}),initialState:{isVisible:!1}});this.isVisible=s.stateGetter("isVisible"),this.isMounted=s.isMounted,this.isSupported=s.isSupported,[[this.hide,this.hideFp],[this.show,this.showFp]]=s.stateBoolSetters("isVisible"),this.onClick=s.onClick,this.onClickFp=s.onClickFp,this.offClick=s.offClick,this.offClickFp=s.offClickFp,this.mount=s.mount,this.mountFp=s.mountFp,this.unmount=s.unmount}}const Is=new St(me("settingsButton","settings_button_pressed"));class Ct{constructor({postEvent:e,storage:s,isVBma:r,isPageReload:a,version:c}){t(this,"isSupported");t(this,"isVerticalEnabled");t(this,"isMounted");t(this,"mountFp");t(this,"mount");t(this,"unmount");t(this,"disableVerticalFp");t(this,"disableVertical");t(this,"enableVerticalFp");t(this,"enableVertical");const p={isVerticalEnabled:!0},u=new N({initialState:p,onChange(F){s.set(F)}}),d=new re({initialState:p,isPageReload:a,onMounted:u.setState,restoreState:s.get}),b={requires:"web_app_setup_swipe_behavior",isVBma:r,version:c},w=y({...b,returns:"plain"}),g=y({...b,isMounted:d.isMounted,returns:"either"}),C=F=>{const k={isVerticalEnabled:F};return u.hasDiff(k)?n.function.pipe(e("web_app_setup_swipe_behavior",{allow_vertical_swipe:F}),n.either.map(()=>{u.setState(k)})):n.either.right(void 0)};this.isSupported=U("web_app_setup_swipe_behavior",c),this.isVerticalEnabled=u.getter("isVerticalEnabled"),this.isMounted=d.isMounted,this.disableVerticalFp=g(()=>C(!1)),this.enableVerticalFp=g(()=>C(!0)),this.mountFp=w(()=>{const F=()=>{};return n.function.pipe(d.mount(),n.either.match(F,F))}),this.unmount=d.unmount,this.disableVertical=h(this.disableVerticalFp),this.enableVertical=h(this.enableVerticalFp),this.mount=h(this.mountFp)}}function Hs(){return new Ct(n.function.pipe(S(),R,E,z("swipeBehavior")))}const Ps=Hs();async function As(i){try{const{clipboard:s}=navigator;if(s)return await s.writeText(i)}catch{}const e=document.createElement("textarea");e.value=i,e.style.top="0",e.style.left="0",e.style.position="fixed",document.body.appendChild(e),e.focus(),e.select();try{document.execCommand("copy")}finally{document.body.removeChild(e)}}function Ms({request:i,...e}){return q((s,r,a)=>n.function.pipe(i("web_app_request_file_download","file_download_requested",{...a,params:{url:s,file_name:r}}),n.taskEither.chain(c=>c.status==="downloading"?n.taskEither.right(void 0):n.taskEither.left(new _e("User denied the action")))),{...e,requires:"web_app_request_file_download",returns:"task"})}function Rs(){return Ms(n.function.pipe(S(),T,E))}const kt=Rs(),xs=h(kt);function Ts({invokeCustomMethod:i,...e}){return q(s=>n.function.pipe(i("getCurrentTime",{},s),n.taskEither.chain(r=>{const a=v.safeParse(v.pipe(v.number(),v.integer(),v.transform(c=>new Date(c*1e3)),v.date()),r);return a.success?n.taskEither.right(a.output):n.taskEither.left(new ee(r,a.issues))})),{...e,requires:"web_app_invoke_custom_method",returns:"task"})}function Ls(){return Ts(n.function.pipe(S(),Se,E))}const Bt=Ls(),Vs=h(Bt);function Os({postEvent:i,...e}){return q(()=>i("web_app_hide_keyboard"),{...e,returns:"either",requires:"web_app_hide_keyboard"})}function js(){return Os(n.function.pipe(S(),R,E))}const Et=js(),Ds=h(Et);function Gs({request:i,createRequestId:e,...s}){return q(r=>{const a=e();return n.function.pipe(i("web_app_read_text_from_clipboard","clipboard_text_received",{...r,params:{req_id:a},capture:o.captureSameReq(a)}),n.taskEither.map(({data:c=null})=>c))},{...s,requires:"web_app_read_text_from_clipboard",returns:"task"})}function Us(){return Gs({...n.function.pipe(S(),E,T),createRequestId:ue})}const vt=Us(),Ws=h(vt);function yt(i){const e={},s=i.match(/Telegram-Android(?:\/([^ ]+))?(?: (\([^)]+\))?|$)/);if(s){const[,r,a]=s;r&&(e.appVersion=r),a&&a.slice(1,a.length-1).split(";").forEach(c=>{const[p,u]=c.trim().split(" ");if(p==="Android")e.androidVersion=u;else if(p==="SDK"){const d=parseInt(u,10);d&&(e.sdkVersion=d)}else u?(e.manufacturer=p,e.model=u):e.performanceClass=p})}return e}function Qs(){return yt(navigator.userAgent)}function Ks({postEvent:i,...e}){return q(s=>{const{size:r}=new Blob([s]);return!r||r>4096?n.either.left(new G(r?"Maximum size of data to send is 4096 bytes":"Attempted to send empty data")):i("web_app_data_send",{data:s})},{...e,returns:"either"})}function Ns(){return Ks(n.function.pipe(S(),R))}const $t=Ns(),zs=h($t);function Js({request:i,...e}){return q((s,r)=>n.function.pipe(i("web_app_send_prepared_message",["prepared_message_failed","prepared_message_sent"],{...r,params:{id:s}}),n.taskEither.chain(a=>a.event==="prepared_message_failed"?n.taskEither.left(new Ve(a.payload.error)):n.taskEither.right(void 0))),{...e,requires:"web_app_send_prepared_message",returns:"task"})}function Ys(){return Js(n.function.pipe(S(),T,E))}const qt=Ys(),Zs=h(qt);function Xs({postEvent:i,...e}){return q((s,r={})=>i("web_app_share_to_story",{text:r.text,media_url:s,widget_link:r.widgetLink}),{...e,requires:"web_app_share_to_story",returns:"either"})}function en(){return Xs(n.function.pipe(S(),R,E))}const It=en(),tn=h(It),fe=se(!1);function rn({isInlineMode:i,postEvent:e,...s}){return q((r,a)=>e("web_app_switch_inline_query",{query:r,chat_types:a||[]}),{...s,requires:{every:["web_app_switch_inline_query",()=>V(i)?void 0:"The application must be launched in the inline mode"]},returns:"either"})}function sn(){return rn({...n.function.pipe(S(),R,E),isInlineMode:fe})}const Ht=sn(),nn=h(Ht);class Pt{constructor({storage:e,isPageReload:s,onContentSafeAreaInsetsChanged:r,onSafeAreaInsetsChanged:a,onViewportChanged:c,onFullscreenChanged:p,offContentSafeAreaInsetsChanged:u,offFullscreenChanged:d,offSafeAreaInsetsChanged:b,offViewportChanged:w,request:g,isViewportStable:C,isFullscreen:F,isVBma:k,version:B,postEvent:f}){t(this,"state");t(this,"height");t(this,"stableHeight");t(this,"width");t(this,"isExpanded");t(this,"isStable",_.computed(()=>this.height()===this.stableHeight()));t(this,"contentSafeAreaInsets");t(this,"contentSafeAreaInsetTop");t(this,"contentSafeAreaInsetLeft");t(this,"contentSafeAreaInsetRight");t(this,"contentSafeAreaInsetBottom");t(this,"safeAreaInsets");t(this,"safeAreaInsetTop");t(this,"safeAreaInsetLeft");t(this,"safeAreaInsetRight");t(this,"safeAreaInsetBottom");t(this,"isFullscreen");t(this,"requestFullscreenFp");t(this,"requestFullscreen");t(this,"exitFullscreenFp");t(this,"exitFullscreen");t(this,"isCssVarsBound");t(this,"bindCssVarsFp");t(this,"bindCssVars");t(this,"isMounted");t(this,"mountFp");t(this,"mount");t(this,"expandFp");t(this,"expand");const m={top:0,right:0,left:0,bottom:0},l=new N({initialState:{contentSafeAreaInsets:m,height:0,isExpanded:!1,isFullscreen:!1,safeAreaInsets:m,stableHeight:0,width:0},onChange:e.set}),H=$=>{l.setState({isExpanded:$.is_expanded,height:$.height,width:$.width,stableHeight:$.is_state_stable?$.height:void 0})},x=$=>{l.setState({isFullscreen:$.is_fullscreen})},M=$=>{l.setState({safeAreaInsets:$})},j=$=>{l.setState({contentSafeAreaInsets:$})},L=new we({initialState($){const J=Q=>()=>{const[K,D]=Q==="safe-area"?["web_app_request_safe_area","safe_area_changed"]:["web_app_request_content_safe_area","content_safe_area_changed"];return o.supports(K,V(B))?g(K,D,$):n.taskEither.right({top:0,left:0,right:0,bottom:0})},P=Q=>()=>typeof Q=="boolean"?n.taskEither.right(Q):n.taskEither.fromEither(Q());return n.function.pipe(n.taskEither.Do,n.taskEither.bindW("safeAreaInsets",J("safe-area")),n.taskEither.bindW("contentSafeAreaInsets",J("content-safe-area")),n.taskEither.bindW("isFullscreen",P(F)),n.taskEither.bindW("isViewportStable",P(C)),n.taskEither.chainW(({isViewportStable:Q,...K})=>Q?n.taskEither.right({...K,height:window.innerHeight,isExpanded:!0,stableHeight:window.innerHeight,width:window.innerWidth}):n.function.pipe(g("web_app_request_viewport","viewport_changed",$),n.taskEither.map(D=>({...K,height:D.height,isExpanded:D.is_expanded,stableHeight:D.is_state_stable?D.height:0,width:D.width})))))},isPageReload:s,onMounted($){c(H),p(x),a(M),r(j),l.setState($)},onUnmounted(){w(H),d(x),b(M),u(j)},restoreState:e.get}),W=$=>_.computed(()=>this.safeAreaInsets()[$]),ne=$=>_.computed(()=>this.contentSafeAreaInsets()[$]);this.state=l.state,this.height=l.getter("height"),this.stableHeight=l.getter("stableHeight"),this.width=l.getter("width"),this.isExpanded=l.getter("isExpanded"),this.safeAreaInsets=l.getter("safeAreaInsets"),this.safeAreaInsetTop=W("top"),this.safeAreaInsetBottom=W("bottom"),this.safeAreaInsetLeft=W("left"),this.safeAreaInsetRight=W("right"),this.contentSafeAreaInsets=l.getter("contentSafeAreaInsets"),this.contentSafeAreaInsetTop=ne("top"),this.contentSafeAreaInsetBottom=ne("bottom"),this.contentSafeAreaInsetLeft=ne("left"),this.contentSafeAreaInsetRight=ne("right");const or=y({isVBma:k,returns:"task"}),$e=y({isVBma:k,returns:"either"}),ar=y({isVBma:k,requires:"web_app_request_fullscreen",version:B,returns:"task"}),qe=$=>ar(J=>n.function.pipe(g($?"web_app_request_fullscreen":"web_app_exit_fullscreen",["fullscreen_changed","fullscreen_failed"],J),n.taskEither.chain(P=>P.event==="fullscreen_failed"&&P.payload.error!=="ALREADY_FULLSCREEN"?n.taskEither.left(new Le(P.payload.error)):(l.setState({isFullscreen:"is_fullscreen"in P.payload?P.payload.is_fullscreen:!0}),n.taskEither.right(void 0)))));this.isMounted=L.isMounted,this.mountFp=or(L.mount),this.mount=h(this.mountFp),this.isFullscreen=l.getter("isFullscreen"),this.requestFullscreenFp=qe(!0),this.requestFullscreen=h(this.requestFullscreenFp),this.exitFullscreenFp=qe(!1),this.exitFullscreen=h(this.exitFullscreenFp);const ie=_.signal(!1);this.isCssVarsBound=_.computed(ie),this.bindCssVarsFp=$e($=>{if(ie())return n.either.left(new oe);$||($=P=>`--vb-viewport-${A.camelToKebab(P)}`);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((P,[Q,K])=>{const D=$(Q);if(D){const Ie=()=>{ke(D,`${K()}px`)};P.push({update:Ie,removeListener:K.sub(Ie),cssVar:D})}return P},[]);return J.forEach(P=>{P.update()}),ie.set(!0),n.either.right(()=>{J.forEach(P=>{P.removeListener(),Be(P.cssVar)}),ie.set(!1)})}),this.bindCssVars=h(this.bindCssVarsFp),this.expandFp=$e(()=>f("web_app_expand")),this.expand=h(this.expandFp)}}function on(){const i=c=>({on:p=>{o.on(c,p)},off:p=>{o.off(c,p)}}),e=i("viewport_changed"),s=i("fullscreen_changed"),r=i("safe_area_changed"),a=i("content_safe_area_changed");return new Pt({...n.function.pipe(S(),z("viewport"),E,R,T),isFullscreen(){return n.function.pipe(o.retrieveLaunchParamsFp(),n.either.map(c=>!!c.vbWebAppFullscreen))},isViewportStable(){return n.function.pipe(o.retrieveLaunchParamsFp(),n.either.map(c=>["macos","tdesktop","unigram","webk","weba","web"].includes(c.vbWebAppPlatform)))},offContentSafeAreaInsetsChanged:a.off,offFullscreenChanged:s.off,offSafeAreaInsetsChanged:r.off,offViewportChanged:e.off,onContentSafeAreaInsetsChanged:a.on,onFullscreenChanged:s.on,onSafeAreaInsetsChanged:r.on,onViewportChanged:e.on})}const an=on();class At{constructor({request:e}){t(this,"requestAccessFp");t(this,"requestAccess");t(this,"selectFile");t(this,"selectFiles");t(this,"selectFolder");this.requestAccessFp=s=>n.function.pipe(e("web_app_request_storage_access","storage_access_granted",{params:{access_type:s.accessType,multiple:s.multiple,accept:s.accept,max_file_size:s.maxFileSize,read_content:s.readContent}}),n.taskEither.map(r=>({accessType:r.access_type,items:r.items.map(a=>({name:a.name,path:a.path,size:a.size,type:a.type,content:a.content,lastModified:a.last_modified}))}))),this.requestAccess=s=>this.requestAccessFp(s)().then(a=>{if(a._tag==="Left")throw a.left;return a.right}),this.selectFile=s=>this.requestAccess({accessType:"file",multiple:!1,...s}),this.selectFiles=s=>this.requestAccess({accessType:"file",multiple:!0,...s}),this.selectFolder=()=>this.requestAccess({accessType:"folder"})}}function cn(){return new At({request:o.request2Fp})}const un=cn();class Mt{onSetup(e){return o.getHostBridge().on("web_app_setup_back_button",r=>{r&&typeof r.is_visible=="boolean"&&e(r.is_visible)})}press(){o.getHostBridge().send("back_button_pressed")}}const pn=new Mt;class Rt{onSetup(e){return o.getHostBridge().on("web_app_setup_main_button",r=>{r&&e(r)})}press(){o.getHostBridge().send("main_button_pressed")}}const dn=new Rt;class xt{onSetup(e){return o.getHostBridge().on("web_app_setup_secondary_button",r=>{r&&e(r)})}press(){o.getHostBridge().send("secondary_button_pressed")}}const hn=new xt;class Tt{onSetup(e){return o.getHostBridge().on("web_app_setup_settings_button",r=>{r&&e(r)})}press(){o.getHostBridge().send("settings_button_pressed")}}const ln=new Tt;class Lt{onOpen(e){return o.getHostBridge().on("web_app_open_popup",r=>{r&&e(r)})}close(e){o.getHostBridge().send("popup_closed",{button_id:e})}}const gn=new Lt;class Vt{onExpand(e){return o.getHostBridge().on("web_app_expand",()=>{e()})}onRequestContentSafeArea(e){return o.getHostBridge().on("web_app_request_content_safe_area",()=>{e()})}onRequestSafeArea(e){return o.getHostBridge().on("web_app_request_safe_area",()=>{e()})}onRequestViewport(e){return o.getHostBridge().on("web_app_request_viewport",()=>{e()})}onToggleOrientationLock(e){return o.getHostBridge().on("web_app_toggle_orientation_lock",r=>{r&&typeof r.locked=="boolean"&&e(r.locked)})}onRequestFullscreen(e){return o.getHostBridge().on("web_app_request_fullscreen",()=>{e()})}setFullscreen(e){o.getHostBridge().send("fullscreen_changed",{is_fullscreen:e})}setFullscreenFailed(e){o.getHostBridge().send("fullscreen_failed",{error:e})}onExitFullscreen(e){return o.getHostBridge().on("web_app_exit_fullscreen",()=>{e()})}setContentSafeArea(e){o.getHostBridge().send("content_safe_area_changed",e)}setSafeArea(e){o.getHostBridge().send("safe_area_changed",e)}setViewport(e){o.getHostBridge().send("viewport_changed",e)}}const bn=new Vt;class Ot{onIframeReady(e){return o.getHostBridge().on("iframe_ready",r=>{e(r||{})})}onIframeWillReload(e){return o.getHostBridge().on("iframe_will_reload",()=>{e()})}onClose(e){return o.getHostBridge().on("web_app_close",()=>{e()})}onHideKeyboard(e){return o.getHostBridge().on("web_app_hide_keyboard",()=>{e()})}onReady(e){return o.getHostBridge().on("web_app_ready",()=>{e()})}onRequestTheme(e){return o.getHostBridge().on("web_app_request_theme",()=>{e()})}onBackgroundColorChange(e){return o.getHostBridge().on("web_app_set_background_color",r=>{r&&typeof r.color=="string"&&e(r.color)})}onBottomBarColorChange(e){return o.getHostBridge().on("web_app_set_bottom_bar_color",r=>{r&&r.color&&e(r.color)})}onHeaderColorChange(e){return o.getHostBridge().on("web_app_set_header_color",r=>{r&&("color_key"in r&&r.color_key?e(r.color_key):"color"in r&&r.color&&e(r.color))})}reloadIframe(){o.getHostBridge().send("reload_iframe")}setCustomStyle(e){o.getHostBridge().send("set_custom_style",e)}setVisibility(e){o.getHostBridge().send("visibility_changed",{is_visible:e})}}const fn=new Ot;class jt{onHapticFeedback(e){return o.getHostBridge().on("web_app_trigger_haptic_feedback",r=>{r&&e(r)})}}const _n=new jt;class Dt{onGetInfo(e){return o.getHostBridge().on("web_app_biometry_get_info",()=>{e()})}onOpenSettings(e){return o.getHostBridge().on("web_app_biometry_open_settings",()=>{e()})}onRequestAccess(e){return o.getHostBridge().on("web_app_biometry_request_access",r=>{e(r||{})})}onRequestAuth(e){return o.getHostBridge().on("web_app_biometry_request_auth",r=>{e(r||{})})}onUpdateToken(e){return o.getHostBridge().on("web_app_biometry_update_token",r=>{r&&e(r)})}setInfoReceived(e){o.getHostBridge().send("biometry_info_received",e)}setAuthRequested(e){o.getHostBridge().send("biometry_auth_requested",e)}setTokenUpdated(e){o.getHostBridge().send("biometry_token_updated",e)}}const mn=new Dt;class Gt{onOpenInvoice(e){return o.getHostBridge().on("web_app_open_invoice",r=>{r&&e(r)})}setInvoiceClosed(e){o.getHostBridge().send("invoice_closed",e)}}const wn=new Gt;class Ut{onOpenPopup(e){return o.getHostBridge().on("web_app_open_scan_qr_popup",r=>{e(r||{})})}onClosePopup(e){return o.getHostBridge().on("web_app_close_scan_qr_popup",()=>{e()})}sendQrTextReceived(e){o.getHostBridge().send("qr_text_received",e)}closePopup(){o.getHostBridge().send("scan_qr_popup_closed")}}const Fn=new Ut;class Wt{onCheckLocation(e){return o.getHostBridge().on("web_app_check_location",()=>{e()})}onOpenLocationSettings(e){return o.getHostBridge().on("web_app_open_location_settings",()=>{e()})}onRequestLocation(e){return o.getHostBridge().on("web_app_request_location",()=>{e()})}setLocationChecked(e){o.getHostBridge().send("location_checked",e)}setLocationRequested(e){o.getHostBridge().send("location_requested",e)}}const Sn=new Wt;class Qt{onOpenLink(e){return o.getHostBridge().on("web_app_open_link",r=>{r&&e(r)})}onOpenTgLink(e){return o.getHostBridge().on("web_app_open_tg_link",r=>{r&&e(r)})}}const Cn=new Qt;class Kt{onRequestAccess(e){return o.getHostBridge().on("web_app_request_emoji_status_access",()=>{e()})}onSetEmojiStatus(e){return o.getHostBridge().on("web_app_set_emoji_status",r=>{r&&e(r)})}setAccessRequested(e){o.getHostBridge().send("emoji_status_access_requested",e)}setEmojiStatusSet(e){o.getHostBridge().send("emoji_status_set",e)}setEmojiStatusFailed(e){o.getHostBridge().send("emoji_status_failed",e)}}const kn=new Kt;class Nt{onAddToHomeScreen(e){return o.getHostBridge().on("web_app_add_to_home_screen",()=>{e()})}onCheckHomeScreen(e){return o.getHostBridge().on("web_app_check_home_screen",()=>{e()})}setHomeScreenChecked(e){o.getHostBridge().send("home_screen_checked",e)}setHomeScreenAdded(){o.getHostBridge().send("home_screen_added")}setHomeScreenFailed(e){o.getHostBridge().send("home_screen_failed",e)}}const Bn=new Nt;class zt{onRequestPhone(e){return o.getHostBridge().on("web_app_request_phone",()=>{e()})}onRequestWriteAccess(e){return o.getHostBridge().on("web_app_request_write_access",()=>{e()})}setPhoneRequested(e){o.getHostBridge().send("phone_requested",e)}setWriteAccessRequested(e){o.getHostBridge().send("write_access_requested",e)}}const En=new zt;class Jt{onSetupClosingBehavior(e){return o.getHostBridge().on("web_app_setup_closing_behavior",r=>{r&&e(r)})}}const vn=new Jt;class Yt{onSetupSwipeBehavior(e){return o.getHostBridge().on("web_app_setup_swipe_behavior",r=>{r&&e(r)})}}const yn=new Yt;class Zt{onReadText(e){return o.getHostBridge().on("web_app_read_text_from_clipboard",r=>{r&&e(r)})}sendTextReceived(e){o.getHostBridge().send("clipboard_text_received",e)}}const $n=new Zt;class Xt{onRequestFileDownload(e){return o.getHostBridge().on("web_app_request_file_download",r=>{e(r||{})})}setFileDownloadRequested(e){o.getHostBridge().send("file_download_requested",e)}}const qn=new Xt;class er{onSendPreparedMessage(e){return o.getHostBridge().on("web_app_send_prepared_message",r=>{r&&e(r)})}onShareToStory(e){return o.getHostBridge().on("web_app_share_to_story",r=>{e(r||{})})}setPreparedMessageFailed(e){o.getHostBridge().send("prepared_message_failed",e)}setPreparedMessageSent(){o.getHostBridge().send("prepared_message_sent")}}const In=new er;class tr{onDataSend(e){return o.getHostBridge().on("web_app_data_send",r=>{r&&e(r)})}onSwitchInlineQuery(e){return o.getHostBridge().on("web_app_switch_inline_query",r=>{r&&e(r)})}}const Hn=new tr;class rr{onInvokeCustomMethod(e){return o.getHostBridge().on("web_app_invoke_custom_method",r=>{r&&e(r)})}setCustomMethodInvoked(e){o.getHostBridge().send("custom_method_invoked",e)}}const Pn=new rr;class sr{onSend(e){return o.getHostBridge().on("web_app_send_notification",r=>{r&&e(r)})}}const An=new sr;class nr{setTheme(e){o.getHostBridge().send("theme_changed",{theme_params:e})}onRequestTheme(e){return o.getHostBridge().on("web_app_request_theme",()=>{e()})}}const Mn=new nr;function ir(i={}){const{version:e,isInlineMode:s,themeParams:r}=i;if(e&&typeof s=="boolean"&&r)ge.set(e),fe.set(s),be.set(r);else{const u=n.function.pipe(o.retrieveLaunchParamsFp(),n.either.matchW(d=>d,d=>{ge.set(e||d.vbWebAppVersion),fe.set(typeof s=="boolean"?s:!!d.vbWebAppBotInline),be.set(r||d.vbWebAppThemeParams)}));if(u)return n.either.left(u)}i.postEvent&&De.set(i.postEvent);const[a,c]=A.createCbCollector(o.on("reload_iframe",()=>{o.logger().log("Received a request to reload the page"),Ge("iframe_will_reload"),window.location.reload()})),{acceptCustomStyles:p=!0}=i;if(p){const u=document.createElement("style");u.id="telegram-custom-styles",document.head.appendChild(u),a(o.on("set_custom_style",d=>{u.innerHTML=d}),()=>{document.head.removeChild(u)})}return n.function.pipe(Z("iframe_ready",{reload_supported:!0}),n.either.map(()=>(o.logger().log("The package was initialized"),c)))}const Rn=A.throwifyFpFn(ir);Object.defineProperty(exports,"CancelledError",{enumerable:!0,get:()=>o.CancelledError});Object.defineProperty(exports,"InvalidLaunchParamsError",{enumerable:!0,get:()=>o.InvalidLaunchParamsError});Object.defineProperty(exports,"InvokeCustomMethodFailedError",{enumerable:!0,get:()=>o.InvokeCustomMethodFailedError});Object.defineProperty(exports,"LaunchParamsRetrieveError",{enumerable:!0,get:()=>o.LaunchParamsRetrieveError});Object.defineProperty(exports,"MethodParameterUnsupportedError",{enumerable:!0,get:()=>o.MethodParameterUnsupportedError});Object.defineProperty(exports,"MethodUnsupportedError",{enumerable:!0,get:()=>o.MethodUnsupportedError});Object.defineProperty(exports,"TimeoutError",{enumerable:!0,get:()=>o.TimeoutError});Object.defineProperty(exports,"UnknownEnvError",{enumerable:!0,get:()=>o.UnknownEnvError});Object.defineProperty(exports,"applyPolyfills",{enumerable:!0,get:()=>o.applyPolyfills});Object.defineProperty(exports,"createLogger",{enumerable:!0,get:()=>o.createLogger});Object.defineProperty(exports,"createPostEvent",{enumerable:!0,get:()=>o.createPostEvent});Object.defineProperty(exports,"createStartParam",{enumerable:!0,get:()=>o.createStartParam});Object.defineProperty(exports,"createStartParamFp",{enumerable:!0,get:()=>o.createStartParamFp});Object.defineProperty(exports,"debug",{enumerable:!0,get:()=>o.debug});Object.defineProperty(exports,"decodeBase64Url",{enumerable:!0,get:()=>o.decodeBase64Url});Object.defineProperty(exports,"decodeBase64UrlFp",{enumerable:!0,get:()=>o.decodeBase64UrlFp});Object.defineProperty(exports,"decodeStartParam",{enumerable:!0,get:()=>o.decodeStartParam});Object.defineProperty(exports,"decodeStartParamFp",{enumerable:!0,get:()=>o.decodeStartParamFp});Object.defineProperty(exports,"deepSnakeToCamelObjKeys",{enumerable:!0,get:()=>o.deepSnakeToCamelObjKeys});Object.defineProperty(exports,"defineHostBridge",{enumerable:!0,get:()=>o.defineHostBridge});Object.defineProperty(exports,"emitEvent",{enumerable:!0,get:()=>o.emitEvent});Object.defineProperty(exports,"encodeBase64Url",{enumerable:!0,get:()=>o.encodeBase64Url});Object.defineProperty(exports,"getHostBridge",{enumerable:!0,get:()=>o.getHostBridge});Object.defineProperty(exports,"getReleaseVersion",{enumerable:!0,get:()=>o.getReleaseVersion});Object.defineProperty(exports,"isSafeToCreateStartParam",{enumerable:!0,get:()=>o.isSafeToCreateStartParam});Object.defineProperty(exports,"isVBma",{enumerable:!0,get:()=>o.isVBma});Object.defineProperty(exports,"isVBmaFp",{enumerable:!0,get:()=>o.isVBmaFp});Object.defineProperty(exports,"logger",{enumerable:!0,get:()=>o.logger});Object.defineProperty(exports,"mockVBotEnv",{enumerable:!0,get:()=>o.mockVBotEnv});Object.defineProperty(exports,"off",{enumerable:!0,get:()=>o.off});Object.defineProperty(exports,"offAll",{enumerable:!0,get:()=>o.offAll});Object.defineProperty(exports,"on",{enumerable:!0,get:()=>o.on});Object.defineProperty(exports,"retrieveLaunchParams",{enumerable:!0,get:()=>o.retrieveLaunchParams});Object.defineProperty(exports,"retrieveLaunchParamsFp",{enumerable:!0,get:()=>o.retrieveLaunchParamsFp});Object.defineProperty(exports,"retrieveRawInitData",{enumerable:!0,get:()=>o.retrieveRawInitData});Object.defineProperty(exports,"retrieveRawInitDataFp",{enumerable:!0,get:()=>o.retrieveRawInitDataFp});Object.defineProperty(exports,"retrieveRawLaunchParams",{enumerable:!0,get:()=>o.retrieveRawLaunchParams});Object.defineProperty(exports,"retrieveRawLaunchParamsFp",{enumerable:!0,get:()=>o.retrieveRawLaunchParamsFp});Object.defineProperty(exports,"setDebug",{enumerable:!0,get:()=>o.setDebug});Object.defineProperty(exports,"setTargetOrigin",{enumerable:!0,get:()=>o.setTargetOrigin});Object.defineProperty(exports,"supports",{enumerable:!0,get:()=>o.supports});Object.defineProperty(exports,"targetOrigin",{enumerable:!0,get:()=>o.targetOrigin});Object.defineProperty(exports,"isAnyRGB",{enumerable:!0,get:()=>I.isAnyRGB});Object.defineProperty(exports,"isRGB",{enumerable:!0,get:()=>I.isRGB});Object.defineProperty(exports,"isRGBA",{enumerable:!0,get:()=>I.isRGBA});Object.defineProperty(exports,"isRGBAShort",{enumerable:!0,get:()=>I.isRGBAShort});Object.defineProperty(exports,"isRGBShort",{enumerable:!0,get:()=>I.isRGBShort});Object.defineProperty(exports,"parseInitDataQuery",{enumerable:!0,get:()=>I.parseInitDataQuery});Object.defineProperty(exports,"parseInitDataQueryFp",{enumerable:!0,get:()=>I.parseInitDataQueryFp});Object.defineProperty(exports,"parseLaunchParamsQuery",{enumerable:!0,get:()=>I.parseLaunchParamsQuery});Object.defineProperty(exports,"parseLaunchParamsQueryFp",{enumerable:!0,get:()=>I.parseLaunchParamsQueryFp});Object.defineProperty(exports,"serializeInitDataQuery",{enumerable:!0,get:()=>I.serializeInitDataQuery});Object.defineProperty(exports,"serializeLaunchParamsQuery",{enumerable:!0,get:()=>I.serializeLaunchParamsQuery});Object.defineProperty(exports,"toRGB",{enumerable:!0,get:()=>I.toRGB});Object.defineProperty(exports,"toRGBFp",{enumerable:!0,get:()=>I.toRGBFp});Object.defineProperty(exports,"toRGBFull",{enumerable:!0,get:()=>I.toRGBFull});Object.defineProperty(exports,"toRGBFullFp",{enumerable:!0,get:()=>I.toRGBFullFp});exports.AccessDeniedError=_e;exports.BackButton=je;exports.Biometry=Ue;exports.CSSVarsBoundError=oe;exports.ClosingBehavior=Qe;exports.CloudStorage=Ke;exports.ConcurrentCallError=ae;exports.DeviceStorage=ze;exports.DeviceStorageMethodError=Ae;exports.FullscreenFailedError=Le;exports.FunctionUnavailableError=xe;exports.HapticFeedback=Xe;exports.HostBackButton=Mt;exports.HostBiometry=Dt;exports.HostChat=tr;exports.HostClipboard=Zt;exports.HostClosingBehavior=Jt;exports.HostCustomMethod=rr;exports.HostEmojiStatus=Kt;exports.HostFiles=Xt;exports.HostHapticFeedback=jt;exports.HostHomeScreen=Nt;exports.HostInvoice=Gt;exports.HostLink=Qt;exports.HostLocationManager=Wt;exports.HostMainButton=Rt;exports.HostMiniApp=Ot;exports.HostNotification=sr;exports.HostPopup=Lt;exports.HostPrivacy=zt;exports.HostQrScanner=Ut;exports.HostSecondaryButton=xt;exports.HostSettingsButton=Tt;exports.HostSharing=er;exports.HostSwipeBehavior=Yt;exports.HostThemeParams=nr;exports.HostViewport=Vt;exports.InitData=rt;exports.InvalidArgumentsError=G;exports.InvalidEnvError=pr;exports.Invoice=st;exports.LocationManager=ot;exports.MainButton=at;exports.MiniApp=dt;exports.NotAvailableError=Re;exports.Notification=lt;exports.Popup=gt;exports.QrScanner=_t;exports.Refresh=mt;exports.SecondaryButton=wt;exports.SecureStorage=Ft;exports.SecureStorageMethodError=Me;exports.SetEmojiStatusError=Te;exports.SettingsButton=St;exports.ShareMessageError=Ve;exports.StoragePermission=At;exports.SwipeBehavior=Ct;exports.ThemeParams=ut;exports.UnknownThemeParamsKeyError=Oe;exports.ValidationError=ee;exports.Viewport=Pt;exports.addToHomeScreen=Rr;exports.addToHomeScreenFp=et;exports.backButton=gr;exports.biometry=mr;exports.checkHomeScreenStatus=Lr;exports.checkHomeScreenStatusFp=tt;exports.closingBehavior=Fr;exports.cloudStorage=Cr;exports.copyTextToClipboard=As;exports.createRequestId=ue;exports.deviceStorage=Br;exports.downloadFile=xs;exports.downloadFileFp=kt;exports.getCurrentTime=Vs;exports.getCurrentTimeFp=Bt;exports.hapticFeedback=Pr;exports.hideKeyboard=Ds;exports.hideKeyboardFp=Et;exports.hostBackButton=pn;exports.hostBiometry=mn;exports.hostChat=Hn;exports.hostClipboard=$n;exports.hostClosingBehavior=vn;exports.hostCustomMethod=Pn;exports.hostEmojiStatus=kn;exports.hostFiles=qn;exports.hostHapticFeedback=_n;exports.hostHomeScreen=Bn;exports.hostInvoice=wn;exports.hostLink=Cn;exports.hostLocationManager=Sn;exports.hostMainButton=dn;exports.hostMiniApp=fn;exports.hostNotification=An;exports.hostPopup=gn;exports.hostPrivacy=En;exports.hostQrScanner=Fn;exports.hostSecondaryButton=hn;exports.hostSettingsButton=ln;exports.hostSharing=In;exports.hostSwipeBehavior=yn;exports.hostThemeParams=Mn;exports.hostViewport=bn;exports.init=Rn;exports.initData=Or;exports.initFp=ir;exports.invoice=Dr;exports.invokeCustomMethod=Ne;exports.isColorDark=Ee;exports.isColorDarkFp=ct;exports.locationManager=es;exports.mainButton=rs;exports.miniApp=ht;exports.notification=os;exports.openLink=Wr;exports.openLinkFp=nt;exports.openVBotLink=Nr;exports.openVBotLinkFp=Ce;exports.popup=us;exports.postEvent=Ge;exports.postEventFp=Z;exports.qrScanner=ks;exports.readTextFromClipboard=Ws;exports.readTextFromClipboardFp=vt;exports.refresh=Es;exports.request=br;exports.request2=fr;exports.request2Fp=Fe;exports.requestContact=ms;exports.requestContactComplete=_s;exports.requestContactCompleteFp=ye;exports.requestContactFp=bt;exports.requestEmojiStatusAccess=yr;exports.requestEmojiStatusAccessFp=Ye;exports.requestFp=We;exports.requestPhoneAccess=hs;exports.requestPhoneAccessFp=ve;exports.requestWriteAccess=Ss;exports.requestWriteAccessFp=ft;exports.retrieveAndroidDeviceData=Qs;exports.retrieveAndroidDeviceDataFrom=yt;exports.secondaryButton=ys;exports.secureStorage=qs;exports.sendData=zs;exports.sendDataFp=$t;exports.setEmojiStatus=Ir;exports.setEmojiStatusFp=Ze;exports.settingsButton=Is;exports.shareMessage=Zs;exports.shareMessageFp=qt;exports.shareStory=tn;exports.shareStoryFp=It;exports.shareURL=Yr;exports.shareURLFp=it;exports.storagePermission=un;exports.swipeBehavior=Ps;exports.switchInlineQuery=nn;exports.switchInlineQueryFp=Ht;exports.themeParams=te;exports.viewport=an;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|