@apiteam/twa-bridge 7.0.0-beta.2 → 7.0.0-beta.4
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.js +1 -1
- package/react/index.mjs +1 -1
- package/solid/index.js +1 -1
- package/solid/index.mjs +1 -1
package/package.json
CHANGED
package/react/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("
|
|
1
|
+
"use strict";var e=require("utils");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=()=>p(0,[t,o,s]),u=()=>i()?(Q(Z),{status:!0}):(W(Z,1),{status:r}),i=()=>p(6.4,[s]),d=()=>p(0,[t,o,s]),_=()=>p(0,[s]),c=()=>p(0,[t]),x=()=>p(0,[t]),l="web_app_invoke_custom_method",g=()=>p(6.9,[t,o,s]),h=()=>p(6.1,[t,o,s]),b=()=>p(6.4,[t,o,s]),w=()=>p(6.2,[t,o,s]),m=()=>p(6.4,[s]),v=()=>p(7,[t,o,s]),S=()=>p(6.4,[t,o,s]),f=()=>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]),y=()=>p(6.1,[t,o,s]),C=()=>p(6.1,[t,o,s]),E=()=>p(0,[t,o,s]),T=()=>p(0,[t,o,s]),O=()=>p(6.1,[t,o,s]),B=()=>p(6.7,[t,o,s]),I=()=>p(6.1,[s]);var W=(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",L="custom_method_invoked",N="phone_requested",A="popup_closed",H="qr_text_received",V="scan_qr_popup_closed",F="theme_changed",G=((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 t(t,s){t===F&&(s.theme_params=e.getThemeParams(s.theme_params)),G.emit(t,s),G.emit("*",{name:t,data:s})}window.TelegramGameProxy_receiveEvent=t,window.Telegram={WebView:{receiveEvent:t}},window.TelegramGameProxy={receiveEvent:t}})();const U=(e,t)=>{G.on(e,t)},$=(e,t)=>{G.off(e,t)},J=(e,t)=>{G.once(e,t)};var j=Object.freeze({__proto__:null,off:$,on:U,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",ue="web_app_request_theme",ie="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",le="web_app_setup_closing_behavior",ge="web_app_setup_main_button",he="web_app_setup_settings_button",be="web_app_switch_inline_query",we="web_app_trigger_haptic_feedback";exports.EventBackButtonPressed="back_button_pressed",exports.EventClipboardTextReceived=D,exports.EventCustomMethodInvoked=L,exports.EventInvoiceClosed="invoice_closed",exports.EventMainButtonPressed="main_button_pressed",exports.EventPhoneRequested=N,exports.EventPopupClosed=A,exports.EventQrTextReceived=H,exports.EventReloadIframe="reload_iframe",exports.EventScanQrPopupClosed=V,exports.EventSetCustomStyle="set_custom_style",exports.EventSettingsButtonPressed="settings_button_pressed",exports.EventThemeChanged=F,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=ue,exports.MethodRequestViewport=ie,exports.MethodRequestWriteAccess=de,exports.MethodSetBackgroundColor=_e,exports.MethodSetHeaderColor=ce,exports.MethodSetupBackButton=xe,exports.MethodSetupClosingBehavior=le,exports.MethodSetupMainButton=ge,exports.MethodSetupSettingsButton=he,exports.MethodSwitchInlineQuery=be,exports.MethodTriggerHapticFeedback=we,exports.NOT_SUPPORTED=r,exports.TG_DESKTOP=o,exports.TG_PHONE=s,exports.TG_WEB=t,exports.bridgeClose=()=>n()?(Q(Y),{status:!0}):(W(Y,1),{status:r}),exports.bridgeCloseScanQrPopup=u,exports.bridgeDataSend=e=>d()?(Q(ee,e),{status:!0}):(W(ee,1),{status:r}),exports.bridgeExpand=()=>_()?(Q(te),{status:!0}):(W(te,1),{status:r}),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()?(Q(se,e),{status:!0}):(W(se,1),{status:r}),exports.bridgeIframeWillReload=()=>x()?(Q(se),{status:!0}):(W(se,1),{status:r}),exports.bridgeInvokeCustomMethod=async e=>g()?(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}),$(L,o))};U(L,o)}))):(W(l,1),{status:r}),exports.bridgeOpenInvoice=e=>h()?(Q(oe,e),{status:!0}):(W(oe,1),{status:r}),exports.bridgeOpenLink=e=>b()?(Q(re,e),{status:!0}):(W(re,1),{status:r}),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),Q(pe,e),new Promise(((t,s)=>{const o=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),$(A,o)};U(A,o)}))):(W(pe,1),{status:r}),exports.bridgeOpenScanQrPopup=async e=>m()?(Q(z,e),new Promise(((t,s)=>{J(H,(s=>{e.is_close&&u(),t({status:!0,data:s})})),J(V,(()=>{t({status:"closed"})}))}))):(W(z,1),{status:r}),exports.bridgeOpenTgLink=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),v()?(Q(ae,e),{status:!0}):(W(ae,1),{status:r})),exports.bridgeReadTextFromClipboard=async e=>S()?(void 0===e.req_id&&(e.req_id=a()),Q(K,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),$(D,o))};U(D,o)}))):(W(K,1),{status:r}),exports.bridgeReady=()=>f()?(Q(ne),{status:!0}):(W(ne,1),{status:r}),exports.bridgeRequestPhone=async()=>P()?(Q(X),new Promise(((e,t)=>{J(N,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(W(X,1),{status:r}),exports.bridgeRequestTheme=()=>M()?(Q(ue),{status:!0}):(W(ue,1),{status:r}),exports.bridgeRequestViewport=()=>q()?(Q(ie),{status:!0}):(W(ie,1),{status:r}),exports.bridgeRequestWriteAccess=()=>R()?(Q(de),{status:!0}):(W(de,1),{status:r}),exports.bridgeSetBackgroundColor=e=>k()?(Q(_e,e),{status:!0}):(W(_e,1),{status:r}),exports.bridgeSetHeaderColor=e=>y()?(Q(ce,e),{status:!0}):(W(ce,1),{status:r}),exports.bridgeSetupBackButton=e=>C()?(Q(xe,e),{status:!0}):(W(xe,1),{status:r}),exports.bridgeSetupClosingBehavior=e=>E()?(Q(le,e),{status:!0}):(W(le,1),{status:r}),exports.bridgeSetupMainButton=e=>T()?(Q(ge,e),{status:!0}):(W(ge,1),{status:r}),exports.bridgeSetupSettingsButton=e=>O()?(Q(he,e),{status:!0}):(W(he,1),{status:r}),exports.bridgeSwitchInlineQuery=e=>B()?(e.query.length>256&&W(be,9),Q(be,e),{status:!0}):(W(be,1),{status:r}),exports.bridgeTriggerHapticFeedback=e=>I()?(Q(we,e),{status:!0}):(W(we,1),{status:r}),exports.debug=W,exports.listener=j,exports.sender=Q,exports.supportClose=n,exports.supportCloseScanQrPopup=i,exports.supportDataSend=d,exports.supportExpand=_,exports.supportIframeReady=c,exports.supportIframeWillReload=x,exports.supportInvokeCustomMethod=g,exports.supportOpenInvoice=h,exports.supportOpenLink=b,exports.supportOpenPopup=w,exports.supportOpenScanQrPopup=m,exports.supportOpenTgLink=v,exports.supportReadTextFromClipboard=S,exports.supportReady=f,exports.supportRequestPhone=P,exports.supportRequestTheme=M,exports.supportRequestViewport=q,exports.supportRequestWriteAccess=R,exports.supportSetBackgroundColor=k,exports.supportSetHeaderColor=y,exports.supportSetupBackButton=C,exports.supportSetupClosingBehavior=E,exports.supportSetupMainButton=T,exports.supportSetupSettingsButton=O,exports.supportSwitchInlineQuery=B,exports.supportTriggerHapticFeedback=I;
|
package/react/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{getThemeParams as e}from"utils";const t="web",s="phone",a="desktop",n="not_supported",o=(e,n)=>{const o=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(o)>=e&&-1!==n.indexOf((()=>{const e=window.location.hash.slice(1),n=new URLSearchParams(e).get("tgWebAppPlatform")??"ios";return["android","ios"].includes(n)?s:["tdesktop","macos"].includes(n)?a:t})())},r=()=>Math.random().toString(36).substring(3,9),i=()=>_()?(_e(Ie),{status:!0}):(re(Ie,1),{status:n}),_=()=>o(0,[t,a,s]),p=()=>u()?(_e(Be),{status:!0}):(re(Be,1),{status:n}),u=()=>o(6.4,[s]),d=e=>c()?(_e(De,e),{status:!0}):(re(De,1),{status:n}),c=()=>o(0,[t,a,s]),b=()=>g()?(_e(Le),{status:!0}):(re(Le,1),{status:n}),g=()=>o(0,[s]),l=e=>w()?(_e(Ne,e),{status:!0}):(re(Ne,1),{status:n}),w=()=>o(0,[t]),m=()=>h()?(_e(Ne),{status:!0}):(re(Ne,1),{status:n}),h=()=>o(0,[t]),f="web_app_invoke_custom_method",v=async e=>q()?(void 0===e.req_id&&(e.req_id=r()),_e(f,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),xe(de,a))};ke(de,a)}))):(re(f,1),{status:n}),q=()=>o(6.9,[t,a,s]),y=e=>P()?(_e(Me,e),{status:!0}):(re(Me,1),{status:n}),P=()=>o(6.1,[t,a,s]),S=e=>k()?(_e(Ue,e),{status:!0}):(re(Ue,1),{status:n}),k=()=>o(6.4,[t,a,s]),x=async e=>O()?(e.title.length>64&&re(Ve,3),e.message.length<1&&re(Ve,4),e.message.length>256&&re(Ve,5),e.buttons.length<1&&re(Ve,6),e.buttons.length>3&&re(Ve,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&re(Ve,8),_e(Ve,e),new Promise(((t,s)=>{const a=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),xe(le,a)};ke(le,a)}))):(re(Ve,1),{status:n}),O=()=>o(6.2,[t,a,s]),R=async e=>T()?(_e(Ee,e),new Promise(((t,s)=>{Oe(me,(s=>{e.is_close&&p(),t({status:!0,data:s})})),Oe(he,(()=>{t({status:"closed"})}))}))):(re(Ee,1),{status:n}),T=()=>o(6.4,[s]),E=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),W()?(_e($e,e),{status:!0}):(re($e,1),{status:n})),W=()=>o(7,[t,a,s]),C=async e=>I()?(void 0===e.req_id&&(e.req_id=r()),_e(We,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),xe(ue,a))};ke(ue,a)}))):(re(We,1),{status:n}),I=()=>o(6.4,[t,a,s]),B=()=>D()?(_e(Ge),{status:!0}):(re(Ge,1),{status:n}),D=()=>o(6.9,[t,a,s]),L=async()=>N()?(_e(Ce),new Promise(((e,t)=>{Oe(ge,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(re(Ce,1),{status:n}),N=()=>o(6.9,[t,a,s]),A=()=>M()?(_e(Je),{status:!0}):(re(Je,1),{status:n}),M=()=>o(0,[t,a,s]),U=()=>V()?(_e(Qe),{status:!0}):(re(Qe,1),{status:n}),V=()=>o(0,[t,a,s]),$=()=>G()?(_e(Fe),{status:!0}):(re(Fe,1),{status:n}),G=()=>o(6.9,[t,a,s]),J=e=>Q()?(_e(He,e),{status:!0}):(re(He,1),{status:n}),Q=()=>o(6.1,[t,a,s]),F=e=>H()?(_e(je,e),{status:!0}):(re(je,1),{status:n}),H=()=>o(6.1,[t,a,s]),j=e=>z()?(_e(ze,e),{status:!0}):(re(ze,1),{status:n}),z=()=>o(6.1,[t,a,s]),K=e=>X()?(_e(Ke,e),{status:!0}):(re(Ke,1),{status:n}),X=()=>o(0,[t,a,s]),Y=e=>Z()?(_e(Xe,e),{status:!0}):(re(Xe,1),{status:n}),Z=()=>o(0,[t,a,s]),ee=e=>te()?(_e(Ye,e),{status:!0}):(re(Ye,1),{status:n}),te=()=>o(6.1,[t,a,s]),se=e=>ae()?(e.query.length>256&&re(Ze,9),_e(Ze,e),{status:!0}):(re(Ze,1),{status:n}),ae=()=>o(6.7,[t,a,s]),ne=e=>oe()?(_e(et,e),{status:!0}):(re(et,1),{status:n}),oe=()=>o(6.1,[s]);var re=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)};const ie=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return re("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 _e=(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 pe="back_button_pressed",ue="clipboard_text_received",de="custom_method_invoked",ce="invoice_closed",be="main_button_pressed",ge="phone_requested",le="popup_closed",we="reload_iframe",me="qr_text_received",he="scan_qr_popup_closed",fe="set_custom_style",ve="settings_button_pressed",qe="theme_changed",ye="viewport_changed",Pe="write_access_requested",Se=((e=new Map)=>({once:(t,s,a=e.get(t),n=(e=>{s(e),a&&a.splice(a.indexOf(s)>>>0,1)}))=>a?a.push(n):e.set(t,[n]),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 t(t,s){t===qe&&(s.theme_params=e(s.theme_params)),Se.emit(t,s),Se.emit("*",{name:t,data:s})}window.TelegramGameProxy_receiveEvent=t,window.Telegram={WebView:{receiveEvent:t}},window.TelegramGameProxy={receiveEvent:t}})();const ke=(e,t)=>{Se.on(e,t)},xe=(e,t)=>{Se.off(e,t)},Oe=(e,t)=>{Se.once(e,t)};var Re=Object.freeze({__proto__:null,off:xe,on:ke,once:Oe});const Te="web_app_invoke_custom_method",Ee="web_app_open_scan_qr_popup",We="web_app_read_text_from_clipboard",Ce="web_app_request_phone",Ie="web_app_close",Be="web_app_close_scan_qr_popup",De="web_app_data_send",Le="web_app_expand",Ne="iframe_ready",Ae="iframe_will_reload",Me="web_app_open_invoice",Ue="web_app_open_link",Ve="web_app_open_popup",$e="web_app_open_tg_link",Ge="web_app_ready",Je="web_app_request_theme",Qe="web_app_request_viewport",Fe="web_app_request_write_access",He="web_app_set_background_color",je="web_app_set_header_color",ze="web_app_setup_back_button",Ke="web_app_setup_closing_behavior",Xe="web_app_setup_main_button",Ye="web_app_setup_settings_button",Ze="web_app_switch_inline_query",et="web_app_trigger_haptic_feedback";export{pe as EventBackButtonPressed,ue as EventClipboardTextReceived,de as EventCustomMethodInvoked,ce as EventInvoiceClosed,be as EventMainButtonPressed,ge as EventPhoneRequested,le as EventPopupClosed,me as EventQrTextReceived,we as EventReloadIframe,he as EventScanQrPopupClosed,fe as EventSetCustomStyle,ve as EventSettingsButtonPressed,qe as EventThemeChanged,ye as EventViewportChanged,Pe as EventWriteAccessRequested,Ie as MethodClose,Be as MethodCloseScanQrPopup,De as MethodDataSend,Le as MethodExpand,Ne as MethodIframeReady,Ae as MethodIframeWillReload,Te as MethodInvokeCustomMethod,Me as MethodOpenInvoice,Ue as MethodOpenLink,Ve as MethodOpenPopup,Ee as MethodOpenScanQrPopup,$e as MethodOpenTgLink,We as MethodReadTextFromClipboard,Ge as MethodReady,Ce as MethodRequestPhone,Je as MethodRequestTheme,Qe as MethodRequestViewport,Fe as MethodRequestWriteAccess,He as MethodSetBackgroundColor,je as MethodSetHeaderColor,ze as MethodSetupBackButton,Ke as MethodSetupClosingBehavior,Xe as MethodSetupMainButton,Ye as MethodSetupSettingsButton,Ze as MethodSwitchInlineQuery,et as MethodTriggerHapticFeedback,n as NOT_SUPPORTED,a as TG_DESKTOP,s as TG_PHONE,t as TG_WEB,i as bridgeClose,p as bridgeCloseScanQrPopup,d as bridgeDataSend,b as bridgeExpand,ie as bridgeGetInitData,l as bridgeIframeReady,m as bridgeIframeWillReload,v as bridgeInvokeCustomMethod,y as bridgeOpenInvoice,S as bridgeOpenLink,x as bridgeOpenPopup,R as bridgeOpenScanQrPopup,E as bridgeOpenTgLink,C as bridgeReadTextFromClipboard,B as bridgeReady,L as bridgeRequestPhone,A as bridgeRequestTheme,U as bridgeRequestViewport,$ as bridgeRequestWriteAccess,J as bridgeSetBackgroundColor,F as bridgeSetHeaderColor,j as bridgeSetupBackButton,K as bridgeSetupClosingBehavior,Y as bridgeSetupMainButton,ee as bridgeSetupSettingsButton,se as bridgeSwitchInlineQuery,ne as bridgeTriggerHapticFeedback,re as debug,Re as listener,_e as sender,_ as supportClose,u as supportCloseScanQrPopup,c as supportDataSend,g as supportExpand,w as supportIframeReady,h as supportIframeWillReload,q as supportInvokeCustomMethod,P as supportOpenInvoice,k as supportOpenLink,O as supportOpenPopup,T as supportOpenScanQrPopup,W as supportOpenTgLink,I as supportReadTextFromClipboard,D as supportReady,N as supportRequestPhone,M as supportRequestTheme,V as supportRequestViewport,G as supportRequestWriteAccess,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.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("
|
|
1
|
+
"use strict";var e=require("utils"),t=require("solid-js");const s="web",o="phone",r="desktop",p="not_supported",a=(e,t)=>{const p=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppVersion");return Number(p)>=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)?r:s})())},n=()=>Math.random().toString(36).substring(3,9),u=()=>a(0,[s,r,o]),i=()=>d()?(D(te),{status:!0}):(Q(te,1),{status:p}),d=()=>a(6.4,[o]),_=()=>a(0,[s,r,o]),c=()=>a(0,[o]),x=()=>a(0,[s]),l=()=>a(0,[s]),g="web_app_invoke_custom_method",h=()=>a(6.9,[s,r,o]),b=()=>a(6.1,[s,r,o]),w=()=>a(6.4,[s,r,o]),m=()=>a(6.2,[s,r,o]),v=()=>a(6.4,[o]),S=()=>a(7,[s,r,o]),f=()=>a(6.4,[s,r,o]),M=()=>a(6.9,[s,r,o]),P=()=>a(6.9,[s,r,o]),q=()=>a(0,[s,r,o]),R=()=>a(0,[s,r,o]),k=()=>a(6.9,[s,r,o]),C=()=>a(6.1,[s,r,o]),y=()=>a(6.1,[s,r,o]),E=()=>a(6.1,[s,r,o]),T=()=>a(0,[s,r,o]),O=()=>a(0,[s,r,o]),B=()=>a(6.1,[s,r,o]),I=()=>a(6.7,[s,r,o]),W=()=>a(6.1,[o]);var Q=(e,t)=>{"development"===process.env.NODE_ENV&&console.error(`[@apiteam/twa-bridge](${e}) = ${t}`)};var D=(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 L="clipboard_text_received",N="custom_method_invoked",V="phone_requested",A="popup_closed",H="qr_text_received",F="scan_qr_popup_closed",G="theme_changed",U="viewport_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 t(t,s){t===G&&(s.theme_params=e.getThemeParams(s.theme_params)),$.emit(t,s),$.emit("*",{name:t,data:s})}window.TelegramGameProxy_receiveEvent=t,window.Telegram={WebView:{receiveEvent:t}},window.TelegramGameProxy={receiveEvent:t}})();const J=(e,t)=>{$.on(e,t)},j=(e,t)=>{$.off(e,t)},z=(e,t)=>{$.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",ue="web_app_open_tg_link",ie="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",le="web_app_set_header_color",ge="web_app_setup_back_button",he="web_app_setup_closing_behavior",be="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=L,exports.EventCustomMethodInvoked=N,exports.EventInvoiceClosed="invoice_closed",exports.EventMainButtonPressed="main_button_pressed",exports.EventPhoneRequested=V,exports.EventPopupClosed=A,exports.EventQrTextReceived=H,exports.EventReloadIframe="reload_iframe",exports.EventScanQrPopupClosed=F,exports.EventSetCustomStyle="set_custom_style",exports.EventSettingsButtonPressed="settings_button_pressed",exports.EventThemeChanged=G,exports.EventViewportChanged=U,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=ue,exports.MethodReadTextFromClipboard=Y,exports.MethodReady=ie,exports.MethodRequestPhone=Z,exports.MethodRequestTheme=de,exports.MethodRequestViewport=_e,exports.MethodRequestWriteAccess=ce,exports.MethodSetBackgroundColor=xe,exports.MethodSetHeaderColor=le,exports.MethodSetupBackButton=ge,exports.MethodSetupClosingBehavior=he,exports.MethodSetupMainButton=be,exports.MethodSetupSettingsButton=we,exports.MethodSwitchInlineQuery=me,exports.MethodTriggerHapticFeedback=ve,exports.NOT_SUPPORTED=p,exports.TG_DESKTOP=r,exports.TG_PHONE=o,exports.TG_WEB=s,exports.bridgeClose=()=>u()?(D(ee),{status:!0}):(Q(ee,1),{status:p}),exports.bridgeCloseScanQrPopup=i,exports.bridgeDataSend=e=>_()?(D(se,e),{status:!0}):(Q(se,1),{status:p}),exports.bridgeExpand=()=>c()?(D(oe),{status:!0}):(Q(oe,1),{status:p}),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=>x()?(D(re,e),{status:!0}):(Q(re,1),{status:p}),exports.bridgeIframeWillReload=()=>l()?(D(re),{status:!0}):(Q(re,1),{status:p}),exports.bridgeInvokeCustomMethod=async e=>h()?(void 0===e.req_id&&(e.req_id=n()),D(g,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)}))):(Q(g,1),{status:p}),exports.bridgeOpenInvoice=e=>b()?(D(pe,e),{status:!0}):(Q(pe,1),{status:p}),exports.bridgeOpenLink=e=>w()?(D(ae,e),{status:!0}):(Q(ae,1),{status:p}),exports.bridgeOpenPopup=async e=>m()?(e.title.length>64&&Q(ne,3),e.message.length<1&&Q(ne,4),e.message.length>256&&Q(ne,5),e.buttons.length<1&&Q(ne,6),e.buttons.length>3&&Q(ne,7),void 0!==e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g)))&&Q(ne,8),D(ne,e),new Promise(((t,s)=>{const o=s=>{t({status:!!e.buttons.find((e=>e.id===s?.button_id)),data:s}),j(A,o)};J(A,o)}))):(Q(ne,1),{status:p}),exports.bridgeOpenScanQrPopup=async e=>v()?(D(X,e),new Promise(((t,s)=>{z(H,(s=>{e.is_close&&i(),t({status:!0,data:s})})),z(F,(()=>{t({status:"closed"})}))}))):(Q(X,1),{status:p}),exports.bridgeOpenTgLink=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),S()?(D(ue,e),{status:!0}):(Q(ue,1),{status:p})),exports.bridgeReadTextFromClipboard=async e=>f()?(void 0===e.req_id&&(e.req_id=n()),D(Y,e),new Promise(((t,s)=>{const o=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),j(L,o))};J(L,o)}))):(Q(Y,1),{status:p}),exports.bridgeReady=()=>M()?(D(ie),{status:!0}):(Q(ie,1),{status:p}),exports.bridgeRequestPhone=async()=>P()?(D(Z),new Promise(((e,t)=>{z(V,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(Q(Z,1),{status:p}),exports.bridgeRequestTheme=()=>q()?(D(de),{status:!0}):(Q(de,1),{status:p}),exports.bridgeRequestViewport=()=>R()?(D(_e),{status:!0}):(Q(_e,1),{status:p}),exports.bridgeRequestWriteAccess=()=>k()?(D(ce),{status:!0}):(Q(ce,1),{status:p}),exports.bridgeSetBackgroundColor=e=>C()?(D(xe,e),{status:!0}):(Q(xe,1),{status:p}),exports.bridgeSetHeaderColor=e=>y()?(D(le,e),{status:!0}):(Q(le,1),{status:p}),exports.bridgeSetupBackButton=e=>E()?(D(ge,e),{status:!0}):(Q(ge,1),{status:p}),exports.bridgeSetupClosingBehavior=e=>T()?(D(he,e),{status:!0}):(Q(he,1),{status:p}),exports.bridgeSetupMainButton=e=>O()?(D(be,e),{status:!0}):(Q(be,1),{status:p}),exports.bridgeSetupSettingsButton=e=>B()?(D(we,e),{status:!0}):(Q(we,1),{status:p}),exports.bridgeSwitchInlineQuery=e=>I()?(e.query.length>256&&Q(me,9),D(me,e),{status:!0}):(Q(me,1),{status:p}),exports.bridgeTriggerHapticFeedback=e=>W()?(D(ve,e),{status:!0}):(Q(ve,1),{status:p}),exports.createIsViewportChanged=()=>{const[e,s]=t.createSignal({height:0,is_expanded:!1,is_state_stable:!1}),o=e=>s(e);return t.onMount((()=>{J(U,o),D(_e)})),t.onCleanup((()=>{j(U,o)})),e},exports.debug=Q,exports.listener=K,exports.sender=D,exports.supportClose=u,exports.supportCloseScanQrPopup=d,exports.supportDataSend=_,exports.supportExpand=c,exports.supportIframeReady=x,exports.supportIframeWillReload=l,exports.supportInvokeCustomMethod=h,exports.supportOpenInvoice=b,exports.supportOpenLink=w,exports.supportOpenPopup=m,exports.supportOpenScanQrPopup=v,exports.supportOpenTgLink=S,exports.supportReadTextFromClipboard=f,exports.supportReady=M,exports.supportRequestPhone=P,exports.supportRequestTheme=q,exports.supportRequestViewport=R,exports.supportRequestWriteAccess=k,exports.supportSetBackgroundColor=C,exports.supportSetHeaderColor=y,exports.supportSetupBackButton=E,exports.supportSetupClosingBehavior=T,exports.supportSetupMainButton=O,exports.supportSetupSettingsButton=B,exports.supportSwitchInlineQuery=I,exports.supportTriggerHapticFeedback=W;
|
package/solid/index.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{
|
|
1
|
+
import{getThemeParams as e}from"utils";import{createSignal as t,onMount as s,onCleanup as a}from"solid-js";const o=()=>{const[e,o]=t({height:0,is_expanded:!1,is_state_stable:!1}),n=e=>o(e);return s((()=>{Te(ke,n),ce(ze)})),a((()=>{Ee(ke,n)})),e},n="web",r="phone",i="desktop",_="not_supported",p=(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)?r:["tdesktop","macos"].includes(t)?i:n})())},u=()=>Math.random().toString(36).substring(3,9),d=()=>c()?(ce(Ne),{status:!0}):(ue(Ne,1),{status:_}),c=()=>p(0,[n,i,r]),b=()=>l()?(ce(Ae),{status:!0}):(ue(Ae,1),{status:_}),l=()=>p(6.4,[r]),g=e=>w()?(ce(Me,e),{status:!0}):(ue(Me,1),{status:_}),w=()=>p(0,[n,i,r]),m=()=>h()?(ce(Ue),{status:!0}):(ue(Ue,1),{status:_}),h=()=>p(0,[r]),f=e=>v()?(ce(Ve,e),{status:!0}):(ue(Ve,1),{status:_}),v=()=>p(0,[n]),q=()=>y()?(ce(Ve),{status:!0}):(ue(Ve,1),{status:_}),y=()=>p(0,[n]),x="web_app_invoke_custom_method",P=async e=>S()?(void 0===e.req_id&&(e.req_id=u()),ce(x,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Ee(ge,a))};Te(ge,a)}))):(ue(x,1),{status:_}),S=()=>p(6.9,[n,i,r]),k=e=>O()?(ce(Ge,e),{status:!0}):(ue(Ge,1),{status:_}),O=()=>p(6.1,[n,i,r]),R=e=>T()?(ce(Je,e),{status:!0}):(ue(Je,1),{status:_}),T=()=>p(6.4,[n,i,r]),E=async e=>W()?(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}),Ee(fe,a)};Te(fe,a)}))):(ue(Qe,1),{status:_}),W=()=>p(6.2,[n,i,r]),C=async e=>I()?(ce(Be,e),new Promise(((t,s)=>{We(qe,(s=>{e.is_close&&b(),t({status:!0,data:s})})),We(ye,(()=>{t({status:"closed"})}))}))):(ue(Be,1),{status:_}),I=()=>p(6.4,[r]),B=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),D()?(ce(je,e),{status:!0}):(ue(je,1),{status:_})),D=()=>p(7,[n,i,r]),L=async e=>N()?(void 0===e.req_id&&(e.req_id=u()),ce(De,e),new Promise(((t,s)=>{const a=s=>{s.req_id===e.req_id&&(t({status:!0,data:s}),Ee(le,a))};Te(le,a)}))):(ue(De,1),{status:_}),N=()=>p(6.4,[n,i,r]),A=()=>M()?(ce(Fe),{status:!0}):(ue(Fe,1),{status:_}),M=()=>p(6.9,[n,i,r]),U=async()=>V()?(ce(Le),new Promise(((e,t)=>{We(he,(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):(ue(Le,1),{status:_}),V=()=>p(6.9,[n,i,r]),$=()=>G()?(ce(He),{status:!0}):(ue(He,1),{status:_}),G=()=>p(0,[n,i,r]),J=()=>Q()?(ce(ze),{status:!0}):(ue(ze,1),{status:_}),Q=()=>p(0,[n,i,r]),j=()=>F()?(ce(Ke),{status:!0}):(ue(Ke,1),{status:_}),F=()=>p(6.9,[n,i,r]),H=e=>z()?(ce(Xe,e),{status:!0}):(ue(Xe,1),{status:_}),z=()=>p(6.1,[n,i,r]),K=e=>X()?(ce(Ye,e),{status:!0}):(ue(Ye,1),{status:_}),X=()=>p(6.1,[n,i,r]),Y=e=>Z()?(ce(Ze,e),{status:!0}):(ue(Ze,1),{status:_}),Z=()=>p(6.1,[n,i,r]),ee=e=>te()?(ce(et,e),{status:!0}):(ue(et,1),{status:_}),te=()=>p(0,[n,i,r]),se=e=>ae()?(ce(tt,e),{status:!0}):(ue(tt,1),{status:_}),ae=()=>p(0,[n,i,r]),oe=e=>ne()?(ce(st,e),{status:!0}):(ue(st,1),{status:_}),ne=()=>p(6.1,[n,i,r]),re=e=>ie()?(e.query.length>256&&ue(at,9),ce(at,e),{status:!0}):(ue(at,1),{status:_}),ie=()=>p(6.7,[n,i,r]),_e=e=>pe()?(ce(ot,e),{status:!0}):(ue(ot,1),{status:_}),pe=()=>p(6.1,[r]);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 be="back_button_pressed",le="clipboard_text_received",ge="custom_method_invoked",we="invoice_closed",me="main_button_pressed",he="phone_requested",fe="popup_closed",ve="reload_iframe",qe="qr_text_received",ye="scan_qr_popup_closed",xe="set_custom_style",Pe="settings_button_pressed",Se="theme_changed",ke="viewport_changed",Oe="write_access_requested",Re=((e=new Map)=>({once:(t,s,a=e.get(t),o=(e=>{s(e),a&&a.splice(a.indexOf(s)>>>0,1)}))=>a?a.push(o):e.set(t,[o]),on:(t,s,a=e.get(t))=>a?a.push(s):e.set(t,[s]),off:(t,s,a=e.get(t))=>a&&s?a.splice(a.indexOf(s)>>>0,1):e.set(t,[]),emit:(t,s,a=e.get(t)||[])=>{for(const e of a)e(s)}}))();(()=>{function t(t,s){t===Se&&(s.theme_params=e(s.theme_params)),Re.emit(t,s),Re.emit("*",{name:t,data:s})}window.TelegramGameProxy_receiveEvent=t,window.Telegram={WebView:{receiveEvent:t}},window.TelegramGameProxy={receiveEvent:t}})();const Te=(e,t)=>{Re.on(e,t)},Ee=(e,t)=>{Re.off(e,t)},We=(e,t)=>{Re.once(e,t)};var Ce=Object.freeze({__proto__:null,off:Ee,on:Te,once:We});const Ie="web_app_invoke_custom_method",Be="web_app_open_scan_qr_popup",De="web_app_read_text_from_clipboard",Le="web_app_request_phone",Ne="web_app_close",Ae="web_app_close_scan_qr_popup",Me="web_app_data_send",Ue="web_app_expand",Ve="iframe_ready",$e="iframe_will_reload",Ge="web_app_open_invoice",Je="web_app_open_link",Qe="web_app_open_popup",je="web_app_open_tg_link",Fe="web_app_ready",He="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",ot="web_app_trigger_haptic_feedback";export{be as EventBackButtonPressed,le as EventClipboardTextReceived,ge as EventCustomMethodInvoked,we as EventInvoiceClosed,me as EventMainButtonPressed,he as EventPhoneRequested,fe as EventPopupClosed,qe as EventQrTextReceived,ve as EventReloadIframe,ye as EventScanQrPopupClosed,xe as EventSetCustomStyle,Pe as EventSettingsButtonPressed,Se as EventThemeChanged,ke as EventViewportChanged,Oe as EventWriteAccessRequested,Ne as MethodClose,Ae as MethodCloseScanQrPopup,Me as MethodDataSend,Ue as MethodExpand,Ve as MethodIframeReady,$e as MethodIframeWillReload,Ie as MethodInvokeCustomMethod,Ge as MethodOpenInvoice,Je as MethodOpenLink,Qe as MethodOpenPopup,Be as MethodOpenScanQrPopup,je as MethodOpenTgLink,De as MethodReadTextFromClipboard,Fe as MethodReady,Le as MethodRequestPhone,He 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,ot as MethodTriggerHapticFeedback,_ as NOT_SUPPORTED,i as TG_DESKTOP,r as TG_PHONE,n as TG_WEB,d as bridgeClose,b as bridgeCloseScanQrPopup,g as bridgeDataSend,m as bridgeExpand,de as bridgeGetInitData,f as bridgeIframeReady,q as bridgeIframeWillReload,P as bridgeInvokeCustomMethod,k as bridgeOpenInvoice,R as bridgeOpenLink,E as bridgeOpenPopup,C as bridgeOpenScanQrPopup,B as bridgeOpenTgLink,L as bridgeReadTextFromClipboard,A as bridgeReady,U as bridgeRequestPhone,$ as bridgeRequestTheme,J as bridgeRequestViewport,j as bridgeRequestWriteAccess,H as bridgeSetBackgroundColor,K as bridgeSetHeaderColor,Y as bridgeSetupBackButton,ee as bridgeSetupClosingBehavior,se as bridgeSetupMainButton,oe as bridgeSetupSettingsButton,re as bridgeSwitchInlineQuery,_e as bridgeTriggerHapticFeedback,o as createIsViewportChanged,ue as debug,Ce as listener,ce as sender,c as supportClose,l as supportCloseScanQrPopup,w as supportDataSend,h as supportExpand,v as supportIframeReady,y as supportIframeWillReload,S as supportInvokeCustomMethod,O as supportOpenInvoice,T as supportOpenLink,W as supportOpenPopup,I as supportOpenScanQrPopup,D as supportOpenTgLink,N as supportReadTextFromClipboard,M as supportReady,V as supportRequestPhone,G as supportRequestTheme,Q as supportRequestViewport,F as supportRequestWriteAccess,z as supportSetBackgroundColor,X as supportSetHeaderColor,Z as supportSetupBackButton,te as supportSetupClosingBehavior,ae as supportSetupMainButton,ne as supportSetupSettingsButton,ie as supportSwitchInlineQuery,pe as supportTriggerHapticFeedback};
|