UNPKG

@safe-stars/components

Version:

React component library for buying Telegram Stars in Telegram Mini Apps via Safe Stars.

85 lines (81 loc) 6.2 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-CtZaCMo8.cjs"),c=require("./if-defined-MmHKu2JE.cjs");require("./index-BvzdO7xj.cjs");require("./index-BXulAD-4.cjs");require("./index-Ch6hp36E.cjs");const f=t.i` button { display: flex; gap: var(--wui-spacing-xl); width: 100%; background-color: var(--wui-color-gray-glass-002); border-radius: var(--wui-border-radius-xxs); padding: var(--wui-spacing-m) var(--wui-spacing-s); } wui-text { width: 100%; } wui-flex { width: auto; } .network-icon { width: var(--wui-spacing-2l); height: var(--wui-spacing-2l); border-radius: calc(var(--wui-spacing-2l) / 2); overflow: hidden; box-shadow: 0 0 0 3px var(--wui-color-gray-glass-002), 0 0 0 3px var(--wui-color-modal-bg); } `;var w=function(a,e,o,r){var s=arguments.length,i=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,o):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(a,e,o,r);else for(var l=a.length-1;l>=0;l--)(n=a[l])&&(i=(s<3?n(i):s>3?n(e,o,i):n(e,o))||i);return s>3&&i&&Object.defineProperty(e,o,i),i};let d=class extends t.i$1{constructor(){super(...arguments),this.networkImages=[""],this.text=""}render(){return t.x` <button> <wui-text variant="small-400" color="fg-200">${this.text}</wui-text> <wui-flex gap="3xs" alignItems="center"> ${this.networksTemplate()} <wui-icon name="chevronRight" size="sm" color="fg-200"></wui-icon> </wui-flex> </button> `}networksTemplate(){const e=this.networkImages.slice(0,5);return t.x` <wui-flex class="networks"> ${e==null?void 0:e.map(o=>t.x` <wui-flex class="network-icon"> <wui-image src=${o}></wui-image> </wui-flex>`)} </wui-flex>`}};d.styles=[t.resetStyles,t.elementStyles,f];w([c.n({type:Array})],d.prototype,"networkImages",void 0);w([c.n()],d.prototype,"text",void 0);d=w([c.customElement("wui-compatible-network")],d);const g=t.i` wui-compatible-network { margin-top: var(--wui-spacing-l); } `;var p=function(a,e,o,r){var s=arguments.length,i=s<3?e:r===null?r=Object.getOwnPropertyDescriptor(e,o):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(a,e,o,r);else for(var l=a.length-1;l>=0;l--)(n=a[l])&&(i=(s<3?n(i):s>3?n(e,o,i):n(e,o))||i);return s>3&&i&&Object.defineProperty(e,o,i),i};exports.W3mWalletReceiveView=class extends t.i$1{constructor(){super(),this.unsubscribe=[],this.address=t.AccountController.state.address,this.profileName=t.AccountController.state.profileName,this.network=t.ChainController.state.activeCaipNetwork,this.preferredAccountTypes=t.AccountController.state.preferredAccountTypes,this.unsubscribe.push(t.AccountController.subscribe(e=>{e.address?(this.address=e.address,this.profileName=e.profileName,this.preferredAccountTypes=e.preferredAccountTypes):t.SnackController.showError("Account not found")}),t.ChainController.subscribeKey("activeCaipNetwork",e=>{e!=null&&e.id&&(this.network=e)}))}disconnectedCallback(){this.unsubscribe.forEach(e=>e())}render(){if(!this.address)throw new Error("w3m-wallet-receive-view: No account provided");const e=t.AssetUtil.getNetworkImage(this.network);return t.x` <wui-flex flexDirection="column" .padding=${["0","l","l","l"]} alignItems="center" > <wui-chip-button data-testid="receive-address-copy-button" @click=${this.onCopyClick.bind(this)} text=${c.UiHelperUtil.getTruncateString({string:this.profileName||this.address||"",charsStart:this.profileName?18:4,charsEnd:this.profileName?0:4,truncate:this.profileName?"end":"middle"})} icon="copy" size="sm" imageSrc=${e||""} variant="gray" ></wui-chip-button> <wui-flex flexDirection="column" .padding=${["l","0","0","0"]} alignItems="center" gap="s" > <wui-qr-code size=${232} theme=${t.ThemeController.state.themeMode} uri=${this.address} ?arenaClear=${!0} color=${c.o(t.ThemeController.state.themeVariables["--w3m-qr-color"])} data-testid="wui-qr-code" ></wui-qr-code> <wui-text variant="paragraph-500" color="fg-100" align="center"> Copy your address or scan this QR code </wui-text> </wui-flex> ${this.networkTemplate()} </wui-flex>`}networkTemplate(){var l,m;const e=t.ChainController.getAllRequestedCaipNetworks(),o=t.ChainController.checkIfSmartAccountEnabled(),r=t.ChainController.state.activeCaipNetwork,s=e.filter(u=>(u==null?void 0:u.chainNamespace)===(r==null?void 0:r.chainNamespace));if(((l=this.preferredAccountTypes)==null?void 0:l[r==null?void 0:r.chainNamespace])===t.W3mFrameRpcConstants.ACCOUNT_TYPES.SMART_ACCOUNT&&o)return r?t.x`<wui-compatible-network @click=${this.onReceiveClick.bind(this)} text="Only receive assets on this network" .networkImages=${[t.AssetUtil.getNetworkImage(r)??""]} ></wui-compatible-network>`:null;const n=((m=s==null?void 0:s.filter(u=>{var h;return(h=u==null?void 0:u.assets)==null?void 0:h.imageId}))==null?void 0:m.slice(0,5)).map(t.AssetUtil.getNetworkImage).filter(Boolean);return t.x`<wui-compatible-network @click=${this.onReceiveClick.bind(this)} text="Only receive assets on these networks" .networkImages=${n} ></wui-compatible-network>`}onReceiveClick(){t.RouterController.push("WalletCompatibleNetworks")}onCopyClick(){try{this.address&&(t.CoreHelperUtil.copyToClopboard(this.address),t.SnackController.showSuccess("Address copied"))}catch{t.SnackController.showError("Failed to copy")}}};exports.W3mWalletReceiveView.styles=g;p([c.r()],exports.W3mWalletReceiveView.prototype,"address",void 0);p([c.r()],exports.W3mWalletReceiveView.prototype,"profileName",void 0);p([c.r()],exports.W3mWalletReceiveView.prototype,"network",void 0);p([c.r()],exports.W3mWalletReceiveView.prototype,"preferredAccountTypes",void 0);exports.W3mWalletReceiveView=p([c.customElement("w3m-wallet-receive-view")],exports.W3mWalletReceiveView); //# sourceMappingURL=receive-B7N0O1KV.cjs.map