@apiteam/twa-bridge 7.0.0-beta.9 → 7.7.0-beta.2
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/react/index.d.ts +60 -43
- package/react/index.js +1 -1
- package/react/index.mjs +1 -1
- package/solid/index.d.ts +60 -43
- package/solid/index.js +1 -1
- package/solid/index.mjs +1 -1
package/package.json
CHANGED
package/react/index.d.ts
CHANGED
|
@@ -606,6 +606,20 @@ declare const sessionStorageGet: SessionStorageGet;
|
|
|
606
606
|
*/
|
|
607
607
|
declare const supportSessionStorageGet: () => boolean;
|
|
608
608
|
|
|
609
|
+
type SetupSwipeBehavior = ({ allow_vertical_swipe, }: {
|
|
610
|
+
allow_vertical_swipe: boolean;
|
|
611
|
+
}) => {
|
|
612
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
613
|
+
};
|
|
614
|
+
/**
|
|
615
|
+
* sessions storage set.
|
|
616
|
+
*/
|
|
617
|
+
declare const setupSwipeBehavior: SetupSwipeBehavior;
|
|
618
|
+
/**
|
|
619
|
+
* Method support check
|
|
620
|
+
*/
|
|
621
|
+
declare const supportSetupSwipeBehavior: () => boolean;
|
|
622
|
+
|
|
609
623
|
type User = {
|
|
610
624
|
/**
|
|
611
625
|
* Optional. True, if this user added the bot to the attachment menu.
|
|
@@ -755,13 +769,13 @@ declare const debug: Debug;
|
|
|
755
769
|
|
|
756
770
|
type EventsData = {
|
|
757
771
|
/**
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
772
|
+
* User clicked the Back Button.
|
|
773
|
+
*/
|
|
774
|
+
back_button_pressed: undefined;
|
|
761
775
|
/**
|
|
762
776
|
* Telegram application attempted to extract text from clipboard.
|
|
763
777
|
*/
|
|
764
|
-
|
|
778
|
+
clipboard_text_received: {
|
|
765
779
|
/**
|
|
766
780
|
* Passed during the web_app_read_text_from_clipboard method invocation req_id value.
|
|
767
781
|
*/
|
|
@@ -772,9 +786,9 @@ type EventsData = {
|
|
|
772
786
|
data?: string | null;
|
|
773
787
|
};
|
|
774
788
|
/**
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
789
|
+
* Custom method invocation completed.
|
|
790
|
+
*/
|
|
791
|
+
custom_method_invoked: {
|
|
778
792
|
/**
|
|
779
793
|
* Unique identifier of this invocation.
|
|
780
794
|
*/
|
|
@@ -789,9 +803,9 @@ type EventsData = {
|
|
|
789
803
|
error?: string;
|
|
790
804
|
};
|
|
791
805
|
/**
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
806
|
+
* An invoice was closed.
|
|
807
|
+
*/
|
|
808
|
+
invoice_closed: {
|
|
795
809
|
/**
|
|
796
810
|
* Passed during the web_app_open_invoice method invocation slug value.
|
|
797
811
|
*/
|
|
@@ -810,22 +824,22 @@ type EventsData = {
|
|
|
810
824
|
status: 'paid' | 'failed' | 'pending' | 'cancelled';
|
|
811
825
|
};
|
|
812
826
|
/**
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
827
|
+
* User clicked the Main Button.
|
|
828
|
+
*/
|
|
829
|
+
main_button_pressed: undefined;
|
|
816
830
|
/**
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
831
|
+
* Application received phone access request status.
|
|
832
|
+
*/
|
|
833
|
+
phone_requested: {
|
|
820
834
|
/**
|
|
821
835
|
* Request status. Can only be sent
|
|
822
836
|
*/
|
|
823
837
|
status: 'sent';
|
|
824
838
|
};
|
|
825
839
|
/**
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
840
|
+
* Popup was closed.
|
|
841
|
+
*/
|
|
842
|
+
popup_closed: {
|
|
829
843
|
/**
|
|
830
844
|
* Optional. Identifier of the clicked button.
|
|
831
845
|
*
|
|
@@ -834,36 +848,36 @@ type EventsData = {
|
|
|
834
848
|
button_id?: string;
|
|
835
849
|
};
|
|
836
850
|
/**
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
851
|
+
* Parent iframe requested current iframe reload.
|
|
852
|
+
*/
|
|
853
|
+
reload_iframe: undefined;
|
|
840
854
|
/**
|
|
841
855
|
* The QR scanner scanned some QR and extracted its content.
|
|
842
856
|
*/
|
|
843
|
-
|
|
857
|
+
qr_text_received: {
|
|
844
858
|
/**
|
|
845
859
|
* Optional. Data extracted from the QR.
|
|
846
860
|
*/
|
|
847
861
|
data?: string;
|
|
848
862
|
};
|
|
849
863
|
/**
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
864
|
+
* QR scanner was closed.
|
|
865
|
+
*/
|
|
866
|
+
scan_qr_popup_closed: undefined;
|
|
853
867
|
/**
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
868
|
+
* The event which is usually sent by the Telegram web application.
|
|
869
|
+
*
|
|
870
|
+
* Its payload represents <style/> tag html content, a developer could use. The stylesheet described in the payload will help the developer to stylize the app scrollbar (but he is still able to do it himself).
|
|
871
|
+
*/
|
|
872
|
+
set_custom_style: undefined;
|
|
859
873
|
/**
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
874
|
+
* Occurs when the Settings Button was pressed.
|
|
875
|
+
*/
|
|
876
|
+
settings_button_pressed: undefined;
|
|
863
877
|
/**
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
878
|
+
* Occurs whenever the theme was changed in the user's Telegram app ( including switching to night mode).
|
|
879
|
+
*/
|
|
880
|
+
theme_changed: {
|
|
867
881
|
/**
|
|
868
882
|
* Map where the key is a theme stylesheet key and value is the corresponding color in #RRGGBB format.
|
|
869
883
|
*/
|
|
@@ -874,7 +888,7 @@ type EventsData = {
|
|
|
874
888
|
*
|
|
875
889
|
* For example, when the user started dragging the application or called the expansion method.
|
|
876
890
|
*/
|
|
877
|
-
|
|
891
|
+
viewport_changed: {
|
|
878
892
|
/**
|
|
879
893
|
* The viewport height.
|
|
880
894
|
*/
|
|
@@ -893,9 +907,9 @@ type EventsData = {
|
|
|
893
907
|
is_state_stable: boolean;
|
|
894
908
|
};
|
|
895
909
|
/**
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
910
|
+
* Application received write access request status.
|
|
911
|
+
*/
|
|
912
|
+
write_access_requested: {
|
|
899
913
|
/**
|
|
900
914
|
* Request status. Can only be allowed.
|
|
901
915
|
*/
|
|
@@ -915,7 +929,7 @@ declare global {
|
|
|
915
929
|
interface Window {
|
|
916
930
|
TelegramWebviewProxy: TelegramWebviewProxy;
|
|
917
931
|
TelegramGameProxy: TelegramGameProxy;
|
|
918
|
-
TelegramGameProxy_receiveEvent: TelegramGameProxy[
|
|
932
|
+
TelegramGameProxy_receiveEvent: TelegramGameProxy['receiveEvent'];
|
|
919
933
|
Telegram: {
|
|
920
934
|
WebView: TelegramGameProxy;
|
|
921
935
|
};
|
|
@@ -934,9 +948,11 @@ declare namespace listener {
|
|
|
934
948
|
export { type listener_EventsData as EventsData, listener_off as off, listener_on as on, listener_once as once };
|
|
935
949
|
}
|
|
936
950
|
|
|
951
|
+
type GetPlatform = () => 'phone' | 'web' | 'desktop';
|
|
937
952
|
declare const TG_WEB = "web";
|
|
938
953
|
declare const TG_PHONE = "phone";
|
|
939
954
|
declare const TG_DESKTOP = "desktop";
|
|
955
|
+
declare const getPlatform: GetPlatform;
|
|
940
956
|
|
|
941
957
|
declare const NOT_SUPPORTED = "not_supported";
|
|
942
958
|
|
|
@@ -966,6 +982,7 @@ declare const MethodSetupMainButton = "web_app_setup_main_button";
|
|
|
966
982
|
declare const MethodSetupSettingsButton = "web_app_setup_settings_button";
|
|
967
983
|
declare const MethodSwitchInlineQuery = "web_app_switch_inline_query";
|
|
968
984
|
declare const MethodTriggerHapticFeedback = "web_app_trigger_haptic_feedback";
|
|
985
|
+
declare const MethodSetupSwipeBehavior = "web_app_setup_swipe_behavior";
|
|
969
986
|
|
|
970
987
|
declare const EventBackButtonPressed = "back_button_pressed";
|
|
971
988
|
declare const EventClipboardTextReceived = "clipboard_text_received";
|
|
@@ -983,4 +1000,4 @@ declare const EventThemeChanged = "theme_changed";
|
|
|
983
1000
|
declare const EventViewportChanged = "viewport_changed";
|
|
984
1001
|
declare const EventWriteAccessRequested = "write_access_requested";
|
|
985
1002
|
|
|
986
|
-
export { EventBackButtonPressed, EventClipboardTextReceived, EventCustomMethodInvoked, EventInvoiceClosed, EventMainButtonPressed, EventPhoneRequested, EventPopupClosed, EventQrTextReceived, EventReloadIframe, EventScanQrPopupClosed, EventSetCustomStyle, EventSettingsButtonPressed, EventThemeChanged, EventViewportChanged, EventWriteAccessRequested, type EventsData, MethodClose, MethodCloseScanQrPopup, MethodDataSend, MethodExpand, MethodIframeReady, MethodIframeWillReload, MethodInvokeCustomMethod, MethodOpenInvoice, MethodOpenLink, MethodOpenPopup, MethodOpenScanQrPopup, MethodOpenTgLink, MethodReadTextFromClipboard, MethodReady, MethodRequestPhone, MethodRequestTheme, MethodRequestViewport, MethodRequestWriteAccess, MethodSetBackgroundColor, MethodSetHeaderColor, MethodSetupBackButton, MethodSetupClosingBehavior, MethodSetupMainButton, MethodSetupSettingsButton, MethodSwitchInlineQuery, MethodTriggerHapticFeedback, NOT_SUPPORTED, TG_DESKTOP, TG_PHONE, TG_WEB, close as bridgeClose, closeScanQrPopup as bridgeCloseScanQrPopup, dataSend as bridgeDataSend, expand as bridgeExpand, getInitData as bridgeGetInitData, iframeReady as bridgeIframeReady, iframeWillReload as bridgeIframeWillReload, invokeCustomMethod as bridgeInvokeCustomMethod, openInvoice as bridgeOpenInvoice, openLink as bridgeOpenLink, openPopup as bridgeOpenPopup, openScanQrPopup as bridgeOpenScanQrPopup, openTgLink as bridgeOpenTgLink, readTextFromClipboard as bridgeReadTextFromClipboard, ready as bridgeReady, requestPhone as bridgeRequestPhone, requestTheme as bridgeRequestTheme, requestViewport as bridgeRequestViewport, requestWriteAccess as bridgeRequestWriteAccess, sessionStorageGet as bridgeSessionStorageGet, sessionStorageSet as bridgeSessionStorageSet, setBackgroundColor as bridgeSetBackgroundColor, setHeaderColor as bridgeSetHeaderColor, setupBackButton as bridgeSetupBackButton, setupClosingBehavior as bridgeSetupClosingBehavior, setupMainButton as bridgeSetupMainButton, setupSettingsButton as bridgeSetupSettingsButton, switchInlineQuery as bridgeSwitchInlineQuery, triggerHapticFeedback as bridgeTriggerHapticFeedback, debug, listener, sender, supportClose, supportCloseScanQrPopup, supportDataSend, supportExpand, supportIframeReady, supportIframeWillReload, supportInvokeCustomMethod, supportOpenInvoice, supportOpenLink, supportOpenPopup, supportOpenScanQrPopup, supportOpenTgLink, supportReadTextFromClipboard, supportReady, supportRequestPhone, supportRequestTheme, supportRequestViewport, supportRequestWriteAccess, supportSessionStorageGet, supportSessionStorageSet, supportSetBackgroundColor, supportSetHeaderColor, supportSetupBackButton, supportSetupClosingBehavior, supportSetupMainButton, supportSetupSettingsButton, supportSwitchInlineQuery, supportTriggerHapticFeedback };
|
|
1003
|
+
export { EventBackButtonPressed, EventClipboardTextReceived, EventCustomMethodInvoked, EventInvoiceClosed, EventMainButtonPressed, EventPhoneRequested, EventPopupClosed, EventQrTextReceived, EventReloadIframe, EventScanQrPopupClosed, EventSetCustomStyle, EventSettingsButtonPressed, EventThemeChanged, EventViewportChanged, EventWriteAccessRequested, type EventsData, MethodClose, MethodCloseScanQrPopup, MethodDataSend, MethodExpand, MethodIframeReady, MethodIframeWillReload, MethodInvokeCustomMethod, MethodOpenInvoice, MethodOpenLink, MethodOpenPopup, MethodOpenScanQrPopup, MethodOpenTgLink, MethodReadTextFromClipboard, MethodReady, MethodRequestPhone, MethodRequestTheme, MethodRequestViewport, MethodRequestWriteAccess, MethodSetBackgroundColor, MethodSetHeaderColor, MethodSetupBackButton, MethodSetupClosingBehavior, MethodSetupMainButton, MethodSetupSettingsButton, MethodSetupSwipeBehavior, MethodSwitchInlineQuery, MethodTriggerHapticFeedback, NOT_SUPPORTED, TG_DESKTOP, TG_PHONE, TG_WEB, close as bridgeClose, closeScanQrPopup as bridgeCloseScanQrPopup, dataSend as bridgeDataSend, expand as bridgeExpand, getInitData as bridgeGetInitData, iframeReady as bridgeIframeReady, iframeWillReload as bridgeIframeWillReload, invokeCustomMethod as bridgeInvokeCustomMethod, openInvoice as bridgeOpenInvoice, openLink as bridgeOpenLink, openPopup as bridgeOpenPopup, openScanQrPopup as bridgeOpenScanQrPopup, openTgLink as bridgeOpenTgLink, readTextFromClipboard as bridgeReadTextFromClipboard, ready as bridgeReady, requestPhone as bridgeRequestPhone, requestTheme as bridgeRequestTheme, requestViewport as bridgeRequestViewport, requestWriteAccess as bridgeRequestWriteAccess, sessionStorageGet as bridgeSessionStorageGet, sessionStorageSet as bridgeSessionStorageSet, setBackgroundColor as bridgeSetBackgroundColor, setHeaderColor as bridgeSetHeaderColor, setupBackButton as bridgeSetupBackButton, setupClosingBehavior as bridgeSetupClosingBehavior, setupMainButton as bridgeSetupMainButton, setupSettingsButton as bridgeSetupSettingsButton, setupSwipeBehavior as bridgeSetupSwipeBehavior, switchInlineQuery as bridgeSwitchInlineQuery, triggerHapticFeedback as bridgeTriggerHapticFeedback, debug, getPlatform, listener, sender, supportClose, supportCloseScanQrPopup, supportDataSend, supportExpand, supportIframeReady, supportIframeWillReload, supportInvokeCustomMethod, supportOpenInvoice, supportOpenLink, supportOpenPopup, supportOpenScanQrPopup, supportOpenTgLink, supportReadTextFromClipboard, supportReady, supportRequestPhone, supportRequestTheme, supportRequestViewport, supportRequestWriteAccess, supportSessionStorageGet, supportSessionStorageSet, supportSetBackgroundColor, supportSetHeaderColor, supportSetupBackButton, supportSetupClosingBehavior, supportSetupMainButton, supportSetupSettingsButton, supportSetupSwipeBehavior, supportSwitchInlineQuery, supportTriggerHapticFeedback };
|
package/react/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";var e=require("debug");const t="web",s="phone",o="desktop",r=()=>{const e=window.location.hash.slice(1),r=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(r)?s:["tdesktop","macos"].includes(r)?o:t},p="not_supported",a=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s)>=e&&-1!==t.indexOf(r())},n=()=>Math.random().toString(36).substring(3,9),i=e=>{var t;if(t=/^\s*#([0-9a-f]{6})\s*$/i.exec(e+=""))return"#"+t[1].toLowerCase();if(t=/^\s*#([0-9a-f])([0-9a-f])([0-9a-f])\s*$/i.exec(e))return("#"+t[1]+t[1]+t[2]+t[2]+t[3]+t[3]).toLowerCase();if(t=/^\s*rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*(\d+\.{0,1}\d*))?\)\s*$/.exec(e)){var s=parseInt(t[1]),o=parseInt(t[2]),r=parseInt(t[3]);return"#"+((s<16?"0":"")+s.toString(16))+((o<16?"0":"")+o.toString(16))+((r<16?"0":"")+r.toString(16))}return!1},u=()=>a(0,[t,o,s]),d=()=>_()?(Q(se),{status:!0}):(D(se,1),{status:p}),_=()=>a(6.4,[s]),c=()=>a(0,[t,o,s]),x=()=>a(0,[s]),g=()=>a(0,[t]),l=()=>a(0,[t]),b="web_app_invoke_custom_method",h=()=>a(6.9,[t,o,s]),w=()=>a(6.1,[t,o,s]),m=()=>a(6.4,[t,o,s]),v=()=>a(6.2,[t,o,s]),S=()=>a(6.4,[s]),f=()=>a(7,[t,o,s]),y=()=>a(6.4,[t,o,s]),M=()=>a(6.9,[t,o,s]),P=()=>a(6.9,[t,o,s]),q=()=>a(0,[t,o,s]),R=()=>a(0,[t,o,s]),k=()=>a(6.9,[t,o,s]),C=()=>a(6.1,[t,o,s]),O=()=>a(6.1,[t,o,s]),E=()=>a(6.1,[t,o,s]),T=()=>a(0,[t,o,s]),B=()=>a(0,[t,o,s]),I=()=>a(6.1,[t,o,s]),W=()=>a(6.7,[t,o,s]),L=()=>a(6.1,[s]),N=()=>a(7.7,[t,o,s]);var D=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)};var Q=(t,s)=>{if(window.TelegramWebviewProxy)window.TelegramWebviewProxy.postEvent(t,JSON.stringify(s));else if(window.external&&"notify"in window.external)window.external.notify(JSON.stringify({eventType:t,eventData:s}));else try{"*",window.parent.postMessage(JSON.stringify({eventType:t,eventData:s}),"*")}catch(t){e("postMessage Iframe",10)}};const A="clipboard_text_received",G="custom_method_invoked",H="phone_requested",J="popup_closed",V="qr_text_received",$="scan_qr_popup_closed",F="theme_changed",U=((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===F&&(t.theme_params=(e=>{"#1c1c1d"==e.bg_color&&e.bg_color==e.secondary_bg_color&&(e.secondary_bg_color="#2c2c2e");const t=window.location.hash.slice(1),s=new URLSearchParams(t);var o=JSON.parse(s.get("tgWebAppThemeParams")??"");for(var r in e){var p=i(e[r]);"string"==typeof p&&(o[r]=p)}return o})(t.theme_params)),U.emit(e,t),U.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const j=(e,t)=>{U.on(e,t)},z=(e,t)=>{U.off(e,t)},K=(e,t)=>{U.once(e,t)};var X=Object.freeze({__proto__:null,off:z,on:j,once:K});const Y="web_app_open_scan_qr_popup",Z="web_app_read_text_from_clipboard",ee="web_app_request_phone",te="web_app_close",se="web_app_close_scan_qr_popup",oe="web_app_data_send",re="web_app_expand",pe="iframe_ready",ae="web_app_open_invoice",ne="web_app_open_link",ie="web_app_open_popup",ue="web_app_open_tg_link",de="web_app_ready",_e="web_app_request_theme",ce="web_app_request_viewport",xe="web_app_request_write_access",ge="web_app_set_background_color",le="web_app_set_header_color",be="web_app_setup_back_button",he="web_app_setup_closing_behavior",we="web_app_setup_main_button",me="web_app_setup_settings_button",ve="web_app_switch_inline_query",Se="web_app_trigger_haptic_feedback",fe="web_app_setup_swipe_behavior";exports.EventBackButtonPressed="back_button_pressed",exports.EventClipboardTextReceived=A,exports.EventCustomMethodInvoked=G,exports.EventInvoiceClosed="invoice_closed",exports.EventMainButtonPressed="main_button_pressed",exports.EventPhoneRequested=H,exports.EventPopupClosed=J,exports.EventQrTextReceived=V,exports.EventReloadIframe="reload_iframe",exports.EventScanQrPopupClosed=$,exports.EventSetCustomStyle="set_custom_style",exports.EventSettingsButtonPressed="settings_button_pressed",exports.EventThemeChanged=F,exports.EventViewportChanged="viewport_changed",exports.EventWriteAccessRequested="write_access_requested",exports.MethodClose=te,exports.MethodCloseScanQrPopup=se,exports.MethodDataSend=oe,exports.MethodExpand=re,exports.MethodIframeReady=pe,exports.MethodIframeWillReload="iframe_will_reload",exports.MethodInvokeCustomMethod="web_app_invoke_custom_method",exports.MethodOpenInvoice=ae,exports.MethodOpenLink=ne,exports.MethodOpenPopup=ie,exports.MethodOpenScanQrPopup=Y,exports.MethodOpenTgLink=ue,exports.MethodReadTextFromClipboard=Z,exports.MethodReady=de,exports.MethodRequestPhone=ee,exports.MethodRequestTheme=_e,exports.MethodRequestViewport=ce,exports.MethodRequestWriteAccess=xe,exports.MethodSetBackgroundColor=ge,exports.MethodSetHeaderColor=le,exports.MethodSetupBackButton=be,exports.MethodSetupClosingBehavior=he,exports.MethodSetupMainButton=we,exports.MethodSetupSettingsButton=me,exports.MethodSetupSwipeBehavior=fe,exports.MethodSwitchInlineQuery=ve,exports.MethodTriggerHapticFeedback=Se,exports.NOT_SUPPORTED=p,exports.TG_DESKTOP=o,exports.TG_PHONE=s,exports.TG_WEB=t,exports.bridgeClose=()=>u()?(Q(te),{status:!0}):(D(te,1),{status:p}),exports.bridgeCloseScanQrPopup=d,exports.bridgeDataSend=e=>c()?(Q(oe,e),{status:!0}):(D(oe,1),{status:p}),exports.bridgeExpand=()=>x()?(Q(re),{status:!0}):(D(re,1),{status:p}),exports.bridgeGetInitData=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return D("getInitData",2),null;const t=new URLSearchParams(e);let s={};return t.forEach(((e,t)=>{if(s[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{s[t]=JSON.parse(e)}catch{}})),s},exports.bridgeIframeReady=e=>g()?(Q(pe,e),{status:!0}):(D(pe,1),{status:p}),exports.bridgeIframeWillReload=()=>l()?(Q(pe),{status:!0}):(D(pe,1),{status:p}),exports.bridgeInvokeCustomMethod=async e=>h()?(void 0===e.req_id&&(e.req_id=n()),Q(b,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),z(G,o))};j(G,o)}))):(D(b,1),{status:p}),exports.bridgeOpenInvoice=e=>w()?(Q(ae,e),{status:!0}):(D(ae,1),{status:p}),exports.bridgeOpenLink=e=>m()?(Q(ne,e),{status:!0}):(D(ne,1),{status:p}),exports.bridgeOpenPopup=async e=>v()?(e.title.length>64&&D(ie,3),e.message.length<1&&D(ie,4),e.message.length>256&&D(ie,5),e.buttons.length<1&&D(ie,6),e.buttons.length>3&&D(ie,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&D(ie,8),Q(ie,e),new Promise(((t,s)=>{const o=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),z(J,o)};j(J,o)}))):(D(ie,1),{status:p}),exports.bridgeOpenScanQrPopup=async e=>S()?(Q(Y,e),new Promise(((t,s)=>{K(V,(s=>{e.is_close&&d(),t({status:!0,data:s})})),K($,(()=>{t({status:"closed"})}))}))):(D(Y,1),{status:p}),exports.bridgeOpenTgLink=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),f()?(Q(ue,e),{status:!0}):(D(ue,1),{status:p})),exports.bridgeReadTextFromClipboard=async e=>y()?(void 0===e.req_id&&(e.req_id=n()),Q(Z,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),z(A,o))};j(A,o)}))):(D(Z,1),{status:p}),exports.bridgeReady=()=>M()?(Q(de),{status:!0}):(D(de,1),{status:p}),exports.bridgeRequestPhone=async()=>P()?(Q(ee),new Promise(((e,t)=>{K(H,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(D(ee,1),{status:p}),exports.bridgeRequestTheme=()=>q()?(Q(_e),{status:!0}):(D(_e,1),{status:p}),exports.bridgeRequestViewport=()=>R()?(Q(ce),{status:!0}):(D(ce,1),{status:p}),exports.bridgeRequestWriteAccess=()=>k()?(Q(xe),{status:!0}):(D(xe,1),{status:p}),exports.bridgeSessionStorageGet=({key:e})=>{try{return{value:JSON.parse(window.sessionStorage.getItem("__telegram__"+e)??""),status:!0}}catch(e){}return{status:!1}},exports.bridgeSessionStorageSet=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(e){}return{status:!1}},exports.bridgeSetBackgroundColor=e=>C()?(Q(ge,e),{status:!0}):(D(ge,1),{status:p}),exports.bridgeSetHeaderColor=e=>O()?(Q(le,e),{status:!0}):(D(le,1),{status:p}),exports.bridgeSetupBackButton=e=>E()?(Q(be,e),{status:!0}):(D(be,1),{status:p}),exports.bridgeSetupClosingBehavior=e=>T()?(Q(he,e),{status:!0}):(D(he,1),{status:p}),exports.bridgeSetupMainButton=e=>B()?(Q(we,e),{status:!0}):(D(we,1),{status:p}),exports.bridgeSetupSettingsButton=e=>I()?(Q(me,e),{status:!0}):(D(me,1),{status:p}),exports.bridgeSetupSwipeBehavior=e=>N()?(Q(fe,e),{status:!0}):(D(fe,1),{status:p}),exports.bridgeSwitchInlineQuery=e=>W()?(e.query.length>256&&D(ve,9),Q(ve,e),{status:!0}):(D(ve,1),{status:p}),exports.bridgeTriggerHapticFeedback=e=>L()?(Q(Se,e),{status:!0}):(D(Se,1),{status:p}),exports.debug=D,exports.getPlatform=r,exports.listener=X,exports.sender=Q,exports.supportClose=u,exports.supportCloseScanQrPopup=_,exports.supportDataSend=c,exports.supportExpand=x,exports.supportIframeReady=g,exports.supportIframeWillReload=l,exports.supportInvokeCustomMethod=h,exports.supportOpenInvoice=w,exports.supportOpenLink=m,exports.supportOpenPopup=v,exports.supportOpenScanQrPopup=S,exports.supportOpenTgLink=f,exports.supportReadTextFromClipboard=y,exports.supportReady=M,exports.supportRequestPhone=P,exports.supportRequestTheme=q,exports.supportRequestViewport=R,exports.supportRequestWriteAccess=k,exports.supportSessionStorageGet=()=>!0,exports.supportSessionStorageSet=()=>!0,exports.supportSetBackgroundColor=C,exports.supportSetHeaderColor=O,exports.supportSetupBackButton=E,exports.supportSetupClosingBehavior=T,exports.supportSetupMainButton=B,exports.supportSetupSettingsButton=I,exports.supportSetupSwipeBehavior=N,exports.supportSwitchInlineQuery=W,exports.supportTriggerHapticFeedback=L;
|
package/react/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
import e from"debug";const t="web",s="phone",a="desktop",r=()=>{const e=window.location.hash.slice(1),r=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(r)?s:["tdesktop","macos"].includes(r)?a:t},o="not_supported",n=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s)>=e&&-1!==t.indexOf(r())},i=()=>Math.random().toString(36).substring(3,9),_=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]),r=parseInt(t[3]);return"#"+((s<16?"0":"")+s.toString(16))+((a<16?"0":"")+a.toString(16))+((r<16?"0":"")+r.toString(16))}return!1},p=()=>u()?(we(Ae),{status:!0}):(be(Ae,1),{status:o}),u=()=>n(0,[t,a,s]),d=()=>c()?(we(Ue),{status:!0}):(be(Ue,1),{status:o}),c=()=>n(6.4,[s]),g=e=>b()?(we(Ge,e),{status:!0}):(be(Ge,1),{status:o}),b=()=>n(0,[t,a,s]),l=()=>w()?(we(Ve),{status:!0}):(be(Ve,1),{status:o}),w=()=>n(0,[s]),m=e=>h()?(we(Qe,e),{status:!0}):(be(Qe,1),{status:o}),h=()=>n(0,[t]),f=()=>v()?(we(Qe),{status:!0}):(be(Qe,1),{status:o}),v=()=>n(0,[t]),S="web_app_invoke_custom_method",y=async e=>q()?(void 0===e.req_id&&(e.req_id=i()),we(S,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),We(fe,a))};Le(fe,a)}))):(be(S,1),{status:o}),q=()=>n(6.9,[t,a,s]),x=e=>k()?(we(He,e),{status:!0}):(be(He,1),{status:o}),k=()=>n(6.1,[t,a,s]),P=e=>O()?(we(je,e),{status:!0}):(be(je,1),{status:o}),O=()=>n(6.4,[t,a,s]),I=async e=>R()?(e.title.length>64&&be(ze,3),e.message.length<1&&be(ze,4),e.message.length>256&&be(ze,5),e.buttons.length<1&&be(ze,6),e.buttons.length>3&&be(ze,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&be(ze,8),we(ze,e),new Promise(((t,s)=>{const a=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),We(qe,a)};Le(qe,a)}))):(be(ze,1),{status:o}),R=()=>n(6.2,[t,a,s]),T=async e=>N()?(we(Je,e),new Promise(((t,s)=>{Ee(ke,(s=>{e.is_close&&d(),t({status:!0,data:s})})),Ee(Pe,(()=>{t({status:"closed"})}))}))):(be(Je,1),{status:o}),N=()=>n(6.4,[s]),C=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),L()?(we(Ke,e),{status:!0}):(be(Ke,1),{status:o})),L=()=>n(7,[t,a,s]),W=async e=>E()?(void 0===e.req_id&&(e.req_id=i()),we($e,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),We(he,a))};Le(he,a)}))):(be($e,1),{status:o}),E=()=>n(6.4,[t,a,s]),B=()=>D()?(we(Xe),{status:!0}):(be(Xe,1),{status:o}),D=()=>n(6.9,[t,a,s]),J=async()=>$()?(we(Me),new Promise(((e,t)=>{Ee(ye,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(be(Me,1),{status:o}),$=()=>n(6.9,[t,a,s]),M=()=>A()?(we(Ye),{status:!0}):(be(Ye,1),{status:o}),A=()=>n(0,[t,a,s]),U=()=>G()?(we(Ze),{status:!0}):(be(Ze,1),{status:o}),G=()=>n(0,[t,a,s]),V=()=>Q()?(we(et),{status:!0}):(be(et,1),{status:o}),Q=()=>n(6.9,[t,a,s]),F=e=>H()?(we(tt,e),{status:!0}):(be(tt,1),{status:o}),H=()=>n(6.1,[t,a,s]),j=e=>z()?(we(st,e),{status:!0}):(be(st,1),{status:o}),z=()=>n(6.1,[t,a,s]),K=e=>X()?(we(at,e),{status:!0}):(be(at,1),{status:o}),X=()=>n(6.1,[t,a,s]),Y=e=>Z()?(we(rt,e),{status:!0}):(be(rt,1),{status:o}),Z=()=>n(0,[t,a,s]),ee=e=>te()?(we(ot,e),{status:!0}):(be(ot,1),{status:o}),te=()=>n(0,[t,a,s]),se=e=>ae()?(we(nt,e),{status:!0}):(be(nt,1),{status:o}),ae=()=>n(6.1,[t,a,s]),re=e=>oe()?(e.query.length>256&&be(it,9),we(it,e),{status:!0}):(be(it,1),{status:o}),oe=()=>n(6.7,[t,a,s]),ne=e=>ie()?(we(_t,e),{status:!0}):(be(_t,1),{status:o}),ie=()=>n(6.1,[s]),_e=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(e){}return{status:!1}},pe=()=>!0,ue=({key:e})=>{try{return{value:JSON.parse(window.sessionStorage.getItem("__telegram__"+e)??""),status:!0}}catch(e){}return{status:!1}},de=()=>!0,ce=e=>ge()?(we(pt,e),{status:!0}):(be(pt,1),{status:o}),ge=()=>n(7.7,[t,a,s]);var be=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)};const le=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return be("getInitData",2),null;const t=new URLSearchParams(e);let s={};return t.forEach(((e,t)=>{if(s[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{s[t]=JSON.parse(e)}catch{}})),s};var we=(t,s)=>{if(window.TelegramWebviewProxy)window.TelegramWebviewProxy.postEvent(t,JSON.stringify(s));else if(window.external&&"notify"in window.external)window.external.notify(JSON.stringify({eventType:t,eventData:s}));else try{"*",window.parent.postMessage(JSON.stringify({eventType:t,eventData:s}),"*")}catch(t){e("postMessage Iframe",10)}};const me="back_button_pressed",he="clipboard_text_received",fe="custom_method_invoked",ve="invoice_closed",Se="main_button_pressed",ye="phone_requested",qe="popup_closed",xe="reload_iframe",ke="qr_text_received",Pe="scan_qr_popup_closed",Oe="set_custom_style",Ie="settings_button_pressed",Re="theme_changed",Te="viewport_changed",Ne="write_access_requested",Ce=((e=new Map)=>({once:(t,s,a=e.get(t),r=(e=>{s(e),a&&a.splice(a.indexOf(s)>>>0,1)}))=>a?a.push(r):e.set(t,[r]),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===Re&&(t.theme_params=(e=>{"#1c1c1d"==e.bg_color&&e.bg_color==e.secondary_bg_color&&(e.secondary_bg_color="#2c2c2e");const t=window.location.hash.slice(1),s=new URLSearchParams(t);var a=JSON.parse(s.get("tgWebAppThemeParams")??"");for(var r in e){var o=_(e[r]);"string"==typeof o&&(a[r]=o)}return a})(t.theme_params)),Ce.emit(e,t),Ce.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const Le=(e,t)=>{Ce.on(e,t)},We=(e,t)=>{Ce.off(e,t)},Ee=(e,t)=>{Ce.once(e,t)};var Be=Object.freeze({__proto__:null,off:We,on:Le,once:Ee});const De="web_app_invoke_custom_method",Je="web_app_open_scan_qr_popup",$e="web_app_read_text_from_clipboard",Me="web_app_request_phone",Ae="web_app_close",Ue="web_app_close_scan_qr_popup",Ge="web_app_data_send",Ve="web_app_expand",Qe="iframe_ready",Fe="iframe_will_reload",He="web_app_open_invoice",je="web_app_open_link",ze="web_app_open_popup",Ke="web_app_open_tg_link",Xe="web_app_ready",Ye="web_app_request_theme",Ze="web_app_request_viewport",et="web_app_request_write_access",tt="web_app_set_background_color",st="web_app_set_header_color",at="web_app_setup_back_button",rt="web_app_setup_closing_behavior",ot="web_app_setup_main_button",nt="web_app_setup_settings_button",it="web_app_switch_inline_query",_t="web_app_trigger_haptic_feedback",pt="web_app_setup_swipe_behavior";export{me as EventBackButtonPressed,he as EventClipboardTextReceived,fe as EventCustomMethodInvoked,ve as EventInvoiceClosed,Se as EventMainButtonPressed,ye as EventPhoneRequested,qe as EventPopupClosed,ke as EventQrTextReceived,xe as EventReloadIframe,Pe as EventScanQrPopupClosed,Oe as EventSetCustomStyle,Ie as EventSettingsButtonPressed,Re as EventThemeChanged,Te as EventViewportChanged,Ne as EventWriteAccessRequested,Ae as MethodClose,Ue as MethodCloseScanQrPopup,Ge as MethodDataSend,Ve as MethodExpand,Qe as MethodIframeReady,Fe as MethodIframeWillReload,De as MethodInvokeCustomMethod,He as MethodOpenInvoice,je as MethodOpenLink,ze as MethodOpenPopup,Je as MethodOpenScanQrPopup,Ke as MethodOpenTgLink,$e as MethodReadTextFromClipboard,Xe as MethodReady,Me as MethodRequestPhone,Ye as MethodRequestTheme,Ze as MethodRequestViewport,et as MethodRequestWriteAccess,tt as MethodSetBackgroundColor,st as MethodSetHeaderColor,at as MethodSetupBackButton,rt as MethodSetupClosingBehavior,ot as MethodSetupMainButton,nt as MethodSetupSettingsButton,pt as MethodSetupSwipeBehavior,it as MethodSwitchInlineQuery,_t as MethodTriggerHapticFeedback,o as NOT_SUPPORTED,a as TG_DESKTOP,s as TG_PHONE,t as TG_WEB,p as bridgeClose,d as bridgeCloseScanQrPopup,g as bridgeDataSend,l as bridgeExpand,le as bridgeGetInitData,m as bridgeIframeReady,f as bridgeIframeWillReload,y as bridgeInvokeCustomMethod,x as bridgeOpenInvoice,P as bridgeOpenLink,I as bridgeOpenPopup,T as bridgeOpenScanQrPopup,C as bridgeOpenTgLink,W as bridgeReadTextFromClipboard,B as bridgeReady,J as bridgeRequestPhone,M as bridgeRequestTheme,U as bridgeRequestViewport,V as bridgeRequestWriteAccess,ue as bridgeSessionStorageGet,_e as bridgeSessionStorageSet,F as bridgeSetBackgroundColor,j as bridgeSetHeaderColor,K as bridgeSetupBackButton,Y as bridgeSetupClosingBehavior,ee as bridgeSetupMainButton,se as bridgeSetupSettingsButton,ce as bridgeSetupSwipeBehavior,re as bridgeSwitchInlineQuery,ne as bridgeTriggerHapticFeedback,be as debug,r as getPlatform,Be as listener,we as sender,u as supportClose,c as supportCloseScanQrPopup,b as supportDataSend,w as supportExpand,h as supportIframeReady,v as supportIframeWillReload,q as supportInvokeCustomMethod,k as supportOpenInvoice,O as supportOpenLink,R as supportOpenPopup,N as supportOpenScanQrPopup,L as supportOpenTgLink,E as supportReadTextFromClipboard,D as supportReady,$ as supportRequestPhone,A as supportRequestTheme,G as supportRequestViewport,Q as supportRequestWriteAccess,de as supportSessionStorageGet,pe as supportSessionStorageSet,H as supportSetBackgroundColor,z as supportSetHeaderColor,X as supportSetupBackButton,Z as supportSetupClosingBehavior,te as supportSetupMainButton,ae as supportSetupSettingsButton,ge as supportSetupSwipeBehavior,oe as supportSwitchInlineQuery,ie as supportTriggerHapticFeedback};
|
package/solid/index.d.ts
CHANGED
|
@@ -615,6 +615,20 @@ declare const sessionStorageGet: SessionStorageGet;
|
|
|
615
615
|
*/
|
|
616
616
|
declare const supportSessionStorageGet: () => boolean;
|
|
617
617
|
|
|
618
|
+
type SetupSwipeBehavior = ({ allow_vertical_swipe, }: {
|
|
619
|
+
allow_vertical_swipe: boolean;
|
|
620
|
+
}) => {
|
|
621
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
622
|
+
};
|
|
623
|
+
/**
|
|
624
|
+
* sessions storage set.
|
|
625
|
+
*/
|
|
626
|
+
declare const setupSwipeBehavior: SetupSwipeBehavior;
|
|
627
|
+
/**
|
|
628
|
+
* Method support check
|
|
629
|
+
*/
|
|
630
|
+
declare const supportSetupSwipeBehavior: () => boolean;
|
|
631
|
+
|
|
618
632
|
type User = {
|
|
619
633
|
/**
|
|
620
634
|
* Optional. True, if this user added the bot to the attachment menu.
|
|
@@ -764,13 +778,13 @@ declare const debug: Debug;
|
|
|
764
778
|
|
|
765
779
|
type EventsData = {
|
|
766
780
|
/**
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
781
|
+
* User clicked the Back Button.
|
|
782
|
+
*/
|
|
783
|
+
back_button_pressed: undefined;
|
|
770
784
|
/**
|
|
771
785
|
* Telegram application attempted to extract text from clipboard.
|
|
772
786
|
*/
|
|
773
|
-
|
|
787
|
+
clipboard_text_received: {
|
|
774
788
|
/**
|
|
775
789
|
* Passed during the web_app_read_text_from_clipboard method invocation req_id value.
|
|
776
790
|
*/
|
|
@@ -781,9 +795,9 @@ type EventsData = {
|
|
|
781
795
|
data?: string | null;
|
|
782
796
|
};
|
|
783
797
|
/**
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
798
|
+
* Custom method invocation completed.
|
|
799
|
+
*/
|
|
800
|
+
custom_method_invoked: {
|
|
787
801
|
/**
|
|
788
802
|
* Unique identifier of this invocation.
|
|
789
803
|
*/
|
|
@@ -798,9 +812,9 @@ type EventsData = {
|
|
|
798
812
|
error?: string;
|
|
799
813
|
};
|
|
800
814
|
/**
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
815
|
+
* An invoice was closed.
|
|
816
|
+
*/
|
|
817
|
+
invoice_closed: {
|
|
804
818
|
/**
|
|
805
819
|
* Passed during the web_app_open_invoice method invocation slug value.
|
|
806
820
|
*/
|
|
@@ -819,22 +833,22 @@ type EventsData = {
|
|
|
819
833
|
status: 'paid' | 'failed' | 'pending' | 'cancelled';
|
|
820
834
|
};
|
|
821
835
|
/**
|
|
822
|
-
|
|
823
|
-
|
|
824
|
-
|
|
836
|
+
* User clicked the Main Button.
|
|
837
|
+
*/
|
|
838
|
+
main_button_pressed: undefined;
|
|
825
839
|
/**
|
|
826
|
-
|
|
827
|
-
|
|
828
|
-
|
|
840
|
+
* Application received phone access request status.
|
|
841
|
+
*/
|
|
842
|
+
phone_requested: {
|
|
829
843
|
/**
|
|
830
844
|
* Request status. Can only be sent
|
|
831
845
|
*/
|
|
832
846
|
status: 'sent';
|
|
833
847
|
};
|
|
834
848
|
/**
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
849
|
+
* Popup was closed.
|
|
850
|
+
*/
|
|
851
|
+
popup_closed: {
|
|
838
852
|
/**
|
|
839
853
|
* Optional. Identifier of the clicked button.
|
|
840
854
|
*
|
|
@@ -843,36 +857,36 @@ type EventsData = {
|
|
|
843
857
|
button_id?: string;
|
|
844
858
|
};
|
|
845
859
|
/**
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
860
|
+
* Parent iframe requested current iframe reload.
|
|
861
|
+
*/
|
|
862
|
+
reload_iframe: undefined;
|
|
849
863
|
/**
|
|
850
864
|
* The QR scanner scanned some QR and extracted its content.
|
|
851
865
|
*/
|
|
852
|
-
|
|
866
|
+
qr_text_received: {
|
|
853
867
|
/**
|
|
854
868
|
* Optional. Data extracted from the QR.
|
|
855
869
|
*/
|
|
856
870
|
data?: string;
|
|
857
871
|
};
|
|
858
872
|
/**
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
873
|
+
* QR scanner was closed.
|
|
874
|
+
*/
|
|
875
|
+
scan_qr_popup_closed: undefined;
|
|
862
876
|
/**
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
877
|
+
* The event which is usually sent by the Telegram web application.
|
|
878
|
+
*
|
|
879
|
+
* Its payload represents <style/> tag html content, a developer could use. The stylesheet described in the payload will help the developer to stylize the app scrollbar (but he is still able to do it himself).
|
|
880
|
+
*/
|
|
881
|
+
set_custom_style: undefined;
|
|
868
882
|
/**
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
883
|
+
* Occurs when the Settings Button was pressed.
|
|
884
|
+
*/
|
|
885
|
+
settings_button_pressed: undefined;
|
|
872
886
|
/**
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
887
|
+
* Occurs whenever the theme was changed in the user's Telegram app ( including switching to night mode).
|
|
888
|
+
*/
|
|
889
|
+
theme_changed: {
|
|
876
890
|
/**
|
|
877
891
|
* Map where the key is a theme stylesheet key and value is the corresponding color in #RRGGBB format.
|
|
878
892
|
*/
|
|
@@ -883,7 +897,7 @@ type EventsData = {
|
|
|
883
897
|
*
|
|
884
898
|
* For example, when the user started dragging the application or called the expansion method.
|
|
885
899
|
*/
|
|
886
|
-
|
|
900
|
+
viewport_changed: {
|
|
887
901
|
/**
|
|
888
902
|
* The viewport height.
|
|
889
903
|
*/
|
|
@@ -902,9 +916,9 @@ type EventsData = {
|
|
|
902
916
|
is_state_stable: boolean;
|
|
903
917
|
};
|
|
904
918
|
/**
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
919
|
+
* Application received write access request status.
|
|
920
|
+
*/
|
|
921
|
+
write_access_requested: {
|
|
908
922
|
/**
|
|
909
923
|
* Request status. Can only be allowed.
|
|
910
924
|
*/
|
|
@@ -924,7 +938,7 @@ declare global {
|
|
|
924
938
|
interface Window {
|
|
925
939
|
TelegramWebviewProxy: TelegramWebviewProxy;
|
|
926
940
|
TelegramGameProxy: TelegramGameProxy;
|
|
927
|
-
TelegramGameProxy_receiveEvent: TelegramGameProxy[
|
|
941
|
+
TelegramGameProxy_receiveEvent: TelegramGameProxy['receiveEvent'];
|
|
928
942
|
Telegram: {
|
|
929
943
|
WebView: TelegramGameProxy;
|
|
930
944
|
};
|
|
@@ -943,9 +957,11 @@ declare namespace listener {
|
|
|
943
957
|
export { type listener_EventsData as EventsData, listener_off as off, listener_on as on, listener_once as once };
|
|
944
958
|
}
|
|
945
959
|
|
|
960
|
+
type GetPlatform = () => 'phone' | 'web' | 'desktop';
|
|
946
961
|
declare const TG_WEB = "web";
|
|
947
962
|
declare const TG_PHONE = "phone";
|
|
948
963
|
declare const TG_DESKTOP = "desktop";
|
|
964
|
+
declare const getPlatform: GetPlatform;
|
|
949
965
|
|
|
950
966
|
declare const NOT_SUPPORTED = "not_supported";
|
|
951
967
|
|
|
@@ -975,6 +991,7 @@ declare const MethodSetupMainButton = "web_app_setup_main_button";
|
|
|
975
991
|
declare const MethodSetupSettingsButton = "web_app_setup_settings_button";
|
|
976
992
|
declare const MethodSwitchInlineQuery = "web_app_switch_inline_query";
|
|
977
993
|
declare const MethodTriggerHapticFeedback = "web_app_trigger_haptic_feedback";
|
|
994
|
+
declare const MethodSetupSwipeBehavior = "web_app_setup_swipe_behavior";
|
|
978
995
|
|
|
979
996
|
declare const EventBackButtonPressed = "back_button_pressed";
|
|
980
997
|
declare const EventClipboardTextReceived = "clipboard_text_received";
|
|
@@ -992,4 +1009,4 @@ declare const EventThemeChanged = "theme_changed";
|
|
|
992
1009
|
declare const EventViewportChanged = "viewport_changed";
|
|
993
1010
|
declare const EventWriteAccessRequested = "write_access_requested";
|
|
994
1011
|
|
|
995
|
-
export { EventBackButtonPressed, EventClipboardTextReceived, EventCustomMethodInvoked, EventInvoiceClosed, EventMainButtonPressed, EventPhoneRequested, EventPopupClosed, EventQrTextReceived, EventReloadIframe, EventScanQrPopupClosed, EventSetCustomStyle, EventSettingsButtonPressed, EventThemeChanged, EventViewportChanged, EventWriteAccessRequested, type EventsData, MethodClose, MethodCloseScanQrPopup, MethodDataSend, MethodExpand, MethodIframeReady, MethodIframeWillReload, MethodInvokeCustomMethod, MethodOpenInvoice, MethodOpenLink, MethodOpenPopup, MethodOpenScanQrPopup, MethodOpenTgLink, MethodReadTextFromClipboard, MethodReady, MethodRequestPhone, MethodRequestTheme, MethodRequestViewport, MethodRequestWriteAccess, MethodSetBackgroundColor, MethodSetHeaderColor, MethodSetupBackButton, MethodSetupClosingBehavior, MethodSetupMainButton, MethodSetupSettingsButton, MethodSwitchInlineQuery, MethodTriggerHapticFeedback, NOT_SUPPORTED, TG_DESKTOP, TG_PHONE, TG_WEB, close as bridgeClose, closeScanQrPopup as bridgeCloseScanQrPopup, dataSend as bridgeDataSend, expand as bridgeExpand, getInitData as bridgeGetInitData, iframeReady as bridgeIframeReady, iframeWillReload as bridgeIframeWillReload, invokeCustomMethod as bridgeInvokeCustomMethod, openInvoice as bridgeOpenInvoice, openLink as bridgeOpenLink, openPopup as bridgeOpenPopup, openScanQrPopup as bridgeOpenScanQrPopup, openTgLink as bridgeOpenTgLink, readTextFromClipboard as bridgeReadTextFromClipboard, ready as bridgeReady, requestPhone as bridgeRequestPhone, requestTheme as bridgeRequestTheme, requestViewport as bridgeRequestViewport, requestWriteAccess as bridgeRequestWriteAccess, sessionStorageGet as bridgeSessionStorageGet, sessionStorageSet as bridgeSessionStorageSet, setBackgroundColor as bridgeSetBackgroundColor, setHeaderColor as bridgeSetHeaderColor, setupBackButton as bridgeSetupBackButton, setupClosingBehavior as bridgeSetupClosingBehavior, setupMainButton as bridgeSetupMainButton, setupSettingsButton as bridgeSetupSettingsButton, switchInlineQuery as bridgeSwitchInlineQuery, triggerHapticFeedback as bridgeTriggerHapticFeedback, createIsViewportChanged, debug, listener, sender, supportClose, supportCloseScanQrPopup, supportDataSend, supportExpand, supportIframeReady, supportIframeWillReload, supportInvokeCustomMethod, supportOpenInvoice, supportOpenLink, supportOpenPopup, supportOpenScanQrPopup, supportOpenTgLink, supportReadTextFromClipboard, supportReady, supportRequestPhone, supportRequestTheme, supportRequestViewport, supportRequestWriteAccess, supportSessionStorageGet, supportSessionStorageSet, supportSetBackgroundColor, supportSetHeaderColor, supportSetupBackButton, supportSetupClosingBehavior, supportSetupMainButton, supportSetupSettingsButton, supportSwitchInlineQuery, supportTriggerHapticFeedback };
|
|
1012
|
+
export { EventBackButtonPressed, EventClipboardTextReceived, EventCustomMethodInvoked, EventInvoiceClosed, EventMainButtonPressed, EventPhoneRequested, EventPopupClosed, EventQrTextReceived, EventReloadIframe, EventScanQrPopupClosed, EventSetCustomStyle, EventSettingsButtonPressed, EventThemeChanged, EventViewportChanged, EventWriteAccessRequested, type EventsData, MethodClose, MethodCloseScanQrPopup, MethodDataSend, MethodExpand, MethodIframeReady, MethodIframeWillReload, MethodInvokeCustomMethod, MethodOpenInvoice, MethodOpenLink, MethodOpenPopup, MethodOpenScanQrPopup, MethodOpenTgLink, MethodReadTextFromClipboard, MethodReady, MethodRequestPhone, MethodRequestTheme, MethodRequestViewport, MethodRequestWriteAccess, MethodSetBackgroundColor, MethodSetHeaderColor, MethodSetupBackButton, MethodSetupClosingBehavior, MethodSetupMainButton, MethodSetupSettingsButton, MethodSetupSwipeBehavior, MethodSwitchInlineQuery, MethodTriggerHapticFeedback, NOT_SUPPORTED, TG_DESKTOP, TG_PHONE, TG_WEB, close as bridgeClose, closeScanQrPopup as bridgeCloseScanQrPopup, dataSend as bridgeDataSend, expand as bridgeExpand, getInitData as bridgeGetInitData, iframeReady as bridgeIframeReady, iframeWillReload as bridgeIframeWillReload, invokeCustomMethod as bridgeInvokeCustomMethod, openInvoice as bridgeOpenInvoice, openLink as bridgeOpenLink, openPopup as bridgeOpenPopup, openScanQrPopup as bridgeOpenScanQrPopup, openTgLink as bridgeOpenTgLink, readTextFromClipboard as bridgeReadTextFromClipboard, ready as bridgeReady, requestPhone as bridgeRequestPhone, requestTheme as bridgeRequestTheme, requestViewport as bridgeRequestViewport, requestWriteAccess as bridgeRequestWriteAccess, sessionStorageGet as bridgeSessionStorageGet, sessionStorageSet as bridgeSessionStorageSet, setBackgroundColor as bridgeSetBackgroundColor, setHeaderColor as bridgeSetHeaderColor, setupBackButton as bridgeSetupBackButton, setupClosingBehavior as bridgeSetupClosingBehavior, setupMainButton as bridgeSetupMainButton, setupSettingsButton as bridgeSetupSettingsButton, setupSwipeBehavior as bridgeSetupSwipeBehavior, switchInlineQuery as bridgeSwitchInlineQuery, triggerHapticFeedback as bridgeTriggerHapticFeedback, createIsViewportChanged, debug, getPlatform, listener, sender, supportClose, supportCloseScanQrPopup, supportDataSend, supportExpand, supportIframeReady, supportIframeWillReload, supportInvokeCustomMethod, supportOpenInvoice, supportOpenLink, supportOpenPopup, supportOpenScanQrPopup, supportOpenTgLink, supportReadTextFromClipboard, supportReady, supportRequestPhone, supportRequestTheme, supportRequestViewport, supportRequestWriteAccess, supportSessionStorageGet, supportSessionStorageSet, supportSetBackgroundColor, supportSetHeaderColor, supportSetupBackButton, supportSetupClosingBehavior, supportSetupMainButton, supportSetupSettingsButton, supportSetupSwipeBehavior, supportSwitchInlineQuery, supportTriggerHapticFeedback };
|
package/solid/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("solid-js");const t="web",s="phone",o="desktop",r="not_supported",p=(e,r)=>{const p=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(p)>=e&&-1!==r.indexOf((()=>{const e=window.location.hash.slice(1),r=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(r)?s:["tdesktop","macos"].includes(r)?o:t})())},a=()=>Math.random().toString(36).substring(3,9),n=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},i=()=>p(0,[t,o,s]),u=()=>d()?(Q(te),{status:!0}):(L(te,1),{status:r}),d=()=>p(6.4,[s]),_=()=>p(0,[t,o,s]),c=()=>p(0,[s]),x=()=>p(0,[t]),g=()=>p(0,[t]),l="web_app_invoke_custom_method",b=()=>p(6.9,[t,o,s]),h=()=>p(6.1,[t,o,s]),w=()=>p(6.4,[t,o,s]),m=()=>p(6.2,[t,o,s]),v=()=>p(6.4,[s]),S=()=>p(7,[t,o,s]),f=()=>p(6.4,[t,o,s]),y=()=>p(6.9,[t,o,s]),P=()=>p(6.9,[t,o,s]),M=()=>p(0,[t,o,s]),q=()=>p(0,[t,o,s]),R=()=>p(6.9,[t,o,s]),k=()=>p(6.1,[t,o,s]),C=()=>p(6.1,[t,o,s]),E=()=>p(6.1,[t,o,s]),O=()=>p(0,[t,o,s]),T=()=>p(0,[t,o,s]),I=()=>p(6.1,[t,o,s]),B=()=>p(6.7,[t,o,s]),W=()=>p(6.1,[s]);var L=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)};var Q=(e,t)=>{window.TelegramWebviewProxy?window.TelegramWebviewProxy.postEvent(e,JSON.stringify(t)):window.external&&"notify"in window.external&&window.external.notify(JSON.stringify({eventType:e,eventData:t}))};const D="clipboard_text_received",N="custom_method_invoked",A="phone_requested",G="popup_closed",V="qr_text_received",H="scan_qr_popup_closed",$="theme_changed",F="viewport_changed",U=((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===$&&(t.theme_params=(e=>{"#1c1c1d"==e.bg_color&&e.bg_color==e.secondary_bg_color&&(e.secondary_bg_color="#2c2c2e");const t=window.location.hash.slice(1),s=new URLSearchParams(t);var o=JSON.parse(s.get("tgWebAppThemeParams")??"");for(var r in e){var p=n(e[r]);"string"==typeof p&&(o[r]=p)}return o})(t.theme_params)),U.emit(e,t),U.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const J=(e,t)=>{U.on(e,t)},j=(e,t)=>{U.off(e,t)},z=(e,t)=>{U.once(e,t)};var K=Object.freeze({__proto__:null,off:j,on:J,once:z});const X="web_app_open_scan_qr_popup",Y="web_app_read_text_from_clipboard",Z="web_app_request_phone",ee="web_app_close",te="web_app_close_scan_qr_popup",se="web_app_data_send",oe="web_app_expand",re="iframe_ready",pe="web_app_open_invoice",ae="web_app_open_link",ne="web_app_open_popup",ie="web_app_open_tg_link",ue="web_app_ready",de="web_app_request_theme",_e="web_app_request_viewport",ce="web_app_request_write_access",xe="web_app_set_background_color",ge="web_app_set_header_color",le="web_app_setup_back_button",be="web_app_setup_closing_behavior",he="web_app_setup_main_button",we="web_app_setup_settings_button",me="web_app_switch_inline_query",ve="web_app_trigger_haptic_feedback";exports.EventBackButtonPressed="back_button_pressed",exports.EventClipboardTextReceived=D,exports.EventCustomMethodInvoked=N,exports.EventInvoiceClosed="invoice_closed",exports.EventMainButtonPressed="main_button_pressed",exports.EventPhoneRequested=A,exports.EventPopupClosed=G,exports.EventQrTextReceived=V,exports.EventReloadIframe="reload_iframe",exports.EventScanQrPopupClosed=H,exports.EventSetCustomStyle="set_custom_style",exports.EventSettingsButtonPressed="settings_button_pressed",exports.EventThemeChanged=$,exports.EventViewportChanged=F,exports.EventWriteAccessRequested="write_access_requested",exports.MethodClose=ee,exports.MethodCloseScanQrPopup=te,exports.MethodDataSend=se,exports.MethodExpand=oe,exports.MethodIframeReady=re,exports.MethodIframeWillReload="iframe_will_reload",exports.MethodInvokeCustomMethod="web_app_invoke_custom_method",exports.MethodOpenInvoice=pe,exports.MethodOpenLink=ae,exports.MethodOpenPopup=ne,exports.MethodOpenScanQrPopup=X,exports.MethodOpenTgLink=ie,exports.MethodReadTextFromClipboard=Y,exports.MethodReady=ue,exports.MethodRequestPhone=Z,exports.MethodRequestTheme=de,exports.MethodRequestViewport=_e,exports.MethodRequestWriteAccess=ce,exports.MethodSetBackgroundColor=xe,exports.MethodSetHeaderColor=ge,exports.MethodSetupBackButton=le,exports.MethodSetupClosingBehavior=be,exports.MethodSetupMainButton=he,exports.MethodSetupSettingsButton=we,exports.MethodSwitchInlineQuery=me,exports.MethodTriggerHapticFeedback=ve,exports.NOT_SUPPORTED=r,exports.TG_DESKTOP=o,exports.TG_PHONE=s,exports.TG_WEB=t,exports.bridgeClose=()=>i()?(Q(ee),{status:!0}):(L(ee,1),{status:r}),exports.bridgeCloseScanQrPopup=u,exports.bridgeDataSend=e=>_()?(Q(se,e),{status:!0}):(L(se,1),{status:r}),exports.bridgeExpand=()=>c()?(Q(oe),{status:!0}):(L(oe,1),{status:r}),exports.bridgeGetInitData=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return L("getInitData",2),null;const t=new URLSearchParams(e);let s={};return t.forEach(((e,t)=>{if(s[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{s[t]=JSON.parse(e)}catch{}})),s},exports.bridgeIframeReady=e=>x()?(Q(re,e),{status:!0}):(L(re,1),{status:r}),exports.bridgeIframeWillReload=()=>g()?(Q(re),{status:!0}):(L(re,1),{status:r}),exports.bridgeInvokeCustomMethod=async e=>b()?(void 0===e.req_id&&(e.req_id=a()),Q(l,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),j(N,o))};J(N,o)}))):(L(l,1),{status:r}),exports.bridgeOpenInvoice=e=>h()?(Q(pe,e),{status:!0}):(L(pe,1),{status:r}),exports.bridgeOpenLink=e=>w()?(Q(ae,e),{status:!0}):(L(ae,1),{status:r}),exports.bridgeOpenPopup=async e=>m()?(e.title.length>64&&L(ne,3),e.message.length<1&&L(ne,4),e.message.length>256&&L(ne,5),e.buttons.length<1&&L(ne,6),e.buttons.length>3&&L(ne,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&L(ne,8),Q(ne,e),new Promise(((t,s)=>{const o=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),j(G,o)};J(G,o)}))):(L(ne,1),{status:r}),exports.bridgeOpenScanQrPopup=async e=>v()?(Q(X,e),new Promise(((t,s)=>{z(V,(s=>{e.is_close&&u(),t({status:!0,data:s})})),z(H,(()=>{t({status:"closed"})}))}))):(L(X,1),{status:r}),exports.bridgeOpenTgLink=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),S()?(Q(ie,e),{status:!0}):(L(ie,1),{status:r})),exports.bridgeReadTextFromClipboard=async e=>f()?(void 0===e.req_id&&(e.req_id=a()),Q(Y,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),j(D,o))};J(D,o)}))):(L(Y,1),{status:r}),exports.bridgeReady=()=>y()?(Q(ue),{status:!0}):(L(ue,1),{status:r}),exports.bridgeRequestPhone=async()=>P()?(Q(Z),new Promise(((e,t)=>{z(A,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(L(Z,1),{status:r}),exports.bridgeRequestTheme=()=>M()?(Q(de),{status:!0}):(L(de,1),{status:r}),exports.bridgeRequestViewport=()=>q()?(Q(_e),{status:!0}):(L(_e,1),{status:r}),exports.bridgeRequestWriteAccess=()=>R()?(Q(ce),{status:!0}):(L(ce,1),{status:r}),exports.bridgeSessionStorageGet=({key:e})=>{try{return{value:window.sessionStorage.getItem("__telegram__"+e),status:!0}}catch(e){}return{status:!1}},exports.bridgeSessionStorageSet=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(e){}return{status:!1}},exports.bridgeSetBackgroundColor=e=>k()?(Q(xe,e),{status:!0}):(L(xe,1),{status:r}),exports.bridgeSetHeaderColor=e=>C()?(Q(ge,e),{status:!0}):(L(ge,1),{status:r}),exports.bridgeSetupBackButton=e=>E()?(Q(le,e),{status:!0}):(L(le,1),{status:r}),exports.bridgeSetupClosingBehavior=e=>O()?(Q(be,e),{status:!0}):(L(be,1),{status:r}),exports.bridgeSetupMainButton=e=>T()?(Q(he,e),{status:!0}):(L(he,1),{status:r}),exports.bridgeSetupSettingsButton=e=>I()?(Q(we,e),{status:!0}):(L(we,1),{status:r}),exports.bridgeSwitchInlineQuery=e=>B()?(e.query.length>256&&L(me,9),Q(me,e),{status:!0}):(L(me,1),{status:r}),exports.bridgeTriggerHapticFeedback=e=>W()?(Q(ve,e),{status:!0}):(L(ve,1),{status:r}),exports.createIsViewportChanged=()=>{const[t,s]=e.createSignal({height:0,is_expanded:!1,is_state_stable:!1}),o=e=>s(e);return e.onMount((()=>{J(F,o),Q(_e)})),e.onCleanup((()=>{j(F,o)})),t},exports.debug=L,exports.listener=K,exports.sender=Q,exports.supportClose=i,exports.supportCloseScanQrPopup=d,exports.supportDataSend=_,exports.supportExpand=c,exports.supportIframeReady=x,exports.supportIframeWillReload=g,exports.supportInvokeCustomMethod=b,exports.supportOpenInvoice=h,exports.supportOpenLink=w,exports.supportOpenPopup=m,exports.supportOpenScanQrPopup=v,exports.supportOpenTgLink=S,exports.supportReadTextFromClipboard=f,exports.supportReady=y,exports.supportRequestPhone=P,exports.supportRequestTheme=M,exports.supportRequestViewport=q,exports.supportRequestWriteAccess=R,exports.supportSessionStorageGet=()=>!0,exports.supportSessionStorageSet=()=>!0,exports.supportSetBackgroundColor=k,exports.supportSetHeaderColor=C,exports.supportSetupBackButton=E,exports.supportSetupClosingBehavior=O,exports.supportSetupMainButton=T,exports.supportSetupSettingsButton=I,exports.supportSwitchInlineQuery=B,exports.supportTriggerHapticFeedback=W;
|
|
1
|
+
"use strict";var e=require("debug"),t=require("solid-js");const s="web",o="phone",r="desktop",p=()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(t)?o:["tdesktop","macos"].includes(t)?r:s},a="not_supported",n=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s)>=e&&-1!==t.indexOf(p())},i=()=>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},d=()=>n(0,[s,r,o]),_=()=>c()?(A(re),{status:!0}):(Q(re,1),{status:a}),c=()=>n(6.4,[o]),x=()=>n(0,[s,r,o]),g=()=>n(0,[o]),l=()=>n(0,[s]),h=()=>n(0,[s]),b="web_app_invoke_custom_method",w=()=>n(6.9,[s,r,o]),m=()=>n(6.1,[s,r,o]),S=()=>n(6.4,[s,r,o]),v=()=>n(6.2,[s,r,o]),f=()=>n(6.4,[o]),y=()=>n(7,[s,r,o]),M=()=>n(6.4,[s,r,o]),P=()=>n(6.9,[s,r,o]),q=()=>n(6.9,[s,r,o]),R=()=>n(0,[s,r,o]),k=()=>n(0,[s,r,o]),C=()=>n(6.9,[s,r,o]),O=()=>n(6.1,[s,r,o]),E=()=>n(6.1,[s,r,o]),T=()=>n(6.1,[s,r,o]),I=()=>n(0,[s,r,o]),B=()=>n(0,[s,r,o]),W=()=>n(6.1,[s,r,o]),L=()=>n(6.7,[s,r,o]),N=()=>n(6.1,[o]),D=()=>n(7.7,[s,r,o]);var Q=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)};var A=(t,s)=>{if(window.TelegramWebviewProxy)window.TelegramWebviewProxy.postEvent(t,JSON.stringify(s));else if(window.external&&"notify"in window.external)window.external.notify(JSON.stringify({eventType:t,eventData:s}));else try{"*",window.parent.postMessage(JSON.stringify({eventType:t,eventData:s}),"*")}catch(t){e("postMessage Iframe",10)}};const G="clipboard_text_received",V="custom_method_invoked",H="phone_requested",J="popup_closed",$="qr_text_received",F="scan_qr_popup_closed",U="theme_changed",j="viewport_changed",z=((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===U&&(t.theme_params=(e=>{"#1c1c1d"==e.bg_color&&e.bg_color==e.secondary_bg_color&&(e.secondary_bg_color="#2c2c2e");const t=window.location.hash.slice(1),s=new URLSearchParams(t);var o=JSON.parse(s.get("tgWebAppThemeParams")??"");for(var r in e){var p=u(e[r]);"string"==typeof p&&(o[r]=p)}return o})(t.theme_params)),z.emit(e,t),z.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const K=(e,t)=>{z.on(e,t)},X=(e,t)=>{z.off(e,t)},Y=(e,t)=>{z.once(e,t)};var Z=Object.freeze({__proto__:null,off:X,on:K,once:Y});const ee="web_app_open_scan_qr_popup",te="web_app_read_text_from_clipboard",se="web_app_request_phone",oe="web_app_close",re="web_app_close_scan_qr_popup",pe="web_app_data_send",ae="web_app_expand",ne="iframe_ready",ie="web_app_open_invoice",ue="web_app_open_link",de="web_app_open_popup",_e="web_app_open_tg_link",ce="web_app_ready",xe="web_app_request_theme",ge="web_app_request_viewport",le="web_app_request_write_access",he="web_app_set_background_color",be="web_app_set_header_color",we="web_app_setup_back_button",me="web_app_setup_closing_behavior",Se="web_app_setup_main_button",ve="web_app_setup_settings_button",fe="web_app_switch_inline_query",ye="web_app_trigger_haptic_feedback",Me="web_app_setup_swipe_behavior";exports.EventBackButtonPressed="back_button_pressed",exports.EventClipboardTextReceived=G,exports.EventCustomMethodInvoked=V,exports.EventInvoiceClosed="invoice_closed",exports.EventMainButtonPressed="main_button_pressed",exports.EventPhoneRequested=H,exports.EventPopupClosed=J,exports.EventQrTextReceived=$,exports.EventReloadIframe="reload_iframe",exports.EventScanQrPopupClosed=F,exports.EventSetCustomStyle="set_custom_style",exports.EventSettingsButtonPressed="settings_button_pressed",exports.EventThemeChanged=U,exports.EventViewportChanged=j,exports.EventWriteAccessRequested="write_access_requested",exports.MethodClose=oe,exports.MethodCloseScanQrPopup=re,exports.MethodDataSend=pe,exports.MethodExpand=ae,exports.MethodIframeReady=ne,exports.MethodIframeWillReload="iframe_will_reload",exports.MethodInvokeCustomMethod="web_app_invoke_custom_method",exports.MethodOpenInvoice=ie,exports.MethodOpenLink=ue,exports.MethodOpenPopup=de,exports.MethodOpenScanQrPopup=ee,exports.MethodOpenTgLink=_e,exports.MethodReadTextFromClipboard=te,exports.MethodReady=ce,exports.MethodRequestPhone=se,exports.MethodRequestTheme=xe,exports.MethodRequestViewport=ge,exports.MethodRequestWriteAccess=le,exports.MethodSetBackgroundColor=he,exports.MethodSetHeaderColor=be,exports.MethodSetupBackButton=we,exports.MethodSetupClosingBehavior=me,exports.MethodSetupMainButton=Se,exports.MethodSetupSettingsButton=ve,exports.MethodSetupSwipeBehavior=Me,exports.MethodSwitchInlineQuery=fe,exports.MethodTriggerHapticFeedback=ye,exports.NOT_SUPPORTED=a,exports.TG_DESKTOP=r,exports.TG_PHONE=o,exports.TG_WEB=s,exports.bridgeClose=()=>d()?(A(oe),{status:!0}):(Q(oe,1),{status:a}),exports.bridgeCloseScanQrPopup=_,exports.bridgeDataSend=e=>x()?(A(pe,e),{status:!0}):(Q(pe,1),{status:a}),exports.bridgeExpand=()=>g()?(A(ae),{status:!0}):(Q(ae,1),{status:a}),exports.bridgeGetInitData=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return Q("getInitData",2),null;const t=new URLSearchParams(e);let s={};return t.forEach(((e,t)=>{if(s[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{s[t]=JSON.parse(e)}catch{}})),s},exports.bridgeIframeReady=e=>l()?(A(ne,e),{status:!0}):(Q(ne,1),{status:a}),exports.bridgeIframeWillReload=()=>h()?(A(ne),{status:!0}):(Q(ne,1),{status:a}),exports.bridgeInvokeCustomMethod=async e=>w()?(void 0===e.req_id&&(e.req_id=i()),A(b,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),X(V,o))};K(V,o)}))):(Q(b,1),{status:a}),exports.bridgeOpenInvoice=e=>m()?(A(ie,e),{status:!0}):(Q(ie,1),{status:a}),exports.bridgeOpenLink=e=>S()?(A(ue,e),{status:!0}):(Q(ue,1),{status:a}),exports.bridgeOpenPopup=async e=>v()?(e.title.length>64&&Q(de,3),e.message.length<1&&Q(de,4),e.message.length>256&&Q(de,5),e.buttons.length<1&&Q(de,6),e.buttons.length>3&&Q(de,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&Q(de,8),A(de,e),new Promise(((t,s)=>{const o=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),X(J,o)};K(J,o)}))):(Q(de,1),{status:a}),exports.bridgeOpenScanQrPopup=async e=>f()?(A(ee,e),new Promise(((t,s)=>{Y($,(s=>{e.is_close&&_(),t({status:!0,data:s})})),Y(F,(()=>{t({status:"closed"})}))}))):(Q(ee,1),{status:a}),exports.bridgeOpenTgLink=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),y()?(A(_e,e),{status:!0}):(Q(_e,1),{status:a})),exports.bridgeReadTextFromClipboard=async e=>M()?(void 0===e.req_id&&(e.req_id=i()),A(te,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),X(G,o))};K(G,o)}))):(Q(te,1),{status:a}),exports.bridgeReady=()=>P()?(A(ce),{status:!0}):(Q(ce,1),{status:a}),exports.bridgeRequestPhone=async()=>q()?(A(se),new Promise(((e,t)=>{Y(H,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(Q(se,1),{status:a}),exports.bridgeRequestTheme=()=>R()?(A(xe),{status:!0}):(Q(xe,1),{status:a}),exports.bridgeRequestViewport=()=>k()?(A(ge),{status:!0}):(Q(ge,1),{status:a}),exports.bridgeRequestWriteAccess=()=>C()?(A(le),{status:!0}):(Q(le,1),{status:a}),exports.bridgeSessionStorageGet=({key:e})=>{try{return{value:JSON.parse(window.sessionStorage.getItem("__telegram__"+e)??""),status:!0}}catch(e){}return{status:!1}},exports.bridgeSessionStorageSet=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(e){}return{status:!1}},exports.bridgeSetBackgroundColor=e=>O()?(A(he,e),{status:!0}):(Q(he,1),{status:a}),exports.bridgeSetHeaderColor=e=>E()?(A(be,e),{status:!0}):(Q(be,1),{status:a}),exports.bridgeSetupBackButton=e=>T()?(A(we,e),{status:!0}):(Q(we,1),{status:a}),exports.bridgeSetupClosingBehavior=e=>I()?(A(me,e),{status:!0}):(Q(me,1),{status:a}),exports.bridgeSetupMainButton=e=>B()?(A(Se,e),{status:!0}):(Q(Se,1),{status:a}),exports.bridgeSetupSettingsButton=e=>W()?(A(ve,e),{status:!0}):(Q(ve,1),{status:a}),exports.bridgeSetupSwipeBehavior=e=>D()?(A(Me,e),{status:!0}):(Q(Me,1),{status:a}),exports.bridgeSwitchInlineQuery=e=>L()?(e.query.length>256&&Q(fe,9),A(fe,e),{status:!0}):(Q(fe,1),{status:a}),exports.bridgeTriggerHapticFeedback=e=>N()?(A(ye,e),{status:!0}):(Q(ye,1),{status:a}),exports.createIsViewportChanged=()=>{const[e,s]=t.createSignal({height:0,is_expanded:!1,is_state_stable:!1}),o=e=>s(e);return t.onMount((()=>{K(j,o),A(ge)})),t.onCleanup((()=>{X(j,o)})),e},exports.debug=Q,exports.getPlatform=p,exports.listener=Z,exports.sender=A,exports.supportClose=d,exports.supportCloseScanQrPopup=c,exports.supportDataSend=x,exports.supportExpand=g,exports.supportIframeReady=l,exports.supportIframeWillReload=h,exports.supportInvokeCustomMethod=w,exports.supportOpenInvoice=m,exports.supportOpenLink=S,exports.supportOpenPopup=v,exports.supportOpenScanQrPopup=f,exports.supportOpenTgLink=y,exports.supportReadTextFromClipboard=M,exports.supportReady=P,exports.supportRequestPhone=q,exports.supportRequestTheme=R,exports.supportRequestViewport=k,exports.supportRequestWriteAccess=C,exports.supportSessionStorageGet=()=>!0,exports.supportSessionStorageSet=()=>!0,exports.supportSetBackgroundColor=O,exports.supportSetHeaderColor=E,exports.supportSetupBackButton=T,exports.supportSetupClosingBehavior=I,exports.supportSetupMainButton=B,exports.supportSetupSettingsButton=W,exports.supportSetupSwipeBehavior=D,exports.supportSwitchInlineQuery=L,exports.supportTriggerHapticFeedback=N;
|
package/solid/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createSignal as
|
|
1
|
+
import e from"debug";import{createSignal as t,onMount as s,onCleanup as a}from"solid-js";const r=()=>{const[e,r]=t({height:0,is_expanded:!1,is_state_stable:!1}),o=e=>r(e);return s((()=>{De(We,o),ve(at)})),a((()=>{Je(We,o)})),e},o="web",n="phone",i="desktop",_=()=>{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:o},p="not_supported",u=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s)>=e&&-1!==t.indexOf(_())},d=()=>Math.random().toString(36).substring(3,9),c=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]),r=parseInt(t[3]);return"#"+((s<16?"0":"")+s.toString(16))+((a<16?"0":"")+a.toString(16))+((r<16?"0":"")+r.toString(16))}return!1},g=()=>b()?(ve(Qe),{status:!0}):(he(Qe,1),{status:p}),b=()=>u(0,[o,i,n]),l=()=>w()?(ve(je),{status:!0}):(he(je,1),{status:p}),w=()=>u(6.4,[n]),m=e=>h()?(ve(Fe,e),{status:!0}):(he(Fe,1),{status:p}),h=()=>u(0,[o,i,n]),f=()=>v()?(ve(He),{status:!0}):(he(He,1),{status:p}),v=()=>u(0,[n]),S=e=>y()?(ve(ze,e),{status:!0}):(he(ze,1),{status:p}),y=()=>u(0,[o]),q=()=>x()?(ve(ze),{status:!0}):(he(ze,1),{status:p}),x=()=>u(0,[o]),k="web_app_invoke_custom_method",P=async e=>O()?(void 0===e.req_id&&(e.req_id=d()),ve(k,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Je(qe,a))};De(qe,a)}))):(he(k,1),{status:p}),O=()=>u(6.9,[o,i,n]),I=e=>R()?(ve(Xe,e),{status:!0}):(he(Xe,1),{status:p}),R=()=>u(6.1,[o,i,n]),T=e=>N()?(ve(Ye,e),{status:!0}):(he(Ye,1),{status:p}),N=()=>u(6.4,[o,i,n]),C=async e=>L()?(e.title.length>64&&he(Ze,3),e.message.length<1&&he(Ze,4),e.message.length>256&&he(Ze,5),e.buttons.length<1&&he(Ze,6),e.buttons.length>3&&he(Ze,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&he(Ze,8),ve(Ze,e),new Promise(((t,s)=>{const a=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),Je(Oe,a)};De(Oe,a)}))):(he(Ze,1),{status:p}),L=()=>u(6.2,[o,i,n]),W=async e=>E()?(ve(Ue,e),new Promise(((t,s)=>{$e(Re,(s=>{e.is_close&&l(),t({status:!0,data:s})})),$e(Te,(()=>{t({status:"closed"})}))}))):(he(Ue,1),{status:p}),E=()=>u(6.4,[n]),B=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),D()?(ve(et,e),{status:!0}):(he(et,1),{status:p})),D=()=>u(7,[o,i,n]),J=async e=>$()?(void 0===e.req_id&&(e.req_id=d()),ve(Ge,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Je(ye,a))};De(ye,a)}))):(he(Ge,1),{status:p}),$=()=>u(6.4,[o,i,n]),M=()=>A()?(ve(tt),{status:!0}):(he(tt,1),{status:p}),A=()=>u(6.9,[o,i,n]),U=async()=>G()?(ve(Ve),new Promise(((e,t)=>{$e(Pe,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(he(Ve,1),{status:p}),G=()=>u(6.9,[o,i,n]),V=()=>Q()?(ve(st),{status:!0}):(he(st,1),{status:p}),Q=()=>u(0,[o,i,n]),j=()=>F()?(ve(at),{status:!0}):(he(at,1),{status:p}),F=()=>u(0,[o,i,n]),H=()=>z()?(ve(rt),{status:!0}):(he(rt,1),{status:p}),z=()=>u(6.9,[o,i,n]),K=e=>X()?(ve(ot,e),{status:!0}):(he(ot,1),{status:p}),X=()=>u(6.1,[o,i,n]),Y=e=>Z()?(ve(nt,e),{status:!0}):(he(nt,1),{status:p}),Z=()=>u(6.1,[o,i,n]),ee=e=>te()?(ve(it,e),{status:!0}):(he(it,1),{status:p}),te=()=>u(6.1,[o,i,n]),se=e=>ae()?(ve(_t,e),{status:!0}):(he(_t,1),{status:p}),ae=()=>u(0,[o,i,n]),re=e=>oe()?(ve(pt,e),{status:!0}):(he(pt,1),{status:p}),oe=()=>u(0,[o,i,n]),ne=e=>ie()?(ve(ut,e),{status:!0}):(he(ut,1),{status:p}),ie=()=>u(6.1,[o,i,n]),_e=e=>pe()?(e.query.length>256&&he(dt,9),ve(dt,e),{status:!0}):(he(dt,1),{status:p}),pe=()=>u(6.7,[o,i,n]),ue=e=>de()?(ve(ct,e),{status:!0}):(he(ct,1),{status:p}),de=()=>u(6.1,[n]),ce=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(e){}return{status:!1}},ge=()=>!0,be=({key:e})=>{try{return{value:JSON.parse(window.sessionStorage.getItem("__telegram__"+e)??""),status:!0}}catch(e){}return{status:!1}},le=()=>!0,we=e=>me()?(ve(gt,e),{status:!0}):(he(gt,1),{status:p}),me=()=>u(7.7,[o,i,n]);var he=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)};const fe=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return he("getInitData",2),null;const t=new URLSearchParams(e);let s={};return t.forEach(((e,t)=>{if(s[t]=e,void 0!==t.match(/^(chat|receiver|user)$/g))try{s[t]=JSON.parse(e)}catch{}})),s};var ve=(t,s)=>{if(window.TelegramWebviewProxy)window.TelegramWebviewProxy.postEvent(t,JSON.stringify(s));else if(window.external&&"notify"in window.external)window.external.notify(JSON.stringify({eventType:t,eventData:s}));else try{"*",window.parent.postMessage(JSON.stringify({eventType:t,eventData:s}),"*")}catch(t){e("postMessage Iframe",10)}};const Se="back_button_pressed",ye="clipboard_text_received",qe="custom_method_invoked",xe="invoice_closed",ke="main_button_pressed",Pe="phone_requested",Oe="popup_closed",Ie="reload_iframe",Re="qr_text_received",Te="scan_qr_popup_closed",Ne="set_custom_style",Ce="settings_button_pressed",Le="theme_changed",We="viewport_changed",Ee="write_access_requested",Be=((e=new Map)=>({once:(t,s,a=e.get(t),r=(e=>{s(e),a&&a.splice(a.indexOf(s)>>>0,1)}))=>a?a.push(r):e.set(t,[r]),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===Le&&(t.theme_params=(e=>{"#1c1c1d"==e.bg_color&&e.bg_color==e.secondary_bg_color&&(e.secondary_bg_color="#2c2c2e");const t=window.location.hash.slice(1),s=new URLSearchParams(t);var a=JSON.parse(s.get("tgWebAppThemeParams")??"");for(var r in e){var o=c(e[r]);"string"==typeof o&&(a[r]=o)}return a})(t.theme_params)),Be.emit(e,t),Be.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const De=(e,t)=>{Be.on(e,t)},Je=(e,t)=>{Be.off(e,t)},$e=(e,t)=>{Be.once(e,t)};var Me=Object.freeze({__proto__:null,off:Je,on:De,once:$e});const Ae="web_app_invoke_custom_method",Ue="web_app_open_scan_qr_popup",Ge="web_app_read_text_from_clipboard",Ve="web_app_request_phone",Qe="web_app_close",je="web_app_close_scan_qr_popup",Fe="web_app_data_send",He="web_app_expand",ze="iframe_ready",Ke="iframe_will_reload",Xe="web_app_open_invoice",Ye="web_app_open_link",Ze="web_app_open_popup",et="web_app_open_tg_link",tt="web_app_ready",st="web_app_request_theme",at="web_app_request_viewport",rt="web_app_request_write_access",ot="web_app_set_background_color",nt="web_app_set_header_color",it="web_app_setup_back_button",_t="web_app_setup_closing_behavior",pt="web_app_setup_main_button",ut="web_app_setup_settings_button",dt="web_app_switch_inline_query",ct="web_app_trigger_haptic_feedback",gt="web_app_setup_swipe_behavior";export{Se as EventBackButtonPressed,ye as EventClipboardTextReceived,qe as EventCustomMethodInvoked,xe as EventInvoiceClosed,ke as EventMainButtonPressed,Pe as EventPhoneRequested,Oe as EventPopupClosed,Re as EventQrTextReceived,Ie as EventReloadIframe,Te as EventScanQrPopupClosed,Ne as EventSetCustomStyle,Ce as EventSettingsButtonPressed,Le as EventThemeChanged,We as EventViewportChanged,Ee as EventWriteAccessRequested,Qe as MethodClose,je as MethodCloseScanQrPopup,Fe as MethodDataSend,He as MethodExpand,ze as MethodIframeReady,Ke as MethodIframeWillReload,Ae as MethodInvokeCustomMethod,Xe as MethodOpenInvoice,Ye as MethodOpenLink,Ze as MethodOpenPopup,Ue as MethodOpenScanQrPopup,et as MethodOpenTgLink,Ge as MethodReadTextFromClipboard,tt as MethodReady,Ve as MethodRequestPhone,st as MethodRequestTheme,at as MethodRequestViewport,rt as MethodRequestWriteAccess,ot as MethodSetBackgroundColor,nt as MethodSetHeaderColor,it as MethodSetupBackButton,_t as MethodSetupClosingBehavior,pt as MethodSetupMainButton,ut as MethodSetupSettingsButton,gt as MethodSetupSwipeBehavior,dt as MethodSwitchInlineQuery,ct as MethodTriggerHapticFeedback,p as NOT_SUPPORTED,i as TG_DESKTOP,n as TG_PHONE,o as TG_WEB,g as bridgeClose,l as bridgeCloseScanQrPopup,m as bridgeDataSend,f as bridgeExpand,fe as bridgeGetInitData,S as bridgeIframeReady,q as bridgeIframeWillReload,P as bridgeInvokeCustomMethod,I as bridgeOpenInvoice,T as bridgeOpenLink,C as bridgeOpenPopup,W as bridgeOpenScanQrPopup,B as bridgeOpenTgLink,J as bridgeReadTextFromClipboard,M as bridgeReady,U as bridgeRequestPhone,V as bridgeRequestTheme,j as bridgeRequestViewport,H as bridgeRequestWriteAccess,be as bridgeSessionStorageGet,ce as bridgeSessionStorageSet,K as bridgeSetBackgroundColor,Y as bridgeSetHeaderColor,ee as bridgeSetupBackButton,se as bridgeSetupClosingBehavior,re as bridgeSetupMainButton,ne as bridgeSetupSettingsButton,we as bridgeSetupSwipeBehavior,_e as bridgeSwitchInlineQuery,ue as bridgeTriggerHapticFeedback,r as createIsViewportChanged,he as debug,_ as getPlatform,Me as listener,ve as sender,b as supportClose,w as supportCloseScanQrPopup,h as supportDataSend,v as supportExpand,y as supportIframeReady,x as supportIframeWillReload,O as supportInvokeCustomMethod,R as supportOpenInvoice,N as supportOpenLink,L as supportOpenPopup,E as supportOpenScanQrPopup,D as supportOpenTgLink,$ as supportReadTextFromClipboard,A as supportReady,G as supportRequestPhone,Q as supportRequestTheme,F as supportRequestViewport,z as supportRequestWriteAccess,le as supportSessionStorageGet,ge as supportSessionStorageSet,X as supportSetBackgroundColor,Z as supportSetHeaderColor,te as supportSetupBackButton,ae as supportSetupClosingBehavior,oe as supportSetupMainButton,ie as supportSetupSettingsButton,me as supportSetupSwipeBehavior,pe as supportSwitchInlineQuery,de as supportTriggerHapticFeedback};
|