@apiteam/twa-bridge 7.0.0-beta.7 → 7.0.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/react/index.d.ts +30 -1
- package/react/index.js +1 -1
- package/react/index.mjs +1 -1
- package/solid/index.d.ts +30 -1
- package/solid/index.js +1 -1
- package/solid/index.mjs +1 -1
package/package.json
CHANGED
package/react/index.d.ts
CHANGED
|
@@ -576,6 +576,35 @@ declare const triggerHapticFeedback: TriggerHapticFeedback;
|
|
|
576
576
|
*/
|
|
577
577
|
declare const supportTriggerHapticFeedback: () => boolean;
|
|
578
578
|
|
|
579
|
+
type SessionStorageSet = ({ key, value }: {
|
|
580
|
+
key: string;
|
|
581
|
+
value: any;
|
|
582
|
+
}) => {
|
|
583
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
584
|
+
};
|
|
585
|
+
/**
|
|
586
|
+
* sessions storage set.
|
|
587
|
+
*/
|
|
588
|
+
declare const sessionStorageSet: SessionStorageSet;
|
|
589
|
+
/**
|
|
590
|
+
* Method support check
|
|
591
|
+
*/
|
|
592
|
+
declare const supportSessionStorageSet: () => boolean;
|
|
593
|
+
|
|
594
|
+
type SessionStorageGet = ({ key }: {
|
|
595
|
+
key: string;
|
|
596
|
+
}) => {
|
|
597
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
598
|
+
};
|
|
599
|
+
/**
|
|
600
|
+
* sessions storage get.
|
|
601
|
+
*/
|
|
602
|
+
declare const sessionStorageGet: SessionStorageGet;
|
|
603
|
+
/**
|
|
604
|
+
* Method support check
|
|
605
|
+
*/
|
|
606
|
+
declare const supportSessionStorageGet: () => boolean;
|
|
607
|
+
|
|
579
608
|
type User = {
|
|
580
609
|
/**
|
|
581
610
|
* Optional. True, if this user added the bot to the attachment menu.
|
|
@@ -953,4 +982,4 @@ declare const EventThemeChanged = "theme_changed";
|
|
|
953
982
|
declare const EventViewportChanged = "viewport_changed";
|
|
954
983
|
declare const EventWriteAccessRequested = "write_access_requested";
|
|
955
984
|
|
|
956
|
-
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, 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, supportSetBackgroundColor, supportSetHeaderColor, supportSetupBackButton, supportSetupClosingBehavior, supportSetupMainButton, supportSetupSettingsButton, supportSwitchInlineQuery, supportTriggerHapticFeedback };
|
|
985
|
+
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 };
|
package/react/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e="web",t="phone",s="desktop",o="not_supported",r=(o,r)=>{const p=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(p)>=o&&-1!==r.indexOf((()=>{const o=window.location.hash.slice(1),r=new URLSearchParams(o).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(r)?t:["tdesktop","macos"].includes(r)?s:e})())},p=()=>Math.random().toString(36).substring(3,9),a=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},n=()=>r(0,[e,s,t]),i=()=>u()?(L(Z),{status:!0}):(W(Z,1),{status:o}),u=()=>r(6.4,[t]),d=()=>r(0,[e,s,t]),_=()=>r(0,[t]),c=()=>r(0,[e]),x=()=>r(0,[e]),
|
|
1
|
+
"use strict";const e="web",t="phone",s="desktop",o="not_supported",r=(o,r)=>{const p=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(p)>=o&&-1!==r.indexOf((()=>{const o=window.location.hash.slice(1),r=new URLSearchParams(o).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(r)?t:["tdesktop","macos"].includes(r)?s:e})())},p=()=>Math.random().toString(36).substring(3,9),a=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},n=()=>r(0,[e,s,t]),i=()=>u()?(L(Z),{status:!0}):(W(Z,1),{status:o}),u=()=>r(6.4,[t]),d=()=>r(0,[e,s,t]),_=()=>r(0,[t]),c=()=>r(0,[e]),x=()=>r(0,[e]),g="web_app_invoke_custom_method",l=()=>r(6.9,[e,s,t]),b=()=>r(6.1,[e,s,t]),h=()=>r(6.4,[e,s,t]),w=()=>r(6.2,[e,s,t]),m=()=>r(6.4,[t]),v=()=>r(7,[e,s,t]),S=()=>r(6.4,[e,s,t]),f=()=>r(6.9,[e,s,t]),y=()=>r(6.9,[e,s,t]),P=()=>r(0,[e,s,t]),M=()=>r(0,[e,s,t]),R=()=>r(6.9,[e,s,t]),k=()=>r(6.1,[e,s,t]),q=()=>r(6.1,[e,s,t]),C=()=>r(6.1,[e,s,t]),E=()=>r(0,[e,s,t]),O=()=>r(0,[e,s,t]),T=()=>r(6.1,[e,s,t]),I=()=>r(6.7,[e,s,t]),B=()=>r(6.1,[t]);var W=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)};var L=(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 Q="clipboard_text_received",D="custom_method_invoked",N="phone_requested",A="popup_closed",G="qr_text_received",H="scan_qr_popup_closed",V="theme_changed",$=((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===V&&(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=a(e[r]);"string"==typeof p&&(o[r]=p)}return o})(t.theme_params)),$.emit(e,t),$.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const F=(e,t)=>{$.on(e,t)},U=(e,t)=>{$.off(e,t)},J=(e,t)=>{$.once(e,t)};var j=Object.freeze({__proto__:null,off:U,on:F,once:J});const z="web_app_open_scan_qr_popup",K="web_app_read_text_from_clipboard",X="web_app_request_phone",Y="web_app_close",Z="web_app_close_scan_qr_popup",ee="web_app_data_send",te="web_app_expand",se="iframe_ready",oe="web_app_open_invoice",re="web_app_open_link",pe="web_app_open_popup",ae="web_app_open_tg_link",ne="web_app_ready",ie="web_app_request_theme",ue="web_app_request_viewport",de="web_app_request_write_access",_e="web_app_set_background_color",ce="web_app_set_header_color",xe="web_app_setup_back_button",ge="web_app_setup_closing_behavior",le="web_app_setup_main_button",be="web_app_setup_settings_button",he="web_app_switch_inline_query",we="web_app_trigger_haptic_feedback";exports.EventBackButtonPressed="back_button_pressed",exports.EventClipboardTextReceived=Q,exports.EventCustomMethodInvoked=D,exports.EventInvoiceClosed="invoice_closed",exports.EventMainButtonPressed="main_button_pressed",exports.EventPhoneRequested=N,exports.EventPopupClosed=A,exports.EventQrTextReceived=G,exports.EventReloadIframe="reload_iframe",exports.EventScanQrPopupClosed=H,exports.EventSetCustomStyle="set_custom_style",exports.EventSettingsButtonPressed="settings_button_pressed",exports.EventThemeChanged=V,exports.EventViewportChanged="viewport_changed",exports.EventWriteAccessRequested="write_access_requested",exports.MethodClose=Y,exports.MethodCloseScanQrPopup=Z,exports.MethodDataSend=ee,exports.MethodExpand=te,exports.MethodIframeReady=se,exports.MethodIframeWillReload="iframe_will_reload",exports.MethodInvokeCustomMethod="web_app_invoke_custom_method",exports.MethodOpenInvoice=oe,exports.MethodOpenLink=re,exports.MethodOpenPopup=pe,exports.MethodOpenScanQrPopup=z,exports.MethodOpenTgLink=ae,exports.MethodReadTextFromClipboard=K,exports.MethodReady=ne,exports.MethodRequestPhone=X,exports.MethodRequestTheme=ie,exports.MethodRequestViewport=ue,exports.MethodRequestWriteAccess=de,exports.MethodSetBackgroundColor=_e,exports.MethodSetHeaderColor=ce,exports.MethodSetupBackButton=xe,exports.MethodSetupClosingBehavior=ge,exports.MethodSetupMainButton=le,exports.MethodSetupSettingsButton=be,exports.MethodSwitchInlineQuery=he,exports.MethodTriggerHapticFeedback=we,exports.NOT_SUPPORTED=o,exports.TG_DESKTOP=s,exports.TG_PHONE=t,exports.TG_WEB=e,exports.bridgeClose=()=>n()?(L(Y),{status:!0}):(W(Y,1),{status:o}),exports.bridgeCloseScanQrPopup=i,exports.bridgeDataSend=e=>d()?(L(ee,e),{status:!0}):(W(ee,1),{status:o}),exports.bridgeExpand=()=>_()?(L(te),{status:!0}):(W(te,1),{status:o}),exports.bridgeGetInitData=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return W("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=>c()?(L(se,e),{status:!0}):(W(se,1),{status:o}),exports.bridgeIframeWillReload=()=>x()?(L(se),{status:!0}):(W(se,1),{status:o}),exports.bridgeInvokeCustomMethod=async e=>l()?(void 0===e.req_id&&(e.req_id=p()),L(g,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),U(D,o))};F(D,o)}))):(W(g,1),{status:o}),exports.bridgeOpenInvoice=e=>b()?(L(oe,e),{status:!0}):(W(oe,1),{status:o}),exports.bridgeOpenLink=e=>h()?(L(re,e),{status:!0}):(W(re,1),{status:o}),exports.bridgeOpenPopup=async e=>w()?(e.title.length>64&&W(pe,3),e.message.length<1&&W(pe,4),e.message.length>256&&W(pe,5),e.buttons.length<1&&W(pe,6),e.buttons.length>3&&W(pe,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&W(pe,8),L(pe,e),new Promise(((t,s)=>{const o=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),U(A,o)};F(A,o)}))):(W(pe,1),{status:o}),exports.bridgeOpenScanQrPopup=async e=>m()?(L(z,e),new Promise(((t,s)=>{J(G,(s=>{e.is_close&&i(),t({status:!0,data:s})})),J(H,(()=>{t({status:"closed"})}))}))):(W(z,1),{status:o}),exports.bridgeOpenTgLink=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),v()?(L(ae,e),{status:!0}):(W(ae,1),{status:o})),exports.bridgeReadTextFromClipboard=async e=>S()?(void 0===e.req_id&&(e.req_id=p()),L(K,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),U(Q,o))};F(Q,o)}))):(W(K,1),{status:o}),exports.bridgeReady=()=>f()?(L(ne),{status:!0}):(W(ne,1),{status:o}),exports.bridgeRequestPhone=async()=>y()?(L(X),new Promise(((e,t)=>{J(N,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(W(X,1),{status:o}),exports.bridgeRequestTheme=()=>P()?(L(ie),{status:!0}):(W(ie,1),{status:o}),exports.bridgeRequestViewport=()=>M()?(L(ue),{status:!0}):(W(ue,1),{status:o}),exports.bridgeRequestWriteAccess=()=>R()?(L(de),{status:!0}):(W(de,1),{status:o}),exports.bridgeSessionStorageGet=({key:e})=>{try{return 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()?(L(_e,e),{status:!0}):(W(_e,1),{status:o}),exports.bridgeSetHeaderColor=e=>q()?(L(ce,e),{status:!0}):(W(ce,1),{status:o}),exports.bridgeSetupBackButton=e=>C()?(L(xe,e),{status:!0}):(W(xe,1),{status:o}),exports.bridgeSetupClosingBehavior=e=>E()?(L(ge,e),{status:!0}):(W(ge,1),{status:o}),exports.bridgeSetupMainButton=e=>O()?(L(le,e),{status:!0}):(W(le,1),{status:o}),exports.bridgeSetupSettingsButton=e=>T()?(L(be,e),{status:!0}):(W(be,1),{status:o}),exports.bridgeSwitchInlineQuery=e=>I()?(e.query.length>256&&W(he,9),L(he,e),{status:!0}):(W(he,1),{status:o}),exports.bridgeTriggerHapticFeedback=e=>B()?(L(we,e),{status:!0}):(W(we,1),{status:o}),exports.debug=W,exports.listener=j,exports.sender=L,exports.supportClose=n,exports.supportCloseScanQrPopup=u,exports.supportDataSend=d,exports.supportExpand=_,exports.supportIframeReady=c,exports.supportIframeWillReload=x,exports.supportInvokeCustomMethod=l,exports.supportOpenInvoice=b,exports.supportOpenLink=h,exports.supportOpenPopup=w,exports.supportOpenScanQrPopup=m,exports.supportOpenTgLink=v,exports.supportReadTextFromClipboard=S,exports.supportReady=f,exports.supportRequestPhone=y,exports.supportRequestTheme=P,exports.supportRequestViewport=M,exports.supportRequestWriteAccess=R,exports.supportSessionStorageGet=()=>!0,exports.supportSessionStorageSet=()=>!0,exports.supportSetBackgroundColor=k,exports.supportSetHeaderColor=q,exports.supportSetupBackButton=C,exports.supportSetupClosingBehavior=E,exports.supportSetupMainButton=O,exports.supportSetupSettingsButton=T,exports.supportSwitchInlineQuery=I,exports.supportTriggerHapticFeedback=B;
|
package/react/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const e="web",t="phone",s="desktop",a="not_supported",r=(a,r)=>{const o=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(o)>=a&&-1!==r.indexOf((()=>{const a=window.location.hash.slice(1),r=new URLSearchParams(a).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(r)?t:["tdesktop","macos"].includes(r)?s:e})())},o=()=>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]),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},i=()=>_()?(
|
|
1
|
+
const e="web",t="phone",s="desktop",a="not_supported",r=(a,r)=>{const o=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(o)>=a&&-1!==r.indexOf((()=>{const a=window.location.hash.slice(1),r=new URLSearchParams(a).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(r)?t:["tdesktop","macos"].includes(r)?s:e})())},o=()=>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]),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},i=()=>_()?(ce(Be),{status:!0}):(ue(Be,1),{status:a}),_=()=>r(0,[e,s,t]),p=()=>u()?(ce(De),{status:!0}):(ue(De,1),{status:a}),u=()=>r(6.4,[t]),d=e=>c()?(ce(Ae,e),{status:!0}):(ue(Ae,1),{status:a}),c=()=>r(0,[e,s,t]),g=()=>b()?(ce(Je),{status:!0}):(ue(Je,1),{status:a}),b=()=>r(0,[t]),l=e=>w()?(ce(Ue,e),{status:!0}):(ue(Ue,1),{status:a}),w=()=>r(0,[e]),m=()=>h()?(ce(Ue),{status:!0}):(ue(Ue,1),{status:a}),h=()=>r(0,[e]),f="web_app_invoke_custom_method",v=async e=>S()?(void 0===e.req_id&&(e.req_id=o()),ce(f,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Te(le,a))};Ie(le,a)}))):(ue(f,1),{status:a}),S=()=>r(6.9,[e,s,t]),y=e=>q()?(ce(Me,e),{status:!0}):(ue(Me,1),{status:a}),q=()=>r(6.1,[e,s,t]),x=e=>k()?(ce(Ve,e),{status:!0}):(ue(Ve,1),{status:a}),k=()=>r(6.4,[e,s,t]),P=async e=>O()?(e.title.length>64&&ue(Qe,3),e.message.length<1&&ue(Qe,4),e.message.length>256&&ue(Qe,5),e.buttons.length<1&&ue(Qe,6),e.buttons.length>3&&ue(Qe,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&ue(Qe,8),ce(Qe,e),new Promise(((t,s)=>{const a=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),Te(fe,a)};Ie(fe,a)}))):(ue(Qe,1),{status:a}),O=()=>r(6.2,[e,s,t]),R=async e=>I()?(ce(Ee,e),new Promise(((t,s)=>{Ce(Se,(s=>{e.is_close&&p(),t({status:!0,data:s})})),Ce(ye,(()=>{t({status:"closed"})}))}))):(ue(Ee,1),{status:a}),I=()=>r(6.4,[t]),T=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),C()?(ce(Fe,e),{status:!0}):(ue(Fe,1),{status:a})),C=()=>r(7,[e,s,t]),L=async e=>W()?(void 0===e.req_id&&(e.req_id=o()),ce(Ne,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Te(be,a))};Ie(be,a)}))):(ue(Ne,1),{status:a}),W=()=>r(6.4,[e,s,t]),E=()=>N()?(ce(He),{status:!0}):(ue(He,1),{status:a}),N=()=>r(6.9,[e,s,t]),$=async()=>B()?(ce($e),new Promise(((e,t)=>{Ce(he,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(ue($e,1),{status:a}),B=()=>r(6.9,[e,s,t]),D=()=>A()?(ce(je),{status:!0}):(ue(je,1),{status:a}),A=()=>r(0,[e,s,t]),J=()=>U()?(ce(ze),{status:!0}):(ue(ze,1),{status:a}),U=()=>r(0,[e,s,t]),G=()=>M()?(ce(Ke),{status:!0}):(ue(Ke,1),{status:a}),M=()=>r(6.9,[e,s,t]),V=e=>Q()?(ce(Xe,e),{status:!0}):(ue(Xe,1),{status:a}),Q=()=>r(6.1,[e,s,t]),F=e=>H()?(ce(Ye,e),{status:!0}):(ue(Ye,1),{status:a}),H=()=>r(6.1,[e,s,t]),j=e=>z()?(ce(Ze,e),{status:!0}):(ue(Ze,1),{status:a}),z=()=>r(6.1,[e,s,t]),K=e=>X()?(ce(et,e),{status:!0}):(ue(et,1),{status:a}),X=()=>r(0,[e,s,t]),Y=e=>Z()?(ce(tt,e),{status:!0}):(ue(tt,1),{status:a}),Z=()=>r(0,[e,s,t]),ee=e=>te()?(ce(st,e),{status:!0}):(ue(st,1),{status:a}),te=()=>r(6.1,[e,s,t]),se=e=>ae()?(e.query.length>256&&ue(at,9),ce(at,e),{status:!0}):(ue(at,1),{status:a}),ae=()=>r(6.7,[e,s,t]),re=e=>oe()?(ce(rt,e),{status:!0}):(ue(rt,1),{status:a}),oe=()=>r(6.1,[t]),ne=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(e){}return{status:!1}},ie=()=>!0,_e=({key:e})=>{try{return window.sessionStorage.getItem("__telegram__"+e),{status:!0}}catch(e){}return{status:!1}},pe=()=>!0;var ue=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)};const de=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return ue("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 ce=(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 ge="back_button_pressed",be="clipboard_text_received",le="custom_method_invoked",we="invoice_closed",me="main_button_pressed",he="phone_requested",fe="popup_closed",ve="reload_iframe",Se="qr_text_received",ye="scan_qr_popup_closed",qe="set_custom_style",xe="settings_button_pressed",ke="theme_changed",Pe="viewport_changed",Oe="write_access_requested",Re=((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===ke&&(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=n(e[r]);"string"==typeof o&&(a[r]=o)}return a})(t.theme_params)),Re.emit(e,t),Re.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const Ie=(e,t)=>{Re.on(e,t)},Te=(e,t)=>{Re.off(e,t)},Ce=(e,t)=>{Re.once(e,t)};var Le=Object.freeze({__proto__:null,off:Te,on:Ie,once:Ce});const We="web_app_invoke_custom_method",Ee="web_app_open_scan_qr_popup",Ne="web_app_read_text_from_clipboard",$e="web_app_request_phone",Be="web_app_close",De="web_app_close_scan_qr_popup",Ae="web_app_data_send",Je="web_app_expand",Ue="iframe_ready",Ge="iframe_will_reload",Me="web_app_open_invoice",Ve="web_app_open_link",Qe="web_app_open_popup",Fe="web_app_open_tg_link",He="web_app_ready",je="web_app_request_theme",ze="web_app_request_viewport",Ke="web_app_request_write_access",Xe="web_app_set_background_color",Ye="web_app_set_header_color",Ze="web_app_setup_back_button",et="web_app_setup_closing_behavior",tt="web_app_setup_main_button",st="web_app_setup_settings_button",at="web_app_switch_inline_query",rt="web_app_trigger_haptic_feedback";export{ge as EventBackButtonPressed,be as EventClipboardTextReceived,le as EventCustomMethodInvoked,we as EventInvoiceClosed,me as EventMainButtonPressed,he as EventPhoneRequested,fe as EventPopupClosed,Se as EventQrTextReceived,ve as EventReloadIframe,ye as EventScanQrPopupClosed,qe as EventSetCustomStyle,xe as EventSettingsButtonPressed,ke as EventThemeChanged,Pe as EventViewportChanged,Oe as EventWriteAccessRequested,Be as MethodClose,De as MethodCloseScanQrPopup,Ae as MethodDataSend,Je as MethodExpand,Ue as MethodIframeReady,Ge as MethodIframeWillReload,We as MethodInvokeCustomMethod,Me as MethodOpenInvoice,Ve as MethodOpenLink,Qe as MethodOpenPopup,Ee as MethodOpenScanQrPopup,Fe as MethodOpenTgLink,Ne as MethodReadTextFromClipboard,He as MethodReady,$e as MethodRequestPhone,je as MethodRequestTheme,ze as MethodRequestViewport,Ke as MethodRequestWriteAccess,Xe as MethodSetBackgroundColor,Ye as MethodSetHeaderColor,Ze as MethodSetupBackButton,et as MethodSetupClosingBehavior,tt as MethodSetupMainButton,st as MethodSetupSettingsButton,at as MethodSwitchInlineQuery,rt as MethodTriggerHapticFeedback,a as NOT_SUPPORTED,s as TG_DESKTOP,t as TG_PHONE,e as TG_WEB,i as bridgeClose,p as bridgeCloseScanQrPopup,d as bridgeDataSend,g as bridgeExpand,de as bridgeGetInitData,l as bridgeIframeReady,m as bridgeIframeWillReload,v as bridgeInvokeCustomMethod,y as bridgeOpenInvoice,x as bridgeOpenLink,P as bridgeOpenPopup,R as bridgeOpenScanQrPopup,T as bridgeOpenTgLink,L as bridgeReadTextFromClipboard,E as bridgeReady,$ as bridgeRequestPhone,D as bridgeRequestTheme,J as bridgeRequestViewport,G as bridgeRequestWriteAccess,_e as bridgeSessionStorageGet,ne as bridgeSessionStorageSet,V as bridgeSetBackgroundColor,F as bridgeSetHeaderColor,j as bridgeSetupBackButton,K as bridgeSetupClosingBehavior,Y as bridgeSetupMainButton,ee as bridgeSetupSettingsButton,se as bridgeSwitchInlineQuery,re as bridgeTriggerHapticFeedback,ue as debug,Le as listener,ce as sender,_ as supportClose,u as supportCloseScanQrPopup,c as supportDataSend,b as supportExpand,w as supportIframeReady,h as supportIframeWillReload,S as supportInvokeCustomMethod,q as supportOpenInvoice,k as supportOpenLink,O as supportOpenPopup,I as supportOpenScanQrPopup,C as supportOpenTgLink,W as supportReadTextFromClipboard,N as supportReady,B as supportRequestPhone,A as supportRequestTheme,U as supportRequestViewport,M as supportRequestWriteAccess,pe as supportSessionStorageGet,ie as supportSessionStorageSet,Q as supportSetBackgroundColor,H as supportSetHeaderColor,z as supportSetupBackButton,X as supportSetupClosingBehavior,Z as supportSetupMainButton,te as supportSetupSettingsButton,ae as supportSwitchInlineQuery,oe as supportTriggerHapticFeedback};
|
package/solid/index.d.ts
CHANGED
|
@@ -585,6 +585,35 @@ declare const triggerHapticFeedback: TriggerHapticFeedback;
|
|
|
585
585
|
*/
|
|
586
586
|
declare const supportTriggerHapticFeedback: () => boolean;
|
|
587
587
|
|
|
588
|
+
type SessionStorageSet = ({ key, value }: {
|
|
589
|
+
key: string;
|
|
590
|
+
value: any;
|
|
591
|
+
}) => {
|
|
592
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
593
|
+
};
|
|
594
|
+
/**
|
|
595
|
+
* sessions storage set.
|
|
596
|
+
*/
|
|
597
|
+
declare const sessionStorageSet: SessionStorageSet;
|
|
598
|
+
/**
|
|
599
|
+
* Method support check
|
|
600
|
+
*/
|
|
601
|
+
declare const supportSessionStorageSet: () => boolean;
|
|
602
|
+
|
|
603
|
+
type SessionStorageGet = ({ key }: {
|
|
604
|
+
key: string;
|
|
605
|
+
}) => {
|
|
606
|
+
status: boolean | typeof NOT_SUPPORTED;
|
|
607
|
+
};
|
|
608
|
+
/**
|
|
609
|
+
* sessions storage get.
|
|
610
|
+
*/
|
|
611
|
+
declare const sessionStorageGet: SessionStorageGet;
|
|
612
|
+
/**
|
|
613
|
+
* Method support check
|
|
614
|
+
*/
|
|
615
|
+
declare const supportSessionStorageGet: () => boolean;
|
|
616
|
+
|
|
588
617
|
type User = {
|
|
589
618
|
/**
|
|
590
619
|
* Optional. True, if this user added the bot to the attachment menu.
|
|
@@ -962,4 +991,4 @@ declare const EventThemeChanged = "theme_changed";
|
|
|
962
991
|
declare const EventViewportChanged = "viewport_changed";
|
|
963
992
|
declare const EventWriteAccessRequested = "write_access_requested";
|
|
964
993
|
|
|
965
|
-
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, 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, supportSetBackgroundColor, supportSetHeaderColor, supportSetupBackButton, supportSetupClosingBehavior, supportSetupMainButton, supportSetupSettingsButton, supportSwitchInlineQuery, supportTriggerHapticFeedback };
|
|
994
|
+
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 };
|
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]),
|
|
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 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;
|
package/solid/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createSignal as e,onMount as t,onCleanup as s}from"solid-js";const a=()=>{const[a,r]=e({height:0,is_expanded:!1,is_state_stable:!1}),o=e=>r(e);return t((()=>{Te
|
|
1
|
+
import{createSignal as e,onMount as t,onCleanup as s}from"solid-js";const a=()=>{const[a,r]=e({height:0,is_expanded:!1,is_state_stable:!1}),o=e=>r(e);return t((()=>{We(Te,o),we(Ze)})),s((()=>{Ee(Te,o)})),a},r="web",o="phone",n="desktop",i="not_supported",_=(e,t)=>{const s=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(s)>=e&&-1!==t.indexOf((()=>{const e=window.location.hash.slice(1),t=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(t)?o:["tdesktop","macos"].includes(t)?n:r})())},p=()=>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]),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},d=()=>c()?(we(Ue),{status:!0}):(be(Ue,1),{status:i}),c=()=>_(0,[r,n,o]),g=()=>b()?(we(Ge),{status:!0}):(be(Ge,1),{status:i}),b=()=>_(6.4,[o]),l=e=>w()?(we(Me,e),{status:!0}):(be(Me,1),{status:i}),w=()=>_(0,[r,n,o]),m=()=>h()?(we(Ve),{status:!0}):(be(Ve,1),{status:i}),h=()=>_(0,[o]),f=e=>v()?(we(Qe,e),{status:!0}):(be(Qe,1),{status:i}),v=()=>_(0,[r]),S=()=>y()?(we(Qe),{status:!0}):(be(Qe,1),{status:i}),y=()=>_(0,[r]),q="web_app_invoke_custom_method",x=async e=>k()?(void 0===e.req_id&&(e.req_id=p()),we(q,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Ee(fe,a))};We(fe,a)}))):(be(q,1),{status:i}),k=()=>_(6.9,[r,n,o]),P=e=>O()?(we(Fe,e),{status:!0}):(be(Fe,1),{status:i}),O=()=>_(6.1,[r,n,o]),R=e=>I()?(we(He,e),{status:!0}):(be(He,1),{status:i}),I=()=>_(6.4,[r,n,o]),T=async e=>C()?(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}),Ee(qe,a)};We(qe,a)}))):(be(ze,1),{status:i}),C=()=>_(6.2,[r,n,o]),L=async e=>W()?(we(De,e),new Promise(((t,s)=>{Ne(ke,(s=>{e.is_close&&g(),t({status:!0,data:s})})),Ne(Pe,(()=>{t({status:"closed"})}))}))):(be(De,1),{status:i}),W=()=>_(6.4,[o]),E=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),N()?(we(Ke,e),{status:!0}):(be(Ke,1),{status:i})),N=()=>_(7,[r,n,o]),$=async e=>B()?(void 0===e.req_id&&(e.req_id=p()),we(Ae,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Ee(he,a))};We(he,a)}))):(be(Ae,1),{status:i}),B=()=>_(6.4,[r,n,o]),D=()=>A()?(we(Xe),{status:!0}):(be(Xe,1),{status:i}),A=()=>_(6.9,[r,n,o]),J=async()=>U()?(we(Je),new Promise(((e,t)=>{Ne(ye,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(be(Je,1),{status:i}),U=()=>_(6.9,[r,n,o]),G=()=>M()?(we(Ye),{status:!0}):(be(Ye,1),{status:i}),M=()=>_(0,[r,n,o]),V=()=>Q()?(we(Ze),{status:!0}):(be(Ze,1),{status:i}),Q=()=>_(0,[r,n,o]),j=()=>F()?(we(et),{status:!0}):(be(et,1),{status:i}),F=()=>_(6.9,[r,n,o]),H=e=>z()?(we(tt,e),{status:!0}):(be(tt,1),{status:i}),z=()=>_(6.1,[r,n,o]),K=e=>X()?(we(st,e),{status:!0}):(be(st,1),{status:i}),X=()=>_(6.1,[r,n,o]),Y=e=>Z()?(we(at,e),{status:!0}):(be(at,1),{status:i}),Z=()=>_(6.1,[r,n,o]),ee=e=>te()?(we(rt,e),{status:!0}):(be(rt,1),{status:i}),te=()=>_(0,[r,n,o]),se=e=>ae()?(we(ot,e),{status:!0}):(be(ot,1),{status:i}),ae=()=>_(0,[r,n,o]),re=e=>oe()?(we(nt,e),{status:!0}):(be(nt,1),{status:i}),oe=()=>_(6.1,[r,n,o]),ne=e=>ie()?(e.query.length>256&&be(it,9),we(it,e),{status:!0}):(be(it,1),{status:i}),ie=()=>_(6.7,[r,n,o]),_e=e=>pe()?(we(_t,e),{status:!0}):(be(_t,1),{status:i}),pe=()=>_(6.1,[o]),ue=({key:e,value:t})=>{try{return window.sessionStorage.setItem("__telegram__"+e,JSON.stringify(t)),{status:!0}}catch(e){}return{status:!1}},de=()=>!0,ce=({key:e})=>{try{return window.sessionStorage.getItem("__telegram__"+e),{status:!0}}catch(e){}return{status:!1}},ge=()=>!0;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=(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 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",Re="settings_button_pressed",Ie="theme_changed",Te="viewport_changed",Ce="write_access_requested",Le=((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===Ie&&(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=u(e[r]);"string"==typeof o&&(a[r]=o)}return a})(t.theme_params)),Le.emit(e,t),Le.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}})();const We=(e,t)=>{Le.on(e,t)},Ee=(e,t)=>{Le.off(e,t)},Ne=(e,t)=>{Le.once(e,t)};var $e=Object.freeze({__proto__:null,off:Ee,on:We,once:Ne});const Be="web_app_invoke_custom_method",De="web_app_open_scan_qr_popup",Ae="web_app_read_text_from_clipboard",Je="web_app_request_phone",Ue="web_app_close",Ge="web_app_close_scan_qr_popup",Me="web_app_data_send",Ve="web_app_expand",Qe="iframe_ready",je="iframe_will_reload",Fe="web_app_open_invoice",He="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";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,Re as EventSettingsButtonPressed,Ie as EventThemeChanged,Te as EventViewportChanged,Ce as EventWriteAccessRequested,Ue as MethodClose,Ge as MethodCloseScanQrPopup,Me as MethodDataSend,Ve as MethodExpand,Qe as MethodIframeReady,je as MethodIframeWillReload,Be as MethodInvokeCustomMethod,Fe as MethodOpenInvoice,He as MethodOpenLink,ze as MethodOpenPopup,De as MethodOpenScanQrPopup,Ke as MethodOpenTgLink,Ae as MethodReadTextFromClipboard,Xe as MethodReady,Je 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,it as MethodSwitchInlineQuery,_t as MethodTriggerHapticFeedback,i as NOT_SUPPORTED,n as TG_DESKTOP,o as TG_PHONE,r as TG_WEB,d as bridgeClose,g as bridgeCloseScanQrPopup,l as bridgeDataSend,m as bridgeExpand,le as bridgeGetInitData,f as bridgeIframeReady,S as bridgeIframeWillReload,x as bridgeInvokeCustomMethod,P as bridgeOpenInvoice,R as bridgeOpenLink,T as bridgeOpenPopup,L as bridgeOpenScanQrPopup,E as bridgeOpenTgLink,$ as bridgeReadTextFromClipboard,D as bridgeReady,J as bridgeRequestPhone,G as bridgeRequestTheme,V as bridgeRequestViewport,j as bridgeRequestWriteAccess,ce as bridgeSessionStorageGet,ue as bridgeSessionStorageSet,H as bridgeSetBackgroundColor,K as bridgeSetHeaderColor,Y as bridgeSetupBackButton,ee as bridgeSetupClosingBehavior,se as bridgeSetupMainButton,re as bridgeSetupSettingsButton,ne as bridgeSwitchInlineQuery,_e as bridgeTriggerHapticFeedback,a as createIsViewportChanged,be as debug,$e as listener,we as sender,c as supportClose,b as supportCloseScanQrPopup,w as supportDataSend,h as supportExpand,v as supportIframeReady,y as supportIframeWillReload,k as supportInvokeCustomMethod,O as supportOpenInvoice,I as supportOpenLink,C as supportOpenPopup,W as supportOpenScanQrPopup,N as supportOpenTgLink,B as supportReadTextFromClipboard,A as supportReady,U as supportRequestPhone,M as supportRequestTheme,Q as supportRequestViewport,F as supportRequestWriteAccess,ge as supportSessionStorageGet,de as supportSessionStorageSet,z as supportSetBackgroundColor,X as supportSetHeaderColor,Z as supportSetupBackButton,te as supportSetupClosingBehavior,ae as supportSetupMainButton,oe as supportSetupSettingsButton,ie as supportSwitchInlineQuery,pe as supportTriggerHapticFeedback};
|