1"use strict";(globalThis.webpackChunkswrc_plugin=globalThis.webpackChunkswrc_plugin||[]).push([[594],{594:(e,t,s)=>{s.r(t),s.d(t,{LeagueScores:()=>y,getResultValuesFromMatchup:()=>A});var n=s(715),l=s(975),a=s(695),o=s(775),i=(s(118),s(137)),r=s(940);const d={dateTimeDelimiter:/[T ]/,timeZoneDelimiter:/[Z ]/i,timezone:/([Z+-].*)$/},c=/^-?(?:(\d{3})|(\d{2})(?:-?(\d{2}))?|W(\d{2})(?:-?(\d{1}))?|)$/,u=/^(\d{2}(?:[.,]\d*)?)(?::?(\d{2}(?:[.,]\d*)?))?(?::?(\d{2}(?:[.,]\d*)?))?$/,m=/^([+-])(\d{2})(?::?(\d{2}))?$/;function p(e){return e?parseInt(e):1}function h(e){return e&&parseFloat(e.replace(",","."))||0}const f=[31,null,31,30,31,30,31,31,30,31,30,31];function g(e){return e%400==0||e%4==0&&e%100!=0}var v=s(761),b=Object.defineProperty,x=Object.getOwnPropertyDescriptor,w=(e,t,s,n)=>{for(var l,a=n>1?void 0:n?x(t,s):t,o=e.length-1;o>=0;o--)(l=e[o])&&(a=(n?l(t,s,a):l(a))||a);return n&&a&&b(t,s,a),a};let y=class extends a.s{constructor(){super(...arguments),this.books=[],this.league="",this.limit=9,this._selectedSegmentIndex=0,this._fetchScoresForLeagueTask=new n.h(this,{task:async([e,t,s],{signal:l})=>{var a,o;try{const i=(0,n.l)(e,{limit:t.toString(),books:s.map((e=>e.name)).join(",")}),r=await fetch(i,{signal:l});if(!r.ok)throw Error("failed");const d=await r.json();if(0===(null==(o=Object.keys(null==(a=null==d?void 0:d[0].matchups)?void 0:a[0].stats))?void 0:o.length)||0===(0,v.J)({path:"$.[*].matchups[?(@.stats.score.awayBoxScores&&@.stats.score.homeBoxScores)]",json:d}).length)throw Error("no-data");return d}catch(e){throw Error(e.message)}},args:()=>[this.league,this.limit,this.books]}),this._handleFilterChange=e=>{const t=e.target;document.startViewTransition?document.startViewTransition((()=>{this._selectedSegmentIndex=t.selectedIndex})):this._selectedSegmentIndex=t.selectedIndex}}_getPeriodForLeague(){switch(this.league){case"nhl":return"P";case"nba":return"Q";default:return""}}render(){if(!this.league)throw Error("Missing league property");if(!this.books)throw Error("Missing books property");return a.x`<div class="font-sans"> 2 ${this._fetchScoresForLeagueTask.render({error:e=>a.x`<slot name="${e.message}"></slot>`,pending:()=>C(),complete:e=>{const t=l.a[this.league.toUpperCase()],s=this._getFilterLabelsForLeague(e),o=e[this._selectedSegmentIndex].matchups.sort(((e,t)=>new Date(e.date).getTime()-new Date(t.date).getTime()));return a.x`<div> 3 <div class="md:max-w-[35%] lg:max-w-[25%]"> 4 <select-dropdown 5 label="select date" 6 _id="segments-filter" 7 .selected="${s[this._selectedSegmentIndex]}" 8 .options="${s.map((e=>({label:e,value:e})))}" 9 .onChange="${this._handleFilterChange}"> 10 </select-dropdown> 11 </div> 12 <hr class="border-base-200 mt-4 mb-2" /> 13 <table class="w-full text-sm"> 14 ${o.map((e=>{var s,o,r,d,c,u,m;const{winner:p,quantity:h,moneyline:f,spread:g,thereWasAPushTotal:v,thereWasAPush:b,awayBoxScores:x,homeBoxScores:w,awayPoints:y,homePoints:S,overTimeAway:C,overTimeHome:T,hasOverTime:_,awayTeamCode:N,homeTeamCode:D,atsWinner:k}=A(e,t,this.league),P=`${p} ${f}`,j=b?`PUSH ${g} ${h}`:`${k} ${g} ${h}`,U=`${v?"PUSH":(null==(r=null==(o=null==(s=null==e?void 0:e.stats)?void 0:s.betting)?void 0:o.result)?void 0:r.overUnder)??l.N} ${(null==(m=null==(u=null==(c=null==(d=null==e?void 0:e.stats)?void 0:d.betting)?void 0:c.totals)?void 0:u.close)?void 0:m.points)??l.N}`,F=$(P,j,U);return a.x`<tbody class="border-b border-base-200"> 15 <tr class="text-base-300"> 16 <th class="w-2/3 py-2 text-left font-sans font-normal"> 17 <p class="flex items-center gap-1"> 18 Complete <span class="text-xs">•</span> ${(0,i.GP)(e.date,"MM/d/y")} 19 <span class="text-xs">•</span> 20 ${(0,i.GP)(e.date,"h:mm aaa")} 21 </p> 22 </th> 23 <th class="hidden md:table-cell w-2/3 py-2 pl-1.5 text-left font-sans font-normal"> 24 Betting Results 25 </th> 26 </tr> 27 <tr> 28 <td class="w-1/3 pb-4"> 29 <div class="md:flex items-center"> 30 <div 31 class="flex md:flex-col items-center font(sans-bold bold) text-base-300 md:mr-4 gap-1.5 basis-24 md:items-start"> 32 <div class="flex gap-2 items-center"> 33 <img 34 class="" 35 src="${(0,n.c)(this.league,N)}" 36 alt="${e.away.team} logo" 37 width="24" 38 height="24" 39 class="w-4 h-4" /> 40 ${N} 41 </div>
42 <span class="mx-auto md:ml-0">@</span> 43 <div class="flex gap-2 items-center"> 44 ${D} 45 <img 46 class="md:order-first" 47 src="${(0,n.c)(this.league,D)}" 48 alt="${e.home.team} logo" 49 width="24" 50 height="24" 51 class="w-4 h-4" /> 52 </div> 53 </div> 54 <div class="md:hidden flex items-center justify-between my-2"> 55 <span class="font-bold font-sans-bold">${y}</span> 56 <span class="text-xs">Score</span> 57 <span class="font-bold font-sans-bold">${S}</span> 58 </div> 59 <div 60 class="flex-1 border border-base-200 rounded-t md:rounded p-4 flex md:flex-col gap-2.5 justify-between"> 61 <!-- Scores --> 62 <div class="flex gap-1 flex-col md:flex-row justify-between text-center items-center"> 63 ${x.map(((e,s)=>0===s?a.x`<div class="hidden md:flex font-bold font-sans-bold md:basis-8"> 64 ${y} 65 </div>`:s>t?null:a.x`<div class="md:basis-5">${e}</div>`))} 66 ${_?a.x`<div class="md:basis-5 hidden md:flex align-center justify-center"> 67 ${C} 68 </div>`:a.A} 69 </div> 70 <div class="flex gap-1 flex-col md:flex-row justify-between text-center items-center"> 71 ${Array.from({length:t}).map(((e,t)=>a.x`${0===t?a.x`<span class="md:basis-8 text-xs flex text-base-300/75 hidden md:flex"> 72 Score 73 </span>`:a.A} 74 <span class="md:basis-5 text-xs flex text-base-300/75 flex align-center justify-center"> 75 ${this._getPeriodForLeague()}${t+1} 76 </span>`))} 77 ${_?a.x`<span class="md:basis-5 text-xs flex text-base-300/75 align-center justify-center"> 78 ${"mlb"===this.league?"EI":"OT"} 79 </span>`:a.A} 80 </div> 81 <div class="flex gap-1 flex-col md:flex-row justify-between text-center items-center"> 82 ${w.map(((e,s)=>0===s?a.x`<div class="hidden md:flex font-bold font-sans-bold md:basis-8"> 83 ${S} 84 </div>`:s>t?null:a.x`<div class="md:basis-5">${e}</div>`))} 85 ${_?a.x`<div class="md:basis-5 hidden md:flex align-center justify-center"> 86 ${T} 87 </div>`:a.A} 88 </div> 89 </div> 90 <div class="border border-base-200 md:hidden border-t-0 p-4 flex gap-0.5 flex-col"> 91 ${F} 92 </div> 93 </div> 94 </td> 95 <td class="hidden md:table-cell w-1/3 pl-1.5 pb-4"> 96 <div class="border border-base-200 p-4 flex gap-0.5 flex-col">${F}</div> 97 </td> 98 </tr> 99 </tbody>`}))} 100 </table> 101 </div>`}})} 102 </div>`}_getFilterLabelsForLeague(e){const t=this.league.toLowerCase();return"nfl"===t||"ncaaf"===t?e.map((e=>e.comp)):"nba"===t||"nhl"===t?e.map((e=>`${e.gameday} - ${e.comp}`)):"mlb"===t||"ncaab"===t?e.map((e=>(0,i.GP)(function(e,t){const s=t?.additionalDigits??2,n=function(e){const t={},s=e.split(d.dateTimeDelimiter);let n;if(s.length>2)return t;if(/:/.test(s[0])?n=s[0]:(t.date=s[0],n=s[1],d.timeZoneDelimiter.test(t.date)&&(t.date=e.split(d.timeZoneDelimiter)[0],n=e.substr(t.date.length,e.length))),n){const e=d.timezone.exec(n);e?(t.time=n.replace(e[1],""),t.timezone=e[1]):t.time=n}return t}(e);let l;if(n.date){const e=function(e,t){const s=new RegExp("^(?:(\\d{4}|[+-]\\d{"+(4+t)+"})|(\\d{2}|[+-]\\d{"+(2+t)+"})$)"),n=e.match(s);if(!n)return{year:NaN,restDateString:""};const l=n[1]?parseInt(n[1]):null,a=n[2]?parseInt(n[2]):null;return{year:null===a?l:100*a,restDateString:e.slice((n[1]||n[2]).length)}}(n.date,s);l=function(e,t){if(null===t)return new Date(NaN);const s=e.match(c);if(!s)return new Date(NaN);const n=!!s[4],l=p(s[1]),a=p(s[2])-1,o=p(s[3]),i=p(s[4]),r=p(s[5
102])-1;if(n)return function(e,t,s){return t>=1&&t<=53&&s>=0&&s<=6}(0,i,r)?function(e,t,s){const n=new Date(0);n.setUTCFullYear(e,0,4);const l=7*(t-1)+s+1-(n.getUTCDay()||7);return n.setUTCDate(n.getUTCDate()+l),n}(t,i,r):new Date(NaN);{const e=new Date(0);return function(e,t,s){return t>=0&&t<=11&&s>=1&&s<=(f[t]||(g(e)?29:28))}(t,a,o)&&function(e,t){return t>=1&&t<=(g(e)?366:365)}(t,l)?(e.setUTCFullYear(t,a,Math.max(l,o)),e):new Date(NaN)}}(e.restDateString,e.year)}if(!l||isNaN(l.getTime()))return new Date(NaN);const a=l.getTime();let o,i=0;if(n.time&&(i=function(e){const t=e.match(u);if(!t)return NaN;const s=h(t[1]),n=h(t[2]),l=h(t[3]);return function(e,t,s){return 24===e?0===t&&0===s:s>=0&&s<60&&t>=0&&t<60&&e>=0&&e<25}(s,n,l)?s*r.s0+n*r.Cg+1e3*l:NaN}(n.time),isNaN(i)))return new Date(NaN);if(!n.timezone){const e=new Date(a+i),t=new Date(0);return t.setFullYear(e.getUTCFullYear(),e.getUTCMonth(),e.getUTCDate()),t.setHours(e.getUTCHours(),e.getUTCMinutes(),e.getUTCSeconds(),e.getUTCMilliseconds()),t}return o=function(e){if("Z"===e)return 0;const t=e.match(m);if(!t)return 0;const s="+"===t[1]?-1:1,n=parseInt(t[2]),l=t[3]&&parseInt(t[3])||0;return function(e,t){return t>=0&&t<=59}(0,l)?s*(n*r.s0+l*r.Cg):NaN}(n.timezone),isNaN(o)?new Date(NaN):new Date(a+i+o)}(e.gameday),"EEEE, MMMM do"))):void 0}};w([(0,a.n)({type:Array})],y.prototype,"books",2),w([(0,a.n)({type:String,reflect:!0})],y.prototype,"league",2),w([(0,a.n)({type:Number,reflect:!0})],y.prototype,"limit",2),w([(0,o.t)()],y.prototype,"_selectedSegmentIndex",2),y=w([(0,a.e)("xlmwc-league-scores"),(0,a.a)(a.c)],y);const $=(e,t,s)=>a.x`<div class="flex items-center justify-between gap-4"> 103 Moneyline 104 <span class="font-sans-bold font-bold text-base">${e}</span> 105 </div> 106 <div class="flex items-center justify-between gap-4"> 107 Spread 108 <span class="font-sans-bold font-bold text-base">${t}</span> 109 </div> 110 <div class="flex items-center justify-between gap-4"> 111 Total 112 <span class="font-sans-bold font-bold text-base">${s}</span> 113 </div>`;function S(e,t){let s="";if(e.length>0){const n=e.length;for(let l=0;l<n;l++){"home"===t&&(s=e[l].odds.moneyline.home.american),"away"===t&&(s=e[l].odds.moneyline.away.american);break}}return s}function A(e,t,s){var n,l,a,o,i,r,d,c,u,m,p,h,f,g,v,b,x,w,y,$;let A=0,C=0;const T=null==(l=null==(n=null==e?void 0:e.stats)?void 0:n.score)?void 0:l.awayBoxScores,_=null==(o=null==(a=null==e?void 0:e.stats)?void 0:a.score)?void 0:o.homeBoxScores,N=(null==(d=null==(r=null==(i=e.stats)?void 0:i.score)?void 0:r.awayScore)?void 0:d.points)??0,D=(null==(m=null==(u=null==(c=e.stats)?void 0:c.score)?void 0:u.homeScore)?void 0:m.points)??0,k=null==(f=null==(h=null==(p=e.stats)?void 0:p.betting)?void 0:h.result)?void 0:f.awayWinATS,P=null==(b=null==(v=null==(g=e.stats)?void 0:g.betting)?void 0:v.result)?void 0:b.homeWinATS,j=e.away.code,U=e.home.code,F=!k&&!P;for(let e=0;e<(null==T?void 0:T.length);e++)0!==e&&e>t&&(A+=null==T?void 0:T[e]);for(let e=0;e<(null==_?void 0:_.length);e++)0!==e&&e>t&&(C+=null==_?void 0:_[e]);let M="(Pick)",B="";for(const t of e.sportsbooks)if(t.odds&&t.odds.spread.home.points){const e=Number(t.odds.spread.home.points);Number.isFinite(e)?(M=e,k&&(M*=-1),("mlb"===s.toLowerCase()||"nhl"===s.toLowerCase())&&(B=` (${t.odds.spread.home.odds.american})`),M>0&&(M=`+${M.toFixed(1)}`)):M="(Pick)";break}let I="",L=!1,E="";N===D?(L=!0,I="PUSH"):N>D?(E=S(e.sportsbooks,"away")??"",I=j):(E=S(e.sportsbooks,"home")??"",I=U),E&&"nfl"===s.toLowerCase()&&(E=`(${E})`);let O=null;k?O=j:P&&(O=U);let H=!1;return(null==($=null==(y=null==(w=null==(x=null==e?void 0:e.stats)?void 0:x.betting)?void 0:w.totals)?void 0:y.close)?void 0:$.points)===N+D&&(H=!0),{awayTeamCode:j,homeTeamCode:U,hasOverTime:A>0||C>0,thereWasAPush:F,thereWasAPushTotal:H,atsWinner:O,winner:I,awayCovered:k,homeCovered:P,awayPoints:N,homePoints:D,spread:M,quantity:B,overTimeAway:A,overTimeHome:C,moneyline:E,awayBoxScores:T,homeBoxScores:_,teamScoresAreSame:L}}const C=()=>a.x`<div class="w-full flex gap-2 flex-col"> 114 <div class="h-8 bg-base-200 animate-pulse rounded"></div> 115 ${[1,2,3].map((()=>a.x`<div class="h-24 bg-base-200 animate-pulse rounded"></div>`))} 116 </div>`},118:(e,t,s)=>{s.d(t,{s:()=>a});var n=s(695),l=s(369);const a='<svg viewBox="0 0 24 25" preserveAspectRatio="xMidYMid meet" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="m6.292 11.861 8.07-8.07a.997.997 0 0 1 1.409 0l.941.942a.997.997 0 0 1 .002 1.408l-6.396 6.425 6.396 6.425a.996.996 0 0 1-.002 1.408l-.941.941a.997.997 0 0 1-1.41 0l-8.07-8.07a.997.997 0 0 1 0-1.409z" fill="currentColor"/>\n <mask id="1ur3nkllfa" style="mask-type:alpha" maskUnits="userSpaceOnUse" x="6" y="3" width="12" height="19">\n <path d="m6.292 11.861 8.07-8.07a.997.997 0 0 1 1.409 0l.941.942a.997.997 0 0 1 .002 1.408l-6.396 6.425 6.396 6.425a.996.996 0 0 1-.002 1.408l-.941.941a.997.997 0 0 1-1.41 0l-8.07-8.07a.997.997 0 0 1 0-1.409z" fill="transparent"/>\n </mask>\n</svg>\n',{I:o}=n.j,i=()=>document.createComment(""),r=(e,t,s)=>{var n;const l=e._$AA.parentNode,a=void 0===t?e._$AB:t._$AA;if(void 0===s){const t=l.insertBefore(i(),a),n=l.insertBefore(i(),a);s=new o(t,n,e,e.options)}else{const t=s._$AB.nextSibling,o=s._$AM,i=o!==e;if(i){let t;null===(n=s._$AQ)||void 0===n||n.call(s,e),s._$AM=e,void 0!==s._$AP&&(t=e._$AU)!==o._$AU&&s._$AP(t)}if(t!==a||i){let e=s._$AA;
116for(;e!==t;){const t=e.nextSibling;l.insertBefore(e,a),e=t}}}return s},d=(e,t,s=e)=>(e._$AI(t,s),e),c={},u=e=>{var t;null===(t=e._$AP)||void 0===t||t.call(e,!1,!0);let s=e._$AA;const n=e._$AB.nextSibling;for(;s!==n;){const e=s.nextSibling;s.remove(),s=e}},m=(e,t,s)=>{const n=new Map;for(let l=t;l<=s;l++)n.set(e[l],l);return n},p=(0,l.e)(class extends l.i{constructor(e){if(super(e),e.type!==l.t.CHILD)throw Error("repeat() can only be used in text expressions")}ct(e,t,s){let n;void 0===s?s=t:void 0!==t&&(n=t);const l=[],a=[];let o=0;for(const t of e)l[o]=n?n(t,o):o,a[o]=s(t,o),o++;return{values:a,keys:l}}render(e,t,s){return this.ct(e,t,s).values}update(e,[t,s,l]){var a;const o=(e=>e._$AH)(e),{values:i,keys:p}=this.ct(t,s,l);if(!Array.isArray(o))return this.ut=p,i;const h=null!==(a=this.ut)&&void 0!==a?a:this.ut=[],f=[];let g,v,b=0,x=o.length-1,w=0,y=i.length-1;for(;b<=x&&w<=y;)if(null===o[b])b++;else if(null===o[x])x--;else if(h[b]===p[w])f[w]=d(o[b],i[w]),b++,w++;else if(h[x]===p[y])f[y]=d(o[x],i[y]),x--,y--;else if(h[b]===p[y])f[y]=d(o[b],i[y]),r(e,f[y+1],o[b]),b++,y--;else if(h[x]===p[w])f[w]=d(o[x],i[w]),r(e,o[b],o[x]),x--,w++;else if(void 0===g&&(g=m(p,w,y),v=m(h,b,x)),g.has(h[b]))if(g.has(h[x])){const t=v.get(p[w]),s=void 0!==t?o[t]:null;if(null===s){const t=r(e,o[b]);d(t,i[w]),f[w]=t}else f[w]=d(s,i[w]),r(e,o[b],s),o[t]=null;w++}else u(o[x]),x--;else u(o[b]),b++;for(;w<=y;){const t=r(e,f[y+1]);d(t,i[w]),f[w++]=t}for(;b<=x;){const e=o[b++];null!==e&&u(e)}return this.ut=p,((e,t=c)=>{e._$AH=t})(e,f),n.T}});var h=Object.defineProperty,f=Object.getOwnPropertyDescriptor,g=(e,t,s,n)=>{for(var l,a=n>1?void 0:n?f(t,s):t,o=e.length-1;o>=0;o--)(l=e[o])&&(a=(n?l(t,s,a):l(a))||a);return n&&a&&h(t,s,a),a};const v=(0,n.a)(n.c);let b=class extends(v(n.s)){constructor(){super(...arguments),this._id="",this.onChange=()=>{},this.selected="",this.disabled=!1,this.selectClass="",this.label=null,this.options=[]}_handleChange(e){e.target.blur(),this.onChange(e)}render(){return n.x`<div 117 class="${this.tw((0,n.b)("flex rounded relative group overflow-hidden font-sans-bold font-bold text-sm",this.disabled&&"pointer-events-none"))}"> 118 <select 119 aria-label=${e=this.label,e??n.A} 120 ?disabled=${this.disabled} 121 id="${this._id}" 122 @change="${this._handleChange}" 123 class="${this.tw((0,n.b)("cursor-pointer bg-base-100 border border-base-200 w-full font-bold flex-1 peer appearance-none rounded p-2 pr-7",null==this?void 0:this.selectClass))}"> 124 ${p(this.options,(e=>e.value),(({value:e,label:t,classes:s})=>n.x`<option 125 class="${s?this.tw(s):n.A}" 126 value="${e}" 127 ?selected=${this.selected===e}> 128 ${t} 129 </option>`))} 130 </select> 131 <span 132 class="${this.tw((0,n.b)("pointer-events-none -rotate-90 transition-transform peer-focus:rotate-90 duration-300 z-10 right-3 absolute w-2.5 h-2.5 self-center",this.disabled?"opacity-50":"opacity-100"))}"> 133 ${(0,l.o)(a)} 134 </span> 135 </div>`;var e}};g([(0,n.n)({type:String})],b.prototype,"_id",2),g([(0,n.n)({type:Function})],b.prototype,"onChange",2),g([(0,n.n)({type:String})],b.prototype,"selected",2),g([(0,n.n)({type:Boolean,reflect:!0})],b.prototype,"disabled",2),g([(0,n.n)({type:String,reflect:!0})],b.prototype,"selectClass",2),g([(0,n.n)({type:String,reflect:!0})],b.prototype,"label",2),g([(0,n.n)({type:Array})],b.prototype,"options",2),b=g([(0,n.e)("select-dropdown")],b)}}]);
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.