@apiteam/twa-bridge 8.0.6 → 8.0.7
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 +237 -238
- 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,6 @@
|
|
|
1
1
|
import * as solid_js from 'solid-js';
|
|
2
2
|
import { Context, JSX, Component } from 'solid-js';
|
|
3
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
4
|
|
|
6
5
|
declare const createIsViewportChanged: () => solid_js.Accessor<{
|
|
7
6
|
height: number;
|
|
@@ -269,6 +268,239 @@ type DownloadFile = (eventData?: SenderData[typeof MethodRequestFileDownload]) =
|
|
|
269
268
|
declare const downloadFile: DownloadFile;
|
|
270
269
|
declare const supportDownloadFile: () => boolean;
|
|
271
270
|
|
|
271
|
+
declare const MethodInvokeCustomMethod = "web_app_invoke_custom_method";
|
|
272
|
+
declare const MethodOpenScanQrPopup = "web_app_open_scan_qr_popup";
|
|
273
|
+
declare const MethodReadTextFromClipboard = "web_app_read_text_from_clipboard";
|
|
274
|
+
declare const MethodRequestPhone = "web_app_request_phone";
|
|
275
|
+
declare const MethodClose = "web_app_close";
|
|
276
|
+
declare const MethodCloseScanQrPopup = "web_app_close_scan_qr_popup";
|
|
277
|
+
declare const MethodDataSend = "web_app_data_send";
|
|
278
|
+
declare const MethodExpand = "web_app_expand";
|
|
279
|
+
declare const MethodIframeReady = "iframe_ready";
|
|
280
|
+
declare const MethodIframeWillReload = "iframe_will_reload";
|
|
281
|
+
declare const MethodOpenInvoice = "web_app_open_invoice";
|
|
282
|
+
declare const MethodOpenLink = "web_app_open_link";
|
|
283
|
+
declare const MethodOpenPopup = "web_app_open_popup";
|
|
284
|
+
declare const MethodOpenTgLink = "web_app_open_tg_link";
|
|
285
|
+
declare const MethodReady = "web_app_ready";
|
|
286
|
+
declare const MethodRequestTheme = "web_app_request_theme";
|
|
287
|
+
declare const MethodRequestViewport = "web_app_request_viewport";
|
|
288
|
+
declare const MethodRequestWriteAccess = "web_app_request_write_access";
|
|
289
|
+
declare const MethodSetBackgroundColor = "web_app_set_background_color";
|
|
290
|
+
declare const MethodSetHeaderColor = "web_app_set_header_color";
|
|
291
|
+
declare const MethodSetBottomBarColor = "web_app_set_bottom_bar_color";
|
|
292
|
+
declare const MethodSetupBackButton = "web_app_setup_back_button";
|
|
293
|
+
declare const MethodSetupClosingBehavior = "web_app_setup_closing_behavior";
|
|
294
|
+
declare const MethodSetupMainButton = "web_app_setup_main_button";
|
|
295
|
+
declare const MethodSetupSettingsButton = "web_app_setup_settings_button";
|
|
296
|
+
declare const MethodSwitchInlineQuery = "web_app_switch_inline_query";
|
|
297
|
+
declare const MethodTriggerHapticFeedback = "web_app_trigger_haptic_feedback";
|
|
298
|
+
declare const MethodSetupSwipeBehavior = "web_app_setup_swipe_behavior";
|
|
299
|
+
declare const MethodShareToStory = "web_app_share_to_story";
|
|
300
|
+
declare const MethodRequestSafeArea = "web_app_request_safe_area";
|
|
301
|
+
declare const MethodRequestContentSafeArea = "web_app_request_content_safe_area";
|
|
302
|
+
declare const MethodRequestFullscreen = "web_app_request_fullscreen";
|
|
303
|
+
declare const MethodExitFullscreen = "web_app_exit_fullscreen";
|
|
304
|
+
declare const MethodToggleOrientationLock = "web_app_toggle_orientation_lock";
|
|
305
|
+
declare const MethodAddToHomeScreen = "web_app_add_to_home_screen";
|
|
306
|
+
declare const MethodCheckHomeScreen = "web_app_check_home_screen";
|
|
307
|
+
declare const MethodSendPreparedMessage = "web_app_send_prepared_message";
|
|
308
|
+
declare const MethodSetEmojiStatus = "web_app_set_emoji_status";
|
|
309
|
+
declare const MethodRequestEmojiStatusAccess = "web_app_request_emoji_status_access";
|
|
310
|
+
declare const MethodRequestFileDownload = "web_app_request_file_download";
|
|
311
|
+
declare const MethodBiometryOpenSettings = "web_app_biometry_open_settings";
|
|
312
|
+
declare const MethodBiometryRequestAccess = "web_app_biometry_request_access";
|
|
313
|
+
declare const MethodBiometryRequestAuth = "web_app_biometry_request_auth";
|
|
314
|
+
declare const MethodBiometryUpdateToken = "web_app_biometry_update_token";
|
|
315
|
+
declare enum Method {
|
|
316
|
+
InvokeCustomMethod = "web_app_invoke_custom_method",
|
|
317
|
+
OpenScanQrPopup = "web_app_open_scan_qr_popup",
|
|
318
|
+
ReadTextFromClipboard = "web_app_read_text_from_clipboard",
|
|
319
|
+
RequestPhone = "web_app_request_phone",
|
|
320
|
+
Close = "web_app_close",
|
|
321
|
+
CloseScanQrPopup = "web_app_close_scan_qr_popup",
|
|
322
|
+
DataSend = "web_app_data_send",
|
|
323
|
+
Expand = "web_app_expand",
|
|
324
|
+
IframeReady = "iframe_ready",
|
|
325
|
+
IframeWillReload = "iframe_will_reload",
|
|
326
|
+
OpenInvoice = "web_app_open_invoice",
|
|
327
|
+
OpenLink = "web_app_open_link",
|
|
328
|
+
OpenPopup = "web_app_open_popup",
|
|
329
|
+
OpenTgLink = "web_app_open_tg_link",
|
|
330
|
+
Ready = "web_app_ready",
|
|
331
|
+
RequestTheme = "web_app_request_theme",
|
|
332
|
+
RequestViewport = "web_app_request_viewport",
|
|
333
|
+
RequestWriteAccess = "web_app_request_write_access",
|
|
334
|
+
SetBackgroundColor = "web_app_set_background_color",
|
|
335
|
+
SetHeaderColor = "web_app_set_header_color",
|
|
336
|
+
SetBottomBarColor = "web_app_set_bottom_bar_color",
|
|
337
|
+
SetupBackButton = "web_app_setup_back_button",
|
|
338
|
+
SetupClosingBehavior = "web_app_setup_closing_behavior",
|
|
339
|
+
SetupMainButton = "web_app_setup_main_button",
|
|
340
|
+
SetupSettingsButton = "web_app_setup_settings_button",
|
|
341
|
+
SwitchInlineQuery = "web_app_switch_inline_query",
|
|
342
|
+
TriggerHapticFeedback = "web_app_trigger_haptic_feedback",
|
|
343
|
+
SetupSwipeBehavior = "web_app_setup_swipe_behavior",
|
|
344
|
+
ShareToStory = "web_app_share_to_story",
|
|
345
|
+
RequestSafeArea = "web_app_request_safe_area",
|
|
346
|
+
RequestContentSafeArea = "web_app_request_content_safe_area",
|
|
347
|
+
RequestFullscreen = "web_app_request_fullscreen",
|
|
348
|
+
ExitFullscreen = "web_app_exit_fullscreen",
|
|
349
|
+
ToggleOrientationLock = "web_app_toggle_orientation_lock",
|
|
350
|
+
AddToHomeScreen = "web_app_add_to_home_screen",
|
|
351
|
+
CheckHomeScreen = "web_app_check_home_screen",
|
|
352
|
+
SendPreparedMessage = "web_app_send_prepared_message",
|
|
353
|
+
SetEmojiStatus = "web_app_set_emoji_status",
|
|
354
|
+
RequestEmojiStatusAccess = "web_app_request_emoji_status_access",
|
|
355
|
+
RequestFileDownload = "web_app_request_file_download"
|
|
356
|
+
}
|
|
357
|
+
type PopupButton = {
|
|
358
|
+
id: string;
|
|
359
|
+
type: 'default' | 'destructive' | 'ok' | 'close' | 'cancel';
|
|
360
|
+
text: string;
|
|
361
|
+
};
|
|
362
|
+
type SenderData = {
|
|
363
|
+
[MethodInvokeCustomMethod]: {
|
|
364
|
+
req_id?: string;
|
|
365
|
+
method: string;
|
|
366
|
+
params: unknown;
|
|
367
|
+
};
|
|
368
|
+
[MethodOpenScanQrPopup]: {
|
|
369
|
+
text?: string;
|
|
370
|
+
is_close?: boolean;
|
|
371
|
+
};
|
|
372
|
+
[MethodReadTextFromClipboard]: {
|
|
373
|
+
req_id?: string;
|
|
374
|
+
};
|
|
375
|
+
[MethodRequestPhone]: undefined;
|
|
376
|
+
[MethodClose]: undefined;
|
|
377
|
+
[MethodCloseScanQrPopup]: undefined;
|
|
378
|
+
[MethodDataSend]: {
|
|
379
|
+
data: string;
|
|
380
|
+
};
|
|
381
|
+
[MethodExpand]: undefined;
|
|
382
|
+
[MethodIframeReady]: {
|
|
383
|
+
reload_supported?: boolean;
|
|
384
|
+
};
|
|
385
|
+
[MethodIframeWillReload]: undefined;
|
|
386
|
+
[MethodOpenInvoice]: {
|
|
387
|
+
slug: string;
|
|
388
|
+
};
|
|
389
|
+
[MethodOpenLink]: {
|
|
390
|
+
url: string;
|
|
391
|
+
try_instant_view?: boolean;
|
|
392
|
+
try_browser?: boolean;
|
|
393
|
+
};
|
|
394
|
+
[MethodOpenPopup]: {
|
|
395
|
+
title: string;
|
|
396
|
+
message: string;
|
|
397
|
+
buttons: PopupButton[];
|
|
398
|
+
};
|
|
399
|
+
[MethodOpenTgLink]: {
|
|
400
|
+
path_full: string;
|
|
401
|
+
force_request?: boolean;
|
|
402
|
+
};
|
|
403
|
+
[MethodReady]: undefined;
|
|
404
|
+
[MethodRequestTheme]: undefined;
|
|
405
|
+
[MethodRequestViewport]: undefined;
|
|
406
|
+
[MethodRequestWriteAccess]: undefined;
|
|
407
|
+
[MethodSetBackgroundColor]: {
|
|
408
|
+
color: string;
|
|
409
|
+
};
|
|
410
|
+
[MethodSetHeaderColor]: {
|
|
411
|
+
color_key: 'bg_color' | 'secondary_bg_color';
|
|
412
|
+
color?: undefined;
|
|
413
|
+
} | {
|
|
414
|
+
color: string;
|
|
415
|
+
color_key?: undefined;
|
|
416
|
+
};
|
|
417
|
+
[MethodSetBottomBarColor]: {
|
|
418
|
+
color_key: 'bg_color' | 'secondary_bg_color' | 'bottom_bar_bg_color';
|
|
419
|
+
color?: undefined;
|
|
420
|
+
} | {
|
|
421
|
+
color: string;
|
|
422
|
+
color_key?: undefined;
|
|
423
|
+
};
|
|
424
|
+
[MethodSetupBackButton]: {
|
|
425
|
+
is_visible: boolean;
|
|
426
|
+
};
|
|
427
|
+
[MethodSetupClosingBehavior]: {
|
|
428
|
+
need_confirmation: boolean;
|
|
429
|
+
};
|
|
430
|
+
[MethodSetupMainButton]: {
|
|
431
|
+
is_visible?: boolean;
|
|
432
|
+
is_active?: boolean;
|
|
433
|
+
is_progress_visible?: boolean;
|
|
434
|
+
text?: string;
|
|
435
|
+
color?: string;
|
|
436
|
+
text_color?: string;
|
|
437
|
+
};
|
|
438
|
+
[MethodSetupSettingsButton]: {
|
|
439
|
+
is_visible: boolean;
|
|
440
|
+
};
|
|
441
|
+
[MethodSwitchInlineQuery]: {
|
|
442
|
+
query: string;
|
|
443
|
+
chat_types: ('users' | 'bots' | 'groups' | 'channels')[];
|
|
444
|
+
};
|
|
445
|
+
[MethodTriggerHapticFeedback]: {
|
|
446
|
+
type: 'impact';
|
|
447
|
+
impact_style: 'light' | 'medium' | 'heavy' | 'rigid' | 'soft';
|
|
448
|
+
} | {
|
|
449
|
+
type: 'notification';
|
|
450
|
+
notification_type: 'error' | 'success' | 'warning';
|
|
451
|
+
} | {
|
|
452
|
+
type: 'selection_change';
|
|
453
|
+
impact_style?: undefined;
|
|
454
|
+
notification_type?: undefined;
|
|
455
|
+
};
|
|
456
|
+
[MethodSetupSwipeBehavior]: {
|
|
457
|
+
allow_vertical_swipe: boolean;
|
|
458
|
+
};
|
|
459
|
+
[MethodShareToStory]: {
|
|
460
|
+
media: string;
|
|
461
|
+
text?: string;
|
|
462
|
+
widget_link?: {
|
|
463
|
+
url: string;
|
|
464
|
+
name?: string;
|
|
465
|
+
};
|
|
466
|
+
};
|
|
467
|
+
[MethodRequestSafeArea]: undefined;
|
|
468
|
+
[MethodRequestContentSafeArea]: undefined;
|
|
469
|
+
[MethodRequestFullscreen]: {
|
|
470
|
+
is_full: boolean;
|
|
471
|
+
};
|
|
472
|
+
[MethodExitFullscreen]: {
|
|
473
|
+
is_full: boolean;
|
|
474
|
+
};
|
|
475
|
+
[MethodToggleOrientationLock]: {
|
|
476
|
+
locked: boolean;
|
|
477
|
+
};
|
|
478
|
+
[MethodAddToHomeScreen]: undefined;
|
|
479
|
+
[MethodCheckHomeScreen]: undefined;
|
|
480
|
+
[MethodSendPreparedMessage]: {
|
|
481
|
+
msg_id: number;
|
|
482
|
+
};
|
|
483
|
+
[MethodSetEmojiStatus]: {
|
|
484
|
+
custom_emoji_id: string;
|
|
485
|
+
duration?: number;
|
|
486
|
+
};
|
|
487
|
+
[MethodRequestEmojiStatusAccess]: undefined;
|
|
488
|
+
[MethodRequestFileDownload]: {
|
|
489
|
+
url: string;
|
|
490
|
+
file_name: string;
|
|
491
|
+
};
|
|
492
|
+
[MethodBiometryRequestAccess]: {
|
|
493
|
+
reason?: string;
|
|
494
|
+
};
|
|
495
|
+
[MethodBiometryRequestAuth]: {
|
|
496
|
+
reason?: string;
|
|
497
|
+
};
|
|
498
|
+
[MethodBiometryUpdateToken]: {
|
|
499
|
+
token: string;
|
|
500
|
+
};
|
|
501
|
+
[MethodBiometryOpenSettings]: undefined;
|
|
502
|
+
};
|
|
503
|
+
|
|
272
504
|
type Store = {
|
|
273
505
|
isInited: boolean;
|
|
274
506
|
isBiometricAvailable: boolean;
|
|
@@ -290,19 +522,19 @@ type BiometricManager = {
|
|
|
290
522
|
status: boolean | typeof NOT_SUPPORTED$1;
|
|
291
523
|
data?: Store;
|
|
292
524
|
}>;
|
|
293
|
-
requestAccess: (eventData: SenderData
|
|
525
|
+
requestAccess: (eventData: SenderData[typeof MethodBiometryRequestAccess]) => Promise<{
|
|
294
526
|
status: boolean | typeof NOT_SUPPORTED$1;
|
|
295
527
|
data?: Store;
|
|
296
528
|
}>;
|
|
297
|
-
authenticate: (eventData: SenderData
|
|
529
|
+
authenticate: (eventData: SenderData[typeof MethodBiometryRequestAuth]) => Promise<{
|
|
298
530
|
status: boolean | typeof NOT_SUPPORTED$1;
|
|
299
531
|
data?: EventsData$1[typeof EventBiometryAuthRequested$1];
|
|
300
532
|
}>;
|
|
301
|
-
updateToken: (eventData: SenderData
|
|
533
|
+
updateToken: (eventData: SenderData[typeof MethodBiometryUpdateToken]) => Promise<{
|
|
302
534
|
status: boolean | typeof NOT_SUPPORTED$1;
|
|
303
535
|
data?: EventsData$1[typeof EventBiometryTokenUpdated$1];
|
|
304
536
|
}>;
|
|
305
|
-
openSettings: (eventData: SenderData
|
|
537
|
+
openSettings: (eventData: SenderData[typeof MethodBiometryOpenSettings]) => {
|
|
306
538
|
status: boolean | typeof NOT_SUPPORTED$1;
|
|
307
539
|
};
|
|
308
540
|
};
|
|
@@ -538,239 +770,6 @@ declare namespace listener {
|
|
|
538
770
|
export { type listener_EventsData as EventsData, listener_off as off, listener_on as on, listener_once as once };
|
|
539
771
|
}
|
|
540
772
|
|
|
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
773
|
type Debug = (methondName: string, errorId: number) => void;
|
|
775
774
|
declare const debug: Debug;
|
|
776
775
|
|
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"),t=require("solid-js"),s=require("solid-js/store");const o="web",r="phone",a="desktop",n=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(t)?r:["tdesktop","macos"].includes(t)?a:o},i="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(n())},d=()=>Math.random().toString(36).substring(3,9),u=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},c=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=u(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},_=e=>l()?(Et(ke,e),{status:!0}):(yt(ke,1),{status:i}),l=()=>p(0,[o,a,r]),m=e=>x()?(Et(Pe,e),{status:!0}):(yt(Pe,1),{status:i}),x=()=>p(6.4,[r]),g=e=>v()?(Et(Ae,e),{status:!0}):(yt(Ae,1),{status:i}),v=()=>p(0,[o,a,r]),S=e=>h()?(Et(Ce,e),{status:!0}):(yt(Ce,1),{status:i}),h=()=>p(0,[r]),b=e=>w()?(Et(Me,e),{status:!0}):(yt(Me,1),{status:i}),w=()=>p(0,[o]),f=()=>y()?(Et(Me),{status:!0}):(yt(Me,1),{status:i}),y=()=>p(0,[o]),R=async e=>E()?(void 0===e.req_id&&(e.req_id=d()),Et(Ee,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Nt(Bt,o))};Ut(Bt,o)}))):(yt(Ee,1),{status:i}),E=()=>p(6.9,[o,a,r]),q=e=>B()?(Et(Ie,e),{status:!0}):(yt(Ie,1),{status:i}),B=()=>p(6.1,[o,a,r]),T=e=>k()?(Et(Fe,e),{status:!0}):(yt(Fe,1),{status:i}),k=()=>p(6.4,[o,a,r]),P=async e=>A()?(e.title.length>64&&yt(De,3),e.message.length<1&&yt(De,4),e.message.length>256&&yt(De,5),e.buttons.length<1&&yt(De,6),e.buttons.length>3&&yt(De,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&yt(De,8),Et(De,e),new Promise(((t,s)=>{const o=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),Nt(kt,o)};Ut(kt,o)}))):(yt(De,1),{status:i}),A=()=>p(6.2,[o,a,r]),C=async e=>M()?(Et(qe,e),new Promise(((t,s)=>{Qt(Pt,(s=>{e.is_close&&m(),t({status:!0,data:s})})),Qt(At,(()=>{t({status:"closed"})}))}))):(yt(qe,1),{status:i}),M=()=>p(6.4,[r]),O=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()?(Et(We,e),{status:!0}):(yt(We,1),{status:i})},I=()=>p(7,[o,a,r]);const F=async e=>D()?(e||(e={req_id:void 0}),void 0===e.req_id&&(e.req_id=d()),Et(Be,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e?.req_id&&(t({status:!0,data:s}),Nt(qt,o))};Ut(qt,o)}))):(yt(Be,1),{status:i}),D=()=>p(6.4,[o,a,r]),W=e=>L()?(Et(Le,e),{status:!0}):(yt(Le,1),{status:i}),L=()=>p(6.9,[o,a,r]),G=async()=>H()?(Et(Te),new Promise(((e,t)=>{Qt(Tt,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(yt(Te,1),{status:i}),H=()=>p(6.9,[o,a,r]),j=e=>U()?(Et(Ge,e),{status:!0}):(yt(Ge,1),{status:i}),U=()=>p(0,[o,a,r]),N=e=>Q()?(Et(He,e),{status:!0}):(yt(He,1),{status:i}),Q=()=>p(0,[o,a,r]),V=()=>new Promise(((e,t)=>{if(!$())return yt(je,1),void e({status:i});const s=t=>{e({status:"allowed"===t.status}),Nt(Ot,s)};Ut(Ot,s),Et(je)})),$=()=>p(6.9,[o,a,r]),J=e=>K()?(Et(Ue,e),{status:!0}):(yt(Ue,1),{status:i}),K=()=>p(6.1,[o,a,r]),z=e=>X()?(Et(Ne,e),{status:!0}):(yt(Ne,1),{status:i}),X=()=>p(6.1,[o,a,r]),Y=e=>Z()?(Et(Qe,{color:e?.color||e?.color_key}),{status:!0}):(yt(Qe,1),{status:i}),Z=()=>p(7.1,[o,a,r]),ee=e=>te()?(Et(Ve,e),{status:!0}):(yt(Ve,1),{status:i}),te=()=>p(6.1,[o,a,r]),se=e=>oe()?(Et($e,e),{status:!0}):(yt($e,1),{status:i}),oe=()=>p(6.2,[o,a,r]),re=e=>ae()?(Et(Je,e),{status:!0}):(yt(Je,1),{status:i}),ae=()=>p(0,[o,a,r]),ne=e=>ie()?(Et(Ke,e),{status:!0}):(yt(Ke,1),{status:i}),ie=()=>p(6.1,[o,a,r]),pe=e=>de()?(e.query.length>256&&yt(ze,9),Et(ze,e),{status:!0}):(yt(ze,1),{status:i}),de=()=>p(6.7,[o,a,r]),ue=e=>ce()?(Et(Xe,e),{status:!0}):(yt(Xe,1),{status:i}),ce=()=>p(6.1,[r]),_e=e=>le()?(Et(Ye,e),{status:!0}):(yt(Ye,1),{status:i}),le=()=>p(7.7,[o,a,r]),me=()=>p(7.8,[o,a,r]),xe=()=>p(8,[a,r]),ge=()=>p(8,[a,r]),ve=()=>p(8,[o,a,r]),Se=()=>p(8,[o,a,r]),he=()=>p(8,[o,a,r]),be=()=>p(8,[o,a,r]),we=()=>p(8,[o,a,r]),fe=()=>p(8,[o,a,r]),ye=()=>p(8,[o,a,r]),Re=()=>p(8,[o,a,r]),Ee="web_app_invoke_custom_method",qe="web_app_open_scan_qr_popup",Be="web_app_read_text_from_clipboard",Te="web_app_request_phone",ke="web_app_close",Pe="web_app_close_scan_qr_popup",Ae="web_app_data_send",Ce="web_app_expand",Me="iframe_ready",Oe="iframe_will_reload",Ie="web_app_open_invoice",Fe="web_app_open_link",De="web_app_open_popup",We="web_app_open_tg_link",Le="web_app_ready",Ge="web_app_request_theme",He="web_app_request_viewport",je="web_app_request_write_access",Ue="web_app_set_background_color",Ne="web_app_set_header_color",Qe="web_app_set_bottom_bar_color",Ve="web_app_setup_back_button",$e="web_app_setup_closing_behavior",Je="web_app_setup_main_button",Ke="web_app_setup_settings_button",ze="web_app_switch_inline_query",Xe="web_app_trigger_haptic_feedback",Ye="web_app_setup_swipe_behavior",Ze="web_app_share_to_story",et="web_app_request_safe_area",tt="web_app_request_content_safe_area",st="web_app_request_fullscreen",ot="web_app_exit_fullscreen",rt="web_app_toggle_orientation_lock",at="web_app_add_to_home_screen",nt="web_app_check_home_screen",it="web_app_send_prepared_message",pt="web_app_set_emoji_status",dt="web_app_request_emoji_status_access",ut="web_app_request_file_download",ct="web_app_biometry_get_info",_t="web_app_biometry_open_settings",lt="web_app_biometry_request_access",mt="web_app_biometry_request_auth",xt="web_app_biometry_update_token";var gt=(e=>(e[e.InvokeCustomMethod=Ee]="InvokeCustomMethod",e[e.OpenScanQrPopup=qe]="OpenScanQrPopup",e[e.ReadTextFromClipboard=Be]="ReadTextFromClipboard",e[e.RequestPhone=Te]="RequestPhone",e[e.Close=ke]="Close",e[e.CloseScanQrPopup=Pe]="CloseScanQrPopup",e[e.DataSend=Ae]="DataSend",e[e.Expand=Ce]="Expand",e[e.IframeReady=Me]="IframeReady",e[e.IframeWillReload=Oe]="IframeWillReload",e[e.OpenInvoice=Ie]="OpenInvoice",e[e.OpenLink=Fe]="OpenLink",e[e.OpenPopup=De]="OpenPopup",e[e.OpenTgLink=We]="OpenTgLink",e[e.Ready=Le]="Ready",e[e.RequestTheme=Ge]="RequestTheme",e[e.RequestViewport=He]="RequestViewport",e[e.RequestWriteAccess=je]="RequestWriteAccess",e[e.SetBackgroundColor=Ue]="SetBackgroundColor",e[e.SetHeaderColor=Ne]="SetHeaderColor",e[e.SetBottomBarColor=Qe]="SetBottomBarColor",e[e.SetupBackButton=Ve]="SetupBackButton",e[e.SetupClosingBehavior=$e]="SetupClosingBehavior",e[e.SetupMainButton=Je]="SetupMainButton",e[e.SetupSettingsButton=Ke]="SetupSettingsButton",e[e.SwitchInlineQuery=ze]="SwitchInlineQuery",e[e.TriggerHapticFeedback=Xe]="TriggerHapticFeedback",e[e.SetupSwipeBehavior=Ye]="SetupSwipeBehavior",e[e.ShareToStory=Ze]="ShareToStory",e[e.RequestSafeArea=et]="RequestSafeArea",e[e.RequestContentSafeArea=tt]="RequestContentSafeArea",e[e.RequestFullscreen=st]="RequestFullscreen",e[e.ExitFullscreen=ot]="ExitFullscreen",e[e.ToggleOrientationLock=rt]="ToggleOrientationLock",e[e.AddToHomeScreen=at]="AddToHomeScreen",e[e.CheckHomeScreen=nt]="CheckHomeScreen",e[e.SendPreparedMessage=it]="SendPreparedMessage",e[e.SetEmojiStatus=pt]="SetEmojiStatus",e[e.RequestEmojiStatusAccess=dt]="RequestEmojiStatusAccess",e[e.RequestFileDownload=ut]="RequestFileDownload",e))(gt||{});const[vt,St]=s.createStore({isInited:!1,isBiometricAvailable:!1,isAccessGranted:!1,isAccessRequested:!1,isBiometricTokenSaved:!1,biometricType:"unknown",deviceId:""}),ht={isInited:vt.isInited,isBiometricAvailable:vt.isBiometricAvailable,isAccessGranted:vt.isAccessGranted,isAccessRequested:vt.isAccessRequested,isBiometricTokenSaved:vt.isBiometricTokenSaved,biometricType:vt.biometricType,deviceId:vt.deviceId,init:()=>new Promise(((t,s)=>{if(!bt())return e.debug(ct,1),void t({status:e.NOT_SUPPORTED,data:void 0});const o=s=>{wt(s),t({status:!0,data:vt}),e.listener.off(e.EventBiometryInfoReceived,o)};e.listener.on(e.EventBiometryInfoReceived,o),e.sender(ct)})),requestAccess:t=>new Promise(((s,o)=>{if(!bt())return e.debug(lt,1),void s({status:e.NOT_SUPPORTED,data:void 0});if(t.reason&&t.reason.length>128)return console.error(`[${lt}] Biometric reason is too long`,t.reason),void s({status:!1,data:void 0});const r=t=>{wt(t),s({status:!0,data:vt}),e.listener.off(e.EventBiometryInfoReceived,r)};e.listener.on(e.EventBiometryInfoReceived,r),e.sender(lt,t)})),authenticate:t=>new Promise(((s,o)=>{if(!bt())return e.debug(mt,1),void s({status:e.NOT_SUPPORTED,data:void 0});if(!vt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void s({status:!1,data:void 0});if(!vt.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void s({status:!1,data:void 0});const r=t=>{s({status:!0,data:t}),e.listener.off(e.EventBiometryAuthRequested,r)};e.listener.on(e.EventBiometryAuthRequested,r),e.sender(mt,t)})),updateToken:t=>new Promise(((s,o)=>{if(!bt())return e.debug(xt,1),void s({status:e.NOT_SUPPORTED,data:void 0});if(!vt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void s({status:!1,data:void 0});if(!vt.isAccessGranted)return console.error("[Telegram.WebApp] Biometric access was not granted by the user."),void s({status:!1,data:void 0});const r=t=>{s({status:!0,data:t}),e.listener.off(e.EventBiometryTokenUpdated,r)};e.listener.on(e.EventBiometryTokenUpdated,r),e.sender(xt,t)})),openSettings:t=>bt()?vt.isBiometricAvailable?vt.isAccessRequested?vt.isAccessGranted?(console.warn("[Telegram.WebApp] Biometric access was granted by the user, no need to go to settings."),{status:!1}):(e.sender(_t,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(_t,1),{status:e.NOT_SUPPORTED})},bt=()=>p(7.2,[e.TG_DESKTOP,e.TG_PHONE,e.TG_WEB]),wt=e=>{St(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))))},ft=e=>{St(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,wt),e.listener.on(e.EventBiometryTokenUpdated,ft),t.onCleanup((()=>{e.listener.off(e.EventBiometryInfoReceived,wt),e.listener.off(e.EventBiometryTokenUpdated,ft)}))}));const yt=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)},Rt=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppData");if(!t)return void yt("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},Et=(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){yt("postMessage Iframe",10)}},qt="clipboard_text_received",Bt="custom_method_invoked",Tt="phone_requested",kt="popup_closed",Pt="qr_text_received",At="scan_qr_popup_closed",Ct="theme_changed",Mt="viewport_changed",Ot="write_access_requested",It="prepared_message_sent",Ft="prepared_message_failed",Dt="emoji_status_set",Wt="emoji_status_failed",Lt="emoji_status_access_requested",Gt="file_download_requested",Ht="home_screen_checked",jt=((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===Ct&&(t.theme_params=c(t.theme_params)),jt.emit(e,t),jt.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const Ut=(e,t)=>{jt.on(e,t)},Nt=(e,t)=>{jt.off(e,t)},Qt=(e,t)=>{jt.once(e,t)};var Vt=Object.freeze({__proto__:null,off:Nt,on:Ut,once:Qt});const $t=t.createContext({viewport:void 0,theme:void 0,init:void 0});exports.BiometricManager=ht,exports.ContextTwa=$t,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=qt,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=Dt,exports.EventFileDownloadRequested=Gt,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=Ht,exports.EventHomeScreenFailed="home_screen_failed",exports.EventInvoiceClosed="invoice_closed",exports.EventLocationChecked="location_checked",exports.EventLocationRequested="location_requested",exports.EventMainButtonPressed="main_button_pressed",exports.EventPhoneRequested=Tt,exports.EventPopupClosed=kt,exports.EventPreparedMessageFailed=Ft,exports.EventPreparedMessageSent=It,exports.EventQrTextReceived=Pt,exports.EventReloadIframe="reload_iframe",exports.EventSafeAreaChanged="safe_area_changed",exports.EventScanQrPopupClosed=At,exports.EventSecondaryButtonPressed="secondary_button_pressed",exports.EventSetCustomStyle="set_custom_style",exports.EventSettingsButtonPressed="settings_button_pressed",exports.EventThemeChanged=Ct,exports.EventViewportChanged=Mt,exports.EventVisibilityChanged="visibility_changed",exports.EventWriteAccessRequested=Ot,exports.Method=gt,exports.MethodAddToHomeScreen=at,exports.MethodCheckHomeScreen=nt,exports.MethodClose=ke,exports.MethodCloseScanQrPopup=Pe,exports.MethodDataSend=Ae,exports.MethodExitFullscreen=ot,exports.MethodExpand=Ce,exports.MethodIframeReady=Me,exports.MethodIframeWillReload=Oe,exports.MethodInvokeCustomMethod=Ee,exports.MethodOpenInvoice=Ie,exports.MethodOpenLink=Fe,exports.MethodOpenPopup=De,exports.MethodOpenScanQrPopup=qe,exports.MethodOpenTgLink=We,exports.MethodReadTextFromClipboard=Be,exports.MethodReady=Le,exports.MethodRequestContentSafeArea=tt,exports.MethodRequestEmojiStatusAccess=dt,exports.MethodRequestFileDownload=ut,exports.MethodRequestFullscreen=st,exports.MethodRequestPhone=Te,exports.MethodRequestSafeArea=et,exports.MethodRequestTheme=Ge,exports.MethodRequestViewport=He,exports.MethodRequestWriteAccess=je,exports.MethodSendPreparedMessage=it,exports.MethodSetBackgroundColor=Ue,exports.MethodSetBottomBarColor=Qe,exports.MethodSetEmojiStatus=pt,exports.MethodSetHeaderColor=Ne,exports.MethodSetupBackButton=Ve,exports.MethodSetupClosingBehavior=$e,exports.MethodSetupMainButton=Je,exports.MethodSetupSettingsButton=Ke,exports.MethodSetupSwipeBehavior=Ye,exports.MethodShareToStory=Ze,exports.MethodSwitchInlineQuery=ze,exports.MethodToggleOrientationLock=rt,exports.MethodTriggerHapticFeedback=Xe,exports.NOT_SUPPORTED=i,exports.ProviderTWA=e=>{const[o,r]=s.createStore({viewport:void 0,theme:void 0,init:void 0});return t.createEffect((()=>{const e=()=>{r("init",Rt())};e();const s=t=>{e(),r("viewport",t)};Ut(Mt,s),N();const o=t=>{e(),r("theme",t)};return Ut(Ct,o),N(),t.onCleanup((()=>{Nt(Mt,s),Nt(Ct,o)})),()=>{Nt(Mt,s),Nt(Ct,o)}})),$t.Provider({value:o,children:e.children})},exports.TG_DESKTOP=a,exports.TG_PHONE=r,exports.TG_WEB=o,exports.bridgeAddToHomeScreen=()=>ge()?(Et(at),{status:!0}):(yt(at,1),{status:i}),exports.bridgeCheckHomeScreen=async e=>new Promise(((t,s)=>{if(!xe())return yt(nt,1),void t({status:i,data:void 0});const o=e=>{e.status=e.status||"unknown",t({status:!0,data:e}),Nt(Ht,o)};Ut(Ht,o),Et(nt,e)})),exports.bridgeClose=_,exports.bridgeCloseScanQrPopup=m,exports.bridgeDataSend=g,exports.bridgeDownloadFile=async e=>Re()?new Promise(((t,s)=>{Qt(Gt,(function(e){t({status:"downloading"===e.status})})),Et(ut,e)})):(yt(ut,1),{status:i}),exports.bridgeExpand=S,exports.bridgeGetInitData=Rt,exports.bridgeGetThemeParams=c,exports.bridgeIframeReady=b,exports.bridgeIframeWillReload=f,exports.bridgeInvokeCustomMethod=R,exports.bridgeOpenInvoice=q,exports.bridgeOpenLink=T,exports.bridgeOpenPopup=P,exports.bridgeOpenScanQrPopup=C,exports.bridgeOpenTgLink=O,exports.bridgeReadTextFromClipboard=F,exports.bridgeReady=W,exports.bridgeRequestContentSafeAreaInset=()=>Se()?(Et(tt),{status:!0}):(yt(tt,1),{status:i}),exports.bridgeRequestEmojiStatus=async e=>we()?new Promise(((t,s)=>{Qt(Lt,(function(e){t({status:"allowed"===e.status})})),Et(dt,e)})):(yt(dt,1),{status:i}),exports.bridgeRequestPhone=G,exports.bridgeRequestSafeAreaInset=()=>ve()?(Et(et),{status:!0}):(yt(et,1),{status:i}),exports.bridgeRequestTheme=j,exports.bridgeRequestViewport=N,exports.bridgeRequestWriteAccess=V,exports.bridgeSend=Et,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=J,exports.bridgeSetBottomBarColor=Y,exports.bridgeSetEmojiStatus=async e=>fe()?new Promise(((t,s)=>{Qt(Dt,(()=>t({status:!0}))),Qt(Wt,(()=>t({status:!1}))),Et(pt,e)})):(yt(pt,1),{status:i}),exports.bridgeSetHeaderColor=z,exports.bridgeSetupBackButton=ee,exports.bridgeSetupClosingBehavior=se,exports.bridgeSetupFullScreen=e=>{const t=e?.is_full||!1;return he()?(Et(t?st:ot),{status:!0}):(yt(t?st:ot,1),{status:i})},exports.bridgeSetupMainButton=re,exports.bridgeSetupOrientation=e=>be()?(Et(rt,e),{status:!0}):(yt(rt,1),{status:i}),exports.bridgeSetupSettingsButton=ne,exports.bridgeSetupSwipeBehavior=_e,exports.bridgeShareMessage=async e=>ye()?new Promise(((t,s)=>{Qt(It,(()=>t({status:!0}))),Qt(Ft,(()=>t({status:!1}))),Et(it,e)})):(yt(it,1),{status:i}),exports.bridgeShareToStory=e=>me()?e?.text&&e?.text.length>2048?(console.warn(`[@apiteam/twa-bridge](${Ze}) | Text is too long`),{status:!1,error_id:1}):e?.widget_link?.name&&e?.widget_link.name.length>48?(console.warn(`[@apiteam/twa-bridge](${Ze}) | Link name is too long`),{status:!1,error_id:2}):(Et(Ze,e),{status:!0}):(yt(Ze,1),{status:i}),exports.bridgeSwitchInlineQuery=pe,exports.bridgeTriggerHapticFeedback=ue,exports.createIsViewportChanged=()=>{const[e,s]=t.createSignal({height:0,is_expanded:!1,is_state_stable:!1}),o=e=>s(e);return t.onMount((()=>{Ut(Mt,o),Et(He)})),t.onCleanup((()=>{Nt(Mt,o)})),e},exports.debug=yt,exports.getAppData=()=>{const e=window.location.hash.slice(1);return new URLSearchParams(e).get("tgWebAppData")},exports.getPlatform=n,exports.listener=Vt,exports.sender=Et,exports.supportAddToHomeScreen=ge,exports.supportBiometricManager=bt,exports.supportCheckHomeScreen=xe,exports.supportClose=l,exports.supportCloseScanQrPopup=x,exports.supportDataSend=v,exports.supportDownloadFile=Re,exports.supportExpand=h,exports.supportIframeReady=w,exports.supportIframeWillReload=y,exports.supportInvokeCustomMethod=E,exports.supportOpenInvoice=B,exports.supportOpenLink=k,exports.supportOpenPopup=A,exports.supportOpenScanQrPopup=M,exports.supportOpenTgLink=I,exports.supportReadTextFromClipboard=D,exports.supportReady=L,exports.supportRequestContentSafeAreaInset=Se,exports.supportRequestEmojiStatus=we,exports.supportRequestPhone=H,exports.supportRequestSafeAreaInset=ve,exports.supportRequestTheme=U,exports.supportRequestViewport=Q,exports.supportRequestWriteAccess=$,exports.supportSessionStorageGet=()=>!0,exports.supportSessionStorageSet=()=>!0,exports.supportSetBackgroundColor=K,exports.supportSetBottomBarColor=Z,exports.supportSetEmojiStatus=fe,exports.supportSetHeaderColor=X,exports.supportSetupBackButton=te,exports.supportSetupClosingBehavior=oe,exports.supportSetupFullScreen=he,exports.supportSetupMainButton=ae,exports.supportSetupOrientation=be,exports.supportSetupSettingsButton=ie,exports.supportSetupSwipeBehavior=le,exports.supportShareMessage=ye,exports.supportShareToStory=me,exports.supportSwitchInlineQuery=de,exports.supportTriggerHapticFeedback=ce;
|
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{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";const w=()=>{const[e,t]=u({height:0,is_expanded:!1,is_state_stable:!1}),s=e=>t(e);return _((()=>{Ks(gs,s),ts(wt)})),p((()=>{Xs(gs,s)})),e},v="web",h="phone",S="desktop",f=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(t)?h:["tdesktop","macos"].includes(t)?S:v},y="not_supported",q=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s?.replace(".",""))>=Number(String(e)?.replace(".",""))&&-1!==t.indexOf(f())},k=()=>Math.random().toString(36).substring(3,9),T=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},R=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=T(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},B=e=>A()?(ts(rt,e),{status:!0}):(Zt(rt,1),{status:y}),A=()=>q(0,[v,S,h]),P=e=>I()?(ts(it,e),{status:!0}):(Zt(it,1),{status:y}),I=()=>q(6.4,[h]),O=e=>x()?(ts(nt,e),{status:!0}):(Zt(nt,1),{status:y}),x=()=>q(0,[v,S,h]),C=e=>E()?(ts(dt,e),{status:!0}):(Zt(dt,1),{status:y}),E=()=>q(0,[h]),W=e=>L()?(ts(ct,e),{status:!0}):(Zt(ct,1),{status:y}),L=()=>q(0,[v]),j=()=>G()?(ts(ct),{status:!0}):(Zt(ct,1),{status:y}),G=()=>q(0,[v]),D=async e=>F()?(void 0===e.req_id&&(e.req_id=k()),ts(tt,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Xs(os,a))};Ks(os,a)}))):(Zt(tt,1),{status:y}),F=()=>q(6.9,[v,S,h]),H=e=>M()?(ts(_t,e),{status:!0}):(Zt(_t,1),{status:y}),M=()=>q(6.1,[v,S,h]),N=e=>U()?(ts(pt,e),{status:!0}):(Zt(pt,1),{status:y}),U=()=>q(6.4,[v,S,h]),$=async e=>Q()?(e.title.length>64&&Zt(lt,3),e.message.length<1&&Zt(lt,4),e.message.length>256&&Zt(lt,5),e.buttons.length<1&&Zt(lt,6),e.buttons.length>3&&Zt(lt,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&Zt(lt,8),ts(lt,e),new Promise(((t,s)=>{const a=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),Xs(ds,a)};Ks(ds,a)}))):(Zt(lt,1),{status:y}),Q=()=>q(6.2,[v,S,h]),J=async e=>V()?(ts(st,e),new Promise(((t,s)=>{Ys(us,(s=>{e.is_close&&P(),t({status:!0,data:s})})),Ys(_s,(()=>{t({status:"closed"})}))}))):(Zt(st,1),{status:y}),V=()=>q(6.4,[h]),z=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,K()?(ts(mt,e),{status:!0}):(Zt(mt,1),{status:y})},K=()=>q(7,[v,S,h]);const X=async e=>Y()?(e||(e={req_id:void 0}),void 0===e.req_id&&(e.req_id=k()),ts(at,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e?.req_id&&(t({status:!0,data:s}),Xs(as,a))};Ks(as,a)}))):(Zt(at,1),{status:y}),Y=()=>q(6.4,[v,S,h]),Z=e=>ee()?(ts(gt,e),{status:!0}):(Zt(gt,1),{status:y}),ee=()=>q(6.9,[v,S,h]),te=async()=>se()?(ts(ot),new Promise(((e,t)=>{Ys(ns,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(Zt(ot,1),{status:y}),se=()=>q(6.9,[v,S,h]),ae=e=>oe()?(ts(bt,e),{status:!0}):(Zt(bt,1),{status:y}),oe=()=>q(0,[v,S,h]),re=e=>ie()?(ts(wt,e),{status:!0}):(Zt(wt,1),{status:y}),ie=()=>q(0,[v,S,h]),ne=()=>new Promise(((e,t)=>{if(!de())return Zt(vt,1),void e({status:y});const s=t=>{e({status:"allowed"===t.status}),Xs(bs,s)};Ks(bs,s),ts(vt)})),de=()=>q(6.9,[v,S,h]),ce=e=>ue()?(ts(ht,e),{status:!0}):(Zt(ht,1),{status:y}),ue=()=>q(6.1,[v,S,h]),_e=e=>pe()?(ts(St,e),{status:!0}):(Zt(St,1),{status:y}),pe=()=>q(6.1,[v,S,h]),le=e=>me()?(ts(ft,{color:e?.color||e?.color_key}),{status:!0}):(Zt(ft,1),{status:y}),me=()=>q(7.1,[v,S,h]),ge=e=>be()?(ts(yt,e),{status:!0}):(Zt(yt,1),{status:y}),be=()=>q(6.1,[v,S,h]),we=e=>ve()?(ts(qt,e),{status:!0}):(Zt(qt,1),{status:y}),ve=()=>q(6.2,[v,S,h]),he=e=>Se()?(ts(kt,e),{status:!0}):(Zt(kt,1),{status:y}),Se=()=>q(0,[v,S,h]),fe=e=>ye()?(ts(Tt,e),{status:!0}):(Zt(Tt,1),{status:y}),ye=()=>q(6.1,[v,S,h]),qe=e=>ke()?(e.query.length>256&&Zt(Rt,9),ts(Rt,e),{status:!0}):(Zt(Rt,1),{status:y}),ke=()=>q(6.7,[v,S,h]),Te=e=>Re()?(ts(Bt,e),{status:!0}):(Zt(Bt,1),{status:y}),Re=()=>q(6.1,[h]),Be=({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}}},Ae=()=>!0,Pe=({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}}},Ie=()=>!0,Oe=e=>xe()?(ts(At,e),{status:!0}):(Zt(At,1),{status:y}),xe=()=>q(7.7,[v,S,h]),Ce=e=>Ee()?e?.text&&e?.text.length>2048?(console.warn(`[@apiteam/twa-bridge](${Pt}) | Text is too long`),{status:!1,error_id:1}):e?.widget_link?.name&&e?.widget_link.name.length>48?(console.warn(`[@apiteam/twa-bridge](${Pt}) | Link name is too long`),{status:!1,error_id:2}):(ts(Pt,e),{status:!0}):(Zt(Pt,1),{status:y}),Ee=()=>q(7.8,[v,S,h]),We=async e=>new Promise(((t,s)=>{if(!Le())return Zt(Lt,1),void t({status:y,data:void 0});const a=e=>{e.status=e.status||"unknown",t({status:!0,data:e}),Xs(Ns,a)};Ks(Ns,a),ts(Lt,e)})),Le=()=>q(8,[S,h]),je=()=>Ge()?(ts(Wt),{status:!0}):(Zt(Wt,1),{status:y}),Ge=()=>q(8,[S,h]),De=()=>Fe()?(ts(It),{status:!0}):(Zt(It,1),{status:y}),Fe=()=>q(8,[v,S,h]),He=()=>Me()?(ts(Ot),{status:!0}):(Zt(Ot,1),{status:y}),Me=()=>q(8,[v,S,h]),Ne=e=>{const t=e?.is_full||!1;return Ue()?(ts(t?xt:Ct),{status:!0}):(Zt(t?xt:Ct,1),{status:y})},Ue=()=>q(8,[v,S,h]),$e=e=>Qe()?(ts(Et,e),{status:!0}):(Zt(Et,1),{status:y}),Qe=()=>q(8,[v,S,h]),Je=async e=>Ve()?new Promise(((t,s)=>{Ys(qs,(function(e){t({status:"allowed"===e.status})})),ts(Dt,e)})):(Zt(Dt,1),{status:y}),Ve=()=>q(8,[v,S,h]),ze=async e=>Ke()?new Promise(((t,s)=>{Ys(fs,(()=>t({status:!0}))),Ys(ys,(()=>t({status:!1}))),ts(Gt,e)})):(Zt(Gt,1),{status:y}),Ke=()=>q(8,[v,S,h]),Xe=async e=>Ye()?new Promise(((t,s)=>{Ys(hs,(()=>t({status:!0}))),Ys(Ss,(()=>t({status:!1}))),ts(jt,e)})):(Zt(jt,1),{status:y}),Ye=()=>q(8,[v,S,h]),Ze=async e=>et()?new Promise(((t,s)=>{Ys(ks,(function(e){t({status:"downloading"===e.status})})),ts(Ft,e)})):(Zt(Ft,1),{status:y}),et=()=>q(8,[v,S,h]),tt="web_app_invoke_custom_method",st="web_app_open_scan_qr_popup",at="web_app_read_text_from_clipboard",ot="web_app_request_phone",rt="web_app_close",it="web_app_close_scan_qr_popup",nt="web_app_data_send",dt="web_app_expand",ct="iframe_ready",ut="iframe_will_reload",_t="web_app_open_invoice",pt="web_app_open_link",lt="web_app_open_popup",mt="web_app_open_tg_link",gt="web_app_ready",bt="web_app_request_theme",wt="web_app_request_viewport",vt="web_app_request_write_access",ht="web_app_set_background_color",St="web_app_set_header_color",ft="web_app_set_bottom_bar_color",yt="web_app_setup_back_button",qt="web_app_setup_closing_behavior",kt="web_app_setup_main_button",Tt="web_app_setup_settings_button",Rt="web_app_switch_inline_query",Bt="web_app_trigger_haptic_feedback",At="web_app_setup_swipe_behavior",Pt="web_app_share_to_story",It="web_app_request_safe_area",Ot="web_app_request_content_safe_area",xt="web_app_request_fullscreen",Ct="web_app_exit_fullscreen",Et="web_app_toggle_orientation_lock",Wt="web_app_add_to_home_screen",Lt="web_app_check_home_screen",jt="web_app_send_prepared_message",Gt="web_app_set_emoji_status",Dt="web_app_request_emoji_status_access",Ft="web_app_request_file_download",Ht="web_app_biometry_get_info",Mt="web_app_biometry_open_settings",Nt="web_app_biometry_request_access",Ut="web_app_biometry_request_auth",$t="web_app_biometry_update_token";var Qt=(e=>(e[e.InvokeCustomMethod=tt]="InvokeCustomMethod",e[e.OpenScanQrPopup=st]="OpenScanQrPopup",e[e.ReadTextFromClipboard=at]="ReadTextFromClipboard",e[e.RequestPhone=ot]="RequestPhone",e[e.Close=rt]="Close",e[e.CloseScanQrPopup=it]="CloseScanQrPopup",e[e.DataSend=nt]="DataSend",e[e.Expand=dt]="Expand",e[e.IframeReady=ct]="IframeReady",e[e.IframeWillReload=ut]="IframeWillReload",e[e.OpenInvoice=_t]="OpenInvoice",e[e.OpenLink=pt]="OpenLink",e[e.OpenPopup=lt]="OpenPopup",e[e.OpenTgLink=mt]="OpenTgLink",e[e.Ready=gt]="Ready",e[e.RequestTheme=bt]="RequestTheme",e[e.RequestViewport=wt]="RequestViewport",e[e.RequestWriteAccess=vt]="RequestWriteAccess",e[e.SetBackgroundColor=ht]="SetBackgroundColor",e[e.SetHeaderColor=St]="SetHeaderColor",e[e.SetBottomBarColor=ft]="SetBottomBarColor",e[e.SetupBackButton=yt]="SetupBackButton",e[e.SetupClosingBehavior=qt]="SetupClosingBehavior",e[e.SetupMainButton=kt]="SetupMainButton",e[e.SetupSettingsButton=Tt]="SetupSettingsButton",e[e.SwitchInlineQuery=Rt]="SwitchInlineQuery",e[e.TriggerHapticFeedback=Bt]="TriggerHapticFeedback",e[e.SetupSwipeBehavior=At]="SetupSwipeBehavior",e[e.ShareToStory=Pt]="ShareToStory",e[e.RequestSafeArea=It]="RequestSafeArea",e[e.RequestContentSafeArea=Ot]="RequestContentSafeArea",e[e.RequestFullscreen=xt]="RequestFullscreen",e[e.ExitFullscreen=Ct]="ExitFullscreen",e[e.ToggleOrientationLock=Et]="ToggleOrientationLock",e[e.AddToHomeScreen=Wt]="AddToHomeScreen",e[e.CheckHomeScreen=Lt]="CheckHomeScreen",e[e.SendPreparedMessage=jt]="SendPreparedMessage",e[e.SetEmojiStatus=Gt]="SetEmojiStatus",e[e.RequestEmojiStatusAccess=Dt]="RequestEmojiStatusAccess",e[e.RequestFileDownload=Ft]="RequestFileDownload",e))(Qt||{});const[Jt,Vt]=g({isInited:!1,isBiometricAvailable:!1,isAccessGranted:!1,isAccessRequested:!1,isBiometricTokenSaved:!1,biometricType:"unknown",deviceId:""}),zt={isInited:Jt.isInited,isBiometricAvailable:Jt.isBiometricAvailable,isAccessGranted:Jt.isAccessGranted,isAccessRequested:Jt.isAccessRequested,isBiometricTokenSaved:Jt.isBiometricTokenSaved,biometricType:Jt.biometricType,deviceId:Jt.deviceId,init:()=>new Promise(((r,i)=>{if(!Kt())return e(Ht,1),void r({status:t,data:void 0});const n=e=>{Xt(e),r({status:!0,data:Jt}),s.off(a,n)};s.on(a,n),o(Ht)})),requestAccess:r=>new Promise(((i,n)=>{if(!Kt())return e(Nt,1),void i({status:t,data:void 0});if(r.reason&&r.reason.length>128)return console.error(`[${Nt}] Biometric reason is too long`,r.reason),void i({status:!1,data:void 0});const d=e=>{Xt(e),i({status:!0,data:Jt}),s.off(a,d)};s.on(a,d),o(Nt,r)})),authenticate:a=>new Promise(((i,n)=>{if(!Kt())return e(Ut,1),void i({status:t,data:void 0});if(!Jt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void i({status:!1,data:void 0});if(!Jt.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(Ut,a)})),updateToken:a=>new Promise(((r,n)=>{if(!Kt())return e($t,1),void r({status:t,data:void 0});if(!Jt.isBiometricAvailable)return console.error("[Telegram.WebApp] Biometrics is not available on this device."),void r({status:!1,data:void 0});if(!Jt.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($t,a)})),openSettings:s=>Kt()?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}):(o(Mt,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(Mt,1),{status:t})},Kt=()=>q(7.2,[n,d,c]),Xt=e=>{Vt(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))))},Yt=e=>{Vt(b((t=>(t.isBiometricAvailable&&t.isAccessRequested&&("updated"===e.status?t.isBiometricTokenSaved=!0:"removed"===e.status&&(t.isBiometricTokenSaved=!1)),t))))};_((()=>{s.on(a,Xt),s.on(i,Yt),p((()=>{s.off(a,Xt),s.off(i,Yt)}))}));const Zt=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)},es=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppData");if(!t)return void Zt("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},ts=(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){Zt("postMessage Iframe",10)}},ss="back_button_pressed",as="clipboard_text_received",os="custom_method_invoked",rs="invoice_closed",is="main_button_pressed",ns="phone_requested",ds="popup_closed",cs="reload_iframe",us="qr_text_received",_s="scan_qr_popup_closed",ps="set_custom_style",ls="settings_button_pressed",ms="theme_changed",gs="viewport_changed",bs="write_access_requested",ws="safe_area_changed",vs="content_safe_area_changed",hs="prepared_message_sent",Ss="prepared_message_failed",fs="emoji_status_set",ys="emoji_status_failed",qs="emoji_status_access_requested",ks="file_download_requested",Ts="accelerometer_changed",Rs="accelerometer_failed",Bs="accelerometer_started",As="accelerometer_stopped",Ps="biometry_auth_requested",Is="biometry_info_received",Os="biometry_token_updated",xs="device_orientation_changed",Cs="device_orientation_failed",Es="device_orientation_started",Ws="device_orientation_stopped",Ls="fullscreen_changed",js="fullscreen_failed",Gs="gyroscope_changed",Ds="gyroscope_failed",Fs="gyroscope_started",Hs="gyroscope_stopped",Ms="home_screen_added",Ns="home_screen_checked",Us="home_screen_failed",$s="location_checked",Qs="location_requested",Js="secondary_button_pressed",Vs="visibility_changed",zs=((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===ms&&(t.theme_params=R(t.theme_params)),zs.emit(e,t),zs.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const Ks=(e,t)=>{zs.on(e,t)},Xs=(e,t)=>{zs.off(e,t)},Ys=(e,t)=>{zs.once(e,t)};var Zs=Object.freeze({__proto__:null,off:Xs,on:Ks,once:Ys});const ea=()=>{const e=window.location.hash.slice(1);return new URLSearchParams(e).get("tgWebAppData")},ta=l({viewport:void 0,theme:void 0,init:void 0}),sa=e=>{const[t,s]=g({viewport:void 0,theme:void 0,init:void 0});return m((()=>{const e=()=>{s("init",es())};e();const t=t=>{e(),s("viewport",t)};Ks(gs,t),re();const a=t=>{e(),s("theme",t)};return Ks(ms,a),re(),p((()=>{Xs(gs,t),Xs(ms,a)})),()=>{Xs(gs,t),Xs(ms,a)}})),ta.Provider({value:t,children:e.children})};export{zt as BiometricManager,ta as ContextTwa,Ts as EventAccelerometerChanged,Rs as EventAccelerometerFailed,Bs as EventAccelerometerStarted,As as EventAccelerometerStopped,ss as EventBackButtonPressed,Ps as EventBiometryAuthRequested,Is as EventBiometryInfoReceived,Os as EventBiometryTokenUpdated,as as EventClipboardTextReceived,vs as EventContentSafeAreaChanged,os as EventCustomMethodInvoked,xs as EventDeviceOrientationChanged,Cs as EventDeviceOrientationFailed,Es as EventDeviceOrientationStarted,Ws as EventDeviceOrientationStopped,qs as EventEmojiStatusAccessRequested,ys as EventEmojiStatusFailed,fs as EventEmojiStatusSet,ks as EventFileDownloadRequested,Ls as EventFullscreenChanged,js as EventFullscreenFailed,Gs as EventGyroscopeChanged,Ds as EventGyroscopeFailed,Fs as EventGyroscopeStarted,Hs as EventGyroscopeStopped,Ms as EventHomeScreenAdded,Ns as EventHomeScreenChecked,Us as EventHomeScreenFailed,rs as EventInvoiceClosed,$s as EventLocationChecked,Qs as EventLocationRequested,is as EventMainButtonPressed,ns as EventPhoneRequested,ds as EventPopupClosed,Ss as EventPreparedMessageFailed,hs as EventPreparedMessageSent,us as EventQrTextReceived,cs as EventReloadIframe,ws as EventSafeAreaChanged,_s as EventScanQrPopupClosed,Js as EventSecondaryButtonPressed,ps as EventSetCustomStyle,ls as EventSettingsButtonPressed,ms as EventThemeChanged,gs as EventViewportChanged,Vs as EventVisibilityChanged,bs as EventWriteAccessRequested,Qt as Method,Wt as MethodAddToHomeScreen,Lt as MethodCheckHomeScreen,rt as MethodClose,it as MethodCloseScanQrPopup,nt as MethodDataSend,Ct as MethodExitFullscreen,dt as MethodExpand,ct as MethodIframeReady,ut as MethodIframeWillReload,tt as MethodInvokeCustomMethod,_t as MethodOpenInvoice,pt as MethodOpenLink,lt as MethodOpenPopup,st as MethodOpenScanQrPopup,mt as MethodOpenTgLink,at as MethodReadTextFromClipboard,gt as MethodReady,Ot as MethodRequestContentSafeArea,Dt as MethodRequestEmojiStatusAccess,Ft as MethodRequestFileDownload,xt as MethodRequestFullscreen,ot as MethodRequestPhone,It as MethodRequestSafeArea,bt as MethodRequestTheme,wt as MethodRequestViewport,vt as MethodRequestWriteAccess,jt as MethodSendPreparedMessage,ht as MethodSetBackgroundColor,ft as MethodSetBottomBarColor,Gt as MethodSetEmojiStatus,St as MethodSetHeaderColor,yt as MethodSetupBackButton,qt as MethodSetupClosingBehavior,kt as MethodSetupMainButton,Tt as MethodSetupSettingsButton,At as MethodSetupSwipeBehavior,Pt as MethodShareToStory,Rt as MethodSwitchInlineQuery,Et as MethodToggleOrientationLock,Bt as MethodTriggerHapticFeedback,y as NOT_SUPPORTED,sa as ProviderTWA,S as TG_DESKTOP,h as TG_PHONE,v as TG_WEB,je as bridgeAddToHomeScreen,We as bridgeCheckHomeScreen,B as bridgeClose,P as bridgeCloseScanQrPopup,O as bridgeDataSend,Ze as bridgeDownloadFile,C as bridgeExpand,es as bridgeGetInitData,R as bridgeGetThemeParams,W as bridgeIframeReady,j as bridgeIframeWillReload,D as bridgeInvokeCustomMethod,H as bridgeOpenInvoice,N as bridgeOpenLink,$ as bridgeOpenPopup,J as bridgeOpenScanQrPopup,z as bridgeOpenTgLink,X as bridgeReadTextFromClipboard,Z as bridgeReady,He as bridgeRequestContentSafeAreaInset,Je as bridgeRequestEmojiStatus,te as bridgeRequestPhone,De as bridgeRequestSafeAreaInset,ae as bridgeRequestTheme,re as bridgeRequestViewport,ne as bridgeRequestWriteAccess,ts as bridgeSend,Pe as bridgeSessionStorageGet,Be as bridgeSessionStorageSet,ce as bridgeSetBackgroundColor,le as bridgeSetBottomBarColor,ze as bridgeSetEmojiStatus,_e as bridgeSetHeaderColor,ge as bridgeSetupBackButton,we as bridgeSetupClosingBehavior,Ne as bridgeSetupFullScreen,he as bridgeSetupMainButton,$e as bridgeSetupOrientation,fe as bridgeSetupSettingsButton,Oe as bridgeSetupSwipeBehavior,Xe as bridgeShareMessage,Ce as bridgeShareToStory,qe as bridgeSwitchInlineQuery,Te as bridgeTriggerHapticFeedback,w as createIsViewportChanged,Zt as debug,ea as getAppData,f as getPlatform,Zs as listener,ts as sender,Ge as supportAddToHomeScreen,Kt as supportBiometricManager,Le as supportCheckHomeScreen,A as supportClose,I as supportCloseScanQrPopup,x as supportDataSend,et as supportDownloadFile,E as supportExpand,L as supportIframeReady,G as supportIframeWillReload,F as supportInvokeCustomMethod,M as supportOpenInvoice,U as supportOpenLink,Q as supportOpenPopup,V as supportOpenScanQrPopup,K as supportOpenTgLink,Y as supportReadTextFromClipboard,ee as supportReady,Me as supportRequestContentSafeAreaInset,Ve as supportRequestEmojiStatus,se as supportRequestPhone,Fe as supportRequestSafeAreaInset,oe as supportRequestTheme,ie as supportRequestViewport,de as supportRequestWriteAccess,Ie as supportSessionStorageGet,Ae as supportSessionStorageSet,ue as supportSetBackgroundColor,me as supportSetBottomBarColor,Ke as supportSetEmojiStatus,pe as supportSetHeaderColor,be as supportSetupBackButton,ve as supportSetupClosingBehavior,Ue as supportSetupFullScreen,Se as supportSetupMainButton,Qe as supportSetupOrientation,ye as supportSetupSettingsButton,xe as supportSetupSwipeBehavior,Ye as supportShareMessage,Ee as supportShareToStory,ke as supportSwitchInlineQuery,Re as supportTriggerHapticFeedback};
|