@apiteam/twa-bridge 0.0.2-beta.2 → 0.0.2-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/solid/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";var e=require("sender"),t=require("solid"),s=require("solid-js");const p=e=>{},o="web",r="phone",a="desktop",n=(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)?a:o})())},u="web_app_close",i=()=>n(0,[o,a,r]);var _=(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="web_app_close_scan_qr_popup",c=()=>l()?(_(d),{status:!0}):{status:"not_supported"},l=()=>n(6.4,[r]),x="web_app_data_send",b=()=>n(0,[o,a,r]),g="web_app_expand",w=()=>n(0,[r]),h="iframe_ready",m=()=>n(0,[o]),f="iframe_will_reload",v=()=>n(0,[o]),S="web_app_invoke_custom_method",q=()=>n(6.9,[o,a,r]),y="web_app_open_invoice",k=()=>n(6.1,[o,a,r]),P="web_app_open_link",R=()=>n(6.4,[o,a,r]),O="web_app_open_popup",T=()=>n(6.2,[o,a,r]),C="web_app_open_scan_qr_popup",B=()=>n(6.4,[r]),I="web_app_open_tg_link",W=()=>n(7,[o,a,r]),E="web_app_read_text_from_clipboard",L=()=>n(6.4,[o,a,r]),D="web_app_ready",G=()=>n(6.9,[o,a,r]),M="web_app_request_phone",Q=()=>n(6.9,[o,a,r]),A="web_app_request_theme",H=()=>n(0,[o,a,r]),N="web_app_request_viewport",V=()=>n(0,[o,a,r]),F="web_app_request_write_access",U=()=>n(6.9,[o,a,r]),J="web_app_set_background_color",j=()=>n(6.1,[o,a,r]),$="web_app_set_header_color",z=()=>n(6.1,[o,a,r]),K="web_app_setup_back_button",X=()=>n(6.1,[o,a,r]),Y="web_app_setup_closing_behavior",Z=()=>n(0,[o,a,r]),ee="web_app_setup_main_button",te=()=>n(0,[o,a,r]),se="web_app_setup_settings_button",pe=()=>n(6.1,[o,a,r]),oe="web_app_switch_inline_query",re=()=>n(6.7,[o,a,r]),ae="web_app_trigger_haptic_feedback",ne=()=>n(6.1,[r]),ue=((e=new Map)=>({once:(t,s,p=e.get(t),o=(e=>{s(e),p&&p.splice(p.indexOf(s)>>>0,1)}))=>p?p.push(o):e.set(t,[o]),on:(t,s,p=e.get(t))=>p?p.push(s):e.set(t,[s]),off:(t,s,p=e.get(t))=>p&&s?p.splice(p.indexOf(s)>>>0,1):e.set(t,[]),emit:(t,s,p=e.get(t)||[])=>{for(const e of p)e(s)}}))(),ie=()=>{function e(e,t){ue.emit(e,t),ue.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}};ie();const _e=(e,t)=>{ue.once(e,t)};var de=Object.freeze({__proto__:null,listenerStart:ie,off:(e,t)=>{ue.off(e,t)},on:(e,t)=>{ue.on(e,t)},once:_e});exports.TG_DESKTOP=a,exports.TG_PHONE=r,exports.TG_WEB=o,exports.bridgeClose=()=>i()?(_(u),{status:!0}):{status:"not_supported"},exports.bridgeCloseScanQrPopup=c,exports.bridgeDataSend=e=>b()?(_(x,e),{status:!0}):{status:"not_supported"},exports.bridgeExpand=()=>w()?(_(g),{status:!0}):{status:"not_supported"},exports.bridgeGetInitData=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return 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=>m()?(_(h,e),{status:!0}):{status:"not_supported"},exports.bridgeIframeWillReload=()=>v()?(_(f),{status:!0}):{status:"not_supported"},exports.bridgeInvokeCustomMethod=e=>q()?(_(S,e),{status:!0}):{status:"not_supported"},exports.bridgeOpenInvoice=e=>k()?(_(y,e),{status:!0}):{status:"not_supported"},exports.bridgeOpenLink=e=>R()?(_(P,e),{status:!0}):{status:"not_supported"},exports.bridgeOpenPopup=e=>T()?(e.title.length,e.message.length,e.message.length,e.buttons.length,e.buttons.length,e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g))),_(O,e),{status:!0}):{status:"not_supported"},exports.bridgeOpenScanQrPopup=async e=>B()?(_(C,e),new Promise(((t,s)=>{_e("qr_text_received",(s=>{e.is_close&&c(),t({status:!0,data:s})})),_e("scan_qr_popup_closed",(()=>{t({status:"closed",data:{data:void 0}})}))}))):{status:"not_supported",data:{data:void 0}},exports.bridgeOpenTgLink=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),W()?(_(I,e),{status:!0}):{status:"not_supported"}),exports.bridgeReadTextFromClipboard=e=>L()?(_(E,e),{status:!0}):{status:"not_supported"},exports.bridgeReady=()=>G()?(_(D),{status:!0}):{status:"not_supported"},exports.bridgeRequestPhone=async()=>Q()?(_(M),new Promise(((e,t)=>{_e("phone_requested",(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):{status:"not_supported"},exports.bridgeRequestTheme=()=>H()?(_(A),{status:!0}):{status:"not_supported"},exports.bridgeRequestViewport=()=>V()?(_(N),{status:!0}):{status:"not_supported"},exports.bridgeRequestWriteAccess=()=>U()?(_(F),{status:!0}):{status:"not_supported"},exports.bridgeSetBackgroundColor=e=>j()?(_(J,e),{status:!0}):{status:"not_supported"},exports.bridgeSetHeaderColor=e=>z()?(_($,e),{status:!0}):{status:"not_supported"},exports.bridgeSetupBackButton=e=>X()?(_(K,e),{status:!0}):{status:"not_supported"},exports.bridgeSetupClosingBehavior=e=>Z()?(_(Y,e),{status:!0}):{status:"not_supported"},exports.bridgeSetupMainButton=e=>te()?(_(ee,e),{status:!0}):{status:"not_supported"},exports.bridgeSetupSettingsButton=e=>pe()?(_(se,e),{status:!0}):{status:"not_supported"},exports.bridgeSwitchInlineQuery=e=>re()?(e.query.length,_(oe,e),{status:!0}):{status:"not_supported"},exports.bridgeTriggerHapticFeedback=e=>ne()?(_(ae,e),{status:!0}):{status:"not_supported"},exports.createIsViewportChanged=()=>{const[p,o]=s.createSignal({height:0,is_expanded:!1,is_state_stable:!1}),r=e=>o(e);return s.onMount((()=>{t.listener.on("viewport_changed",r),e("web_app_request_viewport")})),s.onCleanup((()=>{t.listener.off("viewport_changed",r)})),p},exports.debug=p,exports.listener=de,exports.sender=_,exports.supportClose=i,exports.supportCloseScanQrPopup=l,exports.supportDataSend=b,exports.supportExpand=w,exports.supportIframeReady=m,exports.supportIframeWillReload=v,exports.supportInvokeCustomMethod=q,exports.supportOpenInvoice=k,exports.supportOpenLink=R,exports.supportOpenPopup=T,exports.supportOpenScanQrPopup=B,exports.supportOpenTgLink=W,exports.supportReadTextFromClipboard=L,exports.supportReady=G,exports.supportRequestPhone=Q,exports.supportRequestTheme=H,exports.supportRequestViewport=V,exports.supportRequestWriteAccess=U,exports.supportSetBackgroundColor=j,exports.supportSetHeaderColor=z,exports.supportSetupBackButton=X,exports.supportSetupClosingBehavior=Z,exports.supportSetupMainButton=te,exports.supportSetupSettingsButton=pe,exports.supportSwitchInlineQuery=re,exports.supportTriggerHapticFeedback=ne;
1
+ "use strict";var e=require("solid-js");var t=(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 n=((e=new Map)=>({once:(t,n,i=e.get(t),o=(e=>{n(e),i&&i.splice(i.indexOf(n)>>>0,1)}))=>i?i.push(o):e.set(t,[o]),on:(t,n,i=e.get(t))=>i?i.push(n):e.set(t,[n]),off:(t,n,i=e.get(t))=>i&&n?i.splice(i.indexOf(n)>>>0,1):e.set(t,[]),emit:(t,n,i=e.get(t)||[])=>{for(const e of i)e(n)}}))(),i=()=>{function e(e,t){n.emit(e,t),n.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}};i();const o=(e,t)=>{n.on(e,t)},r=(e,t)=>{n.off(e,t)};const a="web_app_request_viewport",s="viewport_changed";exports.createIsViewportChanged=()=>{const[n,i]=e.createSignal({height:0,is_expanded:!1,is_state_stable:!1}),w=e=>i(e);return e.onMount((()=>{o(s,w),t(a)})),e.onCleanup((()=>{r(s,w)})),n};
package/solid/index.mjs CHANGED
@@ -1 +1 @@
1
- import e from"sender";import{listener as t}from"solid";import{createSignal as s,onMount as a,onCleanup as o}from"solid-js";const p=e=>{},n="web",r="phone",u="desktop",_=(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)?u:n})())},i="web_app_close",d=()=>c()?(b(i),{status:!0}):{status:"not_supported"},c=()=>_(0,[n,u,r]);var b=(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="web_app_close_scan_qr_popup",g=()=>w()?(b(l),{status:!0}):{status:"not_supported"},w=()=>_(6.4,[r]),h="web_app_data_send",m=e=>f()?(b(h,e),{status:!0}):{status:"not_supported"},f=()=>_(0,[n,u,r]),v="web_app_expand",y=()=>S()?(b(v),{status:!0}):{status:"not_supported"},S=()=>_(0,[r]),x="iframe_ready",q=e=>k()?(b(x,e),{status:!0}):{status:"not_supported"},k=()=>_(0,[n]),P="iframe_will_reload",O=()=>R()?(b(P),{status:!0}):{status:"not_supported"},R=()=>_(0,[n]),T="web_app_invoke_custom_method",W=e=>C()?(b(T,e),{status:!0}):{status:"not_supported"},C=()=>_(6.9,[n,u,r]),B="web_app_open_invoice",E=e=>I()?(b(B,e),{status:!0}):{status:"not_supported"},I=()=>_(6.1,[n,u,r]),L="web_app_open_link",A=e=>D()?(b(L,e),{status:!0}):{status:"not_supported"},D=()=>_(6.4,[n,u,r]),N="web_app_open_popup",U=e=>G()?(e.title.length,e.message.length,e.message.length,e.buttons.length,e.buttons.length,e.buttons.find((e=>e.text?.match(/^(ok|close|cancel)$/g))),b(N,e),{status:!0}):{status:"not_supported"},G=()=>_(6.2,[n,u,r]),J="web_app_open_scan_qr_popup",M=async e=>Q()?(b(J,e),new Promise(((t,s)=>{Ue("qr_text_received",(s=>{e.is_close&&g(),t({status:!0,data:s})})),Ue("scan_qr_popup_closed",(()=>{t({status:"closed",data:{data:void 0}})}))}))):{status:"not_supported",data:{data:void 0}},Q=()=>_(6.4,[r]),V="web_app_open_tg_link",j=e=>("/"!==e.path_full[0]&&(e.path_full="/"+e.path_full),F()?(b(V,e),{status:!0}):{status:"not_supported"}),F=()=>_(7,[n,u,r]),H="web_app_read_text_from_clipboard",$=e=>z()?(b(H,e),{status:!0}):{status:"not_supported"},z=()=>_(6.4,[n,u,r]),K="web_app_ready",X=()=>Y()?(b(K),{status:!0}):{status:"not_supported"},Y=()=>_(6.9,[n,u,r]),Z="web_app_request_phone",ee=async()=>te()?(b(Z),new Promise(((e,t)=>{Ue("phone_requested",(t=>{"sent"===t.status&&e({status:!0}),e({status:!1})}))}))):{status:"not_supported"},te=()=>_(6.9,[n,u,r]),se="web_app_request_theme",ae=()=>oe()?(b(se),{status:!0}):{status:"not_supported"},oe=()=>_(0,[n,u,r]),pe="web_app_request_viewport",ne=()=>re()?(b(pe),{status:!0}):{status:"not_supported"},re=()=>_(0,[n,u,r]),ue="web_app_request_write_access",_e=()=>ie()?(b(ue),{status:!0}):{status:"not_supported"},ie=()=>_(6.9,[n,u,r]),de="web_app_set_background_color",ce=e=>be()?(b(de,e),{status:!0}):{status:"not_supported"},be=()=>_(6.1,[n,u,r]),le="web_app_set_header_color",ge=e=>we()?(b(le,e),{status:!0}):{status:"not_supported"},we=()=>_(6.1,[n,u,r]),he="web_app_setup_back_button",me=e=>fe()?(b(he,e),{status:!0}):{status:"not_supported"},fe=()=>_(6.1,[n,u,r]),ve="web_app_setup_closing_behavior",ye=e=>Se()?(b(ve,e),{status:!0}):{status:"not_supported"},Se=()=>_(0,[n,u,r]),xe="web_app_setup_main_button",qe=e=>ke()?(b(xe,e),{status:!0}):{status:"not_supported"},ke=()=>_(0,[n,u,r]),Pe="web_app_setup_settings_button",Oe=e=>Re()?(b(Pe,e),{status:!0}):{status:"not_supported"},Re=()=>_(6.1,[n,u,r]),Te="web_app_switch_inline_query",We=e=>Ce()?(e.query.length,b(Te,e),{status:!0}):{status:"not_supported"},Ce=()=>_(6.7,[n,u,r]),Be="web_app_trigger_haptic_feedback",Ee=e=>Ie()?(b(Be,e),{status:!0}):{status:"not_supported"},Ie=()=>_(6.1,[r]),Le=()=>{const e=new URLSearchParams(window.location.hash.slice(1)).get("tgWebAppData");if(null===e)return 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},Ae=()=>{const[p,n]=s({height:0,is_expanded:!1,is_state_stable:!1}),r=e=>n(e);return a((()=>{t.on("viewport_changed",r),e("web_app_request_viewport")})),o((()=>{t.off("viewport_changed",r)})),p},De=((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)}}))(),Ne=()=>{function e(e,t){De.emit(e,t),De.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}};Ne();const Ue=(e,t)=>{De.once(e,t)};var Ge=Object.freeze({__proto__:null,listenerStart:Ne,off:(e,t)=>{De.off(e,t)},on:(e,t)=>{De.on(e,t)},once:Ue});export{u as TG_DESKTOP,r as TG_PHONE,n as TG_WEB,d as bridgeClose,g as bridgeCloseScanQrPopup,m as bridgeDataSend,y as bridgeExpand,Le as bridgeGetInitData,q as bridgeIframeReady,O as bridgeIframeWillReload,W as bridgeInvokeCustomMethod,E as bridgeOpenInvoice,A as bridgeOpenLink,U as bridgeOpenPopup,M as bridgeOpenScanQrPopup,j as bridgeOpenTgLink,$ as bridgeReadTextFromClipboard,X as bridgeReady,ee as bridgeRequestPhone,ae as bridgeRequestTheme,ne as bridgeRequestViewport,_e as bridgeRequestWriteAccess,ce as bridgeSetBackgroundColor,ge as bridgeSetHeaderColor,me as bridgeSetupBackButton,ye as bridgeSetupClosingBehavior,qe as bridgeSetupMainButton,Oe as bridgeSetupSettingsButton,We as bridgeSwitchInlineQuery,Ee as bridgeTriggerHapticFeedback,Ae as createIsViewportChanged,p as debug,Ge as listener,b as sender,c as supportClose,w as supportCloseScanQrPopup,f as supportDataSend,S as supportExpand,k as supportIframeReady,R as supportIframeWillReload,C as supportInvokeCustomMethod,I as supportOpenInvoice,D as supportOpenLink,G as supportOpenPopup,Q as supportOpenScanQrPopup,F as supportOpenTgLink,z as supportReadTextFromClipboard,Y as supportReady,te as supportRequestPhone,oe as supportRequestTheme,re as supportRequestViewport,ie as supportRequestWriteAccess,be as supportSetBackgroundColor,we as supportSetHeaderColor,fe as supportSetupBackButton,Se as supportSetupClosingBehavior,ke as supportSetupMainButton,Re as supportSetupSettingsButton,Ce as supportSwitchInlineQuery,Ie as supportTriggerHapticFeedback};
1
+ import{createSignal as e,onMount as t,onCleanup as n}from"solid-js";var i=(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 o=((e=new Map)=>({once:(t,n,i=e.get(t),o=(e=>{n(e),i&&i.splice(i.indexOf(n)>>>0,1)}))=>i?i.push(o):e.set(t,[o]),on:(t,n,i=e.get(t))=>i?i.push(n):e.set(t,[n]),off:(t,n,i=e.get(t))=>i&&n?i.splice(i.indexOf(n)>>>0,1):e.set(t,[]),emit:(t,n,i=e.get(t)||[])=>{for(const e of i)e(n)}}))(),r=()=>{function e(e,t){o.emit(e,t),o.emit("*",{name:e,data:t})}window.TelegramGameProxy_receiveEvent=e,window.Telegram={WebView:{receiveEvent:e}},window.TelegramGameProxy={receiveEvent:e}};r();const w=(e,t)=>{o.on(e,t)},a=(e,t)=>{o.off(e,t)};const s="web_app_request_viewport",d="viewport_changed",f=()=>{const[o,r]=e({height:0,is_expanded:!1,is_state_stable:!1}),f=e=>r(e);return t((()=>{w(d,f),i(s)})),n((()=>{a(d,f)})),o};export{f as createIsViewportChanged};