1import{de as R,df as k,dh as a,dn as Y,ds as v,dY as p,dr as O,dw as L,dF as V,dt as z,dq as E,du as F}from"./index-CCYt6XTw.js";import{n as l,c as _,o as j,r as b}from"./if-defined-B-yJhiO2.js";import{T as A,D as W}from"./index-AD2TRzo0.js";import"./index-DPjwRnih.js";import"./index-dXtAx3mP.js";import"./index-3ytlcsv2.js";var N;(function(s){s.approve="approved",s.bought="bought",s.borrow="borrowed",s.burn="burnt",s.cancel="canceled",s.claim="claimed",s.deploy="deployed",s.deposit="deposited",s.execute="executed",s.mint="minted",s.receive="received",s.repay="repaid",s.send="sent",s.sell="sold",s.stake="staked",s.trade="swapped",s.unstake="unstaked",s.withdraw="withdrawn"})(N||(N={}));const U=R` 2 :host > wui-flex { 3 display: flex; 4 justify-content: center; 5 align-items: center; 6 position: relative; 7 width: 40px; 8 height: 40px; 9 box-shadow: inset 0 0 0 1px var(--wui-color-gray-glass-005); 10 background-color: var(--wui-color-gray-glass-005); 11 } 12 13 :host > wui-flex wui-image { 14 display: block; 15 } 16 17 :host > wui-flex, 18 :host > wui-flex wui-image, 19 .swap-images-container, 20 .swap-images-container.nft, 21 wui-image.nft { 22 border-top-left-radius: var(--local-left-border-radius); 23 border-top-right-radius: var(--local-right-border-radius); 24 border-bottom-left-radius: var(--local-left-border-radius); 25 border-bottom-right-radius: var(--local-right-border-radius); 26 } 27 28 wui-icon { 29 width: 20px; 30 height: 20px; 31 } 32 33 wui-icon-box { 34 position: absolute; 35 right: 0; 36 bottom: 0; 37 transform: translate(20%, 20%); 38 } 39 40 .swap-images-container { 41 position: relative; 42 width: 40px; 43 height: 40px; 44 overflow: hidden; 45 } 46 47 .swap-images-container wui-image:first-child { 48 position: absolute; 49 width: 40px; 50 height: 40px; 51 top: 0; 52 left: 0%; 53 clip-path: inset(0px calc(50% + 2px) 0px 0%); 54 } 55 56 .swap-images-container wui-image:last-child { 57 clip-path: inset(0px 0px 0px calc(50% + 2px)); 58 } 59`;var m=function(s,t,e,r){var o=arguments.length,i=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(s,t,e,r);else for(var c=s.length-1;c>=0;c--)(n=s[c])&&(i=(o<3?n(i):o>3?n(t,e,i):n(t,e))||i);return o>3&&i&&Object.defineProperty(t,e,i),i};let f=class extends k{constructor(){super(...arguments),this.images=[],this.secondImage={type:void 0,url:""}}render(){const[t,e]=this.images,r=(t==null?void 0:t.type)==="NFT",o=e!=null&&e.url?e.type==="NFT":r,i=r?"var(--wui-border-radius-xxs)":"var(--wui-border-radius-s)",n=o?"var(--wui-border-radius-xxs)":"var(--wui-border-radius-s)";return this.style.cssText=` 60 --local-left-border-radius: ${i}; 61 --local-right-border-radius: ${n}; 62 `,a`<wui-flex> ${this.templateVisual()} ${this.templateIcon()} </wui-flex>`}templateVisual(){const[t,e]=this.images,r=t==null?void 0:t.type;return this.images.length===2&&(t!=null&&t.url||e!=null&&e.url)?a`<div class="swap-images-container"> 63 ${t!=null&&t.url?a`<wui-image src=${t.url} alt="Transaction image"></wui-image>`:null} 64 ${e!=null&&e.url?a`<wui-image src=${e.url} alt="Transaction image"></wui-image>`:null} 65 </div>`:t!=null&&t.url?a`<wui-image src=${t.url} alt="Transaction image"></wui-image>`:r==="NFT"?a`<wui-icon size="inherit" color="fg-200" name="nftPlaceholder"></wui-icon>`:a`<wui-icon size="inherit" color="fg-200" name="coinPlaceholder"></wui-icon>`}templateIcon(){let t="accent-100",e;return e=this.getIcon(),this.status&&(t=this.getStatusColor()),e?a` 66 <wui-icon-box 67 size="xxs" 68 iconColor=${t} 69 backgroundColor=${t} 70 background="opaque" 71 icon=${e} 72 ?border=${!0} 73 borderColor="wui-color-bg-125" 74 ></wui-icon-box> 75 `:null}getDirectionIcon(){switch(this.direction){case"in":return"arrowBottom";case"out":return"arrowTop";default:return}}getIcon(){return this.onlyDirectionIcon?this.getDirectionIcon():this.type==="trade"?"swapHorizontalBold":this.type==="approve"?"checkmark":this.type==="cancel"?"close":this.getDirectionIcon()}getStatusColor(){switch(this.status){case"confirmed":return"success-100";case"failed":return"error-100";
75case"pending":return"inverse-100";default:return"accent-100"}}};f.styles=[U];m([l()],f.prototype,"type",void 0);m([l()],f.prototype,"status",void 0);m([l()],f.prototype,"direction",void 0);m([l({type:Boolean})],f.prototype,"onlyDirectionIcon",void 0);m([l({type:Array})],f.prototype,"images",void 0);m([l({type:Object})],f.prototype,"secondImage",void 0);f=m([_("wui-transaction-visual")],f);const G=R` 76 :host > wui-flex:first-child { 77 align-items: center; 78 column-gap: var(--wui-spacing-s); 79 padding: 6.5px var(--wui-spacing-xs) 6.5px var(--wui-spacing-xs); 80 width: 100%; 81 } 82 83 :host > wui-flex:first-child wui-text:nth-child(1) { 84 text-transform: capitalize; 85 } 86 87 wui-transaction-visual { 88 width: 40px; 89 height: 40px; 90 } 91 92 wui-flex { 93 flex: 1; 94 } 95 96 :host wui-flex wui-flex { 97 overflow: hidden; 98 } 99 100 :host .description-container wui-text span { 101 word-break: break-all; 102 } 103 104 :host .description-container wui-text { 105 overflow: hidden; 106 } 107 108 :host .description-separator-icon { 109 margin: 0px 6px; 110 } 111 112 :host wui-text > span { 113 overflow: hidden; 114 display: -webkit-box; 115 -webkit-box-orient: vertical; 116 -webkit-line-clamp: 1; 117 } 118`;var w=function(s,t,e,r){var o=arguments.length,i=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(s,t,e,r);else for(var c=s.length-1;c>=0;c--)(n=s[c])&&(i=(o<3?n(i):o>3?n(t,e,i):n(t,e))||i);return o>3&&i&&Object.defineProperty(t,e,i),i};let d=class extends k{constructor(){super(...arguments),this.type="approve",this.onlyDirectionIcon=!1,this.images=[],this.price=[],this.amount=[],this.symbol=[]}render(){return a` 119 <wui-flex> 120 <wui-transaction-visual 121 .status=${this.status} 122 direction=${j(this.direction)} 123 type=${this.type} 124 onlyDirectionIcon=${j(this.onlyDirectionIcon)} 125 .images=${this.images} 126 ></wui-transaction-visual> 127 <wui-flex flexDirection="column" gap="3xs"> 128 <wui-text variant="paragraph-600" color="fg-100"> 129 ${N[this.type]||this.type} 130 </wui-text> 131 <wui-flex class="description-container"> 132 ${this.templateDescription()} ${this.templateSecondDescription()} 133 </wui-flex> 134 </wui-flex> 135 <wui-text variant="micro-700" color="fg-300"><span>${this.date}</span></wui-text> 136 </wui-flex> 137 `}templateDescription(){var e;const t=(e=this.descriptions)==null?void 0:e[0];return t?a` 138 <wui-text variant="small-500" color="fg-200"> 139 <span>${t}</span> 140 </wui-text> 141 `:null}templateSecondDescription(){var e;const t=(e=this.descriptions)==null?void 0:e[1];return t?a` 142 <wui-icon class="description-separator-icon" size="xxs" name="arrowRight"></wui-icon> 143 <wui-text variant="small-400" color="fg-200"> 144 <span>${t}</span> 145 </wui-text> 146 `:null}};d.styles=[Y,G];w([l()],d.prototype,"type",void 0);w([l({type:Array})],d.prototype,"descriptions",void 0);w([l()],d.prototype,"date",void 0);w([l({type:Boolean})],d.prototype,"onlyDirectionIcon",void 0);w([l()],d.prototype,"status",void 0);w([l()],d.prototype,"direction",void 0);w([l({type:Array})],d.prototype,"images",void 0);w([l({type:Array})],d.prototype,"price",void 0);w([l({type:Array})],d.prototype,"amount",void 0);w([l({type:Array})],d.prototype,"symbol",void 0);d=w([_("wui-transaction-list-item")],d);const M=R` 147 :host { 148 min-height: 100%; 149 } 150 151 .group-container[last-group='true'] { 152 padding-bottom: var(--wui-spacing-m); 153 } 154 155 .contentContainer { 156 height: 280px; 157 } 158 159 .contentContainer > wui-icon-box { 160 width: 40px; 161 height: 40px; 162 border-radius: var(--wui-border-radius-xxs); 163 } 164 165 .contentContainer > .textContent { 166 width: 65%; 167 } 168 169 .emptyContainer { 170 height: 100%; 171 } 172`;var x=function(s,t,e,r){var o=arguments.length,i=o<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,e):r,n;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")i=Reflect.decorate(s,t,e,r);else for(var c=s.length-1;c>=0;c--)(n=s[c])&&(i=(o<3?n(i):o>3?n(t,e,i):n(t,e))||i);return o>3&&i&&Object.defineProperty(t,e,i),i};const D="last-transaction",K=7;let g=class extends k{constructor(){super(),this.unsubscribe=[],this.paginationObserver=void 0,this.page="activity",this.caipAddress=v.state.activeCaipAddress,this.transactionsByYear=p.state.transactionsByYear,this.loading=p.state.loading,this.empty=p.state.empty,this.next=p.state.next,p.clearCursor(
172),this.unsubscribe.push(v.subscribeKey("activeCaipAddress",t=>{t&&this.caipAddress!==t&&(p.resetTransactions(),p.fetchTransactions(t)),this.caipAddress=t}),v.subscribeKey("activeCaipNetwork",()=>{this.updateTransactionView()}),p.subscribe(t=>{this.transactionsByYear=t.transactionsByYear,this.loading=t.loading,this.empty=t.empty,this.next=t.next}))}firstUpdated(){this.updateTransactionView(),this.createPaginationObserver()}updated(){this.setPaginationObserver()}disconnectedCallback(){this.unsubscribe.forEach(t=>t())}render(){return a` ${this.empty?null:this.templateTransactionsByYear()} 173 ${this.loading?this.templateLoading():null} 174 ${!this.loading&&this.empty?this.templateEmpty():null}`}updateTransactionView(){var r;const t=(r=v.state.activeCaipNetwork)==null?void 0:r.caipNetworkId;p.state.lastNetworkInView!==t&&(p.resetTransactions(),this.caipAddress&&p.fetchTransactions(O.getPlainAddress(this.caipAddress))),p.setLastNetworkInView(t)}templateTransactionsByYear(){return Object.keys(this.transactionsByYear).sort().reverse().map(e=>{const r=parseInt(e,10),o=new Array(12).fill(null).map((i,n)=>{var u;const c=A.getTransactionGroupTitle(r,n),h=(u=this.transactionsByYear[r])==null?void 0:u[n];return{groupTitle:c,transactions:h}}).filter(({transactions:i})=>i).reverse();return o.map(({groupTitle:i,transactions:n},c)=>{const h=c===o.length-1;return n?a` 175 <wui-flex 176 flexDirection="column" 177 class="group-container" 178 last-group="${h?"true":"false"}" 179 data-testid="month-indexes" 180 > 181 <wui-flex 182 alignItems="center" 183 flexDirection="row" 184 .padding=${["xs","s","s","s"]} 185 > 186 <wui-text variant="paragraph-500" color="fg-200" data-testid="group-title" 187 >${i}</wui-text 188 > 189 </wui-flex> 190 <wui-flex flexDirection="column" gap="xs"> 191 ${this.templateTransactions(n,h)} 192 </wui-flex> 193 </wui-flex> 194 `:null})})}templateRenderTransaction(t,e){const{date:r,descriptions:o,direction:i,isAllNFT:n,images:c,status:h,transfers:u,type:y}=this.getTransactionListItemProps(t),$=(u==null?void 0:u.length)>1;return(u==null?void 0:u.length)===2&&!n?a` 195 <wui-transaction-list-item 196 date=${r} 197 .direction=${i} 198 id=${e&&this.next?D:""} 199 status=${h} 200 type=${y} 201 .images=${c} 202 .descriptions=${o} 203 ></wui-transaction-list-item> 204 `:$?u.map((C,S)=>{const B=A.getTransferDescription(C),T=e&&S===u.length-1;return a` <wui-transaction-list-item 205 date=${r} 206 direction=${C.direction} 207 id=${T&&this.next?D:""} 208 status=${h} 209 type=${y} 210 .onlyDirectionIcon=${!0} 211 .images=${[c[S]]} 212 .descriptions=${[B]} 213 ></wui-transaction-list-item>`}):a` 214 <wui-transaction-list-item 215 date=${r} 216 .direction=${i} 217 id=${e&&this.next?D:""} 218 status=${h} 219 type=${y} 220 .images=${c} 221 .descriptions=${o} 222 ></wui-transaction-list-item> 223 `}templateTransactions(t,e){return t.map((r,o)=>{const i=e&&o===t.length-1;return a`${this.templateRenderTransaction(r,i)}`})}emptyStateActivity(){return a`<wui-flex 224 class="emptyContainer" 225 flexGrow="1" 226 flexDirection="column" 227 justifyContent="center" 228 alignItems="center" 229 .padding=${["3xl","xl","3xl","xl"]} 230 gap="xl" 231 data-testid="empty-activity-state" 232 > 233 <wui-icon-box 234 backgroundColor="gray-glass-005" 235 background="gray" 236 iconColor="fg-200" 237 icon="wallet" 238 size="lg" 239 ?border=${!0} 240 borderColor="wui-color-bg-125" 241 ></wui-icon-box> 242 <wui-flex flexDirection="column" alignItems="center" gap="xs"> 243 <wui-text align="center" variant="paragraph-500" color="fg-100" 244 >No Transactions yet</wui-text 245 > 246 <wui-text align="center" variant="small-500" color="fg-200" 247 >Start trading on dApps <br /> 248 to grow your wallet!</wui-text 249 > 250 </wui-flex> 251 </wui-flex>`}emptyStateAccount(){return a`<wui-flex 252 class="contentContainer" 253 alignItems="center" 254 justifyContent="center" 255 flexDirection="column" 256 gap="l" 257 data-testid="empty-account-state" 258 > 259 <wui-icon-box 260 icon="swapHorizontal" 261 size="inherit" 262 iconColor="fg-200" 263 backgroundColor="fg-200" 264 iconSize="lg" 265 ></wui-icon-box> 266 <wui-flex 267 class="textContent" 268 gap="xs" 269 flexDirection="column" 270 justifyContent="center" 271 flexDirection="column" 272 > 273 <wui-text variant="paragraph-500" align="center" color="fg-100">No activity yet</wui-text> 274 <wui-text variant="small-400" align="center" color="fg-200" 275 >Your next transactions will appear here</wui-text 276 > 277 </wui-flex> 278 <wui-link @click=${this.onReceiveClick.bind(this)}>Trade</wui-link> 279 </wui-flex>`}templateEmpty(){return this.page==="account"?a`${this.emptyStateAccount()}`:a`${this.emptyStateActivity()}`}templateLoading(){return this.page==="activity"?Array(K).fill(a` <wui-transaction-list-item-loader></wui-transaction-list-item-loader> `).map(t=>t):null}onReceiveClick(){L.push("WalletReceive")}createPaginationObserver(){const t=v.state.activeChain,{projectId:e}=V.state;this.paginationObserver=new IntersectionObserver(([r])=>{var o;r!=null&&r.isIntersecting&&!this.loading&&(p.fetchTransactions(O.getPlainAddress(this.caipAddress)),z.sendEvent({type:"track",event:"LOAD_MORE_TRANSACTIONS",properties:{address:O.getPlainAddress(this.caipAddress),projectId:e,cursor:this.next,isSmartAccount:((o=E.state.preferredAccountTypes)==null?void 0:o[t])===F.ACCOUNT_TYPES.SMART_ACCOUNT}}))},{}),this.setPaginationObserver()}setPaginationObserver(){var e,r,o;(e=this.paginationObserver)==null||e.disconnect();const t=(r=this.shadowRoot)==null?void 0:r.querySelector(`#${D}`);t&&((o=this.paginationObserver)==null||o.observe(t))}getTransactionListItemProps(t){var h,u,y,$,I;const e=W.formatDate((h=t==null?void 0:t.metadata)==null?void 0:h.minedAt),r=A.getTransactionDescriptions(t),o=t==null?void 0:t.transfers,i=(u=t==null?void 0:t.transfers)==null?void 0:u[0],n=!!i&&((y=t==null?void 0:t.transfers)==null?void 0:y.every(C=>!!C.nft_info)),c=A.getTransactionImages(o);return{date:e,direction:i==null?void 0:i.direction,descriptions:r,isAllNFT:n,images:c,status:($=t.metadata)==null?void 0:$.status,transfers:o,type:(I=t.metadata)==null?void 0:I.operationType}}};g.styles=M;x([l()],g.prototype,"page",void 0);x([b()],g.prototype,"caipAddress",void 0);x([b()],g.prototype,"transactionsByYear",void 0);x([b()],g.prototype,"loading",void 0);x([b()],g.prototype,"empty",void 0);x([b()],g.prototype,"next",void 0);g=x([_("w3m-activity-list")],g);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.