PageSourceSearch

https://www.sportsbettingdime.com/app/plugins/sas-sports-wc/build/171.js?ver=0e6786afd8943cc3b164

js sportsbettingdime.com collected 2026-10-02 03:38:59 UTC 23,000 bytes, 233 lines download raw bytes

1"use strict";(globalThis.webpackChunkswrc_plugin=globalThis.webpackChunkswrc_plugin||[]).push([[171],{397:(e,t,s)=>{s.d(t,{s:()=>r});var o=s(695),a=s(369);const r='<svg preserveAspectRatio="xMidYMid meet" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M0 4a4 4 0 0 1 4-4h24a4 4 0 0 1 4 4v24a4 4 0 0 1-4 4H4a4 4 0 0 1-4-4V4z" fill="transparent"/>\n<rect x="23.424" y="10.697" width="18" height="3" rx="1" transform="rotate(135 23.424 10.697)" fill="currentColor"/>\n<rect x="21.303" y="23.425" width="18" height="3" rx="1" transform="rotate(-135 21.303 23.425)" fill="currentColor"/>\n</svg>';Object.getOwnPropertyDescriptor;let d=class extends o.s{_closeDialog(){this.closest("dialog").close()}render(){return this.closest("dialog")?o.x`<form
2        method="dialog"
3        class="p-6 flex justify-center gap-4 flex-col relative z-20 bg-base-100 font-bold text-sm rounded-lg">
4        <div class="flex justify-between items-center">
5          <h4 class="text-xl font-bold">Odds Comparison</h4>
6          <button @click="${this._closeDialog}" class="w-6 h-6" autofocus>${(0,a.o)(r)}</button>
7        </div>
8        <slot name="header"></slot>
9        <p class="border-4 p-2 gap-2 flex items-center justify-center border-base-200 rounded-lg">
10          <span class="w-2 h-2 bg-warning block rounded-full"></span>
11          Best Odds
12        </p>
13        <slot name="body"></slot>
14      </form>
15      <form @click="${this._closeDialog}" method="dialog" class="flex fixed top-0 left-0 w-full h-full">
16        <button class="flex-1">close</button>
17      </form>`:o.A}};d=((e,t)=>{for(var s,o=t,a=e.length-1;a>=0;a--)(s=e[a])&&(o=s(o)||o);return o}
17)([(0,o.e)("best-odds-dialog-content"),(0,o.a)(o.c)],d)},132:(e,t,s)=>{s.d(t,{e:()=>a});var o=s(695);function a(e){return(0,o.o)({finisher:(t,s)=>{Object.assign(t.prototype[s],e)}})}},465:(e,t,s)=>{s.d(t,{E:()=>r});var o=s(695);const a="operator_click",r=(e,t,s,r)=>o.x`<a href="${t}" @click="${e=>{const o={event:a,href:t,context:{...s}},r=new CustomEvent(a,{detail:o,bubbles:!0,composed:!0});e.currentTarget.dispatchEvent(r)}}" rel="nofollow" class="${r??o.A}">${e}</a>`},827:(e,t,s)=>{s.d(t,{G:()=>a});var o=s(695);const a=({options:e,selected:t,callback:s,labelMap:a},r)=>o.x`<div
18    class="${(0,o.b)("flex justify-around border-4 rounded-lg md:rounded border-base-200 bg-base-200",r??null)}">
19    ${e.map((({key:e,value:r})=>{const d=(null==a?void 0:a[r])??e;return o.x`<button
20        data-value="${r}"
21        @click="${s??o.A}"
22        class="${(0,o.b)("flex-1 py-2 px-1 text-sm rounded md:rounded font-bold capitalize bg-base-100",t===r?"text-base-100 bg-base-300":"hover:bg-base-200")}">
23        ${d}
24      </button>`}))}
25  </div>`},322:(e,t,s)=>{s.d(t,{I:()=>r});var o=s(695);const a="center/contain no-repeat;",r={icoSportsVar:`--ico-sports-svg: url("${(0,o.r)("data:image/svg+xml,%3csvg%20preserveAspectRatio='xMidYMid%20meet'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='M13.623%2016.843c.089.09.179.179.29.268.045.045.09.09.157.135.112.09.224.156.359.224.045.022.112.067.179.09.134.066.269.134.403.178h.045c.067%200%20.112.045.18.068h.044c.134.044.291.09.426.134h.067c.067%200%20.112.022.179.045h.067c.067%200%20.157.022.224.045.067%200%20.157%200%20.224.022H17.587c.067%200%20.157%200%20.224-.022a.796.796%200%200%200%20.224-.045h.067c.067%200%20.112-.023.18-.045h.066c.157-.045.292-.067.426-.134h.045c.067%200%20.112-.045.179-.068h.045c.134-.044.268-.112.403-.179.067-.022.112-.067.18-.09.111-.067.245-.156.357-.223.045-.045.113-.09.157-.135.112-.09.202-.179.291-.268.359-.404.56-.852.56-1.344%200-1.479-1.769-2.666-3.964-2.666-2.195%200-3.965%201.187-3.965%202.666.046.918.202.963.56%201.344z'%20fill='currentColor'/%3e%3cpath%20d='M20.768%2017.671c-.03.03-.022.045-.044.09l-.068.067c-.022.022-.067.045-.112.09%200%200-.044.022-.067.044-.067.045-.112.09-.179.135-.873.604-2.038.918-3.27.918-1.232%200-2.374-.336-3.27-.918-.067-.045-.112-.09-.18-.135%200%200-.044-.022-.067-.045-.044-.022-.067-.044-.112-.09-.022%200-.044-.044-.067-.066-.022-.023-.067-.045-.09-.09l-.067-.067-.134-.134v.739c0%201.478%201.77%202.665%203.965%202.665s3.964-1.187%203.964-2.665v-.74l-.134.135-.068.067z'%20fill='currentColor'/%3e%3cg%20clip-path='url(%23obot0w6zxa)'%20fill='currentColor'%3e%3cpath%20d='M10.771%203.229c-.214-.214-1.286-.5-2.595-.357l2.953%202.952c.142-1.31-.143-2.38-.358-2.595zM3.2%2010.777c.238.239%201.404.477%202.81.262L2.913%207.944c-.215%201.405.047%202.595.262%202.81l.024.024zM7.033%203.086a6.017%206.017%200%200%200-2.476%201.476%206.006%206.006%200%200%200-1.358%202.286l3.93%203.93A6.006%206.006%200%200%200%209.413%209.42a5.77%205.77%200%200%200%201.477-2.476L7.033%203.086z'/%3e%3c/g%3e%3cg%20clip-path='url(%239daqxz9zdb)'%20fill='currentColor'%3e%3cpath%20d='M13.57%204.6a4.01%204.01%200%200%200-.713%201.93h1.539a3.845%203.845%200%200%200-.827-1.93zM15.244%206.53h1.309V2.832a4.28%204.28%200%200%200-2.434%201.125c.62.712%201.033%201.584%201.125%202.571zM21.19%206.53c-.068-.712-.344-1.378-.711-1.93a3.761%203.761%200%200%200-.827%201.93h1.538zM19.904%203.958a4.076%204.076%200%200%200-2.433-1.
25125V6.53h1.308a4.464%204.464%200%200%201%201.125-2.57zM20.455%209.376a4.01%204.01%200%200%200%20.712-1.928h-1.538c.092.734.39%201.377.826%201.928zM17.47%207.471v3.696a4.28%204.28%200%200%200%202.434-1.125c-.62-.712-1.033-1.584-1.125-2.571h-1.308zM12.834%207.471c.069.712.344%201.377.712%201.928a3.76%203.76%200%200%200%20.826-1.928h-1.538zM14.12%2010.042a4.076%204.076%200%200%200%202.433%201.125V7.471h-1.309a4.463%204.463%200%200%201-1.125%202.571z'/%3e%3c/g%3e%3cg%20clip-path='url(%23opswwgqn6c)'%20fill='currentColor'%3e%3cpath%20d='M10.417%2014.61a3.754%203.754%200%200%200%200%204.735%204.07%204.07%200%200%200%20.751-2.368c0-.888-.273-1.707-.751-2.368zM3.585%2014.61a4.07%204.07%200%200%200-.751%202.367c0%20.888.273%201.708.751%202.368a3.754%203.754%200%200%200%200-4.736z'/%3e%3cpath%20d='M9.869%2013.972a4.164%204.164%200%200%200-2.87-1.139%204.164%204.164%200%200%200-2.868%201.139A4.569%204.569%200%200%201%205.269%2017a4.613%204.613%200%200%201-1.138%203.028A4.164%204.164%200%200%200%207%2021.167a4.164%204.164%200%200%200%202.869-1.139A4.569%204.569%200%200%201%208.73%2017c0-1.161.433-2.209%201.139-3.028z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='obot0w6zxa'%3e%3cpath%20fill='transparent'%20transform='translate(2%202)'%20d='M0%200h10v10H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='9daqxz9zdb'%3e%3cpath%20fill='transparent'%20transform='translate(12%202)'%20d='M0%200h10v10H0z'/%3e%3c/clipPath%3e%3cclipPath%20id='opswwgqn6c'%3e%3cpath%20fill='transparent'%20transform='translate(2%2012)'%20d='M0%200h10v10H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}") ${a}`,icoCompareVar:`--ico-compare-svg: url("${(0,o.r)("data:image/svg+xml,%3csvg%20preserveAspectRatio='xMidYMid%20meet'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3crect%20x='10.5'%20y='21'%20width='13'%20height='3'%20rx='1'%20transform='rotate(-90%2010.5%2021)'%20fill='currentColor'/%3e%3crect%20x='4.5'%20y='21'%20width='10'%20height='3'%20rx='1'%20transform='rotate(-90%204.5%2021)'%20fill='currentColor'/%3e%3crect%20x='16.5'%20y='21'%20width='18'%20height='3'%20rx='1'%20transform='rotate(-90%2016.5%2021)'%20fill='currentColor'/%3e%3c/svg%3e")}") ${a}`}},171:(e,t,s)=>{s.r(t),s.d(t,{MatchupOddsTable:()=>y});var o=s(695),a=s(775),r=s(132),d=s(715),l=s(137),n=s(975),i=(s(397),s(490)),c=s(322),h=s(827),p=s(761),b=s(465),u=Object.defineProperty,g=Object.getOwnPropertyDescriptor,v=Object.getPrototypeOf,m=Reflect.get,f=(e,t,s,o)=>{for(var a,r=o>1?void 0:o?g(t,s):t,d=e.length-1;d>=0;d--)(a=e[d])&&(r=(o?a(t,s,r):a(r))||r);return o&&r&&u(t,s,r),r};let y=class extends i.O{constructor(){super(...arguments),this.identifier="",this._showCompareDialog=!1,this._betType="moneyline",this._fetchMatchupTask=new d.h(this,{task:async([e,t,s],{signal:o})=>{this.validateProps();const a=(0,d.m)(e,t,{books:s.map((({name:e})=>e)).join(",")});if(a){const e=await(await fetch(a,{signal:o})).json();if(e instanceof Error||"error"in e)throw e;return e}return null},args:()=>[this.league,this.identifier,this.books]}),this._getBestBook=(e,t)=>{var s,o;const a=null==(s=null==e?void 0:e.sportsbooks)?void 0:s[0];return(null==(o=(0,p.J)({path:t,json:e}))?void 0:o[0])??a}}render(){return o.x`
26      <div class="text-base-content bg-base-100 font-sans-bold">
27        <dialog
28          class="p-0 w-[calc(100vw-2.5rem)] max-w-sm shadow-xl rounded-lg backdrop:bg-base-content/25"
29          id="compare-odds-dialog">
30          ${this._renderDialogContent()}
31        </dialog>
32
33        ${this._fetchMatchupTask.render({pending:()=>this._renderPendingHtml(),initial:()=>this._renderPendingHtml(),error:e=>(console.log(e),o.x`<slot name="no-data"></slot>`),complete:e=>o.x`<table
34                class="text-sm w-full max-w-screen-lg m-auto text-center border-separate border-spacing-0">
35                <thead class="sticky top-0 z-10">
36                  <tr class="bg-base-100">
37                    <th colspan="4">
38                      ${(0,h.G)({options:Object.keys(n.B).map((e=>({key:e,value:e}))),selected:this._betType,callback:this._handleChangeBetType},"mt-2")}
39                    </th>
40                  </tr>
41                  <tr class="bg-base-100">
42                    <th class="w-2/6 sm:w-1/4 py-4 border-b border-base-200">Matchup</th>
43                    <th class="w-2/6 sm:w-1/4 py-4 border-b border-base-200">Best Odds</th>
44                    <th class="w-1/6 sm:w-1/4 py-4 border-b border-base-200">B%</th>
45                    <th class="w-1/6 sm:w-1/4 py-4 border-b border-base-200">M%</th>
46                  </tr>
47                </thead>
48                ${this._renderTableBody(e)}
49              </table>
50              ${this._addEventsSchema(e)}`})}
51      </div>
52    `}_renderTableBody(e){var t,s,a,r,n,i,c,h,p,b,u,g;const{home:v,away:m,date:f,league:y,_id:x}=e,w=this._getBestBook(e,"$.sportsbooks[?(@.odds.moneyline.away.best==true)]"),$=this._getBestBook(e,"$.sportsbooks[?(@.odds.moneyline.home.best==true)]"),M=this._getBestBook(e,"$.sportsbooks[?(@.odds.total.over.odds.best==true)]"),k=this._getBestBook(e,"$.sportsbooks[?(@.odds.total.under.odds.best==true)]"),C={moneyline:w,spread:this._getBestBook(e,"$.sportsbooks[?(@.odds.spread.away.odds.best==true)]"),total:M},T={moneyline:$,spread:this._getBestBook(e,"$.sportsbooks[?(@.odds.spread.home.odds.best==true)]"),total:k},B="total"===this._betType?"over":"away",z="total"===this._betType?"under":"home",O="moneyline"===this._betType?"moneyLine":this._betType,P=null==(a=null==(s=null==(t=e.bettingSplits)?void 0:t[O])?void 0:s[B])?void 0:a.stakePercentage,A=null==(i=null==(n=null==(r=e.bettingSplits)?void 0:r[O])?void 0:n[B])?void 0:i.betsPercentage,j=null==(p=null==(h=null==(c=e.bettingSplits)?void 0:c[O])?void 0:h[z])?void 0:p.stakePercentage,E=null==(g=null==(u=null==(b=e.bettingSplits)?void 0:b[O])?void 0:u[z])?void 0:g.betsPercentage;return o.x`<tbody class="text-base-300">
53      <tr>
54        <td colspan="4" class="text-start border-base-200 pb-2 pt-3 border-t">
55          <time>${(0,l.Yq)(f,"MMMM d, h:mmaaa")}</time>
56        </td>
57      </tr>
58      <tr>
59        <th class="text-start">
60          <div class="py-2 flex items-center gap-2">
61            <img
62              loading="lazy"
63              src="${(0,d.c)(y.toUpperCase(),m.code.toUpperCase())}"
64              class="rounded"
65              width="24"
66              height="24"
67              alt="${m.team} logo" />
68            ${m.code}
69          </div>
70        </th>
71        ${this._renderBestOddsTableCell(null==C?void 0:C[this._betType],"away")}
72        <td class="font-bold">${_(A)}</td>
73        <td class="font-bold">${_(P)}</td>
74      </tr>
75      <tr>
76        <th class="text-start">
77          <div class="py-2 flex items-center gap-2">
78            <img
79              loading="lazy"
80              src="${(0,d.c)(y.toUpperCase(),v.code.toUpperCase())}"
81              class="rounded"
82              width="24"
83              height="24"
84              alt="${v.team} logo" />
85            ${v.code}
86          </div>
87        </th>
88        ${this._renderBestOddsTableCell(null==T?void 0:T[this._betType],"home")}
89        <td class="font-bold">${_(E)}</td>
90        <td class="font-bold">${_(j)}</td>
91      </tr>
92
93      <!-- Double render required to accommodate colspan values changing based on device width -->
94      <tr class="hidden sm:table-row">
95        <td colspan="1" class="pt-2 pb-3 text-start">
96          ${this.matchupPath&&o.x`<a
97            href="${this._getMatchupPathBy(e)}"
98            class="flex gap-1 items-center hover:text-base-content">
99            <span style="mask: var(--ico-sports-svg);" class="bg-base-content w-6 h-6"></span>
100            Matchup Report
101          </a>`}
102        </td>
103        <td class="pt-2 pb-3 text-start">
104          <button
105            data-id="${x}"
106            @click="${this._handleCompareOdds}"
107            class="flex gap-1 m-auto items-center font-bold hover:text-base-content">
108            Compare Odds
109            <span style="mask: var(--ico-compare-svg);" class="bg-primary w-4 h-4"></span>
110          </button>
111        </td>
112      </tr>
113      <tr class="sm:hidden">
114        <td colspan="4" class="pt-2 pb-3">
115          <div class="flex items-center justify-between gap-4">
116            ${this.matchupPath&&o.x`<a
117              href="${this._getMatchupPathBy(e)}"
118              class="flex gap-1 items-center hover:text-base-content">
119              <span style="mask: var(--ico-sports-svg);" class="bg-base-content w-6 h-6"></span>
120              Matchup Report
121            </a>`}
122            <button
123              data-id="${x}"
124              @click="${this._handleCompareOdds}"
125              class="flex gap-1 ml-auto items-center font-bold hover:text-base-content">
126              <span style="mask: var(--ico-compare-svg);" class="bg-primary w-4 h-4"></span>
127              Compare Odds
128            </button>
129          </div>
130        </td>
131      </tr>
132    </tbody>`}_handleCompareOdds(e){const t=e.target,s=this.renderRoot.querySelector("#compare-odds-dialog"),o=null==t?void 0:t.getAttribute("data-id");s&&o&&(document.startViewTransition?document.startViewTransition((()=>s.showModal())):s.showModal(),this._showCompareDialog=!0)}_getOddsDataFromMatchupBestBet(e,t){var s,o,a,r,d,l,i,c,h,p,b,u,g,v,m;let f="",y="";if("moneyline"===this._betType)f=(null==(a=null==(o=null==(s=null==e?void 0:e.odds)?void 0:s[this._betType])?void 0:o[t])?void 0:a[this._oddsFormat])||n.N;else if("spread"===this._betType)f=(null==(i=null==(l=null==(d=null==(r=null==e?void 0:e.odds)?void 0:r[this._betType])?void 0:d[t])?void 0:l.odds)?void 0:i[this._oddsFormat])||n.N,y=null==(p=null==(h=null==(c=e.odds)?void 0:c[this._betType])?void 0:h[t])?void 0:p.points;else if("total"===this._betType){const s="away"===t?"over":"under";f=(null==(g=null==(u=null==(b=null==e?void 0:e.odds)?void 0:b[this._betType])?void 0:u[s].odds)?void 0:g[this._oddsFormat])||n.N;const o=null==(m=null==(v=null==e?void 0:e.odds)?void 0:v[this._betType])?void 0:m[s].points,a=s[0];y=o?`${a} ${o}`:""}return{points:y,_id:e._id,odds:f}}_renderBestOddsTableCell(e,t){if(e){const{odds:s,points:a,_id:r}=this._getOddsDataFromMatchupBestBet(e,t),l=this.books.find((e=>e.name===r)),n=l.clickUrl,i={brand:l.name,bet_type:this._betType,odds_format:this._oddsFormat};return o.x`<td class="pb-1">
133        ${(0,b.E)(o.x` <div
134            class="group focus:outline-secondary hover:text-base-100 border border-base-200 rounded min-h-[52px] flex items-center justify-center gap-2 hover:border-secondary hover:bg-secondary">
135            <img
136              loading="lazy"
137              src="${(0,d.d)(r)}"
138              class="rounded-full"
139              width="24"
140              height="24"
141              alt="${r} logo" />
142            <p class="flex flex-col text-center">
143              ${a?o.x`<span class="text-base-content group-hover:text-base-100">${a}</span>`:o.A}
144              <span class="${(0,o.b)(a?"text-xs font-bold":"text-base-content","group-hover:text-base-100")}">
145                ${s}
146              </span>
147            </p>
148          </div>`,n,i)}
149      </td>`}return o.A}_renderOddsComparisonTableCell(e,t,s,a,r){return(0,b.E)(o.x`<div
150        class="${(0,o.b)("group rounded py-1 focus:outline-secondary flex flex-col items-center justify-center min-h-[52px] hover:bg-secondary hover:border-secondary border",s?"border-warning border-2":"border-base-200")}">
151        ${e?o.x`<span class="text-base-content group-hover:text-base-100">${e}</span>`:o.A}
152        <span
153          class="${(0,o.b)(e?"text-xs font-bold":"text-base-content","text-base-300 group-hover:text-base-100")}">
154          ${t}
155        </span>
156      </div>`,a,r)}_onLeagueChange(){"mlb"===this.league||"nhl"===this.league?this._betType="moneyline":this._betType="spread"}updated(e){e.has("league")&&this._onLeagueChange()}_handleChangeBetType(e){const t=e.target.getAttribute("data-value");t&&("moneyline"===t||"spread"===t||"total"===t)&&(document.startViewTransition?document.startViewTransition((()=>{this._betType=t})):this._betType=t)}_renderDialogContent(){if(!this._showCompareDialog)return o.A;const e=this._fetchMatchupTask.value,{home:t,away:s,sportsbooks:a}=e,r=this.league.toUpperCase();return o.x`<best-odds-dialog-content>
157      <div slot="header" class="flex justify-between items-center gap-2">
158        <div class="flex items-center gap-2">
159          <img
160            loading="lazy"
161            src="${(0,d.c)(r,s.code.toUpperCase())}"
162            class="rounded"
163            width="24"
164            height="24"
165            alt="${s.team} logo" />
166          ${s.code}
167        </div>
168        @
169        <div class="flex items-center gap-2">
170          ${t.code}
171          <img
172            loading="lazy"
173            src="${(0,d.c)(r,t.code.toUpperCase())}"
174            class="rounded"
175            width="24"
176            height="24"
177            alt="${t.team} logo" />
178        </div>
179      </div>
180      <table slot="body" class="table-fixed font-normal w-full text-center">
181        <tbody>
182          ${null==a?void 0:a.map(((e,t)=>{var s,a,r,l,i,c,h,p,u,g,v,m,f;let y="",x="",w="",_="",$=!1,M=!1;const k=null==(s=e.odds)?void 0:s[this._betType];if("moneyline"===this._betType){const e=k,t=null==(a=e.away)?void 0:a[this._oddsFormat],s=null==(r=e.home)?void 0:r[this._oddsFormat];y=t||n.N,x=s||n.N,M=e.away.best,$=e.home.best}else if("spread"===this._betType){const e=k;w=(null==(l=e.away)?void 0:l.points)||n.N,_=(null==(i=e.home)?void 0:i.points)||n.N,y=null==(h=null==(c=e.away)?void 0:c.odds)?void 0:h[this._oddsFormat],x=null==(u=null==(p=e.home)?void 0:p.odds)?void 0:u[this._oddsFormat],M=e.away.odds.best,$=e.home.odds.best}else if("total"===this._betType){const e=k;w=e.over.points?`o ${e.over.points}`:n.N,y=null==(g=e.over.odds)?void 0:g[this._oddsFormat],M=e.over.odds.best,x=null==(v=e.under.odds)?void 0:v[this._oddsFormat],_=e.under.points?`u ${e.under.points}`:n.N,$=e.under.odds.best}const C=null==(f=null==(m=this.books)?void 0:m[t])?void 0:f.clickUrl,T={brand:e.name,bet_type:this._betType,odds_format:this._oddsFormat};return o.x`<tr>
183              <td class="${0===t?o.A:"pt-2"}">
184                ${this._renderOddsComparisonTableCell(w,y,M,C,T)}
185              </td>
186              <td class="w-14 pt-2">
187                ${(0,b.E)(o.x`<img
188                    class="rounded-full m-auto"
189                    src="${(0,d.d)(e.name)}"
190                    width="24"
191                    height="24"
192                    alt="${e.name} logo"
193                    loading="lazy" />`,C,T)}
194              </td>
195              <td class="${0===t?o.A:"pt-2"}">
196                ${this._renderOddsComparisonTableCell(_,x,$,C,T)}
197              </td>
198            </tr>`}))}
199        </tbody>
200      </table>
201      ${this.matchupPath&&o.x`<a
202        slot="body"
203        href="${this._getMatchupPathBy(e.identifier)}"
204        class="self-center outline-base-content no-underline inline-block rounded border border-primary bg-primary text-primary-content px-4 py-2 hover:brightness-110 transition text-base font-bold focus:ring">
205        Matchup Report
206      </a>`}
207    </best-odds-dialog-content>`}_renderPendingHtml(){return o.x`<div class="mt-4 border rounded gap-8 py-12 flex flex-col p-3 m-1 border-base-200 animate-pulse">
208      <div class="flex gap-8 flex-col">
209        <div class="flex gap-6 justify-between">
210          <div class="flex gap-2">
211            <div class="w-8 h-8 flex-shrink-0 rounded-full bg-base-200"></div>
212            <div class="h-8 w-12 bg-base-200 rounded"></div>
213          </div>
214          <div class="w-40 h-8 bg-base-200 rounded"></div>
215          <div class="w-20 h-8 bg-base-200 rounded"></div>
216          <div class="w-20 h-8 bg-base-200 rounded"></div>
217        </div>
218        <div class="flex gap-6 justify-between">
219          <div class="flex gap-2">
220            <div class="w-8 h-8 flex-shrink-0 rounded-full bg-base-200"></div>
221            <div class="h-8 w-12 bg-base-200 rounded"></div>
222          </div>
223          <div class="w-40 h-8 bg-base-200 rounded"></div>
224          <div class="w-20 h-8 bg-base-200 rounded"></div>
225          <div class="w-20 h-8 bg-base-200 rounded"></div>
226        </div>
227      </div>
228    </div>`}validateProps(){var e;if(!this.league)throw new Error("Missing property: league");if(!this.identifier)throw new Error("Missing property: identifier");if(!this.books||0===(null==(e=this.books)?void 0:e.length))throw new Error("Missing property: .books")}_addEventsSchema(e){var t,s,o;const{home:a,away:r,date:d,venue:n,identifier:i}=e,c=`${window.location.origin}${this._getMatchupPathBy(i)}`,h=a.stageName??a.name,p=r.stageName??r.name,b=(0,l.Yq)(d,"MMMM do, yyyy"),u={"@context":"http://schema.org","@type":"SportsEvent","@id":`${c}#SportsEvent`,name:`${p} vs ${h} - ${b}`,description:`${p} vs ${h} game on ${b}`,url:c,startDate:d,endDate:d,eventStatus:"https://schema.org/EventScheduled",eventAttendanceMode:"https://schema.org/OfflineEventAttendanceMode",location:null};null!=n&&n.name&&(u.location={"@type":"Place",address:{"@type":"PostalAddress",addressCountry:null==(t=n.location)?void 0:t.country,addressLocality:null==(s=n.location)?void 0:s.city,addressRegion:null==(o=n.location)?void 0:o.state,"@id":`${c}#PostalAddress`},name:n.name,url:c,"@id":`${c}#Place`});const g=document.createElement("script");return g.type="application/ld+json",g.innerHTML=JSON.stringify(u),g}};var x,w;function _(e){return e&&"-"!==e?`${Math.round(e)}%`:n.N}y.styles=[...(x=y,w=y,m(v(x),"styles",w)),o.i`
229      :host {
230        ${(0,o.r)(c.I.icoSportsVar)}
231        ${(0,o.r)(c.I.icoCompareVar)}
232      }
233    `],f([(0,o.n)({type:String,reflect:!0})],y.prototype,"identifier",2),f([(0,a.t)()],y.prototype,"_showCompareDialog",2),f([(0,a.t)()],y.prototype,"_betType",2),f([(0,r.e)({passive:!0})],y.prototype,"_handleCompareOdds",1),f([(0,r.e)({passive:!0})],y.prototype,"_handleChangeBetType",1),y=f([(0,o.e)("xlmwc-matchup-odds-table"),(0,o.a)(o.c)],y)}}]);

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.