@apiteam/twa-bridge 8.0.6 → 8.0.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/solid/index.d.ts +246 -248
- package/solid/index.js +1 -1
- package/solid/index.mjs +1 -1
package/package.json
CHANGED
package/solid/index.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
import * as solid_js from 'solid-js';
|
|
2
2
|
import { Context, JSX, Component } from 'solid-js';
|
|
3
|
-
import { NOT_SUPPORTED as NOT_SUPPORTED$1, EventsData as EventsData$1, EventBiometryAuthRequested as EventBiometryAuthRequested$1, EventBiometryTokenUpdated as EventBiometryTokenUpdated$1, EventBiometryInfoReceived as EventBiometryInfoReceived$1 } from 'solid';
|
|
4
|
-
import { SenderData as SenderData$1, MethodBiometryRequestAccess as MethodBiometryRequestAccess$1, MethodBiometryRequestAuth as MethodBiometryRequestAuth$1, MethodBiometryUpdateToken as MethodBiometryUpdateToken$1, MethodBiometryOpenSettings as MethodBiometryOpenSettings$1 } from 'types/methods';
|
|
5
3
|
|
|
6
4
|
declare const createIsViewportChanged: () => solid_js.Accessor<{
|
|
7
5
|
height: number;
|
|
@@ -269,14 +267,247 @@ type DownloadFile = (eventData?: SenderData[typeof MethodRequestFileDownload]) =
|
|
|
269
267
|
declare const downloadFile: DownloadFile;
|
|
270
268
|
declare const supportDownloadFile: () => boolean;
|
|
271
269
|
|
|
270
|
+
declare const MethodInvokeCustomMethod = "web_app_invoke_custom_method";
|
|
271
|
+
declare const MethodOpenScanQrPopup = "web_app_open_scan_qr_popup";
|
|
272
|
+
declare const MethodReadTextFromClipboard = "web_app_read_text_from_clipboard";
|
|
273
|
+
declare const MethodRequestPhone = "web_app_request_phone";
|
|
274
|
+
declare const MethodClose = "web_app_close";
|
|
275
|
+
declare const MethodCloseScanQrPopup = "web_app_close_scan_qr_popup";
|
|
276
|
+
declare const MethodDataSend = "web_app_data_send";
|
|
277
|
+
declare const MethodExpand = "web_app_expand";
|
|
278
|
+
declare const MethodIframeReady = "iframe_ready";
|
|
279
|
+
declare const MethodIframeWillReload = "iframe_will_reload";
|
|
280
|
+
declare const MethodOpenInvoice = "web_app_open_invoice";
|
|
281
|
+
declare const MethodOpenLink = "web_app_open_link";
|
|
282
|
+
declare const MethodOpenPopup = "web_app_open_popup";
|
|
283
|
+
declare const MethodOpenTgLink = "web_app_open_tg_link";
|
|
284
|
+
declare const MethodReady = "web_app_ready";
|
|
285
|
+
declare const MethodRequestTheme = "web_app_request_theme";
|
|
286
|
+
declare const MethodRequestViewport = "web_app_request_viewport";
|
|
287
|
+
declare const MethodRequestWriteAccess = "web_app_request_write_access";
|
|
288
|
+
declare const MethodSetBackgroundColor = "web_app_set_background_color";
|
|
289
|
+
declare const MethodSetHeaderColor = "web_app_set_header_color";
|
|
290
|
+
declare const MethodSetBottomBarColor = "web_app_set_bottom_bar_color";
|
|
291
|
+
declare const MethodSetupBackButton = "web_app_setup_back_button";
|
|
292
|
+
declare const MethodSetupClosingBehavior = "web_app_setup_closing_behavior";
|
|
293
|
+
declare const MethodSetupMainButton = "web_app_setup_main_button";
|
|
294
|
+
declare const MethodSetupSettingsButton = "web_app_setup_settings_button";
|
|
295
|
+
declare const MethodSwitchInlineQuery = "web_app_switch_inline_query";
|
|
296
|
+
declare const MethodTriggerHapticFeedback = "web_app_trigger_haptic_feedback";
|
|
297
|
+
declare const MethodSetupSwipeBehavior = "web_app_setup_swipe_behavior";
|
|
298
|
+
declare const MethodShareToStory = "web_app_share_to_story";
|
|
299
|
+
declare const MethodRequestSafeArea = "web_app_request_safe_area";
|
|
300
|
+
declare const MethodRequestContentSafeArea = "web_app_request_content_safe_area";
|
|
301
|
+
declare const MethodRequestFullscreen = "web_app_request_fullscreen";
|
|
302
|
+
declare const MethodExitFullscreen = "web_app_exit_fullscreen";
|
|
303
|
+
declare const MethodToggleOrientationLock = "web_app_toggle_orientation_lock";
|
|
304
|
+
declare const MethodAddToHomeScreen = "web_app_add_to_home_screen";
|
|
305
|
+
declare const MethodCheckHomeScreen = "web_app_check_home_screen";
|
|
306
|
+
declare const MethodSendPreparedMessage = "web_app_send_prepared_message";
|
|
307
|
+
declare const MethodSetEmojiStatus = "web_app_set_emoji_status";
|
|
308
|
+
declare const MethodRequestEmojiStatusAccess = "web_app_request_emoji_status_access";
|
|
309
|
+
declare const MethodRequestFileDownload = "web_app_request_file_download";
|
|
310
|
+
declare const MethodBiometryOpenSettings = "web_app_biometry_open_settings";
|
|
311
|
+
declare const MethodBiometryRequestAccess = "web_app_biometry_request_access";
|
|
312
|
+
declare const MethodBiometryRequestAuth = "web_app_biometry_request_auth";
|
|
313
|
+
declare const MethodBiometryUpdateToken = "web_app_biometry_update_token";
|
|
314
|
+
declare enum Method {
|
|
315
|
+
InvokeCustomMethod = "web_app_invoke_custom_method",
|
|
316
|
+
OpenScanQrPopup = "web_app_open_scan_qr_popup",
|
|
317
|
+
ReadTextFromClipboard = "web_app_read_text_from_clipboard",
|
|
318
|
+
RequestPhone = "web_app_request_phone",
|
|
319
|
+
Close = "web_app_close",
|
|
320
|
+
CloseScanQrPopup = "web_app_close_scan_qr_popup",
|
|
321
|
+
DataSend = "web_app_data_send",
|
|
322
|
+
Expand = "web_app_expand",
|
|
323
|
+
IframeReady = "iframe_ready",
|
|
324
|
+
IframeWillReload = "iframe_will_reload",
|
|
325
|
+
OpenInvoice = "web_app_open_invoice",
|
|
326
|
+
OpenLink = "web_app_open_link",
|
|
327
|
+
OpenPopup = "web_app_open_popup",
|
|
328
|
+
OpenTgLink = "web_app_open_tg_link",
|
|
329
|
+
Ready = "web_app_ready",
|
|
330
|
+
RequestTheme = "web_app_request_theme",
|
|
331
|
+
RequestViewport = "web_app_request_viewport",
|
|
332
|
+
RequestWriteAccess = "web_app_request_write_access",
|
|
333
|
+
SetBackgroundColor = "web_app_set_background_color",
|
|
334
|
+
SetHeaderColor = "web_app_set_header_color",
|
|
335
|
+
SetBottomBarColor = "web_app_set_bottom_bar_color",
|
|
336
|
+
SetupBackButton = "web_app_setup_back_button",
|
|
337
|
+
SetupClosingBehavior = "web_app_setup_closing_behavior",
|
|
338
|
+
SetupMainButton = "web_app_setup_main_button",
|
|
339
|
+
SetupSettingsButton = "web_app_setup_settings_button",
|
|
340
|
+
SwitchInlineQuery = "web_app_switch_inline_query",
|
|
341
|
+
TriggerHapticFeedback = "web_app_trigger_haptic_feedback",
|
|
342
|
+
SetupSwipeBehavior = "web_app_setup_swipe_behavior",
|
|
343
|
+
ShareToStory = "web_app_share_to_story",
|
|
344
|
+
RequestSafeArea = "web_app_request_safe_area",
|
|
345
|
+
RequestContentSafeArea = "web_app_request_content_safe_area",
|
|
346
|
+
RequestFullscreen = "web_app_request_fullscreen",
|
|
347
|
+
ExitFullscreen = "web_app_exit_fullscreen",
|
|
348
|
+
ToggleOrientationLock = "web_app_toggle_orientation_lock",
|
|
349
|
+
AddToHomeScreen = "web_app_add_to_home_screen",
|
|
350
|
+
CheckHomeScreen = "web_app_check_home_screen",
|
|
351
|
+
SendPreparedMessage = "web_app_send_prepared_message",
|
|
352
|
+
SetEmojiStatus = "web_app_set_emoji_status",
|
|
353
|
+
RequestEmojiStatusAccess = "web_app_request_emoji_status_access",
|
|
354
|
+
RequestFileDownload = "web_app_request_file_download"
|
|
355
|
+
}
|
|
356
|
+
type PopupButton = {
|
|
357
|
+
id: string;
|
|
358
|
+
type: 'default' | 'destructive' | 'ok' | 'close' | 'cancel';
|
|
359
|
+
text: string;
|
|
360
|
+
};
|
|
361
|
+
type SenderData = {
|
|
362
|
+
[MethodInvokeCustomMethod]: {
|
|
363
|
+
req_id?: string;
|
|
364
|
+
method: string;
|
|
365
|
+
params: unknown;
|
|
366
|
+
};
|
|
367
|
+
[MethodOpenScanQrPopup]: {
|
|
368
|
+
text?: string;
|
|
369
|
+
is_close?: boolean;
|
|
370
|
+
};
|
|
371
|
+
[MethodReadTextFromClipboard]: {
|
|
372
|
+
req_id?: string;
|
|
373
|
+
};
|
|
374
|
+
[MethodRequestPhone]: undefined;
|
|
375
|
+
[MethodClose]: undefined;
|
|
376
|
+
[MethodCloseScanQrPopup]: undefined;
|
|
377
|
+
[MethodDataSend]: {
|
|
378
|
+
data: string;
|
|
379
|
+
};
|
|
380
|
+
[MethodExpand]: undefined;
|
|
381
|
+
[MethodIframeReady]: {
|
|
382
|
+
reload_supported?: boolean;
|
|
383
|
+
};
|
|
384
|
+
[MethodIframeWillReload]: undefined;
|
|
385
|
+
[MethodOpenInvoice]: {
|
|
386
|
+
slug: string;
|
|
387
|
+
};
|
|
388
|
+
[MethodOpenLink]: {
|
|
389
|
+
url: string;
|
|
390
|
+
try_instant_view?: boolean;
|
|
391
|
+
try_browser?: boolean;
|
|
392
|
+
};
|
|
393
|
+
[MethodOpenPopup]: {
|
|
394
|
+
title: string;
|
|
395
|
+
message: string;
|
|
396
|
+
buttons: PopupButton[];
|
|
397
|
+
};
|
|
398
|
+
[MethodOpenTgLink]: {
|
|
399
|
+
path_full: string;
|
|
400
|
+
force_request?: boolean;
|
|
401
|
+
};
|
|
402
|
+
[MethodReady]: undefined;
|
|
403
|
+
[MethodRequestTheme]: undefined;
|
|
404
|
+
[MethodRequestViewport]: undefined;
|
|
405
|
+
[MethodRequestWriteAccess]: undefined;
|
|
406
|
+
[MethodSetBackgroundColor]: {
|
|
407
|
+
color: string;
|
|
408
|
+
};
|
|
409
|
+
[MethodSetHeaderColor]: {
|
|
410
|
+
color_key: 'bg_color' | 'secondary_bg_color';
|
|
411
|
+
color?: undefined;
|
|
412
|
+
} | {
|
|
413
|
+
color: string;
|
|
414
|
+
color_key?: undefined;
|
|
415
|
+
};
|
|
416
|
+
[MethodSetBottomBarColor]: {
|
|
417
|
+
color_key: 'bg_color' | 'secondary_bg_color' | 'bottom_bar_bg_color';
|
|
418
|
+
color?: undefined;
|
|
419
|
+
} | {
|
|
420
|
+
color: string;
|
|
421
|
+
color_key?: undefined;
|
|
422
|
+
};
|
|
423
|
+
[MethodSetupBackButton]: {
|
|
424
|
+
is_visible: boolean;
|
|
425
|
+
};
|
|
426
|
+
[MethodSetupClosingBehavior]: {
|
|
427
|
+
need_confirmation: boolean;
|
|
428
|
+
};
|
|
429
|
+
[MethodSetupMainButton]: {
|
|
430
|
+
is_visible?: boolean;
|
|
431
|
+
is_active?: boolean;
|
|
432
|
+
is_progress_visible?: boolean;
|
|
433
|
+
text?: string;
|
|
434
|
+
color?: string;
|
|
435
|
+
text_color?: string;
|
|
436
|
+
};
|
|
437
|
+
[MethodSetupSettingsButton]: {
|
|
438
|
+
is_visible: boolean;
|
|
439
|
+
};
|
|
440
|
+
[MethodSwitchInlineQuery]: {
|
|
441
|
+
query: string;
|
|
442
|
+
chat_types: ('users' | 'bots' | 'groups' | 'channels')[];
|
|
443
|
+
};
|
|
444
|
+
[MethodTriggerHapticFeedback]: {
|
|
445
|
+
type: 'impact';
|
|
446
|
+
impact_style: 'light' | 'medium' | 'heavy' | 'rigid' | 'soft';
|
|
447
|
+
} | {
|
|
448
|
+
type: 'notification';
|
|
449
|
+
notification_type: 'error' | 'success' | 'warning';
|
|
450
|
+
} | {
|
|
451
|
+
type: 'selection_change';
|
|
452
|
+
impact_style?: undefined;
|
|
453
|
+
notification_type?: undefined;
|
|
454
|
+
};
|
|
455
|
+
[MethodSetupSwipeBehavior]: {
|
|
456
|
+
allow_vertical_swipe: boolean;
|
|
457
|
+
};
|
|
458
|
+
[MethodShareToStory]: {
|
|
459
|
+
media: string;
|
|
460
|
+
text?: string;
|
|
461
|
+
widget_link?: {
|
|
462
|
+
url: string;
|
|
463
|
+
name?: string;
|
|
464
|
+
};
|
|
465
|
+
};
|
|
466
|
+
[MethodRequestSafeArea]: undefined;
|
|
467
|
+
[MethodRequestContentSafeArea]: undefined;
|
|
468
|
+
[MethodRequestFullscreen]: {
|
|
469
|
+
is_full: boolean;
|
|
470
|
+
};
|
|
471
|
+
[MethodExitFullscreen]: {
|
|
472
|
+
is_full: boolean;
|
|
473
|
+
};
|
|
474
|
+
[MethodToggleOrientationLock]: {
|
|
475
|
+
locked: boolean;
|
|
476
|
+
};
|
|
477
|
+
[MethodAddToHomeScreen]: undefined;
|
|
478
|
+
[MethodCheckHomeScreen]: undefined;
|
|
479
|
+
[MethodSendPreparedMessage]: {
|
|
480
|
+
msg_id: number;
|
|
481
|
+
};
|
|
482
|
+
[MethodSetEmojiStatus]: {
|
|
483
|
+
custom_emoji_id: string;
|
|
484
|
+
duration?: number;
|
|
485
|
+
};
|
|
486
|
+
[MethodRequestEmojiStatusAccess]: undefined;
|
|
487
|
+
[MethodRequestFileDownload]: {
|
|
488
|
+
url: string;
|
|
489
|
+
file_name: string;
|
|
490
|
+
};
|
|
491
|
+
[MethodBiometryRequestAccess]: {
|
|
492
|
+
reason?: string;
|
|
493
|
+
};
|
|
494
|
+
[MethodBiometryRequestAuth]: {
|
|
495
|
+
reason?: string;
|
|
496
|
+
};
|
|
497
|
+
[MethodBiometryUpdateToken]: {
|
|
498
|
+
token: string;
|
|
499
|
+
};
|
|
500
|
+
[MethodBiometryOpenSettings]: undefined;
|
|
501
|
+
};
|
|
502
|
+
|
|
272
503
|
type Store = {
|
|
273
504
|
isInited: boolean;
|
|
274
505
|
isBiometricAvailable: boolean;
|
|
275
506
|
isAccessGranted: boolean;
|
|
276
507
|
isAccessRequested: boolean;
|
|
277
508
|
isBiometricTokenSaved: boolean;
|
|
278
|
-
biometricType: EventsData
|
|
279
|
-
deviceId: EventsData
|
|
509
|
+
biometricType: EventsData[typeof EventBiometryInfoReceived]['type'];
|
|
510
|
+
deviceId: EventsData[typeof EventBiometryInfoReceived]['device_id'];
|
|
280
511
|
};
|
|
281
512
|
type BiometricManager = {
|
|
282
513
|
isInited: Store['isInited'];
|
|
@@ -287,23 +518,23 @@ type BiometricManager = {
|
|
|
287
518
|
biometricType: Store['biometricType'];
|
|
288
519
|
deviceId: Store['deviceId'];
|
|
289
520
|
init: () => Promise<{
|
|
290
|
-
status: boolean | typeof NOT_SUPPORTED
|
|
521
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
291
522
|
data?: Store;
|
|
292
523
|
}>;
|
|
293
|
-
requestAccess: (eventData: SenderData
|
|
294
|
-
status: boolean | typeof NOT_SUPPORTED
|
|
524
|
+
requestAccess: (eventData: SenderData[typeof MethodBiometryRequestAccess]) => Promise<{
|
|
525
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
295
526
|
data?: Store;
|
|
296
527
|
}>;
|
|
297
|
-
authenticate: (eventData: SenderData
|
|
298
|
-
status: boolean | typeof NOT_SUPPORTED
|
|
299
|
-
data?: EventsData
|
|
528
|
+
authenticate: (eventData: SenderData[typeof MethodBiometryRequestAuth]) => Promise<{
|
|
529
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
530
|
+
data?: EventsData[typeof EventBiometryAuthRequested];
|
|
300
531
|
}>;
|
|
301
|
-
updateToken: (eventData: SenderData
|
|
302
|
-
status: boolean | typeof NOT_SUPPORTED
|
|
303
|
-
data?: EventsData
|
|
532
|
+
updateToken: (eventData: SenderData[typeof MethodBiometryUpdateToken]) => Promise<{
|
|
533
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
534
|
+
data?: EventsData[typeof EventBiometryTokenUpdated];
|
|
304
535
|
}>;
|
|
305
|
-
openSettings: (eventData: SenderData
|
|
306
|
-
status: boolean | typeof NOT_SUPPORTED
|
|
536
|
+
openSettings: (eventData: SenderData[typeof MethodBiometryOpenSettings]) => {
|
|
537
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
307
538
|
};
|
|
308
539
|
};
|
|
309
540
|
declare const BiometricManager: BiometricManager;
|
|
@@ -538,239 +769,6 @@ declare namespace listener {
|
|
|
538
769
|
export { type listener_EventsData as EventsData, listener_off as off, listener_on as on, listener_once as once };
|
|
539
770
|
}
|
|
540
771
|
|
|
541
|
-
declare const MethodInvokeCustomMethod = "web_app_invoke_custom_method";
|
|
542
|
-
declare const MethodOpenScanQrPopup = "web_app_open_scan_qr_popup";
|
|
543
|
-
declare const MethodReadTextFromClipboard = "web_app_read_text_from_clipboard";
|
|
544
|
-
declare const MethodRequestPhone = "web_app_request_phone";
|
|
545
|
-
declare const MethodClose = "web_app_close";
|
|
546
|
-
declare const MethodCloseScanQrPopup = "web_app_close_scan_qr_popup";
|
|
547
|
-
declare const MethodDataSend = "web_app_data_send";
|
|
548
|
-
declare const MethodExpand = "web_app_expand";
|
|
549
|
-
declare const MethodIframeReady = "iframe_ready";
|
|
550
|
-
declare const MethodIframeWillReload = "iframe_will_reload";
|
|
551
|
-
declare const MethodOpenInvoice = "web_app_open_invoice";
|
|
552
|
-
declare const MethodOpenLink = "web_app_open_link";
|
|
553
|
-
declare const MethodOpenPopup = "web_app_open_popup";
|
|
554
|
-
declare const MethodOpenTgLink = "web_app_open_tg_link";
|
|
555
|
-
declare const MethodReady = "web_app_ready";
|
|
556
|
-
declare const MethodRequestTheme = "web_app_request_theme";
|
|
557
|
-
declare const MethodRequestViewport = "web_app_request_viewport";
|
|
558
|
-
declare const MethodRequestWriteAccess = "web_app_request_write_access";
|
|
559
|
-
declare const MethodSetBackgroundColor = "web_app_set_background_color";
|
|
560
|
-
declare const MethodSetHeaderColor = "web_app_set_header_color";
|
|
561
|
-
declare const MethodSetBottomBarColor = "web_app_set_bottom_bar_color";
|
|
562
|
-
declare const MethodSetupBackButton = "web_app_setup_back_button";
|
|
563
|
-
declare const MethodSetupClosingBehavior = "web_app_setup_closing_behavior";
|
|
564
|
-
declare const MethodSetupMainButton = "web_app_setup_main_button";
|
|
565
|
-
declare const MethodSetupSettingsButton = "web_app_setup_settings_button";
|
|
566
|
-
declare const MethodSwitchInlineQuery = "web_app_switch_inline_query";
|
|
567
|
-
declare const MethodTriggerHapticFeedback = "web_app_trigger_haptic_feedback";
|
|
568
|
-
declare const MethodSetupSwipeBehavior = "web_app_setup_swipe_behavior";
|
|
569
|
-
declare const MethodShareToStory = "web_app_share_to_story";
|
|
570
|
-
declare const MethodRequestSafeArea = "web_app_request_safe_area";
|
|
571
|
-
declare const MethodRequestContentSafeArea = "web_app_request_content_safe_area";
|
|
572
|
-
declare const MethodRequestFullscreen = "web_app_request_fullscreen";
|
|
573
|
-
declare const MethodExitFullscreen = "web_app_exit_fullscreen";
|
|
574
|
-
declare const MethodToggleOrientationLock = "web_app_toggle_orientation_lock";
|
|
575
|
-
declare const MethodAddToHomeScreen = "web_app_add_to_home_screen";
|
|
576
|
-
declare const MethodCheckHomeScreen = "web_app_check_home_screen";
|
|
577
|
-
declare const MethodSendPreparedMessage = "web_app_send_prepared_message";
|
|
578
|
-
declare const MethodSetEmojiStatus = "web_app_set_emoji_status";
|
|
579
|
-
declare const MethodRequestEmojiStatusAccess = "web_app_request_emoji_status_access";
|
|
580
|
-
declare const MethodRequestFileDownload = "web_app_request_file_download";
|
|
581
|
-
declare const MethodBiometryOpenSettings = "web_app_biometry_open_settings";
|
|
582
|
-
declare const MethodBiometryRequestAccess = "web_app_biometry_request_access";
|
|
583
|
-
declare const MethodBiometryRequestAuth = "web_app_biometry_request_auth";
|
|
584
|
-
declare const MethodBiometryUpdateToken = "web_app_biometry_update_token";
|
|
585
|
-
declare enum Method {
|
|
586
|
-
InvokeCustomMethod = "web_app_invoke_custom_method",
|
|
587
|
-
OpenScanQrPopup = "web_app_open_scan_qr_popup",
|
|
588
|
-
ReadTextFromClipboard = "web_app_read_text_from_clipboard",
|
|
589
|
-
RequestPhone = "web_app_request_phone",
|
|
590
|
-
Close = "web_app_close",
|
|
591
|
-
CloseScanQrPopup = "web_app_close_scan_qr_popup",
|
|
592
|
-
DataSend = "web_app_data_send",
|
|
593
|
-
Expand = "web_app_expand",
|
|
594
|
-
IframeReady = "iframe_ready",
|
|
595
|
-
IframeWillReload = "iframe_will_reload",
|
|
596
|
-
OpenInvoice = "web_app_open_invoice",
|
|
597
|
-
OpenLink = "web_app_open_link",
|
|
598
|
-
OpenPopup = "web_app_open_popup",
|
|
599
|
-
OpenTgLink = "web_app_open_tg_link",
|
|
600
|
-
Ready = "web_app_ready",
|
|
601
|
-
RequestTheme = "web_app_request_theme",
|
|
602
|
-
RequestViewport = "web_app_request_viewport",
|
|
603
|
-
RequestWriteAccess = "web_app_request_write_access",
|
|
604
|
-
SetBackgroundColor = "web_app_set_background_color",
|
|
605
|
-
SetHeaderColor = "web_app_set_header_color",
|
|
606
|
-
SetBottomBarColor = "web_app_set_bottom_bar_color",
|
|
607
|
-
SetupBackButton = "web_app_setup_back_button",
|
|
608
|
-
SetupClosingBehavior = "web_app_setup_closing_behavior",
|
|
609
|
-
SetupMainButton = "web_app_setup_main_button",
|
|
610
|
-
SetupSettingsButton = "web_app_setup_settings_button",
|
|
611
|
-
SwitchInlineQuery = "web_app_switch_inline_query",
|
|
612
|
-
TriggerHapticFeedback = "web_app_trigger_haptic_feedback",
|
|
613
|
-
SetupSwipeBehavior = "web_app_setup_swipe_behavior",
|
|
614
|
-
ShareToStory = "web_app_share_to_story",
|
|
615
|
-
RequestSafeArea = "web_app_request_safe_area",
|
|
616
|
-
RequestContentSafeArea = "web_app_request_content_safe_area",
|
|
617
|
-
RequestFullscreen = "web_app_request_fullscreen",
|
|
618
|
-
ExitFullscreen = "web_app_exit_fullscreen",
|
|
619
|
-
ToggleOrientationLock = "web_app_toggle_orientation_lock",
|
|
620
|
-
AddToHomeScreen = "web_app_add_to_home_screen",
|
|
621
|
-
CheckHomeScreen = "web_app_check_home_screen",
|
|
622
|
-
SendPreparedMessage = "web_app_send_prepared_message",
|
|
623
|
-
SetEmojiStatus = "web_app_set_emoji_status",
|
|
624
|
-
RequestEmojiStatusAccess = "web_app_request_emoji_status_access",
|
|
625
|
-
RequestFileDownload = "web_app_request_file_download"
|
|
626
|
-
}
|
|
627
|
-
type PopupButton = {
|
|
628
|
-
id: string;
|
|
629
|
-
type: 'default' | 'destructive' | 'ok' | 'close' | 'cancel';
|
|
630
|
-
text: string;
|
|
631
|
-
};
|
|
632
|
-
type SenderData = {
|
|
633
|
-
[MethodInvokeCustomMethod]: {
|
|
634
|
-
req_id?: string;
|
|
635
|
-
method: string;
|
|
636
|
-
params: unknown;
|
|
637
|
-
};
|
|
638
|
-
[MethodOpenScanQrPopup]: {
|
|
639
|
-
text?: string;
|
|
640
|
-
is_close?: boolean;
|
|
641
|
-
};
|
|
642
|
-
[MethodReadTextFromClipboard]: {
|
|
643
|
-
req_id?: string;
|
|
644
|
-
};
|
|
645
|
-
[MethodRequestPhone]: undefined;
|
|
646
|
-
[MethodClose]: undefined;
|
|
647
|
-
[MethodCloseScanQrPopup]: undefined;
|
|
648
|
-
[MethodDataSend]: {
|
|
649
|
-
data: string;
|
|
650
|
-
};
|
|
651
|
-
[MethodExpand]: undefined;
|
|
652
|
-
[MethodIframeReady]: {
|
|
653
|
-
reload_supported?: boolean;
|
|
654
|
-
};
|
|
655
|
-
[MethodIframeWillReload]: undefined;
|
|
656
|
-
[MethodOpenInvoice]: {
|
|
657
|
-
slug: string;
|
|
658
|
-
};
|
|
659
|
-
[MethodOpenLink]: {
|
|
660
|
-
url: string;
|
|
661
|
-
try_instant_view?: boolean;
|
|
662
|
-
try_browser?: boolean;
|
|
663
|
-
};
|
|
664
|
-
[MethodOpenPopup]: {
|
|
665
|
-
title: string;
|
|
666
|
-
message: string;
|
|
667
|
-
buttons: PopupButton[];
|
|
668
|
-
};
|
|
669
|
-
[MethodOpenTgLink]: {
|
|
670
|
-
path_full: string;
|
|
671
|
-
force_request?: boolean;
|
|
672
|
-
};
|
|
673
|
-
[MethodReady]: undefined;
|
|
674
|
-
[MethodRequestTheme]: undefined;
|
|
675
|
-
[MethodRequestViewport]: undefined;
|
|
676
|
-
[MethodRequestWriteAccess]: undefined;
|
|
677
|
-
[MethodSetBackgroundColor]: {
|
|
678
|
-
color: string;
|
|
679
|
-
};
|
|
680
|
-
[MethodSetHeaderColor]: {
|
|
681
|
-
color_key: 'bg_color' | 'secondary_bg_color';
|
|
682
|
-
color?: undefined;
|
|
683
|
-
} | {
|
|
684
|
-
color: string;
|
|
685
|
-
color_key?: undefined;
|
|
686
|
-
};
|
|
687
|
-
[MethodSetBottomBarColor]: {
|
|
688
|
-
color_key: 'bg_color' | 'secondary_bg_color' | 'bottom_bar_bg_color';
|
|
689
|
-
color?: undefined;
|
|
690
|
-
} | {
|
|
691
|
-
color: string;
|
|
692
|
-
color_key?: undefined;
|
|
693
|
-
};
|
|
694
|
-
[MethodSetupBackButton]: {
|
|
695
|
-
is_visible: boolean;
|
|
696
|
-
};
|
|
697
|
-
[MethodSetupClosingBehavior]: {
|
|
698
|
-
need_confirmation: boolean;
|
|
699
|
-
};
|
|
700
|
-
[MethodSetupMainButton]: {
|
|
701
|
-
is_visible?: boolean;
|
|
702
|
-
is_active?: boolean;
|
|
703
|
-
is_progress_visible?: boolean;
|
|
704
|
-
text?: string;
|
|
705
|
-
color?: string;
|
|
706
|
-
text_color?: string;
|
|
707
|
-
};
|
|
708
|
-
[MethodSetupSettingsButton]: {
|
|
709
|
-
is_visible: boolean;
|
|
710
|
-
};
|
|
711
|
-
[MethodSwitchInlineQuery]: {
|
|
712
|
-
query: string;
|
|
713
|
-
chat_types: ('users' | 'bots' | 'groups' | 'channels')[];
|
|
714
|
-
};
|
|
715
|
-
[MethodTriggerHapticFeedback]: {
|
|
716
|
-
type: 'impact';
|
|
717
|
-
impact_style: 'light' | 'medium' | 'heavy' | 'rigid' | 'soft';
|
|
718
|
-
} | {
|
|
719
|
-
type: 'notification';
|
|
720
|
-
notification_type: 'error' | 'success' | 'warning';
|
|
721
|
-
} | {
|
|
722
|
-
type: 'selection_change';
|
|
723
|
-
impact_style?: undefined;
|
|
724
|
-
notification_type?: undefined;
|
|
725
|
-
};
|
|
726
|
-
[MethodSetupSwipeBehavior]: {
|
|
727
|
-
allow_vertical_swipe: boolean;
|
|
728
|
-
};
|
|
729
|
-
[MethodShareToStory]: {
|
|
730
|
-
media: string;
|
|
731
|
-
text?: string;
|
|
732
|
-
widget_link?: {
|
|
733
|
-
url: string;
|
|
734
|
-
name?: string;
|
|
735
|
-
};
|
|
736
|
-
};
|
|
737
|
-
[MethodRequestSafeArea]: undefined;
|
|
738
|
-
[MethodRequestContentSafeArea]: undefined;
|
|
739
|
-
[MethodRequestFullscreen]: {
|
|
740
|
-
is_full: boolean;
|
|
741
|
-
};
|
|
742
|
-
[MethodExitFullscreen]: {
|
|
743
|
-
is_full: boolean;
|
|
744
|
-
};
|
|
745
|
-
[MethodToggleOrientationLock]: {
|
|
746
|
-
locked: boolean;
|
|
747
|
-
};
|
|
748
|
-
[MethodAddToHomeScreen]: undefined;
|
|
749
|
-
[MethodCheckHomeScreen]: undefined;
|
|
750
|
-
[MethodSendPreparedMessage]: {
|
|
751
|
-
msg_id: number;
|
|
752
|
-
};
|
|
753
|
-
[MethodSetEmojiStatus]: {
|
|
754
|
-
custom_emoji_id: string;
|
|
755
|
-
duration?: number;
|
|
756
|
-
};
|
|
757
|
-
[MethodRequestEmojiStatusAccess]: undefined;
|
|
758
|
-
[MethodRequestFileDownload]: {
|
|
759
|
-
url: string;
|
|
760
|
-
file_name: string;
|
|
761
|
-
};
|
|
762
|
-
[MethodBiometryRequestAccess]: {
|
|
763
|
-
reason?: string;
|
|
764
|
-
};
|
|
765
|
-
[MethodBiometryRequestAuth]: {
|
|
766
|
-
reason?: string;
|
|
767
|
-
};
|
|
768
|
-
[MethodBiometryUpdateToken]: {
|
|
769
|
-
token: string;
|
|
770
|
-
};
|
|
771
|
-
[MethodBiometryOpenSettings]: undefined;
|
|
772
|
-
};
|
|
773
|
-
|
|
774
772
|
type Debug = (methondName: string, errorId: number) => void;
|
|
775
773
|
declare const debug: Debug;
|
|
776
774
|
|
package/solid/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("solid"),t=require("solid-js"),s=require("solid-js/store"),o=require("types/methods"),r=require("utils");const a="web",n="phone",i="desktop",p=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(t)?n:["tdesktop","macos"].includes(t)?i:a},d="not_supported",u=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s?.replace(".",""))>=Number(String(e)?.replace(".",""))&&-1!==t.indexOf(p())},c=()=>Math.random().toString(36).substring(3,9),l=e=>{var t;if(t=/^\s*#([0-9a-f]{6})\s*$/i.exec(e+=""))return"#"+t[1].toLowerCase();if(t=/^\s*#([0-9a-f])([0-9a-f])([0-9a-f])\s*$/i.exec(e))return("#"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]).toLowerCase();if(t=/^\s*rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)\s*$/.exec(e)){var s=parseInt(t[1]),o=parseInt(t[2]),r=parseInt(t[3]);return"#"+((s<16?"0":"")+s.toString(16))+((o<16?"0":"")+o.toString(16))+((r<16?"0":"")+r.toString(16))}return!1},_=e=>{const t=window.location.hash.slice(1),s=new URLSearchParams(t),o=JSON.parse(s.get("tgWebAppThemeParams")??""),r=e||o;for(var a of Object.keys(r)){var n=l(r[a]);"string"==typeof n&&(r[a]=n)}return"#1c1c1d"==r?.bg_color&&r?.bg_color==r?.secondary_bg_color&&(r.secondary_bg_color="#2c2c2e"),r},m=e=>x()?(Ie(Le,e),{status:!0}):(Ce(Le,1),{status:d}),x=()=>u(0,[a,i,n]),g=e=>h()?(Ie(He,e),{status:!0}):(Ce(He,1),{status:d}),h=()=>u(6.4,[n]),v=e=>S()?(Ie(je,e),{status:!0}):(Ce(je,1),{status:d}),S=()=>u(0,[a,i,n]),b=e=>w()?(Ie(Ue,e),{status:!0}):(Ce(Ue,1),{status:d}),w=()=>u(0,[n]),f=e=>y()?(Ie(Ne,e),{status:!0}):(Ce(Ne,1),{status:d}),y=()=>u(0,[a]),R=()=>B()?(Ie(Ne),{status:!0}):(Ce(Ne,1),{status:d}),B=()=>u(0,[a]),E=async e=>q()?(void 0===e.req_id&&(e.req_id=c()),Ie(Fe,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Ht(Rt,o))};Lt(Rt,o)}))):(Ce(Fe,1),{status:d}),q=()=>u(6.9,[a,i,n]),T=e=>k()?(Ie(Ve,e),{status:!0}):(Ce(Ve,1),{status:d}),k=()=>u(6.1,[a,i,n]),A=e=>M()?(Ie($e,e),{status:!0}):(Ce($e,1),{status:d}),M=()=>u(6.4,[a,i,n]),P=async e=>C()?(e.title.length>64&&Ce(Je,3),e.message.length<1&&Ce(Je,4),e.message.length>256&&Ce(Je,5),e.buttons.length<1&&Ce(Je,6),e.buttons.length>3&&Ce(Je,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&Ce(Je,8),Ie(Je,e),new Promise(((t,s)=>{const o=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),Ht(Et,o)};Lt(Et,o)}))):(Ce(Je,1),{status:d}),C=()=>u(6.2,[a,i,n]),O=async e=>I()?(Ie(De,e),new Promise(((t,s)=>{jt(qt,(s=>{e.is_close&&g(),t({status:!0,data:s})})),jt(Tt,(()=>{t({status:"closed"})}))}))):(Ce(De,1),{status:d}),I=()=>u(6.4,[n]),F=e=>{const t=function(e){try{return new URL(e)}catch(t){try{return new URL(e,"https://t.me")}catch(t){return e.startsWith("/")||(e="/"+e),new URL(e,"https://t.me")}}}(e.path_full);return e.path_full=t.pathname=t.search,D()?(Ie(Ke,e),{status:!0}):(Ce(Ke,1),{status:d})},D=()=>u(7,[a,i,n]);const W=async e=>G()?(e||(e={req_id:void 0}),void 0===e.req_id&&(e.req_id=c()),Ie(We,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e?.req_id&&(t({status:!0,data:s}),Ht(yt,o))};Lt(yt,o)}))):(Ce(We,1),{status:d}),G=()=>u(6.4,[a,i,n]),L=e=>H()?(Ie(ze,e),{status:!0}):(Ce(ze,1),{status:d}),H=()=>u(6.9,[a,i,n]),j=async()=>U()?(Ie(Ge),new Promise(((e,t)=>{jt(Bt,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(Ce(Ge,1),{status:d}),U=()=>u(6.9,[a,i,n]),N=e=>Q()?(Ie(Xe,e),{status:!0}):(Ce(Xe,1),{status:d}),Q=()=>u(0,[a,i,n]),V=e=>$()?(Ie(Ye,e),{status:!0}):(Ce(Ye,1),{status:d}),$=()=>u(0,[a,i,n]),J=()=>new Promise(((e,t)=>{if(!K())return Ce(Ze,1),void e({status:d});const s=t=>{e({status:"allowed"===t.status}),Ht(Mt,s)};Lt(Mt,s),Ie(Ze)})),K=()=>u(6.9,[a,i,n]),z=e=>X()?(Ie(et,e),{status:!0}):(Ce(et,1),{status:d}),X=()=>u(6.1,[a,i,n]),Y=e=>Z()?(Ie(tt,e),{status:!0}):(Ce(tt,1),{status:d}),Z=()=>u(6.1,[a,i,n]),ee=e=>te()?(Ie(st,{color:e?.color||e?.color_key}),{status:!0}):(Ce(st,1),{status:d}),te=()=>u(7.1,[a,i,n]),se=e=>oe()?(Ie(ot,e),{status:!0}):(Ce(ot,1),{status:d}),oe=()=>u(6.1,[a,i,n]),re=e=>ae()?(Ie(rt,e),{status:!0}):(Ce(rt,1),{status:d}),ae=()=>u(6.2,[a,i,n]),ne=e=>ie()?(Ie(at,e),{status:!0}):(Ce(at,1),{status:d}),ie=()=>u(0,[a,i,n]),pe=e=>de()?(Ie(nt,e),{status:!0}):(Ce(nt,1),{status:d}),de=()=>u(6.1,[a,i,n]),ue=e=>ce()?(e.query.length>256&&Ce(it,9),Ie(it,e),{status:!0}):(Ce(it,1),{status:d}),ce=()=>u(6.7,[a,i,n]),le=e=>_e()?(Ie(pt,e),{status:!0}):(Ce(pt,1),{status:d}),_e=()=>u(6.1,[n]),me=e=>xe()?(Ie(dt,e),{status:!0}):(Ce(dt,1),{status:d}),xe=()=>u(7.7,[a,i,n]),ge=()=>u(7.8,[a,i,n]),he=()=>u(8,[i,n]),ve=()=>u(8,[i,n]),Se=()=>u(8,[a,i,n]),be=()=>u(8,[a,i,n]),we=()=>u(8,[a,i,n]),fe=()=>u(8,[a,i,n]),ye=()=>u(8,[a,i,n]),Re=()=>u(8,[a,i,n]),Be=()=>u(8,[a,i,n]),Ee=()=>u(8,[a,i,n]),[qe,Te]=s.createStore({isInited:!1,isBiometricAvailable:!1,isAccessGranted:!1,isAccessRequested:!1,isBiometricTokenSaved:!1,biometricType:"unknown",deviceId:""}),ke={isInited:qe.isInited,isBiometricAvailable:qe.isBiometricAvailable,isAccessGranted:qe.isAccessGranted,isAccessRequested:qe.isAccessRequested,isBiometricTokenSaved:qe.isBiometricTokenSaved,biometricType:qe.biometricType,deviceId:qe.deviceId,init:()=>new Promise(((t,s)=>{if(!Ae())return e.debug(o.MethodBiometryGetInfo,1),void t({status:e.NOT_SUPPORTED,data:void 0});const r=s=>{Me(s),t({status:!0,data:qe}),e.listener.off(e.EventBiometryInfoReceived,r)};e.listener.on(e.EventBiometryInfoReceived,r),e.sender(o.MethodBiometryGetInfo)})),requestAccess:t=>new Promise(((s,r)=>{if(!Ae())return e.debug(o.MethodBiometryRequestAccess,1),void s({status:e.NOT_SUPPORTED,data:void 0});if(t.reason&&t.reason.length>128)return console.error(`[${o.MethodBiometryRequestAccess}] Biometric reason is too long`,t.reason),void s({status:!1,data:void 0});const a=t=>{Me(t),s({status:!0,data:qe}),e.listener.off(e.EventBiometryInfoReceived,a)};e.listener.on(e.EventBiometryInfoReceived,a),e.sender(o.MethodBiometryRequestAccess,t)})),authenticate:t=>new Promise(((s,r)=>{if(!Ae())return e.debug(o.MethodBiometryRequestAuth,1),void s({status:e.NOT_SUPPORTED,data:void 0});if(!qe.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void s({status:!1,data:void 0});if(!qe.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void s({status:!1,data:void 0});const a=t=>{s({status:!0,data:t}),e.listener.off(e.EventBiometryAuthRequested,a)};e.listener.on(e.EventBiometryAuthRequested,a),e.sender(o.MethodBiometryRequestAuth,t)})),updateToken:t=>new Promise(((s,r)=>{if(!Ae())return e.debug(o.MethodBiometryUpdateToken,1),void s({status:e.NOT_SUPPORTED,data:void 0});if(!qe.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void s({status:!1,data:void 0});if(!qe.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void s({status:!1,data:void 0});const a=t=>{s({status:!0,data:t}),e.listener.off(e.EventBiometryTokenUpdated,a)};e.listener.on(e.EventBiometryTokenUpdated,a),e.sender(o.MethodBiometryUpdateToken,t)})),openSettings:t=>Ae()?qe.isBiometricAvailable?qe.isAccessRequested?qe.isAccessGranted?(console.warn("[Telegram.WebApp] Biometric access was granted by the user, no need to go to settings."),{status:!1}):(e.sender(o.MethodBiometryOpenSettings,t),{status:!0}):(console.error("[Telegram.WebApp] Biometric access was not granted by the user."),{status:!1}):(console.error("[Telegram.WebApp] Biometrics is not available on this device."),{status:!1}):(e.debug(o.MethodBiometryOpenSettings,1),{status:e.NOT_SUPPORTED})},Ae=()=>r.supportCheck(7.2,[e.TG_DESKTOP,e.TG_PHONE,e.TG_WEB]),Me=e=>{Te(s.produce((t=>(e.available?(t.isBiometricAvailable=!0,t.biometricType=e.type||"",e.access_requested?(t.isAccessRequested=!0,t.isAccessGranted=!!e.access_granted,t.isBiometricTokenSaved=!!e.token_saved):(t.isAccessRequested=!1,t.isAccessGranted=!1,t.isBiometricTokenSaved=!1)):(t.isBiometricAvailable=!1,t.biometricType="unknown",t.isAccessRequested=!1,t.isAccessGranted=!1,t.isBiometricTokenSaved=!1),t.deviceId=e.device_id||"",t.isInited=!0,t))))},Pe=e=>{Te(s.produce((t=>(t.isBiometricAvailable&&t.isAccessRequested&&("updated"===e.status?t.isBiometricTokenSaved=!0:"removed"===e.status&&(t.isBiometricTokenSaved=!1)),t))))};t.onMount((()=>{e.listener.on(e.EventBiometryInfoReceived,Me),e.listener.on(e.EventBiometryTokenUpdated,Pe),t.onCleanup((()=>{e.listener.off(e.EventBiometryInfoReceived,Me),e.listener.off(e.EventBiometryTokenUpdated,Pe)}))}));const Ce=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)},Oe=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppData");if(!t)return void Ce("getInitData",2);const s=new URLSearchParams(t);let o={};return s.forEach(((e,t)=>{if(o[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{o[t]=JSON.parse(e)}catch{}})),o},Ie=(e,t)=>{if(window.TelegramWebviewProxy)window.TelegramWebviewProxy.postEvent(e,JSON.stringify(t));else if(window.external&&"notify"in window.external)window.external.notify(JSON.stringify({eventType:e,eventData:t}));else try{window.parent.postMessage(JSON.stringify({eventType:e,eventData:t}),"*")}catch(e){Ce("postMessage Iframe",10)}},Fe="web_app_invoke_custom_method",De="web_app_open_scan_qr_popup",We="web_app_read_text_from_clipboard",Ge="web_app_request_phone",Le="web_app_close",He="web_app_close_scan_qr_popup",je="web_app_data_send",Ue="web_app_expand",Ne="iframe_ready",Qe="iframe_will_reload",Ve="web_app_open_invoice",$e="web_app_open_link",Je="web_app_open_popup",Ke="web_app_open_tg_link",ze="web_app_ready",Xe="web_app_request_theme",Ye="web_app_request_viewport",Ze="web_app_request_write_access",et="web_app_set_background_color",tt="web_app_set_header_color",st="web_app_set_bottom_bar_color",ot="web_app_setup_back_button",rt="web_app_setup_closing_behavior",at="web_app_setup_main_button",nt="web_app_setup_settings_button",it="web_app_switch_inline_query",pt="web_app_trigger_haptic_feedback",dt="web_app_setup_swipe_behavior",ut="web_app_share_to_story",ct="web_app_request_safe_area",lt="web_app_request_content_safe_area",_t="web_app_request_fullscreen",mt="web_app_exit_fullscreen",xt="web_app_toggle_orientation_lock",gt="web_app_add_to_home_screen",ht="web_app_check_home_screen",vt="web_app_send_prepared_message",St="web_app_set_emoji_status",bt="web_app_request_emoji_status_access",wt="web_app_request_file_download";var ft=(e=>(e[e.InvokeCustomMethod=Fe]="InvokeCustomMethod",e[e.OpenScanQrPopup=De]="OpenScanQrPopup",e[e.ReadTextFromClipboard=We]="ReadTextFromClipboard",e[e.RequestPhone=Ge]="RequestPhone",e[e.Close=Le]="Close",e[e.CloseScanQrPopup=He]="CloseScanQrPopup",e[e.DataSend=je]="DataSend",e[e.Expand=Ue]="Expand",e[e.IframeReady=Ne]="IframeReady",e[e.IframeWillReload=Qe]="IframeWillReload",e[e.OpenInvoice=Ve]="OpenInvoice",e[e.OpenLink=$e]="OpenLink",e[e.OpenPopup=Je]="OpenPopup",e[e.OpenTgLink=Ke]="OpenTgLink",e[e.Ready=ze]="Ready",e[e.RequestTheme=Xe]="RequestTheme",e[e.RequestViewport=Ye]="RequestViewport",e[e.RequestWriteAccess=Ze]="RequestWriteAccess",e[e.SetBackgroundColor=et]="SetBackgroundColor",e[e.SetHeaderColor=tt]="SetHeaderColor",e[e.SetBottomBarColor=st]="SetBottomBarColor",e[e.SetupBackButton=ot]="SetupBackButton",e[e.SetupClosingBehavior=rt]="SetupClosingBehavior",e[e.SetupMainButton=at]="SetupMainButton",e[e.SetupSettingsButton=nt]="SetupSettingsButton",e[e.SwitchInlineQuery=it]="SwitchInlineQuery",e[e.TriggerHapticFeedback=pt]="TriggerHapticFeedback",e[e.SetupSwipeBehavior=dt]="SetupSwipeBehavior",e[e.ShareToStory=ut]="ShareToStory",e[e.RequestSafeArea=ct]="RequestSafeArea",e[e.RequestContentSafeArea=lt]="RequestContentSafeArea",e[e.RequestFullscreen=_t]="RequestFullscreen",e[e.ExitFullscreen=mt]="ExitFullscreen",e[e.ToggleOrientationLock=xt]="ToggleOrientationLock",e[e.AddToHomeScreen=gt]="AddToHomeScreen",e[e.CheckHomeScreen=ht]="CheckHomeScreen",e[e.SendPreparedMessage=vt]="SendPreparedMessage",e[e.SetEmojiStatus=St]="SetEmojiStatus",e[e.RequestEmojiStatusAccess=bt]="RequestEmojiStatusAccess",e[e.RequestFileDownload=wt]="RequestFileDownload",e))(ft||{});const yt="clipboard_text_received",Rt="custom_method_invoked",Bt="phone_requested",Et="popup_closed",qt="qr_text_received",Tt="scan_qr_popup_closed",kt="theme_changed",At="viewport_changed",Mt="write_access_requested",Pt="prepared_message_sent",Ct="prepared_message_failed",Ot="emoji_status_set",It="emoji_status_failed",Ft="emoji_status_access_requested",Dt="file_download_requested",Wt="home_screen_checked",Gt=((e=new Map)=>({once:(t,s,o=e.get(t),r=e=>{s(e),o&&o.splice(o.indexOf(s)>>>0,1)})=>o?o.push(r):e.set(t,[r]),on:(t,s,o=e.get(t))=>o?o.push(s):e.set(t,[s]),off:(t,s,o=e.get(t))=>o&&s?o.splice(o.indexOf(s)>>>0,1):e.set(t,[]),emit:(t,s,o=e.get(t)||[])=>{for(const e of o)e(s)}}))();(()=>{function e(e,t){e===kt&&(t.theme_params=_(t.theme_params)),Gt.emit(e,t),Gt.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const Lt=(e,t)=>{Gt.on(e,t)},Ht=(e,t)=>{Gt.off(e,t)},jt=(e,t)=>{Gt.once(e,t)};var Ut=Object.freeze({__proto__:null,off:Ht,on:Lt,once:jt});const Nt=t.createContext({viewport:void 0,theme:void 0,init:void 0});exports.BiometricManager=ke,exports.ContextTwa=Nt,exports.EventAccelerometerChanged="accelerometer_changed",exports.EventAccelerometerFailed="accelerometer_failed",exports.EventAccelerometerStarted="accelerometer_started",exports.EventAccelerometerStopped="accelerometer_stopped",exports.EventBackButtonPressed="back_button_pressed",exports.EventBiometryAuthRequested="biometry_auth_requested",exports.EventBiometryInfoReceived="biometry_info_received",exports.EventBiometryTokenUpdated="biometry_token_updated",exports.EventClipboardTextReceived=yt,exports.EventContentSafeAreaChanged="content_safe_area_changed",exports.EventCustomMethodInvoked=Rt,exports.EventDeviceOrientationChanged="device_orientation_changed",exports.EventDeviceOrientationFailed="device_orientation_failed",exports.EventDeviceOrientationStarted="device_orientation_started",exports.EventDeviceOrientationStopped="device_orientation_stopped",exports.EventEmojiStatusAccessRequested=Ft,exports.EventEmojiStatusFailed=It,exports.EventEmojiStatusSet=Ot,exports.EventFileDownloadRequested=Dt,exports.EventFullscreenChanged="fullscreen_changed",exports.EventFullscreenFailed="fullscreen_failed",exports.EventGyroscopeChanged="gyroscope_changed",exports.EventGyroscopeFailed="gyroscope_failed",exports.EventGyroscopeStarted="gyroscope_started",exports.EventGyroscopeStopped="gyroscope_stopped",exports.EventHomeScreenAdded="home_screen_added",exports.EventHomeScreenChecked=Wt,exports.EventHomeScreenFailed="home_screen_failed",exports.EventInvoiceClosed="invoice_closed",exports.EventLocationChecked="location_checked",exports.EventLocationRequested="location_requested",exports.EventMainButtonPressed="main_button_pressed",exports.EventPhoneRequested=Bt,exports.EventPopupClosed=Et,exports.EventPreparedMessageFailed=Ct,exports.EventPreparedMessageSent=Pt,exports.EventQrTextReceived=qt,exports.EventReloadIframe="reload_iframe",exports.EventSafeAreaChanged="safe_area_changed",exports.EventScanQrPopupClosed=Tt,exports.EventSecondaryButtonPressed="secondary_button_pressed",exports.EventSetCustomStyle="set_custom_style",exports.EventSettingsButtonPressed="settings_button_pressed",exports.EventThemeChanged=kt,exports.EventViewportChanged=At,exports.EventVisibilityChanged="visibility_changed",exports.EventWriteAccessRequested=Mt,exports.Method=ft,exports.MethodAddToHomeScreen=gt,exports.MethodCheckHomeScreen=ht,exports.MethodClose=Le,exports.MethodCloseScanQrPopup=He,exports.MethodDataSend=je,exports.MethodExitFullscreen=mt,exports.MethodExpand=Ue,exports.MethodIframeReady=Ne,exports.MethodIframeWillReload=Qe,exports.MethodInvokeCustomMethod=Fe,exports.MethodOpenInvoice=Ve,exports.MethodOpenLink=$e,exports.MethodOpenPopup=Je,exports.MethodOpenScanQrPopup=De,exports.MethodOpenTgLink=Ke,exports.MethodReadTextFromClipboard=We,exports.MethodReady=ze,exports.MethodRequestContentSafeArea=lt,exports.MethodRequestEmojiStatusAccess=bt,exports.MethodRequestFileDownload=wt,exports.MethodRequestFullscreen=_t,exports.MethodRequestPhone=Ge,exports.MethodRequestSafeArea=ct,exports.MethodRequestTheme=Xe,exports.MethodRequestViewport=Ye,exports.MethodRequestWriteAccess=Ze,exports.MethodSendPreparedMessage=vt,exports.MethodSetBackgroundColor=et,exports.MethodSetBottomBarColor=st,exports.MethodSetEmojiStatus=St,exports.MethodSetHeaderColor=tt,exports.MethodSetupBackButton=ot,exports.MethodSetupClosingBehavior=rt,exports.MethodSetupMainButton=at,exports.MethodSetupSettingsButton=nt,exports.MethodSetupSwipeBehavior=dt,exports.MethodShareToStory=ut,exports.MethodSwitchInlineQuery=it,exports.MethodToggleOrientationLock=xt,exports.MethodTriggerHapticFeedback=pt,exports.NOT_SUPPORTED=d,exports.ProviderTWA=e=>{const[o,r]=s.createStore({viewport:void 0,theme:void 0,init:void 0});return t.createEffect((()=>{const e=()=>{r("init",Oe())};e();const s=t=>{e(),r("viewport",t)};Lt(At,s),V();const o=t=>{e(),r("theme",t)};return Lt(kt,o),V(),t.onCleanup((()=>{Ht(At,s),Ht(kt,o)})),()=>{Ht(At,s),Ht(kt,o)}})),Nt.Provider({value:o,children:e.children})},exports.TG_DESKTOP=i,exports.TG_PHONE=n,exports.TG_WEB=a,exports.bridgeAddToHomeScreen=()=>ve()?(Ie(gt),{status:!0}):(Ce(gt,1),{status:d}),exports.bridgeCheckHomeScreen=async e=>new Promise(((t,s)=>{if(!he())return Ce(ht,1),void t({status:d,data:void 0});const o=e=>{e.status=e.status||"unknown",t({status:!0,data:e}),Ht(Wt,o)};Lt(Wt,o),Ie(ht,e)})),exports.bridgeClose=m,exports.bridgeCloseScanQrPopup=g,exports.bridgeDataSend=v,exports.bridgeDownloadFile=async e=>Ee()?new Promise(((t,s)=>{jt(Dt,(function(e){t({status:"downloading"===e.status})})),Ie(wt,e)})):(Ce(wt,1),{status:d}),exports.bridgeExpand=b,exports.bridgeGetInitData=Oe,exports.bridgeGetThemeParams=_,exports.bridgeIframeReady=f,exports.bridgeIframeWillReload=R,exports.bridgeInvokeCustomMethod=E,exports.bridgeOpenInvoice=T,exports.bridgeOpenLink=A,exports.bridgeOpenPopup=P,exports.bridgeOpenScanQrPopup=O,exports.bridgeOpenTgLink=F,exports.bridgeReadTextFromClipboard=W,exports.bridgeReady=L,exports.bridgeRequestContentSafeAreaInset=()=>be()?(Ie(lt),{status:!0}):(Ce(lt,1),{status:d}),exports.bridgeRequestEmojiStatus=async e=>ye()?new Promise(((t,s)=>{jt(Ft,(function(e){t({status:"allowed"===e.status})})),Ie(bt,e)})):(Ce(bt,1),{status:d}),exports.bridgeRequestPhone=j,exports.bridgeRequestSafeAreaInset=()=>Se()?(Ie(ct),{status:!0}):(Ce(ct,1),{status:d}),exports.bridgeRequestTheme=N,exports.bridgeRequestViewport=V,exports.bridgeRequestWriteAccess=J,exports.bridgeSend=Ie,exports.bridgeSessionStorageGet=({key:e})=>{try{return{is_json:!0,value:JSON.parse(window.sessionStorage.getItem("__telegram__"+e)??""),status:!0}}catch(t){return{is_json:!1,value:window.sessionStorage.getItem("__telegram__"+e)??"",status:!0}}},exports.bridgeSessionStorageSet=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(s){return window.sessionStorage.setItem("__telegram__"+e,t),{status:!0}}},exports.bridgeSetBackgroundColor=z,exports.bridgeSetBottomBarColor=ee,exports.bridgeSetEmojiStatus=async e=>Re()?new Promise(((t,s)=>{jt(Ot,(()=>t({status:!0}))),jt(It,(()=>t({status:!1}))),Ie(St,e)})):(Ce(St,1),{status:d}),exports.bridgeSetHeaderColor=Y,exports.bridgeSetupBackButton=se,exports.bridgeSetupClosingBehavior=re,exports.bridgeSetupFullScreen=e=>{const t=e?.is_full||!1;return we()?(Ie(t?_t:mt),{status:!0}):(Ce(t?_t:mt,1),{status:d})},exports.bridgeSetupMainButton=ne,exports.bridgeSetupOrientation=e=>fe()?(Ie(xt,e),{status:!0}):(Ce(xt,1),{status:d}),exports.bridgeSetupSettingsButton=pe,exports.bridgeSetupSwipeBehavior=me,exports.bridgeShareMessage=async e=>Be()?new Promise(((t,s)=>{jt(Pt,(()=>t({status:!0}))),jt(Ct,(()=>t({status:!1}))),Ie(vt,e)})):(Ce(vt,1),{status:d}),exports.bridgeShareToStory=e=>ge()?e?.text&&e?.text.length>2048?(console.warn(`[@apiteam/twa-bridge](${ut}) | Text is too long`),{status:!1,error_id:1}):e?.widget_link?.name&&e?.widget_link.name.length>48?(console.warn(`[@apiteam/twa-bridge](${ut}) | Link name is too long`),{status:!1,error_id:2}):(Ie(ut,e),{status:!0}):(Ce(ut,1),{status:d}),exports.bridgeSwitchInlineQuery=ue,exports.bridgeTriggerHapticFeedback=le,exports.createIsViewportChanged=()=>{const[e,s]=t.createSignal({height:0,is_expanded:!1,is_state_stable:!1}),o=e=>s(e);return t.onMount((()=>{Lt(At,o),Ie(Ye)})),t.onCleanup((()=>{Ht(At,o)})),e},exports.debug=Ce,exports.getAppData=()=>{const e=window.location.hash.slice(1);return new URLSearchParams(e).get("tgWebAppData")},exports.getPlatform=p,exports.listener=Ut,exports.sender=Ie,exports.supportAddToHomeScreen=ve,exports.supportBiometricManager=Ae,exports.supportCheckHomeScreen=he,exports.supportClose=x,exports.supportCloseScanQrPopup=h,exports.supportDataSend=S,exports.supportDownloadFile=Ee,exports.supportExpand=w,exports.supportIframeReady=y,exports.supportIframeWillReload=B,exports.supportInvokeCustomMethod=q,exports.supportOpenInvoice=k,exports.supportOpenLink=M,exports.supportOpenPopup=C,exports.supportOpenScanQrPopup=I,exports.supportOpenTgLink=D,exports.supportReadTextFromClipboard=G,exports.supportReady=H,exports.supportRequestContentSafeAreaInset=be,exports.supportRequestEmojiStatus=ye,exports.supportRequestPhone=U,exports.supportRequestSafeAreaInset=Se,exports.supportRequestTheme=Q,exports.supportRequestViewport=$,exports.supportRequestWriteAccess=K,exports.supportSessionStorageGet=()=>!0,exports.supportSessionStorageSet=()=>!0,exports.supportSetBackgroundColor=X,exports.supportSetBottomBarColor=te,exports.supportSetEmojiStatus=Re,exports.supportSetHeaderColor=Z,exports.supportSetupBackButton=oe,exports.supportSetupClosingBehavior=ae,exports.supportSetupFullScreen=we,exports.supportSetupMainButton=ie,exports.supportSetupOrientation=fe,exports.supportSetupSettingsButton=de,exports.supportSetupSwipeBehavior=xe,exports.supportShareMessage=Be,exports.supportShareToStory=ge,exports.supportSwitchInlineQuery=ce,exports.supportTriggerHapticFeedback=_e;
|
|
1
|
+
"use strict";var e=require("solid-js"),t=require("solid-js/store");const s="web",o="phone",r="desktop",a=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(t)?o:["tdesktop","macos"].includes(t)?r:s},n="not_supported",p=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s?.replace(".",""))>=Number(String(e)?.replace(".",""))&&-1!==t.indexOf(a())},i=()=>Math.random().toString(36).substring(3,9),d=e=>{var t;if(t=/^\s*#([0-9a-f]{6})\s*$/i.exec(e+=""))return"#"+t[1].toLowerCase();if(t=/^\s*#([0-9a-f])([0-9a-f])([0-9a-f])\s*$/i.exec(e))return("#"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]).toLowerCase();if(t=/^\s*rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)\s*$/.exec(e)){var s=parseInt(t[1]),o=parseInt(t[2]),r=parseInt(t[3]);return"#"+((s<16?"0":"")+s.toString(16))+((o<16?"0":"")+o.toString(16))+((r<16?"0":"")+r.toString(16))}return!1},u=e=>{const t=window.location.hash.slice(1),s=new URLSearchParams(t),o=JSON.parse(s.get("tgWebAppThemeParams")??""),r=e||o;for(var a of Object.keys(r)){var n=d(r[a]);"string"==typeof n&&(r[a]=n)}return"#1c1c1d"==r?.bg_color&&r?.bg_color==r?.secondary_bg_color&&(r.secondary_bg_color="#2c2c2e"),r},c=e=>_()?(qt(Ee,e),{status:!0}):(ft(Ee,1),{status:n}),_=()=>p(0,[s,r,o]),l=e=>x()?(qt(Ce,e),{status:!0}):(ft(Ce,1),{status:n}),x=()=>p(6.4,[o]),g=e=>m()?(qt(Te,e),{status:!0}):(ft(Te,1),{status:n}),m=()=>p(0,[s,r,o]),h=e=>S()?(qt(Ae,e),{status:!0}):(ft(Ae,1),{status:n}),S=()=>p(0,[o]),v=e=>b()?(qt(Me,e),{status:!0}):(ft(Me,1),{status:n}),b=()=>p(0,[s]),w=()=>f()?(qt(Me),{status:!0}):(ft(Me,1),{status:n}),f=()=>p(0,[s]),y=async e=>q()?(void 0===e.req_id&&(e.req_id=i()),qt(qe,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Vt(Bt,o))};Ut(Bt,o)}))):(ft(qe,1),{status:n}),q=()=>p(6.9,[s,r,o]),R=e=>B()?(qt(Ie,e),{status:!0}):(ft(Ie,1),{status:n}),B=()=>p(6.1,[s,r,o]),k=e=>E()?(qt(Oe,e),{status:!0}):(ft(Oe,1),{status:n}),E=()=>p(6.4,[s,r,o]),C=async e=>T()?(e.title.length>64&&ft(Fe,3),e.message.length<1&&ft(Fe,4),e.message.length>256&&ft(Fe,5),e.buttons.length<1&&ft(Fe,6),e.buttons.length>3&&ft(Fe,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&ft(Fe,8),qt(Fe,e),new Promise(((t,s)=>{const o=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),Vt(Et,o)};Ut(Et,o)}))):(ft(Fe,1),{status:n}),T=()=>p(6.2,[s,r,o]),A=async e=>M()?(qt(Re,e),new Promise(((t,s)=>{$t(Ct,(s=>{e.is_close&&l(),t({status:!0,data:s})})),$t(Tt,(()=>{t({status:"closed"})}))}))):(ft(Re,1),{status:n}),M=()=>p(6.4,[o]),P=e=>{const t=function(e){try{return new URL(e)}catch(t){try{return new URL(e,"https://t.me")}catch(t){return e.startsWith("/")||(e="/"+e),new URL(e,"https://t.me")}}}(e.path_full);return e.path_full=t.pathname=t.search,I()?(qt(We,e),{status:!0}):(ft(We,1),{status:n})},I=()=>p(7,[s,r,o]);const O=async e=>F()?(e||(e={req_id:void 0}),void 0===e.req_id&&(e.req_id=i()),qt(Be,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e?.req_id&&(t({status:!0,data:s}),Vt(Rt,o))};Ut(Rt,o)}))):(ft(Be,1),{status:n}),F=()=>p(6.4,[s,r,o]),W=e=>L()?(qt(Le,e),{status:!0}):(ft(Le,1),{status:n}),L=()=>p(6.9,[s,r,o]),D=async()=>j()?(qt(ke),new Promise(((e,t)=>{$t(kt,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(ft(ke,1),{status:n}),j=()=>p(6.9,[s,r,o]),H=e=>G()?(qt(De,e),{status:!0}):(ft(De,1),{status:n}),G=()=>p(0,[s,r,o]),Q=e=>N()?(qt(je,e),{status:!0}):(ft(je,1),{status:n}),N=()=>p(0,[s,r,o]),U=()=>new Promise(((e,t)=>{if(!V())return ft(He,1),void e({status:n});const s=t=>{e({status:"allowed"===t.status}),Vt(Pt,s)};Ut(Pt,s),qt(He)})),V=()=>p(6.9,[s,r,o]),$=e=>J()?(qt(Ge,e),{status:!0}):(ft(Ge,1),{status:n}),J=()=>p(6.1,[s,r,o]),z=e=>K()?(qt(Qe,e),{status:!0}):(ft(Qe,1),{status:n}),K=()=>p(6.1,[s,r,o]),X=e=>Y()?(qt(Ne,{color:e?.color||e?.color_key}),{status:!0}):(ft(Ne,1),{status:n}),Y=()=>p(7.1,[s,r,o]),Z=e=>ee()?(qt(Ue,e),{status:!0}):(ft(Ue,1),{status:n}),ee=()=>p(6.1,[s,r,o]),te=e=>se()?(qt(Ve,e),{status:!0}):(ft(Ve,1),{status:n}),se=()=>p(6.2,[s,r,o]),oe=e=>re()?(qt($e,e),{status:!0}):(ft($e,1),{status:n}),re=()=>p(0,[s,r,o]),ae=e=>ne()?(qt(Je,e),{status:!0}):(ft(Je,1),{status:n}),ne=()=>p(6.1,[s,r,o]),pe=e=>ie()?(e.query.length>256&&ft(ze,9),qt(ze,e),{status:!0}):(ft(ze,1),{status:n}),ie=()=>p(6.7,[s,r,o]),de=e=>ue()?(qt(Ke,e),{status:!0}):(ft(Ke,1),{status:n}),ue=()=>p(6.1,[o]),ce=e=>_e()?(qt(Xe,e),{status:!0}):(ft(Xe,1),{status:n}),_e=()=>p(7.7,[s,r,o]),le=()=>p(7.8,[s,r,o]),xe=()=>p(8,[r,o]),ge=()=>p(8,[r,o]),me=()=>p(8,[s,r,o]),he=()=>p(8,[s,r,o]),Se=()=>p(8,[s,r,o]),ve=()=>p(8,[s,r,o]),be=()=>p(8,[s,r,o]),we=()=>p(8,[s,r,o]),fe=()=>p(8,[s,r,o]),ye=()=>p(8,[s,r,o]),qe="web_app_invoke_custom_method",Re="web_app_open_scan_qr_popup",Be="web_app_read_text_from_clipboard",ke="web_app_request_phone",Ee="web_app_close",Ce="web_app_close_scan_qr_popup",Te="web_app_data_send",Ae="web_app_expand",Me="iframe_ready",Pe="iframe_will_reload",Ie="web_app_open_invoice",Oe="web_app_open_link",Fe="web_app_open_popup",We="web_app_open_tg_link",Le="web_app_ready",De="web_app_request_theme",je="web_app_request_viewport",He="web_app_request_write_access",Ge="web_app_set_background_color",Qe="web_app_set_header_color",Ne="web_app_set_bottom_bar_color",Ue="web_app_setup_back_button",Ve="web_app_setup_closing_behavior",$e="web_app_setup_main_button",Je="web_app_setup_settings_button",ze="web_app_switch_inline_query",Ke="web_app_trigger_haptic_feedback",Xe="web_app_setup_swipe_behavior",Ye="web_app_share_to_story",Ze="web_app_request_safe_area",et="web_app_request_content_safe_area",tt="web_app_request_fullscreen",st="web_app_exit_fullscreen",ot="web_app_toggle_orientation_lock",rt="web_app_add_to_home_screen",at="web_app_check_home_screen",nt="web_app_send_prepared_message",pt="web_app_set_emoji_status",it="web_app_request_emoji_status_access",dt="web_app_request_file_download",ut="web_app_biometry_get_info",ct="web_app_biometry_open_settings",_t="web_app_biometry_request_access",lt="web_app_biometry_request_auth",xt="web_app_biometry_update_token";var gt=(e=>(e[e.InvokeCustomMethod=qe]="InvokeCustomMethod",e[e.OpenScanQrPopup=Re]="OpenScanQrPopup",e[e.ReadTextFromClipboard=Be]="ReadTextFromClipboard",e[e.RequestPhone=ke]="RequestPhone",e[e.Close=Ee]="Close",e[e.CloseScanQrPopup=Ce]="CloseScanQrPopup",e[e.DataSend=Te]="DataSend",e[e.Expand=Ae]="Expand",e[e.IframeReady=Me]="IframeReady",e[e.IframeWillReload=Pe]="IframeWillReload",e[e.OpenInvoice=Ie]="OpenInvoice",e[e.OpenLink=Oe]="OpenLink",e[e.OpenPopup=Fe]="OpenPopup",e[e.OpenTgLink=We]="OpenTgLink",e[e.Ready=Le]="Ready",e[e.RequestTheme=De]="RequestTheme",e[e.RequestViewport=je]="RequestViewport",e[e.RequestWriteAccess=He]="RequestWriteAccess",e[e.SetBackgroundColor=Ge]="SetBackgroundColor",e[e.SetHeaderColor=Qe]="SetHeaderColor",e[e.SetBottomBarColor=Ne]="SetBottomBarColor",e[e.SetupBackButton=Ue]="SetupBackButton",e[e.SetupClosingBehavior=Ve]="SetupClosingBehavior",e[e.SetupMainButton=$e]="SetupMainButton",e[e.SetupSettingsButton=Je]="SetupSettingsButton",e[e.SwitchInlineQuery=ze]="SwitchInlineQuery",e[e.TriggerHapticFeedback=Ke]="TriggerHapticFeedback",e[e.SetupSwipeBehavior=Xe]="SetupSwipeBehavior",e[e.ShareToStory=Ye]="ShareToStory",e[e.RequestSafeArea=Ze]="RequestSafeArea",e[e.RequestContentSafeArea=et]="RequestContentSafeArea",e[e.RequestFullscreen=tt]="RequestFullscreen",e[e.ExitFullscreen=st]="ExitFullscreen",e[e.ToggleOrientationLock=ot]="ToggleOrientationLock",e[e.AddToHomeScreen=rt]="AddToHomeScreen",e[e.CheckHomeScreen=at]="CheckHomeScreen",e[e.SendPreparedMessage=nt]="SendPreparedMessage",e[e.SetEmojiStatus=pt]="SetEmojiStatus",e[e.RequestEmojiStatusAccess=it]="RequestEmojiStatusAccess",e[e.RequestFileDownload=dt]="RequestFileDownload",e))(gt||{});const[mt,ht]=t.createStore({isInited:!1,isBiometricAvailable:!1,isAccessGranted:!1,isAccessRequested:!1,isBiometricTokenSaved:!1,biometricType:"unknown",deviceId:""}),St={isInited:mt.isInited,isBiometricAvailable:mt.isBiometricAvailable,isAccessGranted:mt.isAccessGranted,isAccessRequested:mt.isAccessRequested,isBiometricTokenSaved:mt.isBiometricTokenSaved,biometricType:mt.biometricType,deviceId:mt.deviceId,init:()=>new Promise(((e,t)=>{if(!vt())return ft(ut,1),void e({status:n,data:void 0});const s=t=>{bt(t),e({status:!0,data:mt}),Vt(Ht,s)};Ut(Ht,s),qt(ut)})),requestAccess:e=>new Promise(((t,s)=>{if(!vt())return ft(_t,1),void t({status:n,data:void 0});if(e.reason&&e.reason.length>128)return console.error(`[${_t}] Biometric reason is too long`,e.reason),void t({status:!1,data:void 0});const o=e=>{bt(e),t({status:!0,data:mt}),Vt(Ht,o)};Ut(Ht,o),qt(_t,e)})),authenticate:e=>new Promise(((t,s)=>{if(!vt())return ft(lt,1),void t({status:n,data:void 0});if(!mt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void t({status:!1,data:void 0});if(!mt.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void t({status:!1,data:void 0});const o=e=>{t({status:!0,data:e}),Vt(jt,o)};Ut(jt,o),qt(lt,e)})),updateToken:e=>new Promise(((t,s)=>{if(!vt())return ft(xt,1),void t({status:n,data:void 0});if(!mt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void t({status:!1,data:void 0});if(!mt.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void t({status:!1,data:void 0});const o=e=>{t({status:!0,data:e}),Vt(Gt,o)};Ut(Gt,o),qt(xt,e)})),openSettings:e=>vt()?mt.isBiometricAvailable?mt.isAccessRequested?mt.isAccessGranted?(console.warn("[Telegram.WebApp] Biometric access was granted by the user, no need to go to settings."),{status:!1}):(qt(ct,e),{status:!0}):(console.error("[Telegram.WebApp] Biometric access was not granted by the user."),{status:!1}):(console.error("[Telegram.WebApp] Biometrics is not available on this device."),{status:!1}):(ft(ct,1),{status:n})},vt=()=>p(7.2,[r,o,s]),bt=e=>{ht(t.produce((t=>(e.available?(t.isBiometricAvailable=!0,t.biometricType=e.type||"",e.access_requested?(t.isAccessRequested=!0,t.isAccessGranted=!!e.access_granted,t.isBiometricTokenSaved=!!e.token_saved):(t.isAccessRequested=!1,t.isAccessGranted=!1,t.isBiometricTokenSaved=!1)):(t.isBiometricAvailable=!1,t.biometricType="unknown",t.isAccessRequested=!1,t.isAccessGranted=!1,t.isBiometricTokenSaved=!1),t.deviceId=e.device_id||"",t.isInited=!0,t))))},wt=e=>{ht(t.produce((t=>(t.isBiometricAvailable&&t.isAccessRequested&&("updated"===e.status?t.isBiometricTokenSaved=!0:"removed"===e.status&&(t.isBiometricTokenSaved=!1)),t))))};e.onMount((()=>{Ut(Ht,bt),Ut(Gt,wt),e.onCleanup((()=>{Vt(Ht,bt),Vt(Gt,wt)}))}));const ft=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)},yt=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppData");if(!t)return void ft("getInitData",2);const s=new URLSearchParams(t);let o={};return s.forEach(((e,t)=>{if(o[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{o[t]=JSON.parse(e)}catch{}})),o},qt=(e,t)=>{if(window.TelegramWebviewProxy)window.TelegramWebviewProxy.postEvent(e,JSON.stringify(t));else if(window.external&&"notify"in window.external)window.external.notify(JSON.stringify({eventType:e,eventData:t}));else try{window.parent.postMessage(JSON.stringify({eventType:e,eventData:t}),"*")}catch(e){ft("postMessage Iframe",10)}},Rt="clipboard_text_received",Bt="custom_method_invoked",kt="phone_requested",Et="popup_closed",Ct="qr_text_received",Tt="scan_qr_popup_closed",At="theme_changed",Mt="viewport_changed",Pt="write_access_requested",It="prepared_message_sent",Ot="prepared_message_failed",Ft="emoji_status_set",Wt="emoji_status_failed",Lt="emoji_status_access_requested",Dt="file_download_requested",jt="biometry_auth_requested",Ht="biometry_info_received",Gt="biometry_token_updated",Qt="home_screen_checked",Nt=((e=new Map)=>({once:(t,s,o=e.get(t),r=e=>{s(e),o&&o.splice(o.indexOf(s)>>>0,1)})=>o?o.push(r):e.set(t,[r]),on:(t,s,o=e.get(t))=>o?o.push(s):e.set(t,[s]),off:(t,s,o=e.get(t))=>o&&s?o.splice(o.indexOf(s)>>>0,1):e.set(t,[]),emit:(t,s,o=e.get(t)||[])=>{for(const e of o)e(s)}}))();(()=>{function e(e,t){e===At&&(t.theme_params=u(t.theme_params)),Nt.emit(e,t),Nt.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const Ut=(e,t)=>{Nt.on(e,t)},Vt=(e,t)=>{Nt.off(e,t)},$t=(e,t)=>{Nt.once(e,t)};var Jt=Object.freeze({__proto__:null,off:Vt,on:Ut,once:$t});const zt=e.createContext({viewport:void 0,theme:void 0,init:void 0});exports.BiometricManager=St,exports.ContextTwa=zt,exports.EventAccelerometerChanged="accelerometer_changed",exports.EventAccelerometerFailed="accelerometer_failed",exports.EventAccelerometerStarted="accelerometer_started",exports.EventAccelerometerStopped="accelerometer_stopped",exports.EventBackButtonPressed="back_button_pressed",exports.EventBiometryAuthRequested=jt,exports.EventBiometryInfoReceived=Ht,exports.EventBiometryTokenUpdated=Gt,exports.EventClipboardTextReceived=Rt,exports.EventContentSafeAreaChanged="content_safe_area_changed",exports.EventCustomMethodInvoked=Bt,exports.EventDeviceOrientationChanged="device_orientation_changed",exports.EventDeviceOrientationFailed="device_orientation_failed",exports.EventDeviceOrientationStarted="device_orientation_started",exports.EventDeviceOrientationStopped="device_orientation_stopped",exports.EventEmojiStatusAccessRequested=Lt,exports.EventEmojiStatusFailed=Wt,exports.EventEmojiStatusSet=Ft,exports.EventFileDownloadRequested=Dt,exports.EventFullscreenChanged="fullscreen_changed",exports.EventFullscreenFailed="fullscreen_failed",exports.EventGyroscopeChanged="gyroscope_changed",exports.EventGyroscopeFailed="gyroscope_failed",exports.EventGyroscopeStarted="gyroscope_started",exports.EventGyroscopeStopped="gyroscope_stopped",exports.EventHomeScreenAdded="home_screen_added",exports.EventHomeScreenChecked=Qt,exports.EventHomeScreenFailed="home_screen_failed",exports.EventInvoiceClosed="invoice_closed",exports.EventLocationChecked="location_checked",exports.EventLocationRequested="location_requested",exports.EventMainButtonPressed="main_button_pressed",exports.EventPhoneRequested=kt,exports.EventPopupClosed=Et,exports.EventPreparedMessageFailed=Ot,exports.EventPreparedMessageSent=It,exports.EventQrTextReceived=Ct,exports.EventReloadIframe="reload_iframe",exports.EventSafeAreaChanged="safe_area_changed",exports.EventScanQrPopupClosed=Tt,exports.EventSecondaryButtonPressed="secondary_button_pressed",exports.EventSetCustomStyle="set_custom_style",exports.EventSettingsButtonPressed="settings_button_pressed",exports.EventThemeChanged=At,exports.EventViewportChanged=Mt,exports.EventVisibilityChanged="visibility_changed",exports.EventWriteAccessRequested=Pt,exports.Method=gt,exports.MethodAddToHomeScreen=rt,exports.MethodCheckHomeScreen=at,exports.MethodClose=Ee,exports.MethodCloseScanQrPopup=Ce,exports.MethodDataSend=Te,exports.MethodExitFullscreen=st,exports.MethodExpand=Ae,exports.MethodIframeReady=Me,exports.MethodIframeWillReload=Pe,exports.MethodInvokeCustomMethod=qe,exports.MethodOpenInvoice=Ie,exports.MethodOpenLink=Oe,exports.MethodOpenPopup=Fe,exports.MethodOpenScanQrPopup=Re,exports.MethodOpenTgLink=We,exports.MethodReadTextFromClipboard=Be,exports.MethodReady=Le,exports.MethodRequestContentSafeArea=et,exports.MethodRequestEmojiStatusAccess=it,exports.MethodRequestFileDownload=dt,exports.MethodRequestFullscreen=tt,exports.MethodRequestPhone=ke,exports.MethodRequestSafeArea=Ze,exports.MethodRequestTheme=De,exports.MethodRequestViewport=je,exports.MethodRequestWriteAccess=He,exports.MethodSendPreparedMessage=nt,exports.MethodSetBackgroundColor=Ge,exports.MethodSetBottomBarColor=Ne,exports.MethodSetEmojiStatus=pt,exports.MethodSetHeaderColor=Qe,exports.MethodSetupBackButton=Ue,exports.MethodSetupClosingBehavior=Ve,exports.MethodSetupMainButton=$e,exports.MethodSetupSettingsButton=Je,exports.MethodSetupSwipeBehavior=Xe,exports.MethodShareToStory=Ye,exports.MethodSwitchInlineQuery=ze,exports.MethodToggleOrientationLock=ot,exports.MethodTriggerHapticFeedback=Ke,exports.NOT_SUPPORTED=n,exports.ProviderTWA=s=>{const[o,r]=t.createStore({viewport:void 0,theme:void 0,init:void 0});return e.createEffect((()=>{const t=()=>{r("init",yt())};t();const s=e=>{t(),r("viewport",e)};Ut(Mt,s),Q();const o=e=>{t(),r("theme",e)};return Ut(At,o),Q(),e.onCleanup((()=>{Vt(Mt,s),Vt(At,o)})),()=>{Vt(Mt,s),Vt(At,o)}})),zt.Provider({value:o,children:s.children})},exports.TG_DESKTOP=r,exports.TG_PHONE=o,exports.TG_WEB=s,exports.bridgeAddToHomeScreen=()=>ge()?(qt(rt),{status:!0}):(ft(rt,1),{status:n}),exports.bridgeCheckHomeScreen=async e=>new Promise(((t,s)=>{if(!xe())return ft(at,1),void t({status:n,data:void 0});const o=e=>{e.status=e.status||"unknown",t({status:!0,data:e}),Vt(Qt,o)};Ut(Qt,o),qt(at,e)})),exports.bridgeClose=c,exports.bridgeCloseScanQrPopup=l,exports.bridgeDataSend=g,exports.bridgeDownloadFile=async e=>ye()?new Promise(((t,s)=>{$t(Dt,(function(e){t({status:"downloading"===e.status})})),qt(dt,e)})):(ft(dt,1),{status:n}),exports.bridgeExpand=h,exports.bridgeGetInitData=yt,exports.bridgeGetThemeParams=u,exports.bridgeIframeReady=v,exports.bridgeIframeWillReload=w,exports.bridgeInvokeCustomMethod=y,exports.bridgeOpenInvoice=R,exports.bridgeOpenLink=k,exports.bridgeOpenPopup=C,exports.bridgeOpenScanQrPopup=A,exports.bridgeOpenTgLink=P,exports.bridgeReadTextFromClipboard=O,exports.bridgeReady=W,exports.bridgeRequestContentSafeAreaInset=()=>he()?(qt(et),{status:!0}):(ft(et,1),{status:n}),exports.bridgeRequestEmojiStatus=async e=>be()?new Promise(((t,s)=>{$t(Lt,(function(e){t({status:"allowed"===e.status})})),qt(it,e)})):(ft(it,1),{status:n}),exports.bridgeRequestPhone=D,exports.bridgeRequestSafeAreaInset=()=>me()?(qt(Ze),{status:!0}):(ft(Ze,1),{status:n}),exports.bridgeRequestTheme=H,exports.bridgeRequestViewport=Q,exports.bridgeRequestWriteAccess=U,exports.bridgeSend=qt,exports.bridgeSessionStorageGet=({key:e})=>{try{return{is_json:!0,value:JSON.parse(window.sessionStorage.getItem("__telegram__"+e)??""),status:!0}}catch(t){return{is_json:!1,value:window.sessionStorage.getItem("__telegram__"+e)??"",status:!0}}},exports.bridgeSessionStorageSet=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(s){return window.sessionStorage.setItem("__telegram__"+e,t),{status:!0}}},exports.bridgeSetBackgroundColor=$,exports.bridgeSetBottomBarColor=X,exports.bridgeSetEmojiStatus=async e=>we()?new Promise(((t,s)=>{$t(Ft,(()=>t({status:!0}))),$t(Wt,(()=>t({status:!1}))),qt(pt,e)})):(ft(pt,1),{status:n}),exports.bridgeSetHeaderColor=z,exports.bridgeSetupBackButton=Z,exports.bridgeSetupClosingBehavior=te,exports.bridgeSetupFullScreen=e=>{const t=e?.is_full||!1;return Se()?(qt(t?tt:st),{status:!0}):(ft(t?tt:st,1),{status:n})},exports.bridgeSetupMainButton=oe,exports.bridgeSetupOrientation=e=>ve()?(qt(ot,e),{status:!0}):(ft(ot,1),{status:n}),exports.bridgeSetupSettingsButton=ae,exports.bridgeSetupSwipeBehavior=ce,exports.bridgeShareMessage=async e=>fe()?new Promise(((t,s)=>{$t(It,(()=>t({status:!0}))),$t(Ot,(()=>t({status:!1}))),qt(nt,e)})):(ft(nt,1),{status:n}),exports.bridgeShareToStory=e=>le()?e?.text&&e?.text.length>2048?(console.warn(`[@apiteam/twa-bridge](${Ye}) | Text is too long`),{status:!1,error_id:1}):e?.widget_link?.name&&e?.widget_link.name.length>48?(console.warn(`[@apiteam/twa-bridge](${Ye}) | Link name is too long`),{status:!1,error_id:2}):(qt(Ye,e),{status:!0}):(ft(Ye,1),{status:n}),exports.bridgeSwitchInlineQuery=pe,exports.bridgeTriggerHapticFeedback=de,exports.createIsViewportChanged=()=>{const[t,s]=e.createSignal({height:0,is_expanded:!1,is_state_stable:!1}),o=e=>s(e);return e.onMount((()=>{Ut(Mt,o),qt(je)})),e.onCleanup((()=>{Vt(Mt,o)})),t},exports.debug=ft,exports.getAppData=()=>{const e=window.location.hash.slice(1);return new URLSearchParams(e).get("tgWebAppData")},exports.getPlatform=a,exports.listener=Jt,exports.sender=qt,exports.supportAddToHomeScreen=ge,exports.supportBiometricManager=vt,exports.supportCheckHomeScreen=xe,exports.supportClose=_,exports.supportCloseScanQrPopup=x,exports.supportDataSend=m,exports.supportDownloadFile=ye,exports.supportExpand=S,exports.supportIframeReady=b,exports.supportIframeWillReload=f,exports.supportInvokeCustomMethod=q,exports.supportOpenInvoice=B,exports.supportOpenLink=E,exports.supportOpenPopup=T,exports.supportOpenScanQrPopup=M,exports.supportOpenTgLink=I,exports.supportReadTextFromClipboard=F,exports.supportReady=L,exports.supportRequestContentSafeAreaInset=he,exports.supportRequestEmojiStatus=be,exports.supportRequestPhone=j,exports.supportRequestSafeAreaInset=me,exports.supportRequestTheme=G,exports.supportRequestViewport=N,exports.supportRequestWriteAccess=V,exports.supportSessionStorageGet=()=>!0,exports.supportSessionStorageSet=()=>!0,exports.supportSetBackgroundColor=J,exports.supportSetBottomBarColor=Y,exports.supportSetEmojiStatus=we,exports.supportSetHeaderColor=K,exports.supportSetupBackButton=ee,exports.supportSetupClosingBehavior=se,exports.supportSetupFullScreen=Se,exports.supportSetupMainButton=re,exports.supportSetupOrientation=ve,exports.supportSetupSettingsButton=ne,exports.supportSetupSwipeBehavior=_e,exports.supportShareMessage=fe,exports.supportShareToStory=le,exports.supportSwitchInlineQuery=ie,exports.supportTriggerHapticFeedback=ue;
|
package/solid/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{debug as e,NOT_SUPPORTED as t,listener as s,EventBiometryInfoReceived as a,sender as o,EventBiometryAuthRequested as r,EventBiometryTokenUpdated as i,TG_DESKTOP as n,TG_PHONE as d,TG_WEB as c}from"solid";import{createSignal as u,onMount as _,onCleanup as p,createContext as l,createEffect as m}from"solid-js";import{createStore as g,produce as b}from"solid-js/store";import{MethodBiometryGetInfo as w,MethodBiometryRequestAccess as h,MethodBiometryRequestAuth as v,MethodBiometryUpdateToken as S,MethodBiometryOpenSettings as f}from"types/methods";import{supportCheck as y}from"utils";const q=()=>{const[e,t]=u({height:0,is_expanded:!1,is_state_stable:!1}),s=e=>t(e);return _((()=>{Xs(bs,s),gt(xt)})),p((()=>{Ys(bs,s)})),e},k="web",B="phone",R="desktop",T=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(t)?B:["tdesktop","macos"].includes(t)?R:k},A="not_supported",P=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s?.replace(".",""))>=Number(String(e)?.replace(".",""))&&-1!==t.indexOf(T())},I=()=>Math.random().toString(36).substring(3,9),O=e=>{var t;if(t=/^\s*#([0-9a-f]{6})\s*$/i.exec(e+=""))return"#"+t[1].toLowerCase();if(t=/^\s*#([0-9a-f])([0-9a-f])([0-9a-f])\s*$/i.exec(e))return("#"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]).toLowerCase();if(t=/^\s*rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)\s*$/.exec(e)){var s=parseInt(t[1]),a=parseInt(t[2]),o=parseInt(t[3]);return"#"+((s<16?"0":"")+s.toString(16))+((a<16?"0":"")+a.toString(16))+((o<16?"0":"")+o.toString(16))}return!1},x=e=>{const t=window.location.hash.slice(1),s=new URLSearchParams(t),a=JSON.parse(s.get("tgWebAppThemeParams")??""),o=e||a;for(var r of Object.keys(o)){var i=O(o[r]);"string"==typeof i&&(o[r]=i)}return"#1c1c1d"==o?.bg_color&&o?.bg_color==o?.secondary_bg_color&&(o.secondary_bg_color="#2c2c2e"),o},C=e=>E()?(gt(St,e),{status:!0}):(lt(St,1),{status:A}),E=()=>P(0,[k,R,B]),W=e=>L()?(gt(ft,e),{status:!0}):(lt(ft,1),{status:A}),L=()=>P(6.4,[B]),G=e=>M()?(gt(yt,e),{status:!0}):(lt(yt,1),{status:A}),M=()=>P(0,[k,R,B]),j=e=>D()?(gt(qt,e),{status:!0}):(lt(qt,1),{status:A}),D=()=>P(0,[B]),F=e=>H()?(gt(kt,e),{status:!0}):(lt(kt,1),{status:A}),H=()=>P(0,[k]),N=()=>U()?(gt(kt),{status:!0}):(lt(kt,1),{status:A}),U=()=>P(0,[k]),$=async e=>Q()?(void 0===e.req_id&&(e.req_id=I()),gt(bt,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Ys(rs,a))};Xs(rs,a)}))):(lt(bt,1),{status:A}),Q=()=>P(6.9,[k,R,B]),J=e=>V()?(gt(Rt,e),{status:!0}):(lt(Rt,1),{status:A}),V=()=>P(6.1,[k,R,B]),z=e=>K()?(gt(Tt,e),{status:!0}):(lt(Tt,1),{status:A}),K=()=>P(6.4,[k,R,B]),X=async e=>Y()?(e.title.length>64&<(At,3),e.message.length<1&<(At,4),e.message.length>256&<(At,5),e.buttons.length<1&<(At,6),e.buttons.length>3&<(At,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&<(At,8),gt(At,e),new Promise(((t,s)=>{const a=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),Ys(cs,a)};Xs(cs,a)}))):(lt(At,1),{status:A}),Y=()=>P(6.2,[k,R,B]),Z=async e=>ee()?(gt(wt,e),new Promise(((t,s)=>{Zs(_s,(s=>{e.is_close&&W(),t({status:!0,data:s})})),Zs(ps,(()=>{t({status:"closed"})}))}))):(lt(wt,1),{status:A}),ee=()=>P(6.4,[B]),te=e=>{const t=function(e){try{return new URL(e)}catch(t){try{return new URL(e,"https://t.me")}catch(t){return e.startsWith("/")||(e="/"+e),new URL(e,"https://t.me")}}}(e.path_full);return e.path_full=t.pathname=t.search,se()?(gt(Pt,e),{status:!0}):(lt(Pt,1),{status:A})},se=()=>P(7,[k,R,B]);const ae=async e=>oe()?(e||(e={req_id:void 0}),void 0===e.req_id&&(e.req_id=I()),gt(ht,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e?.req_id&&(t({status:!0,data:s}),Ys(os,a))};Xs(os,a)}))):(lt(ht,1),{status:A}),oe=()=>P(6.4,[k,R,B]),re=e=>ie()?(gt(It,e),{status:!0}):(lt(It,1),{status:A}),ie=()=>P(6.9,[k,R,B]),ne=async()=>de()?(gt(vt),new Promise(((e,t)=>{Zs(ds,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(lt(vt,1),{status:A}),de=()=>P(6.9,[k,R,B]),ce=e=>ue()?(gt(Ot,e),{status:!0}):(lt(Ot,1),{status:A}),ue=()=>P(0,[k,R,B]),_e=e=>pe()?(gt(xt,e),{status:!0}):(lt(xt,1),{status:A}),pe=()=>P(0,[k,R,B]),le=()=>new Promise(((e,t)=>{if(!me())return lt(Ct,1),void e({status:A});const s=t=>{e({status:"allowed"===t.status}),Ys(ws,s)};Xs(ws,s),gt(Ct)})),me=()=>P(6.9,[k,R,B]),ge=e=>be()?(gt(Et,e),{status:!0}):(lt(Et,1),{status:A}),be=()=>P(6.1,[k,R,B]),we=e=>he()?(gt(Wt,e),{status:!0}):(lt(Wt,1),{status:A}),he=()=>P(6.1,[k,R,B]),ve=e=>Se()?(gt(Lt,{color:e?.color||e?.color_key}),{status:!0}):(lt(Lt,1),{status:A}),Se=()=>P(7.1,[k,R,B]),fe=e=>ye()?(gt(Gt,e),{status:!0}):(lt(Gt,1),{status:A}),ye=()=>P(6.1,[k,R,B]),qe=e=>ke()?(gt(Mt,e),{status:!0}):(lt(Mt,1),{status:A}),ke=()=>P(6.2,[k,R,B]),Be=e=>Re()?(gt(jt,e),{status:!0}):(lt(jt,1),{status:A}),Re=()=>P(0,[k,R,B]),Te=e=>Ae()?(gt(Dt,e),{status:!0}):(lt(Dt,1),{status:A}),Ae=()=>P(6.1,[k,R,B]),Pe=e=>Ie()?(e.query.length>256&<(Ft,9),gt(Ft,e),{status:!0}):(lt(Ft,1),{status:A}),Ie=()=>P(6.7,[k,R,B]),Oe=e=>xe()?(gt(Ht,e),{status:!0}):(lt(Ht,1),{status:A}),xe=()=>P(6.1,[B]),Ce=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(s){return window.sessionStorage.setItem("__telegram__"+e,t),{status:!0}}},Ee=()=>!0,We=({key:e})=>{try{return{is_json:!0,value:JSON.parse(window.sessionStorage.getItem("__telegram__"+e)??""),status:!0}}catch(t){return{is_json:!1,value:window.sessionStorage.getItem("__telegram__"+e)??"",status:!0}}},Le=()=>!0,Ge=e=>Me()?(gt(Nt,e),{status:!0}):(lt(Nt,1),{status:A}),Me=()=>P(7.7,[k,R,B]),je=e=>De()?e?.text&&e?.text.length>2048?(console.warn(`[@apiteam/twa-bridge](${Ut}) | Text is too long`),{status:!1,error_id:1}):e?.widget_link?.name&&e?.widget_link.name.length>48?(console.warn(`[@apiteam/twa-bridge](${Ut}) | Link name is too long`),{status:!1,error_id:2}):(gt(Ut,e),{status:!0}):(lt(Ut,1),{status:A}),De=()=>P(7.8,[k,R,B]),Fe=async e=>new Promise(((t,s)=>{if(!He())return lt(Xt,1),void t({status:A,data:void 0});const a=e=>{e.status=e.status||"unknown",t({status:!0,data:e}),Ys(Us,a)};Xs(Us,a),gt(Xt,e)})),He=()=>P(8,[R,B]),Ne=()=>Ue()?(gt(Kt),{status:!0}):(lt(Kt,1),{status:A}),Ue=()=>P(8,[R,B]),$e=()=>Qe()?(gt($t),{status:!0}):(lt($t,1),{status:A}),Qe=()=>P(8,[k,R,B]),Je=()=>Ve()?(gt(Qt),{status:!0}):(lt(Qt,1),{status:A}),Ve=()=>P(8,[k,R,B]),ze=e=>{const t=e?.is_full||!1;return Ke()?(gt(t?Jt:Vt),{status:!0}):(lt(t?Jt:Vt,1),{status:A})},Ke=()=>P(8,[k,R,B]),Xe=e=>Ye()?(gt(zt,e),{status:!0}):(lt(zt,1),{status:A}),Ye=()=>P(8,[k,R,B]),Ze=async e=>et()?new Promise(((t,s)=>{Zs(ks,(function(e){t({status:"allowed"===e.status})})),gt(es,e)})):(lt(es,1),{status:A}),et=()=>P(8,[k,R,B]),tt=async e=>st()?new Promise(((t,s)=>{Zs(ys,(()=>t({status:!0}))),Zs(qs,(()=>t({status:!1}))),gt(Zt,e)})):(lt(Zt,1),{status:A}),st=()=>P(8,[k,R,B]),at=async e=>ot()?new Promise(((t,s)=>{Zs(Ss,(()=>t({status:!0}))),Zs(fs,(()=>t({status:!1}))),gt(Yt,e)})):(lt(Yt,1),{status:A}),ot=()=>P(8,[k,R,B]),rt=async e=>it()?new Promise(((t,s)=>{Zs(Bs,(function(e){t({status:"downloading"===e.status})})),gt(ts,e)})):(lt(ts,1),{status:A}),it=()=>P(8,[k,R,B]),[nt,dt]=g({isInited:!1,isBiometricAvailable:!1,isAccessGranted:!1,isAccessRequested:!1,isBiometricTokenSaved:!1,biometricType:"unknown",deviceId:""}),ct={isInited:nt.isInited,isBiometricAvailable:nt.isBiometricAvailable,isAccessGranted:nt.isAccessGranted,isAccessRequested:nt.isAccessRequested,isBiometricTokenSaved:nt.isBiometricTokenSaved,biometricType:nt.biometricType,deviceId:nt.deviceId,init:()=>new Promise(((r,i)=>{if(!ut())return e(w,1),void r({status:t,data:void 0});const n=e=>{_t(e),r({status:!0,data:nt}),s.off(a,n)};s.on(a,n),o(w)})),requestAccess:r=>new Promise(((i,n)=>{if(!ut())return e(h,1),void i({status:t,data:void 0});if(r.reason&&r.reason.length>128)return console.error(`[${h}] Biometric reason is too long`,r.reason),void i({status:!1,data:void 0});const d=e=>{_t(e),i({status:!0,data:nt}),s.off(a,d)};s.on(a,d),o(h,r)})),authenticate:a=>new Promise(((i,n)=>{if(!ut())return e(v,1),void i({status:t,data:void 0});if(!nt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void i({status:!1,data:void 0});if(!nt.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void i({status:!1,data:void 0});const d=e=>{i({status:!0,data:e}),s.off(r,d)};s.on(r,d),o(v,a)})),updateToken:a=>new Promise(((r,n)=>{if(!ut())return e(S,1),void r({status:t,data:void 0});if(!nt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void r({status:!1,data:void 0});if(!nt.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void r({status:!1,data:void 0});const d=e=>{r({status:!0,data:e}),s.off(i,d)};s.on(i,d),o(S,a)})),openSettings:s=>ut()?nt.isBiometricAvailable?nt.isAccessRequested?nt.isAccessGranted?(console.warn("[Telegram.WebApp] Biometric access was granted by the user, no need to go to settings."),{status:!1}):(o(f,s),{status:!0}):(console.error("[Telegram.WebApp] Biometric access was not granted by the user."),{status:!1}):(console.error("[Telegram.WebApp] Biometrics is not available on this device."),{status:!1}):(e(f,1),{status:t})},ut=()=>y(7.2,[n,d,c]),_t=e=>{dt(b((t=>(e.available?(t.isBiometricAvailable=!0,t.biometricType=e.type||"",e.access_requested?(t.isAccessRequested=!0,t.isAccessGranted=!!e.access_granted,t.isBiometricTokenSaved=!!e.token_saved):(t.isAccessRequested=!1,t.isAccessGranted=!1,t.isBiometricTokenSaved=!1)):(t.isBiometricAvailable=!1,t.biometricType="unknown",t.isAccessRequested=!1,t.isAccessGranted=!1,t.isBiometricTokenSaved=!1),t.deviceId=e.device_id||"",t.isInited=!0,t))))},pt=e=>{dt(b((t=>(t.isBiometricAvailable&&t.isAccessRequested&&("updated"===e.status?t.isBiometricTokenSaved=!0:"removed"===e.status&&(t.isBiometricTokenSaved=!1)),t))))};_((()=>{s.on(a,_t),s.on(i,pt),p((()=>{s.off(a,_t),s.off(i,pt)}))}));const lt=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)},mt=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppData");if(!t)return void lt("getInitData",2);const s=new URLSearchParams(t);let a={};return s.forEach(((e,t)=>{if(a[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{a[t]=JSON.parse(e)}catch{}})),a},gt=(e,t)=>{if(window.TelegramWebviewProxy)window.TelegramWebviewProxy.postEvent(e,JSON.stringify(t));else if(window.external&&"notify"in window.external)window.external.notify(JSON.stringify({eventType:e,eventData:t}));else try{window.parent.postMessage(JSON.stringify({eventType:e,eventData:t}),"*")}catch(e){lt("postMessage Iframe",10)}},bt="web_app_invoke_custom_method",wt="web_app_open_scan_qr_popup",ht="web_app_read_text_from_clipboard",vt="web_app_request_phone",St="web_app_close",ft="web_app_close_scan_qr_popup",yt="web_app_data_send",qt="web_app_expand",kt="iframe_ready",Bt="iframe_will_reload",Rt="web_app_open_invoice",Tt="web_app_open_link",At="web_app_open_popup",Pt="web_app_open_tg_link",It="web_app_ready",Ot="web_app_request_theme",xt="web_app_request_viewport",Ct="web_app_request_write_access",Et="web_app_set_background_color",Wt="web_app_set_header_color",Lt="web_app_set_bottom_bar_color",Gt="web_app_setup_back_button",Mt="web_app_setup_closing_behavior",jt="web_app_setup_main_button",Dt="web_app_setup_settings_button",Ft="web_app_switch_inline_query",Ht="web_app_trigger_haptic_feedback",Nt="web_app_setup_swipe_behavior",Ut="web_app_share_to_story",$t="web_app_request_safe_area",Qt="web_app_request_content_safe_area",Jt="web_app_request_fullscreen",Vt="web_app_exit_fullscreen",zt="web_app_toggle_orientation_lock",Kt="web_app_add_to_home_screen",Xt="web_app_check_home_screen",Yt="web_app_send_prepared_message",Zt="web_app_set_emoji_status",es="web_app_request_emoji_status_access",ts="web_app_request_file_download";var ss=(e=>(e[e.InvokeCustomMethod=bt]="InvokeCustomMethod",e[e.OpenScanQrPopup=wt]="OpenScanQrPopup",e[e.ReadTextFromClipboard=ht]="ReadTextFromClipboard",e[e.RequestPhone=vt]="RequestPhone",e[e.Close=St]="Close",e[e.CloseScanQrPopup=ft]="CloseScanQrPopup",e[e.DataSend=yt]="DataSend",e[e.Expand=qt]="Expand",e[e.IframeReady=kt]="IframeReady",e[e.IframeWillReload=Bt]="IframeWillReload",e[e.OpenInvoice=Rt]="OpenInvoice",e[e.OpenLink=Tt]="OpenLink",e[e.OpenPopup=At]="OpenPopup",e[e.OpenTgLink=Pt]="OpenTgLink",e[e.Ready=It]="Ready",e[e.RequestTheme=Ot]="RequestTheme",e[e.RequestViewport=xt]="RequestViewport",e[e.RequestWriteAccess=Ct]="RequestWriteAccess",e[e.SetBackgroundColor=Et]="SetBackgroundColor",e[e.SetHeaderColor=Wt]="SetHeaderColor",e[e.SetBottomBarColor=Lt]="SetBottomBarColor",e[e.SetupBackButton=Gt]="SetupBackButton",e[e.SetupClosingBehavior=Mt]="SetupClosingBehavior",e[e.SetupMainButton=jt]="SetupMainButton",e[e.SetupSettingsButton=Dt]="SetupSettingsButton",e[e.SwitchInlineQuery=Ft]="SwitchInlineQuery",e[e.TriggerHapticFeedback=Ht]="TriggerHapticFeedback",e[e.SetupSwipeBehavior=Nt]="SetupSwipeBehavior",e[e.ShareToStory=Ut]="ShareToStory",e[e.RequestSafeArea=$t]="RequestSafeArea",e[e.RequestContentSafeArea=Qt]="RequestContentSafeArea",e[e.RequestFullscreen=Jt]="RequestFullscreen",e[e.ExitFullscreen=Vt]="ExitFullscreen",e[e.ToggleOrientationLock=zt]="ToggleOrientationLock",e[e.AddToHomeScreen=Kt]="AddToHomeScreen",e[e.CheckHomeScreen=Xt]="CheckHomeScreen",e[e.SendPreparedMessage=Yt]="SendPreparedMessage",e[e.SetEmojiStatus=Zt]="SetEmojiStatus",e[e.RequestEmojiStatusAccess=es]="RequestEmojiStatusAccess",e[e.RequestFileDownload=ts]="RequestFileDownload",e))(ss||{});const as="back_button_pressed",os="clipboard_text_received",rs="custom_method_invoked",is="invoice_closed",ns="main_button_pressed",ds="phone_requested",cs="popup_closed",us="reload_iframe",_s="qr_text_received",ps="scan_qr_popup_closed",ls="set_custom_style",ms="settings_button_pressed",gs="theme_changed",bs="viewport_changed",ws="write_access_requested",hs="safe_area_changed",vs="content_safe_area_changed",Ss="prepared_message_sent",fs="prepared_message_failed",ys="emoji_status_set",qs="emoji_status_failed",ks="emoji_status_access_requested",Bs="file_download_requested",Rs="accelerometer_changed",Ts="accelerometer_failed",As="accelerometer_started",Ps="accelerometer_stopped",Is="biometry_auth_requested",Os="biometry_info_received",xs="biometry_token_updated",Cs="device_orientation_changed",Es="device_orientation_failed",Ws="device_orientation_started",Ls="device_orientation_stopped",Gs="fullscreen_changed",Ms="fullscreen_failed",js="gyroscope_changed",Ds="gyroscope_failed",Fs="gyroscope_started",Hs="gyroscope_stopped",Ns="home_screen_added",Us="home_screen_checked",$s="home_screen_failed",Qs="location_checked",Js="location_requested",Vs="secondary_button_pressed",zs="visibility_changed",Ks=((e=new Map)=>({once:(t,s,a=e.get(t),o=e=>{s(e),a&&a.splice(a.indexOf(s)>>>0,1)})=>a?a.push(o):e.set(t,[o]),on:(t,s,a=e.get(t))=>a?a.push(s):e.set(t,[s]),off:(t,s,a=e.get(t))=>a&&s?a.splice(a.indexOf(s)>>>0,1):e.set(t,[]),emit:(t,s,a=e.get(t)||[])=>{for(const e of a)e(s)}}))();(()=>{function e(e,t){e===gs&&(t.theme_params=x(t.theme_params)),Ks.emit(e,t),Ks.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const Xs=(e,t)=>{Ks.on(e,t)},Ys=(e,t)=>{Ks.off(e,t)},Zs=(e,t)=>{Ks.once(e,t)};var ea=Object.freeze({__proto__:null,off:Ys,on:Xs,once:Zs});const ta=()=>{const e=window.location.hash.slice(1);return new URLSearchParams(e).get("tgWebAppData")},sa=l({viewport:void 0,theme:void 0,init:void 0}),aa=e=>{const[t,s]=g({viewport:void 0,theme:void 0,init:void 0});return m((()=>{const e=()=>{s("init",mt())};e();const t=t=>{e(),s("viewport",t)};Xs(bs,t),_e();const a=t=>{e(),s("theme",t)};return Xs(gs,a),_e(),p((()=>{Ys(bs,t),Ys(gs,a)})),()=>{Ys(bs,t),Ys(gs,a)}})),sa.Provider({value:t,children:e.children})};export{ct as BiometricManager,sa as ContextTwa,Rs as EventAccelerometerChanged,Ts as EventAccelerometerFailed,As as EventAccelerometerStarted,Ps as EventAccelerometerStopped,as as EventBackButtonPressed,Is as EventBiometryAuthRequested,Os as EventBiometryInfoReceived,xs as EventBiometryTokenUpdated,os as EventClipboardTextReceived,vs as EventContentSafeAreaChanged,rs as EventCustomMethodInvoked,Cs as EventDeviceOrientationChanged,Es as EventDeviceOrientationFailed,Ws as EventDeviceOrientationStarted,Ls as EventDeviceOrientationStopped,ks as EventEmojiStatusAccessRequested,qs as EventEmojiStatusFailed,ys as EventEmojiStatusSet,Bs as EventFileDownloadRequested,Gs as EventFullscreenChanged,Ms as EventFullscreenFailed,js as EventGyroscopeChanged,Ds as EventGyroscopeFailed,Fs as EventGyroscopeStarted,Hs as EventGyroscopeStopped,Ns as EventHomeScreenAdded,Us as EventHomeScreenChecked,$s as EventHomeScreenFailed,is as EventInvoiceClosed,Qs as EventLocationChecked,Js as EventLocationRequested,ns as EventMainButtonPressed,ds as EventPhoneRequested,cs as EventPopupClosed,fs as EventPreparedMessageFailed,Ss as EventPreparedMessageSent,_s as EventQrTextReceived,us as EventReloadIframe,hs as EventSafeAreaChanged,ps as EventScanQrPopupClosed,Vs as EventSecondaryButtonPressed,ls as EventSetCustomStyle,ms as EventSettingsButtonPressed,gs as EventThemeChanged,bs as EventViewportChanged,zs as EventVisibilityChanged,ws as EventWriteAccessRequested,ss as Method,Kt as MethodAddToHomeScreen,Xt as MethodCheckHomeScreen,St as MethodClose,ft as MethodCloseScanQrPopup,yt as MethodDataSend,Vt as MethodExitFullscreen,qt as MethodExpand,kt as MethodIframeReady,Bt as MethodIframeWillReload,bt as MethodInvokeCustomMethod,Rt as MethodOpenInvoice,Tt as MethodOpenLink,At as MethodOpenPopup,wt as MethodOpenScanQrPopup,Pt as MethodOpenTgLink,ht as MethodReadTextFromClipboard,It as MethodReady,Qt as MethodRequestContentSafeArea,es as MethodRequestEmojiStatusAccess,ts as MethodRequestFileDownload,Jt as MethodRequestFullscreen,vt as MethodRequestPhone,$t as MethodRequestSafeArea,Ot as MethodRequestTheme,xt as MethodRequestViewport,Ct as MethodRequestWriteAccess,Yt as MethodSendPreparedMessage,Et as MethodSetBackgroundColor,Lt as MethodSetBottomBarColor,Zt as MethodSetEmojiStatus,Wt as MethodSetHeaderColor,Gt as MethodSetupBackButton,Mt as MethodSetupClosingBehavior,jt as MethodSetupMainButton,Dt as MethodSetupSettingsButton,Nt as MethodSetupSwipeBehavior,Ut as MethodShareToStory,Ft as MethodSwitchInlineQuery,zt as MethodToggleOrientationLock,Ht as MethodTriggerHapticFeedback,A as NOT_SUPPORTED,aa as ProviderTWA,R as TG_DESKTOP,B as TG_PHONE,k as TG_WEB,Ne as bridgeAddToHomeScreen,Fe as bridgeCheckHomeScreen,C as bridgeClose,W as bridgeCloseScanQrPopup,G as bridgeDataSend,rt as bridgeDownloadFile,j as bridgeExpand,mt as bridgeGetInitData,x as bridgeGetThemeParams,F as bridgeIframeReady,N as bridgeIframeWillReload,$ as bridgeInvokeCustomMethod,J as bridgeOpenInvoice,z as bridgeOpenLink,X as bridgeOpenPopup,Z as bridgeOpenScanQrPopup,te as bridgeOpenTgLink,ae as bridgeReadTextFromClipboard,re as bridgeReady,Je as bridgeRequestContentSafeAreaInset,Ze as bridgeRequestEmojiStatus,ne as bridgeRequestPhone,$e as bridgeRequestSafeAreaInset,ce as bridgeRequestTheme,_e as bridgeRequestViewport,le as bridgeRequestWriteAccess,gt as bridgeSend,We as bridgeSessionStorageGet,Ce as bridgeSessionStorageSet,ge as bridgeSetBackgroundColor,ve as bridgeSetBottomBarColor,tt as bridgeSetEmojiStatus,we as bridgeSetHeaderColor,fe as bridgeSetupBackButton,qe as bridgeSetupClosingBehavior,ze as bridgeSetupFullScreen,Be as bridgeSetupMainButton,Xe as bridgeSetupOrientation,Te as bridgeSetupSettingsButton,Ge as bridgeSetupSwipeBehavior,at as bridgeShareMessage,je as bridgeShareToStory,Pe as bridgeSwitchInlineQuery,Oe as bridgeTriggerHapticFeedback,q as createIsViewportChanged,lt as debug,ta as getAppData,T as getPlatform,ea as listener,gt as sender,Ue as supportAddToHomeScreen,ut as supportBiometricManager,He as supportCheckHomeScreen,E as supportClose,L as supportCloseScanQrPopup,M as supportDataSend,it as supportDownloadFile,D as supportExpand,H as supportIframeReady,U as supportIframeWillReload,Q as supportInvokeCustomMethod,V as supportOpenInvoice,K as supportOpenLink,Y as supportOpenPopup,ee as supportOpenScanQrPopup,se as supportOpenTgLink,oe as supportReadTextFromClipboard,ie as supportReady,Ve as supportRequestContentSafeAreaInset,et as supportRequestEmojiStatus,de as supportRequestPhone,Qe as supportRequestSafeAreaInset,ue as supportRequestTheme,pe as supportRequestViewport,me as supportRequestWriteAccess,Le as supportSessionStorageGet,Ee as supportSessionStorageSet,be as supportSetBackgroundColor,Se as supportSetBottomBarColor,st as supportSetEmojiStatus,he as supportSetHeaderColor,ye as supportSetupBackButton,ke as supportSetupClosingBehavior,Ke as supportSetupFullScreen,Re as supportSetupMainButton,Ye as supportSetupOrientation,Ae as supportSetupSettingsButton,Me as supportSetupSwipeBehavior,ot as supportShareMessage,De as supportShareToStory,Ie as supportSwitchInlineQuery,xe as supportTriggerHapticFeedback};
|
|
1
|
+
import{createSignal as e,onMount as t,onCleanup as s,createContext as a,createEffect as o}from"solid-js";import{createStore as r,produce as i}from"solid-js/store";const n=()=>{const[a,o]=e({height:0,is_expanded:!1,is_state_stable:!1}),r=e=>o(e);return t((()=>{Ds(rs,r),Qt(nt)})),s((()=>{Ms(rs,r)})),a},c="web",d="phone",u="desktop",_=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(t)?d:["tdesktop","macos"].includes(t)?u:c},p="not_supported",l=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s?.replace(".",""))>=Number(String(e)?.replace(".",""))&&-1!==t.indexOf(_())},g=()=>Math.random().toString(36).substring(3,9),m=e=>{var t;if(t=/^\s*#([0-9a-f]{6})\s*$/i.exec(e+=""))return"#"+t[1].toLowerCase();if(t=/^\s*#([0-9a-f])([0-9a-f])([0-9a-f])\s*$/i.exec(e))return("#"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]).toLowerCase();if(t=/^\s*rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)\s*$/.exec(e)){var s=parseInt(t[1]),a=parseInt(t[2]),o=parseInt(t[3]);return"#"+((s<16?"0":"")+s.toString(16))+((a<16?"0":"")+a.toString(16))+((o<16?"0":"")+o.toString(16))}return!1},b=e=>{const t=window.location.hash.slice(1),s=new URLSearchParams(t),a=JSON.parse(s.get("tgWebAppThemeParams")??""),o=e||a;for(var r of Object.keys(o)){var i=m(o[r]);"string"==typeof i&&(o[r]=i)}return"#1c1c1d"==o?.bg_color&&o?.bg_color==o?.secondary_bg_color&&(o.secondary_bg_color="#2c2c2e"),o},w=e=>v()?(Qt(ze,e),{status:!0}):(Nt(ze,1),{status:p}),v=()=>l(0,[c,u,d]),h=e=>S()?(Qt(Ke,e),{status:!0}):(Nt(Ke,1),{status:p}),S=()=>l(6.4,[d]),f=e=>y()?(Qt(Xe,e),{status:!0}):(Nt(Xe,1),{status:p}),y=()=>l(0,[c,u,d]),q=e=>k()?(Qt(Ye,e),{status:!0}):(Nt(Ye,1),{status:p}),k=()=>l(0,[d]),R=e=>A()?(Qt(Ze,e),{status:!0}):(Nt(Ze,1),{status:p}),A=()=>l(0,[c]),B=()=>T()?(Qt(Ze),{status:!0}):(Nt(Ze,1),{status:p}),T=()=>l(0,[c]),P=async e=>I()?(void 0===e.req_id&&(e.req_id=g()),Qt(Qe,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Ms(Vt,a))};Ds(Vt,a)}))):(Nt(Qe,1),{status:p}),I=()=>l(6.9,[c,u,d]),x=e=>C()?(Qt(tt,e),{status:!0}):(Nt(tt,1),{status:p}),C=()=>l(6.1,[c,u,d]),O=e=>W()?(Qt(st,e),{status:!0}):(Nt(st,1),{status:p}),W=()=>l(6.4,[c,u,d]),L=async e=>E()?(e.title.length>64&&Nt(at,3),e.message.length<1&&Nt(at,4),e.message.length>256&&Nt(at,5),e.buttons.length<1&&Nt(at,6),e.buttons.length>3&&Nt(at,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&Nt(at,8),Qt(at,e),new Promise(((t,s)=>{const a=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),Ms(Yt,a)};Ds(Yt,a)}))):(Nt(at,1),{status:p}),E=()=>l(6.2,[c,u,d]),j=async e=>F()?(Qt(Ue,e),new Promise(((t,s)=>{Hs(es,(s=>{e.is_close&&h(),t({status:!0,data:s})})),Hs(ts,(()=>{t({status:"closed"})}))}))):(Nt(Ue,1),{status:p}),F=()=>l(6.4,[d]),G=e=>{const t=function(e){try{return new URL(e)}catch(t){try{return new URL(e,"https://t.me")}catch(t){return e.startsWith("/")||(e="/"+e),new URL(e,"https://t.me")}}}(e.path_full);return e.path_full=t.pathname=t.search,D()?(Qt(ot,e),{status:!0}):(Nt(ot,1),{status:p})},D=()=>l(7,[c,u,d]);const M=async e=>H()?(e||(e={req_id:void 0}),void 0===e.req_id&&(e.req_id=g()),Qt(Je,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e?.req_id&&(t({status:!0,data:s}),Ms(Jt,a))};Ds(Jt,a)}))):(Nt(Je,1),{status:p}),H=()=>l(6.4,[c,u,d]),N=e=>$()?(Qt(rt,e),{status:!0}):(Nt(rt,1),{status:p}),$=()=>l(6.9,[c,u,d]),Q=async()=>U()?(Qt(Ve),new Promise(((e,t)=>{Hs(Xt,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(Nt(Ve,1),{status:p}),U=()=>l(6.9,[c,u,d]),J=e=>V()?(Qt(it,e),{status:!0}):(Nt(it,1),{status:p}),V=()=>l(0,[c,u,d]),z=e=>K()?(Qt(nt,e),{status:!0}):(Nt(nt,1),{status:p}),K=()=>l(0,[c,u,d]),X=()=>new Promise(((e,t)=>{if(!Y())return Nt(ct,1),void e({status:p});const s=t=>{e({status:"allowed"===t.status}),Ms(is,s)};Ds(is,s),Qt(ct)})),Y=()=>l(6.9,[c,u,d]),Z=e=>ee()?(Qt(dt,e),{status:!0}):(Nt(dt,1),{status:p}),ee=()=>l(6.1,[c,u,d]),te=e=>se()?(Qt(ut,e),{status:!0}):(Nt(ut,1),{status:p}),se=()=>l(6.1,[c,u,d]),ae=e=>oe()?(Qt(_t,{color:e?.color||e?.color_key}),{status:!0}):(Nt(_t,1),{status:p}),oe=()=>l(7.1,[c,u,d]),re=e=>ie()?(Qt(pt,e),{status:!0}):(Nt(pt,1),{status:p}),ie=()=>l(6.1,[c,u,d]),ne=e=>ce()?(Qt(lt,e),{status:!0}):(Nt(lt,1),{status:p}),ce=()=>l(6.2,[c,u,d]),de=e=>ue()?(Qt(gt,e),{status:!0}):(Nt(gt,1),{status:p}),ue=()=>l(0,[c,u,d]),_e=e=>pe()?(Qt(mt,e),{status:!0}):(Nt(mt,1),{status:p}),pe=()=>l(6.1,[c,u,d]),le=e=>ge()?(e.query.length>256&&Nt(bt,9),Qt(bt,e),{status:!0}):(Nt(bt,1),{status:p}),ge=()=>l(6.7,[c,u,d]),me=e=>be()?(Qt(wt,e),{status:!0}):(Nt(wt,1),{status:p}),be=()=>l(6.1,[d]),we=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(s){return window.sessionStorage.setItem("__telegram__"+e,t),{status:!0}}},ve=()=>!0,he=({key:e})=>{try{return{is_json:!0,value:JSON.parse(window.sessionStorage.getItem("__telegram__"+e)??""),status:!0}}catch(t){return{is_json:!1,value:window.sessionStorage.getItem("__telegram__"+e)??"",status:!0}}},Se=()=>!0,fe=e=>ye()?(Qt(vt,e),{status:!0}):(Nt(vt,1),{status:p}),ye=()=>l(7.7,[c,u,d]),qe=e=>ke()?e?.text&&e?.text.length>2048?(console.warn(`[@apiteam/twa-bridge](${ht}) | Text is too long`),{status:!1,error_id:1}):e?.widget_link?.name&&e?.widget_link.name.length>48?(console.warn(`[@apiteam/twa-bridge](${ht}) | Link name is too long`),{status:!1,error_id:2}):(Qt(ht,e),{status:!0}):(Nt(ht,1),{status:p}),ke=()=>l(7.8,[c,u,d]),Re=async e=>new Promise(((t,s)=>{if(!Ae())return Nt(At,1),void t({status:p,data:void 0});const a=e=>{e.status=e.status||"unknown",t({status:!0,data:e}),Ms(Os,a)};Ds(Os,a),Qt(At,e)})),Ae=()=>l(8,[u,d]),Be=()=>Te()?(Qt(Rt),{status:!0}):(Nt(Rt,1),{status:p}),Te=()=>l(8,[u,d]),Pe=()=>Ie()?(Qt(St),{status:!0}):(Nt(St,1),{status:p}),Ie=()=>l(8,[c,u,d]),xe=()=>Ce()?(Qt(ft),{status:!0}):(Nt(ft,1),{status:p}),Ce=()=>l(8,[c,u,d]),Oe=e=>{const t=e?.is_full||!1;return We()?(Qt(t?yt:qt),{status:!0}):(Nt(t?yt:qt,1),{status:p})},We=()=>l(8,[c,u,d]),Le=e=>Ee()?(Qt(kt,e),{status:!0}):(Nt(kt,1),{status:p}),Ee=()=>l(8,[c,u,d]),je=async e=>Fe()?new Promise(((t,s)=>{Hs(ls,(function(e){t({status:"allowed"===e.status})})),Qt(Pt,e)})):(Nt(Pt,1),{status:p}),Fe=()=>l(8,[c,u,d]),Ge=async e=>De()?new Promise(((t,s)=>{Hs(_s,(()=>t({status:!0}))),Hs(ps,(()=>t({status:!1}))),Qt(Tt,e)})):(Nt(Tt,1),{status:p}),De=()=>l(8,[c,u,d]),Me=async e=>He()?new Promise(((t,s)=>{Hs(ds,(()=>t({status:!0}))),Hs(us,(()=>t({status:!1}))),Qt(Bt,e)})):(Nt(Bt,1),{status:p}),He=()=>l(8,[c,u,d]),Ne=async e=>$e()?new Promise(((t,s)=>{Hs(gs,(function(e){t({status:"downloading"===e.status})})),Qt(It,e)})):(Nt(It,1),{status:p}),$e=()=>l(8,[c,u,d]),Qe="web_app_invoke_custom_method",Ue="web_app_open_scan_qr_popup",Je="web_app_read_text_from_clipboard",Ve="web_app_request_phone",ze="web_app_close",Ke="web_app_close_scan_qr_popup",Xe="web_app_data_send",Ye="web_app_expand",Ze="iframe_ready",et="iframe_will_reload",tt="web_app_open_invoice",st="web_app_open_link",at="web_app_open_popup",ot="web_app_open_tg_link",rt="web_app_ready",it="web_app_request_theme",nt="web_app_request_viewport",ct="web_app_request_write_access",dt="web_app_set_background_color",ut="web_app_set_header_color",_t="web_app_set_bottom_bar_color",pt="web_app_setup_back_button",lt="web_app_setup_closing_behavior",gt="web_app_setup_main_button",mt="web_app_setup_settings_button",bt="web_app_switch_inline_query",wt="web_app_trigger_haptic_feedback",vt="web_app_setup_swipe_behavior",ht="web_app_share_to_story",St="web_app_request_safe_area",ft="web_app_request_content_safe_area",yt="web_app_request_fullscreen",qt="web_app_exit_fullscreen",kt="web_app_toggle_orientation_lock",Rt="web_app_add_to_home_screen",At="web_app_check_home_screen",Bt="web_app_send_prepared_message",Tt="web_app_set_emoji_status",Pt="web_app_request_emoji_status_access",It="web_app_request_file_download",xt="web_app_biometry_get_info",Ct="web_app_biometry_open_settings",Ot="web_app_biometry_request_access",Wt="web_app_biometry_request_auth",Lt="web_app_biometry_update_token";var Et=(e=>(e[e.InvokeCustomMethod=Qe]="InvokeCustomMethod",e[e.OpenScanQrPopup=Ue]="OpenScanQrPopup",e[e.ReadTextFromClipboard=Je]="ReadTextFromClipboard",e[e.RequestPhone=Ve]="RequestPhone",e[e.Close=ze]="Close",e[e.CloseScanQrPopup=Ke]="CloseScanQrPopup",e[e.DataSend=Xe]="DataSend",e[e.Expand=Ye]="Expand",e[e.IframeReady=Ze]="IframeReady",e[e.IframeWillReload=et]="IframeWillReload",e[e.OpenInvoice=tt]="OpenInvoice",e[e.OpenLink=st]="OpenLink",e[e.OpenPopup=at]="OpenPopup",e[e.OpenTgLink=ot]="OpenTgLink",e[e.Ready=rt]="Ready",e[e.RequestTheme=it]="RequestTheme",e[e.RequestViewport=nt]="RequestViewport",e[e.RequestWriteAccess=ct]="RequestWriteAccess",e[e.SetBackgroundColor=dt]="SetBackgroundColor",e[e.SetHeaderColor=ut]="SetHeaderColor",e[e.SetBottomBarColor=_t]="SetBottomBarColor",e[e.SetupBackButton=pt]="SetupBackButton",e[e.SetupClosingBehavior=lt]="SetupClosingBehavior",e[e.SetupMainButton=gt]="SetupMainButton",e[e.SetupSettingsButton=mt]="SetupSettingsButton",e[e.SwitchInlineQuery=bt]="SwitchInlineQuery",e[e.TriggerHapticFeedback=wt]="TriggerHapticFeedback",e[e.SetupSwipeBehavior=vt]="SetupSwipeBehavior",e[e.ShareToStory=ht]="ShareToStory",e[e.RequestSafeArea=St]="RequestSafeArea",e[e.RequestContentSafeArea=ft]="RequestContentSafeArea",e[e.RequestFullscreen=yt]="RequestFullscreen",e[e.ExitFullscreen=qt]="ExitFullscreen",e[e.ToggleOrientationLock=kt]="ToggleOrientationLock",e[e.AddToHomeScreen=Rt]="AddToHomeScreen",e[e.CheckHomeScreen=At]="CheckHomeScreen",e[e.SendPreparedMessage=Bt]="SendPreparedMessage",e[e.SetEmojiStatus=Tt]="SetEmojiStatus",e[e.RequestEmojiStatusAccess=Pt]="RequestEmojiStatusAccess",e[e.RequestFileDownload=It]="RequestFileDownload",e))(Et||{});const[jt,Ft]=r({isInited:!1,isBiometricAvailable:!1,isAccessGranted:!1,isAccessRequested:!1,isBiometricTokenSaved:!1,biometricType:"unknown",deviceId:""}),Gt={isInited:jt.isInited,isBiometricAvailable:jt.isBiometricAvailable,isAccessGranted:jt.isAccessGranted,isAccessRequested:jt.isAccessRequested,isBiometricTokenSaved:jt.isBiometricTokenSaved,biometricType:jt.biometricType,deviceId:jt.deviceId,init:()=>new Promise(((e,t)=>{if(!Dt())return Nt(xt,1),void e({status:p,data:void 0});const s=t=>{Mt(t),e({status:!0,data:jt}),Ms(Ss,s)};Ds(Ss,s),Qt(xt)})),requestAccess:e=>new Promise(((t,s)=>{if(!Dt())return Nt(Ot,1),void t({status:p,data:void 0});if(e.reason&&e.reason.length>128)return console.error(`[${Ot}] Biometric reason is too long`,e.reason),void t({status:!1,data:void 0});const a=e=>{Mt(e),t({status:!0,data:jt}),Ms(Ss,a)};Ds(Ss,a),Qt(Ot,e)})),authenticate:e=>new Promise(((t,s)=>{if(!Dt())return Nt(Wt,1),void t({status:p,data:void 0});if(!jt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void t({status:!1,data:void 0});if(!jt.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void t({status:!1,data:void 0});const a=e=>{t({status:!0,data:e}),Ms(hs,a)};Ds(hs,a),Qt(Wt,e)})),updateToken:e=>new Promise(((t,s)=>{if(!Dt())return Nt(Lt,1),void t({status:p,data:void 0});if(!jt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void t({status:!1,data:void 0});if(!jt.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void t({status:!1,data:void 0});const a=e=>{t({status:!0,data:e}),Ms(fs,a)};Ds(fs,a),Qt(Lt,e)})),openSettings:e=>Dt()?jt.isBiometricAvailable?jt.isAccessRequested?jt.isAccessGranted?(console.warn("[Telegram.WebApp] Biometric access was granted by the user, no need to go to settings."),{status:!1}):(Qt(Ct,e),{status:!0}):(console.error("[Telegram.WebApp] Biometric access was not granted by the user."),{status:!1}):(console.error("[Telegram.WebApp] Biometrics is not available on this device."),{status:!1}):(Nt(Ct,1),{status:p})},Dt=()=>l(7.2,[u,d,c]),Mt=e=>{Ft(i((t=>(e.available?(t.isBiometricAvailable=!0,t.biometricType=e.type||"",e.access_requested?(t.isAccessRequested=!0,t.isAccessGranted=!!e.access_granted,t.isBiometricTokenSaved=!!e.token_saved):(t.isAccessRequested=!1,t.isAccessGranted=!1,t.isBiometricTokenSaved=!1)):(t.isBiometricAvailable=!1,t.biometricType="unknown",t.isAccessRequested=!1,t.isAccessGranted=!1,t.isBiometricTokenSaved=!1),t.deviceId=e.device_id||"",t.isInited=!0,t))))},Ht=e=>{Ft(i((t=>(t.isBiometricAvailable&&t.isAccessRequested&&("updated"===e.status?t.isBiometricTokenSaved=!0:"removed"===e.status&&(t.isBiometricTokenSaved=!1)),t))))};t((()=>{Ds(Ss,Mt),Ds(fs,Ht),s((()=>{Ms(Ss,Mt),Ms(fs,Ht)}))}));const Nt=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)},$t=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppData");if(!t)return void Nt("getInitData",2);const s=new URLSearchParams(t);let a={};return s.forEach(((e,t)=>{if(a[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{a[t]=JSON.parse(e)}catch{}})),a},Qt=(e,t)=>{if(window.TelegramWebviewProxy)window.TelegramWebviewProxy.postEvent(e,JSON.stringify(t));else if(window.external&&"notify"in window.external)window.external.notify(JSON.stringify({eventType:e,eventData:t}));else try{window.parent.postMessage(JSON.stringify({eventType:e,eventData:t}),"*")}catch(e){Nt("postMessage Iframe",10)}},Ut="back_button_pressed",Jt="clipboard_text_received",Vt="custom_method_invoked",zt="invoice_closed",Kt="main_button_pressed",Xt="phone_requested",Yt="popup_closed",Zt="reload_iframe",es="qr_text_received",ts="scan_qr_popup_closed",ss="set_custom_style",as="settings_button_pressed",os="theme_changed",rs="viewport_changed",is="write_access_requested",ns="safe_area_changed",cs="content_safe_area_changed",ds="prepared_message_sent",us="prepared_message_failed",_s="emoji_status_set",ps="emoji_status_failed",ls="emoji_status_access_requested",gs="file_download_requested",ms="accelerometer_changed",bs="accelerometer_failed",ws="accelerometer_started",vs="accelerometer_stopped",hs="biometry_auth_requested",Ss="biometry_info_received",fs="biometry_token_updated",ys="device_orientation_changed",qs="device_orientation_failed",ks="device_orientation_started",Rs="device_orientation_stopped",As="fullscreen_changed",Bs="fullscreen_failed",Ts="gyroscope_changed",Ps="gyroscope_failed",Is="gyroscope_started",xs="gyroscope_stopped",Cs="home_screen_added",Os="home_screen_checked",Ws="home_screen_failed",Ls="location_checked",Es="location_requested",js="secondary_button_pressed",Fs="visibility_changed",Gs=((e=new Map)=>({once:(t,s,a=e.get(t),o=e=>{s(e),a&&a.splice(a.indexOf(s)>>>0,1)})=>a?a.push(o):e.set(t,[o]),on:(t,s,a=e.get(t))=>a?a.push(s):e.set(t,[s]),off:(t,s,a=e.get(t))=>a&&s?a.splice(a.indexOf(s)>>>0,1):e.set(t,[]),emit:(t,s,a=e.get(t)||[])=>{for(const e of a)e(s)}}))();(()=>{function e(e,t){e===os&&(t.theme_params=b(t.theme_params)),Gs.emit(e,t),Gs.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const Ds=(e,t)=>{Gs.on(e,t)},Ms=(e,t)=>{Gs.off(e,t)},Hs=(e,t)=>{Gs.once(e,t)};var Ns=Object.freeze({__proto__:null,off:Ms,on:Ds,once:Hs});const $s=()=>{const e=window.location.hash.slice(1);return new URLSearchParams(e).get("tgWebAppData")},Qs=a({viewport:void 0,theme:void 0,init:void 0}),Us=e=>{const[t,a]=r({viewport:void 0,theme:void 0,init:void 0});return o((()=>{const e=()=>{a("init",$t())};e();const t=t=>{e(),a("viewport",t)};Ds(rs,t),z();const o=t=>{e(),a("theme",t)};return Ds(os,o),z(),s((()=>{Ms(rs,t),Ms(os,o)})),()=>{Ms(rs,t),Ms(os,o)}})),Qs.Provider({value:t,children:e.children})};export{Gt as BiometricManager,Qs as ContextTwa,ms as EventAccelerometerChanged,bs as EventAccelerometerFailed,ws as EventAccelerometerStarted,vs as EventAccelerometerStopped,Ut as EventBackButtonPressed,hs as EventBiometryAuthRequested,Ss as EventBiometryInfoReceived,fs as EventBiometryTokenUpdated,Jt as EventClipboardTextReceived,cs as EventContentSafeAreaChanged,Vt as EventCustomMethodInvoked,ys as EventDeviceOrientationChanged,qs as EventDeviceOrientationFailed,ks as EventDeviceOrientationStarted,Rs as EventDeviceOrientationStopped,ls as EventEmojiStatusAccessRequested,ps as EventEmojiStatusFailed,_s as EventEmojiStatusSet,gs as EventFileDownloadRequested,As as EventFullscreenChanged,Bs as EventFullscreenFailed,Ts as EventGyroscopeChanged,Ps as EventGyroscopeFailed,Is as EventGyroscopeStarted,xs as EventGyroscopeStopped,Cs as EventHomeScreenAdded,Os as EventHomeScreenChecked,Ws as EventHomeScreenFailed,zt as EventInvoiceClosed,Ls as EventLocationChecked,Es as EventLocationRequested,Kt as EventMainButtonPressed,Xt as EventPhoneRequested,Yt as EventPopupClosed,us as EventPreparedMessageFailed,ds as EventPreparedMessageSent,es as EventQrTextReceived,Zt as EventReloadIframe,ns as EventSafeAreaChanged,ts as EventScanQrPopupClosed,js as EventSecondaryButtonPressed,ss as EventSetCustomStyle,as as EventSettingsButtonPressed,os as EventThemeChanged,rs as EventViewportChanged,Fs as EventVisibilityChanged,is as EventWriteAccessRequested,Et as Method,Rt as MethodAddToHomeScreen,At as MethodCheckHomeScreen,ze as MethodClose,Ke as MethodCloseScanQrPopup,Xe as MethodDataSend,qt as MethodExitFullscreen,Ye as MethodExpand,Ze as MethodIframeReady,et as MethodIframeWillReload,Qe as MethodInvokeCustomMethod,tt as MethodOpenInvoice,st as MethodOpenLink,at as MethodOpenPopup,Ue as MethodOpenScanQrPopup,ot as MethodOpenTgLink,Je as MethodReadTextFromClipboard,rt as MethodReady,ft as MethodRequestContentSafeArea,Pt as MethodRequestEmojiStatusAccess,It as MethodRequestFileDownload,yt as MethodRequestFullscreen,Ve as MethodRequestPhone,St as MethodRequestSafeArea,it as MethodRequestTheme,nt as MethodRequestViewport,ct as MethodRequestWriteAccess,Bt as MethodSendPreparedMessage,dt as MethodSetBackgroundColor,_t as MethodSetBottomBarColor,Tt as MethodSetEmojiStatus,ut as MethodSetHeaderColor,pt as MethodSetupBackButton,lt as MethodSetupClosingBehavior,gt as MethodSetupMainButton,mt as MethodSetupSettingsButton,vt as MethodSetupSwipeBehavior,ht as MethodShareToStory,bt as MethodSwitchInlineQuery,kt as MethodToggleOrientationLock,wt as MethodTriggerHapticFeedback,p as NOT_SUPPORTED,Us as ProviderTWA,u as TG_DESKTOP,d as TG_PHONE,c as TG_WEB,Be as bridgeAddToHomeScreen,Re as bridgeCheckHomeScreen,w as bridgeClose,h as bridgeCloseScanQrPopup,f as bridgeDataSend,Ne as bridgeDownloadFile,q as bridgeExpand,$t as bridgeGetInitData,b as bridgeGetThemeParams,R as bridgeIframeReady,B as bridgeIframeWillReload,P as bridgeInvokeCustomMethod,x as bridgeOpenInvoice,O as bridgeOpenLink,L as bridgeOpenPopup,j as bridgeOpenScanQrPopup,G as bridgeOpenTgLink,M as bridgeReadTextFromClipboard,N as bridgeReady,xe as bridgeRequestContentSafeAreaInset,je as bridgeRequestEmojiStatus,Q as bridgeRequestPhone,Pe as bridgeRequestSafeAreaInset,J as bridgeRequestTheme,z as bridgeRequestViewport,X as bridgeRequestWriteAccess,Qt as bridgeSend,he as bridgeSessionStorageGet,we as bridgeSessionStorageSet,Z as bridgeSetBackgroundColor,ae as bridgeSetBottomBarColor,Ge as bridgeSetEmojiStatus,te as bridgeSetHeaderColor,re as bridgeSetupBackButton,ne as bridgeSetupClosingBehavior,Oe as bridgeSetupFullScreen,de as bridgeSetupMainButton,Le as bridgeSetupOrientation,_e as bridgeSetupSettingsButton,fe as bridgeSetupSwipeBehavior,Me as bridgeShareMessage,qe as bridgeShareToStory,le as bridgeSwitchInlineQuery,me as bridgeTriggerHapticFeedback,n as createIsViewportChanged,Nt as debug,$s as getAppData,_ as getPlatform,Ns as listener,Qt as sender,Te as supportAddToHomeScreen,Dt as supportBiometricManager,Ae as supportCheckHomeScreen,v as supportClose,S as supportCloseScanQrPopup,y as supportDataSend,$e as supportDownloadFile,k as supportExpand,A as supportIframeReady,T as supportIframeWillReload,I as supportInvokeCustomMethod,C as supportOpenInvoice,W as supportOpenLink,E as supportOpenPopup,F as supportOpenScanQrPopup,D as supportOpenTgLink,H as supportReadTextFromClipboard,$ as supportReady,Ce as supportRequestContentSafeAreaInset,Fe as supportRequestEmojiStatus,U as supportRequestPhone,Ie as supportRequestSafeAreaInset,V as supportRequestTheme,K as supportRequestViewport,Y as supportRequestWriteAccess,Se as supportSessionStorageGet,ve as supportSessionStorageSet,ee as supportSetBackgroundColor,oe as supportSetBottomBarColor,De as supportSetEmojiStatus,se as supportSetHeaderColor,ie as supportSetupBackButton,ce as supportSetupClosingBehavior,We as supportSetupFullScreen,ue as supportSetupMainButton,Ee as supportSetupOrientation,pe as supportSetupSettingsButton,ye as supportSetupSwipeBehavior,He as supportShareMessage,ke as supportShareToStory,ge as supportSwitchInlineQuery,be as supportTriggerHapticFeedback};
|