PageSourceSearch

https://www.wunderground.com/bundle-next/chunk-J7LEXW5O.js

js wunderground.com collected 2026-10-01 07:28:22 UTC 36,533 bytes, 2 lines download raw bytes

1import{b as Wt,d as Nt}from"./chunk-EHK3XVK6.js";import"./chunk-76CZGVMV.js";import"./chunk-RDNPK4JN.js";import"./chunk-BSYU3A6T.js";import"./chunk-NDN5HPTF.js";import"./chunk-LZQTDS54.js";import"./chunk-FTMTPX4P.js";import"./chunk-4PR2W44Z.js";import"./chunk-64MUE7TD.js";import"./chunk-IPRTGYVJ.js";import"./chunk-RYWZ6RDH.js";import{d as zt}from"./chunk-UTRFG6UA.js";import"./chunk-ORHW456O.js";import{C as It,E as A,Ka as Dt,Ld as ft,Md as Ut,Xa as ct,be as Gt,ce as Bt,ga as st,ie as Ht,je as Vt,pe as Rt,rd as V,re as jt,s as T,sd as Ft,v as H,vd as qt}from"./chunk-IJDBQKGN.js";import"./chunk-B5YGGBPK.js";import"./chunk-4R7TFJ2A.js";import{Eb as c,F as vt,Gc as Mt,Hc as Ot,Ia as it,Ic as kt,Id as Tt,Ja as z,Ka as X,Kb as u,La as P,Ld as At,Ma as G,Mc as l,Md as Lt,Nc as O,Oc as q,Pa as Ct,Pc as gt,Rb as C,Ua as bt,Xb as v,Ya as _t,_ as xt,_c as Et,bc as F,ca as ut,dc as E,dd as rt,ec as Y,ed as at,fc as $,j as D,kc as f,ma as et,mc as yt,nc as Pt,oc as St,pc as o,qc as a,r as W,rc as d,ta as wt,vc as ot,xc as K,ya as N,yb as nt,yc as S}from"./chunk-WPW6PZDG.js";import{g as ht}from"./chunk-GAL4ENT6.js";var L=(()=>{class n{static{this.precipitationTypes=["rain","snow","mix"]}constructor(t,e,i,p){this.wuStation=t,this.weatherService=e,this.datePipe=i,this.userProfileService=p,this.initialData={events:[{type:"noprecip",timeStart:"Loading..",timeEnd:"Loading..",amount:0,typeLabel:"Loading.."}]},this.intensityHeights=[0,49,99,150],this.yValues=["",101,51,0],this.intensityLabels=["Light","Moderate","Heavy"],this.intensityIcons=["","light","moderate","heavy"],this.typeLabelMap={noprecip:"No Precipitation",rain:"Rainfall",snow:"Snowfall",mix:"Rain/Snow Mix",thunder:"Rainfall"}}getIntensity(t,e,i){let p=0;if(e!=="noprecip"){let r=i==="m"?e==="rain"?t/25.4:t/2.54:t,h=e==="rain"?[0,.1,.4]:[0,1,2];for(let[x,w]=[0,h.length];x<w;x++)r>=h[x]&&(p=x);p++}return p}getData(){let t={};return t.features=["forecast"],t.action="fifteenminute",t.version="1",t.geocode={lat:null,long:null},t.params={language:"en",units:this.getUserUnits()},t.format="json",t.postProcess=this.parseFifteen.bind(this),this.wuStation.currentStation.pipe(D(e=>(t.geocode.lat=e.latitude,t.geocode.long=e.longitude,t)),W(e=>this.weatherService.get(e)),D(e=>e),xt(this.initialData))}getDateUTC(t,e,i){let p=parseFloat(t.toString())*1e3,r=parseFloat(e);p+=r*3600*1e3;let s=new Date(p),g=s.getTimezoneOffset()*60*1e3,h=new Date(s.valueOf()+g);return i?this.datePipe.transform(h,i):h}getTimezone(t){let e=t.length;return e?t.substring(e-5,e-2):""}parseFifteen(t){if(typeof t.forecasts>"u"||!t.forecasts.length)return!1;let e=900,i=3600*7,p=50,r=e/p,s=t.metadata.units,g=t.forecasts[0],h=this.getTimezone(g.fcst_valid_local),x=0,w=!1,m=!1,_=0,y=[],I={startTime:g.fcst_valid,endTime:g.fcst_valid+i};
1return t.forecasts.forEach(k=>{let Q="h:mm a",R=k.fcst_valid;if(R>=I.endTime)return!1;let Z=R+e,M=k.precip_type==="precip"?"mix":k.precip_type,dt=M==="rain"||M==="mix"?k.precip_rate:k.snow_rate;k.pop<30&&dt===0&&(M="noprecip");let J=dt*.25,B=this.getIntensity(dt,M,s),tt=y.length;if(!tt||y[tt-1].type!==M||y[tt-1].intensity!==B)y.push({type:M,intensity:B,units:this.eventUnits(M),x:(R-I.startTime)/r+1+p,height:this.intensityHeights[B],y:this.yValues[B],intensityLabel:this.intensityLabels[B],intensityIcon:this.intensityIcons[B],typeLabel:this.typeLabelMap[M],timeFormat:"h:mm a",timeStart:this.getDateUTC(R,h,Q),timeStartDate:this.getDateUTC(R,h),timeEnd:this.getDateUTC(Z,h,Q),timeEndDate:this.getDateUTC(Z,h),amount:J,duration:15,width:p-1,hasThunder:!1});else{let j=y[tt-1];j.duration+=15,j.timeEnd=this.getDateUTC(Z,h,Q),j.timeEndDate=this.getDateUTC(Z,h,Q),j.width+=p,j.amount+=J}M==="rain"||M==="mix"?(w=!0,x+=J):M==="snow"&&(m=!0,_+=J)}),{success:!0,events:y,hasLiquid:w,hasSnow:m,timezone:h,startTime:I.startTime,endTime:I.endTime,blockWidth:p,totals:{liquid:x,snow:_}}}eventUnits(t){let e="snow";return["rain","mix","thunder"].indexOf(t)>-1&&(e="rain"),e}getUserUnits(){return this.userProfileService.getUnitFormat()==="metric"?"m":"e"}static{this.\u0275fac=function(e){return new(e||n)(N(V),N(st),N(Lt),N(ct))}}static{this.\u0275prov=wt({token:n,factory:n.\u0275fac,providedIn:"root"})}}return n})();function oe(n,b){if(n&1&&d(0,"img",1),n&2){let t=S();E("src","//"+t.staticHost+"/static/i/c/v4/"+t.eventType+".svg",nt)("alt",t.eventType)}}var lt=function(n){return n[n.noprecip=0]="noprecip",n[n.rain=1]="rain",n[n.snow=2]="snow",n[n.sleet=3]="sleet",n[n.tstorms=4]="tstorms",n}(lt||{}),Yt=(()=>{class n{constructor(t,e,i){this.stationService=t,this.weatherApi=e,this.env=i,this.staticHost=this.env.apiVars.endpoints.staticHost}ngOnInit(){this.stationService.currentStation.subscribe(t=>{this.getApiData(t)})}getApiData(t){let e={action:"wwir",features:["forecast"],version:"1",settings:{},geocode:{lat:t.latitude,long:t.longitude}};this.weatherApi.get(e).subscribe(i=>{this.phrase=A(i,"forecast.phrase",""),this.eventType=lt[A(i,"forecast.overall_type","")],this.hasPrecip=lt[lt.noprecip]!==this.eventType})}static{this.\u0275fac=function(e){return new(e||n)(u(V),u(st),u(T))}}static{this.\u0275cmp=C({type:n,selectors:[["lib-precipitation-graph-alert"]],decls:5,vars:2,consts:[[1,"precip-statement"],[3,"src","alt"],[1,"statement-text"]],template:function(e,i){e&1&&(o(0,"div",0)(1,"h2"),v(2,oe,1,2,"img",1),o(3,"span",2),l(4),a()()()),e&2&&(c(2),f(i.hasPrecip?2:-1),c(2),O(i.phrase))},styles:[".precip-statement[_ngcontent-%COMP%]   h2[_ngcontent-%COMP%]{font-size:1.125rem;margin:0;display:table;background:none;text-transform:none}.precip-statement[_ngcontent-%COMP%]   img[_ngcontent-%COMP%]{margin-right:5px;height:50px;width:50px}.precip-statement[_ngcontent-%COMP%]   .statement-text[_ngcontent-%COMP%]{display:table-cell;vertical-align:middle}"]})}}return n})();var re=["precipGraphSVG"],$t=(()=>{class n{constructor(t,e){this.precipitationService=t,this.env=e,this.onAfterRender=new bt(!0),this.width=null,this.Y_LABEL_WIDTH=50,this.BAR_COUNT=28,this.BLOCK_TIME=15,this.staticHost=this.env.apiVars.endpoints.staticHost,this.setupChart=()=>{let i=ft(this.precipGraphSVG.nativeElement).attr("height",220);i.selectAll("svg > *").remove(),i.append("title").text("Precipitation");let p=i.append("defs");L.precipitationTypes.forEach(s=>{let g=p.append("linearGradient").attr("id","precip-light-"+s).attr("x1","0").attr("y1","1").attr("x2","0").attr("y2","0");this.linearGradientAppendStop(g,"30%",s);let h=p.append("linearGradient").attr("id","precip-moderate-"+s).attr("x1","0").attr("y1","1").attr("x2","0").attr("y2","0");this.linearGradientAppendStop(h,"67%",s)}),this.chartD3=i.append("g").attr("transform","translate(-10, 40)"),this.XLabels=this.chartD3.append("g").attr("id","precip-x-labels").attr("class","labels x-labels");let r=this.chartD3.append("g").attr("id","precip-bars").attr("class","bars");this.bars=r.append("g").attr("class","precip-none"),this.icons=this.chartD3.append("g").attr("id","precip-icons").attr("class","icon"),this.dividers=this.chartD3.append("g").attr("id","precip-dividers").attr("class","x-grid"),this.YAxis=this.chartD3.append("g").attr("class","grid y-gri
1d")}}ngAfterViewInit(){this.render()}ngOnInit(){this.env.isServer||et(window,"resize").subscribe(t=>{this.render()})}ngOnChanges(){this.render()}render(){if(!this.env.isServer&&H(this.data)&&this.data.success&&H(this.precipGraphSVG)){let t=this.precipGraphSVG.nativeElement.parentNode.getBoundingClientRect().width,e=25,i=(t-this.Y_LABEL_WIDTH)/this.BAR_COUNT;i<e&&(i=e),this.width=this.Y_LABEL_WIDTH+i*this.BAR_COUNT-5,ft(this.precipGraphSVG.nativeElement).attr("width",this.width),this.setupChart(),this.updateYLines(this.width+7),this.renderXAxis(i),this.updateIcons(this.data.events,i),this.updateBars(this.data.events,i),this.onAfterRender.emit(this)}}linearGradientAppendStop(t,e,i){t.append("stop").attr("offset",e).attr("class","precip-"+i),t.append("stop").attr("offset",e).attr("class","precip-none"),t.append("stop").attr("offset","100%").attr("class","precip-none")}updateYLines(t){let e=[60,110,150];this.YAxis.selectAll("line").data(e).enter().append("line").attr("x1","52").attr("x2",t).attr("y1",p=>p).attr("y2",p=>p).attr("class",(p,r)=>r<e.length-1?"":"edge")}updateXTicks(t,e){let r=51+t*4,s=[];for(let h=0;h<7;h++)s.push(r),r+=t*4;this.dividers.selectAll("line").data(s).enter().append("line").attr("x1",h=>h).attr("x2",h=>h).attr("y1","150").attr("y2","153").attr("transform","translate("+e+",0)")}updateXLabels(t,e,i){this.XLabels.selectAll("text").data(t).enter().append("text").attr("x",(s,g)=>g*4*e+50).attr("y","163").attr("transform",(s,g)=>g!==0?`translate(${i},0)`:"translate(3,0)").text(s=>s)}updateBars(t,e){let i=52,p=e-2,r=this.bars.selectAll("rect");t.forEach(s=>{let g=s.intensityIcon.toLowerCase(),h=s.duration/this.BLOCK_TIME,x=s.intensity>=3?"precip-"+s.type:"",w=window.location.href,m=s.intensity>=1?`url(${w}#precip-${g}-${s.type})`:"",_=Array.apply(null,Array(h)).map(Number.call,Number),y=r.data(_).enter();y.append("rect").attr("x",(I,k)=>k*e+i).attr("y","0").attr("width",p).attr("height",30).attr("rx",5).attr("ry",5).attr("class",x),y.append("rect").attr("x",(I,k)=>k*e+i).attr("y","15").attr("width",p).attr("height",135).attr("class",x).attr("fill",m),i+=h*e})}updateIcons(t,e){let i=53,p=-23,r=-13,s=5,g=20,h=t.filter(m=>{let _=m.duration/this.BLOCK_TIME;return m.xStart=i,i+=_*e,m.type!=="noprecip"}).map(m=>{let _=m.duration/this.BLOCK_TIME,y=_*e,I=y/2+m.xStart;return{barCount:_,centerX:I,chunkWidth:y/2+m.xStart,xStart:m.xStart,xEnd:m.xStart+y-2,intensity:m.intensityIcon.toLowerCase(),iconXOffset:Math.floor(I-g/2),type:m.type}}),x=this.icons.selectAll("line");this.icons.selectAll("image").remove();let w=x.data(h.filter(m=>m.barCount>1)).enter();w.append("line").attr("x1",m=>m.xStart).attr("x2",m=>m.xStart).attr("y1",r-1).attr("y2",r+5),w.append("line").attr("x1",m=>m.xEnd-1).attr("x2",m=>m.xEnd-1).attr("y1",r-1).attr("y2",r+5),w.append("line").attr("x1",m=>m.xStart).attr("x2",m=>m.centerX-g/2-s).attr("y1",r).attr("y2",r),w.append("line").attr("x1",m=>m.centerX+g/2+s-2).attr("x2",m=>m.xEnd).attr("y1",r).attr("y2",r),x.data(h).enter().append("image").attr("x",m=>m.iconXOffset).attr("y",p).attr("width",20).attr("height",20).attr("xmlns:xlink","http://www.w3.org/1999/xlink").attr("xlink:href",m=>`//${this.staticHost}/static/i/o/precip/${m.intensity}${m.type}.svg?1`)}renderXAxis(t){let e="h",p="h:mm",r=this.data.timezone,s=this.data.startTime,h=this.precipitationService.getDateUTC(s,r).getUTCMinutes();h===0&&(p=e);let x=h/this.BLOCK_TIME*t*-1,w=[this.precipitationService.getDateUTC(s,r,p)],m=w[0];s=s-s%3600,p=e;for(let _=1;_<8;_++)s+=3600,w.push(this.precipitationService.getDateUTC(s,r,p)),m=w[_];this.updateXTicks(t,x),this.updateXLabels(w,t,x)}static{this.\u0275fac=function(e){return new(e||n)(u(L),u(T))}}static{this.\u0275cmp=C({type:n,selectors:[["lib-precipitation-graph-chart"]],viewQuery:function(e,i){if(e&1&&Mt(re,5),e&2){let p;Ot(p=kt())&&(i.precipGraphSVG=p.first)}},inputs:{data:"data"},outputs:{onAfterRender:"onAfterRender"},features:[it],decls:2,vars:0,consts:[["precipGraphSVG",""],["id","precip-graph-svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink",1,"graph"]],template:function(e,i){e&1&&(P(),d(0,"svg",1,0))},styles:["[_nghost-%COMP%]     svg{transform:translateZ(0)}[_nghost-%COMP%]     svg.graph{height:220px}
1[_nghost-%COMP%]     svg .grid{stroke:#bdbdbd;stroke-dasharray:2 3;stroke-width:1}[_nghost-%COMP%]     svg .grid rect{stroke-width:0}[_nghost-%COMP%]     svg .x-grid{stroke:#8a8a8a;stroke-width:2}[_nghost-%COMP%]     svg .edge{stroke:#8a8a8a;stroke-dasharray:none;stroke-width:1}[_nghost-%COMP%]     svg .between{stroke-dasharray:none;stroke-width:1}[_nghost-%COMP%]     svg .labels{font-size:.75rem}[_nghost-%COMP%]     svg .y-labels{text-anchor:end;fill:#8a8a8a;text-transform:uppercase}[_nghost-%COMP%]     svg .x-labels{text-anchor:middle;fill:#8a8a8a;font-size:11px;text-transform:uppercase}[_nghost-%COMP%]     svg .x-labels text:first-child{text-anchor:end}[_nghost-%COMP%]     svg .title{transform:rotate(180)}[_nghost-%COMP%]     svg .precip-rain, [_nghost-%COMP%]     svg #precip-heavy-rain{fill:#5b9f49;stop-color:#5b9f49}[_nghost-%COMP%]     svg .precip-snow, [_nghost-%COMP%]     svg #precip-heavy-snow{fill:#0053ae;stop-color:#0053ae}[_nghost-%COMP%]     svg .precip-mix, [_nghost-%COMP%]     svg #precip-heavy-mix{fill:#ac54a0;stop-color:#ac54a0}[_nghost-%COMP%]     svg .precip-none, [_nghost-%COMP%]     svg .precip-noprecip{fill:#d7d7d7;stop-color:#d7d7d7}[_nghost-%COMP%]     svg .icon line{stroke:#8a8a8a;stroke-width:2}.precip-icon[_ngcontent-%COMP%]{margin-left:5px}.graph-content[_ngcontent-%COMP%]{width:100%;position:relative}[_nghost-%COMP%]{display:block;width:100%}"]})}}return n})();var Kt=(()=>{class n{constructor(t,e,i){this.elementRef=t,this.env=e,this.injector=i,this.$init=ht(this,null,function*(){this.env.isBrowser&&(this.$=yield this.injector.get("browser:jquery"),yield this.injector.get("browser:jquery:rwd-image-maps"))}),this.showNext=!1,this.showPrev=!1,ht(this,null,function*(){yield this.$init})}ngAfterViewInit(){this.scroller=this.elementRef.nativeElement.parentNode,et(this.scroller,"scroll").subscribe(t=>{this.panGraph()})}ngOnChanges(){this.panGraph()}panControl(t){let e=this.scroller.getBoundingClientRect().width,i=this.scroller.scrollLeft,p=e/1.3;return t||(p*=-1),this.$(this.scroller).animate({scrollLeft:i+p},350),!1}panGraph(){if(H(this.scroller)&&H(this.graphWidth)){let t=this.scroller.getBoundingClientRect().width,e=this.scroller.scrollLeft;t>=this.graphWidth?(this.showNext=!1,this.showPrev=!1):e===0?(this.showNext=!0,this.showPrev=!1):Math.ceil(t+e)>=this.graphWidth?(this.showNext=!1,this.showPrev=!0):(this.showNext=!0,this.showPrev=!0)}}static{this.\u0275fac=function(e){return new(e||n)(u(_t),u(T),u(Ct))}}static{this.\u0275cmp=C({type:n,selectors:[["lib-precipitation-graph-scroll"]],inputs:{graphWidth:"graphWidth"},features:[it],decls:12,vars:4,consts:[["container",""],["graphPrev",""],["graphNext",""],[1,"graph-arrow","graph-prev",3,"click"],[1,"graph-arrow-button"],[1,"graph-arrow-icon"],[1,"graph-arrow","graph-next",3,"click"]],template:function(e,i){if(e&1){let p=ot();o(0,"div",null,0)(2,"a",3,1),K("click",function(){return z(p),X(i.panControl(!1))}),o(4,"span",4)(5,"span",5),l(6,"Prev"),a()()(),o(7,"a",6,2),K("click",function(){return z(p),X(i.panControl(!0))}),o(9,"span",4)(10,"span",5),l(11,"Next"),a()()()()}e&2&&(c(2),$("hide",!i.showPrev),c(5),$("hide",!i.showNext))},styles:[".inactive[_ngcontent-%COMP%]   .graph-arrow[_ngcontent-%COMP%]{visibility:hidden}.graph-arrow[_ngcontent-%COMP%]{position:absolute;top:40px;width:39px;height:151px;z-index:3;background-color:#f7f7f7}.graph-arrow[_ngcontent-%COMP%]   .graph-arrow-button[_ngcontent-%COMP%]{display:block;width:33px;background-color:#fff;border:1px solid #15AADC;height:150px;margin-top:1px;margin-left:2px;text-indent:-9999px}.graph-arrow[_ngcontent-%COMP%]   .graph-arrow-button[_ngcontent-%COMP%]   .graph-arrow-icon[_ngcontent-%COMP%]{position:absolute;top:50%;background-image:url(//www.wunderground.com/static/i/o/sprite-common-vert.png?v=1.20);width:9px;height:16px;margin-top:-8px}.graph-arrow.graph-next[_ngcontent-%COMP%]{right:0}.graph-arrow.graph-next[_ngcontent-%COMP%]   .graph-arrow-button[_ngcontent-%COMP%]{border-radius:0 5px 5px 0;margin-left:2px}.graph-arrow.graph-next[_ngcontent-%COMP%]   .graph-arrow-button[_ngcontent-%COMP%]   .graph-arrow-icon[_ngcontent-%COMP%]{background-position:0 -1132px;left:14px}.graph-arrow.graph-prev[_ngcontent-%COMP%]{left:2px}.graph-arrow.graph-prev[_ngcontent-%COMP%]   .graph-arrow-button[_ngcontent-%COMP%]{border-radius:5px 0 0 5px;margin-left:4px}.graph-arrow.graph-prev[_ngcontent-%COMP%]   .graph-arrow-button[_ngcontent-%COMP%]   .graph-arrow-icon[_ngcontent-%COMP%]{background-position:0 -1158px;right:14px}"]})}}return n})();function ae(n,b){n&1&&(o(0,"div",12),d(1,"div",18),a())}var Qt=(()=>{class n{constructor(t){this.precipitationService=t,this.loading=!0}ngOnInit(){this.precipitationService.getData().pipe(D(t=>this.precipitationService.parseFifteen(t))).subscribe(t=>{It(t,"success")&&(this.data=t)})}onAfterRender(t){this.graphWidth=t.width,this.loading=!1}static{this.\u0275fac=function(e){return new(e||n)(u(L))}}static{this.\u0275cmp=C({type:n,selectors:[["lib-precipitation-graph"]],decls:30,vars:3,consts:[["graphWra
1p",""],["id","precip-graph",1,"data-module"],[1,"module-header"],[1,"content"],[1,"y-wrap","svg-wrap"],["width","50","height","192","shape-rendering","crispEdges",0,"xmlns","xlink","http://www.w3.org/1999/xlink",1,"y-axis"],["transform","translate(25, 40)",1,"labels","y-labels"],["x","9","y","51","transform","rotate(270,2,50)"],[1,"graph-content"],[1,"graph-wrap"],[3,"graphWidth"],[1,"svg-wrap"],[1,"loader-wrapper"],[3,"onAfterRender","data"],[1,"precip-legend"],[1,"legend-color","rain"],[1,"legend-color","snow"],[1,"legend-color","mix"],[1,"loader-screen"]],template:function(e,i){if(e&1){let p=ot();o(0,"div",1)(1,"h1",2),l(2,"7-Hour Rain and Snow Forecast"),a(),o(3,"div",3),d(4,"lib-precipitation-graph-alert"),o(5,"div",4),P(),o(6,"svg",5)(7,"title"),l(8,"Intensity"),a(),o(9,"g",6)(10,"text",7),l(11,"Intensity"),a()()()(),G(),o(12,"div",8)(13,"div",9,0),d(15,"lib-precipitation-graph-scroll",10),o(16,"div",11),v(17,ae,2,0,"div",12),o(18,"lib-precipitation-graph-chart",13),K("onAfterRender",function(s){return z(p),X(i.onAfterRender(s))}),a()()()(),o(19,"div",14)(20,"ul")(21,"li"),d(22,"span",15),l(23," Rain"),a(),o(24,"li"),d(25,"span",16),l(26," Snow"),a(),o(27,"li"),d(28,"span",17),l(29," Mix"),a()()()()()}e&2&&(c(15),E("graphWidth",i.graphWidth),c(2),f(i.loading?17:-1),c(),E("data",i.data))},dependencies:[Yt,Kt,$t],styles:[".loader-wrapper[_ngcontent-%COMP%]{position:absolute;inset:0}.loader-wrapper[_ngcontent-%COMP%]   .loader-screen[_ngcontent-%COMP%]{position:absolute;left:50%;top:50%;width:38px;height:38px;transform:translate(-50%,-50%);background:url(//www.wunderground.com/static/i/o/rainbow-loader.gif) no-repeat center center}.data-module[_ngcontent-%COMP%]{margin-bottom:20px}.data-module[_ngcontent-%COMP%]   .content[_ngcontent-%COMP%]{padding:20px}.precip-legend[_ngcontent-%COMP%]{overflow:hidden}.precip-legend[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]{list-style-type:none;margin-bottom:0;margin-top:0;padding-top:0;float:left}.precip-legend[_ngcontent-%COMP%]   ul[_ngcontent-%COMP%]   li[_ngcontent-%COMP%]{display:inline-block;margin-right:15px}.precip-legend[_ngcontent-%COMP%]   .legend-color[_ngcontent-%COMP%]{width:15px;height:15px;display:inline-block;position:relative;top:1px}.precip-legend[_ngcontent-%COMP%]   .legend-color.snow[_ngcontent-%COMP%]{background-color:#0053ae}.precip-legend[_ngcontent-%COMP%]   .legend-color.rain[_ngcontent-%COMP%]{background-color:#5b9f49}.precip-legend[_ngcontent-%COMP%]   .legend-color.mix[_ngcontent-%COMP%]{background-color:#ac54a0}.precip-legend[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{float:right}#precip-graph[_ngcontent-%COMP%]{padding-bottom:5px;position:relative}.inactive[_ngcontent-%COMP%]   .graph-wrap[_ngcontent-%COMP%]{overflow-x:hidden}.inactive[_ngcontent-%COMP%]   .graph-arrow[_ngcontent-%COMP%]{visibility:hidden}.inactive[_ngcontent-%COMP%]   svg[_ngcontent-%COMP%]{opacity:.2}.y-wrap[_ngcontent-%COMP%], .graph-wrap[_ngcontent-%COMP%]{display:inline-block}.y-wrap[_ngcontent-%COMP%]{width:41px;height:190px;display:inline-block;position:absolute;z-index:1;background-color:#f7f7f7}.graph-wrap[_ngcontent-%COMP%]{overflow-x:scroll;overflow-y:hidden;display:inline-block;height:230px;width:100%}.graph-wrap[_ngcontent-%COMP%]::-webkit-scrollbar{-webkit-appearance:none;width:7px}.graph-wrap[_ngcontent-%COMP%]::-webkit-scrollbar-thumb{border-radius:4px;background-color:#00000080;-webkit-box-shadow:0 0 1px rgba(255,255,255,.5)}.y-axis[_ngcontent-%COMP%]{width:41px}svg[_ngcontent-%COMP%]{transform:translateZ(0)}svg[_ngcontent-%COMP%]   .labels[_ngcontent-%COMP%]{font-size:.75rem}svg[_ngcontent-%COMP%]   .y-labels[_ngcontent-%COMP%]{text-anchor:end;fill:#8a8a8a;text-transform:uppercase}.graph-content[_ngcontent-%COMP%]{width:100%;position:relative}"]})}}return n})();function se(n,b){if(n&1&&d(0,"img",11),n&2){let t=S(2).$implicit,e=S();E("src",e.getImageURL(t),nt)}}function ce(n,b){if(n&1&&(o(0,"div",8),l(1),v(2,se,1,1,"img",11),a()),n&2){let t=S().$implicit;c(),gt(" ",t.intensityLabel," ",t.typeLabel," "),c(),f(t.type!=="noprecip"?2:-1)}}function pe(n,b){if(n&1&&(o(0,"div",8),l(1),a()),n&2){let t=S().$implicit;c(),q(" ",t.typeLabel," ")}}function le(n,b){if(n&1&&(o(0,"div",2)(1,"h3"),l(2),a(),o(3,"div",3)(4,"div",4)(5,"div",5)(6,"span"),l(7,"Type"),a()(),o(8,"div",6)(9,"span"),l(10,"Accumulation"),a()()(),o(11,"div",7),v(12,ce,3,3,"div",8)(13,pe,2,1,"div",8),o(14,"div",9),d(15,"lib-display-unit",10),a()()()()),n&2){let t=b.$implicit;$("precip-rain",t.type!=="noprecip")("precip-noprecip",t.type==="noprecip"),c(2),gt("",t.timeStart," - ",t.timeEnd,""),c(10),f(t.type!=="noprecip"?12:-1),c(),f(t.type==="noprecip"?13:-1),c(2),E("value",t.amount)}}var Zt=(()=>{class n{constructor(t,e){this.precipitationService=t,this.env=e,this.staticHost=this.env.apiVars.endpoints.staticHost,this.precipitationService.getData().pipe(D(i=>this.precipitationService.parseFifteen(i)),vt(i=>!!i)).subscribe(i=>this.events=i.events)}isActive(t){return t.type!=="noprecip"}getImageURL(t){let e=t.intensityIcon.toLowerCase();return`//${this.staticHost}/static/i/o/precip/${e}rain.svg`}static{this.\u0275fac=function(e){return new(e||n)(u(L),u(T))}}static{this.\u0275cmp=C({type:n,selectors:[["lib-precipitation-table"]],decls:3,vars:0,consts:[["id","precip-table",1,"table-view"],[1,"data-module",3,"precip-rain","precip-noprecip"],[1,"data-module"],[1,"content"],[1,"row","row-header"],[1,"columns","small-8","medium-6","label-small"],[1,"columns","small-4","medium-6","label-small"],[1,"row","row-content"],[1,"columns","small-8","medium-6"],[1,"columns","small-4","medium-6"],["type","rain",3,"value"],["width","25","height","25","alt","light rain",1,"precip-icon",3,"src"]],template:function(e,i){e&1&&(o(0,"div",0),Pt(1,le,16,9,"div",1,yt),a()),e&2&&(c(),St(i.events))},dependencies:[qt],styles:["[_nghost-%COMP%]   .data-module[_ngcontent-%COMP%]{margin-bottom:20px}[_nghost-%COMP%]   .label-small[_ngcontent-%COMP%]{color:#696969;text-transform:uppercase;font-size:.75rem}
1[_nghost-%COMP%]   .precip-rain[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%]{border-bottom:1px solid #5B9F49}[_nghost-%COMP%]   .precip-snow[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%]{border-bottom:1px solid #0053AE}[_nghost-%COMP%]   .precip-mix[_ngcontent-%COMP%]   h4[_ngcontent-%COMP%]{border-bottom:1px solid #AC54A0}[_nghost-%COMP%]   .row-content[_ngcontent-%COMP%]{font-weight:700;color:#1e2023}[_nghost-%COMP%]   .row-header[_ngcontent-%COMP%]{text-transform:uppercase}[_nghost-%COMP%]   .precip-noprecip[_ngcontent-%COMP%]   .row-content[_ngcontent-%COMP%]{color:#a3a3a3!important}[_nghost-%COMP%]   display-unit[_ngcontent-%COMP%]   .wu-label[_ngcontent-%COMP%]{padding-left:5px}  .precip-noprecip .row-content .wu-value{color:#a3a3a3!important}"]})}}return n})();function me(n,b){if(n&1&&(P(),d(0,"rect",10)),n&2){let t=S();F("fill",t.buckets.liquid.immediate.fillColor)("y",t.buckets.liquid.immediate.yOffset)("height",t.buckets.liquid.immediate.height)}}function de(n,b){if(n&1&&(P(),d(0,"rect",10)),n&2){let t=S();F("fill",t.buckets.liquid.forecast.fillColor)("y",t.buckets.liquid.forecast.yOffset)("height",t.buckets.liquid.forecast.height)}}function he(n,b){if(n&1&&(P(),d(0,"rect",10)),n&2){let t=S(2);F("fill",t.buckets.snow.immediate.fillColor)("y",t.buckets.snow.immediate.yOffset)("height",t.buckets.snow.immediate.height)}}function ue(n,b){if(n&1&&(P(),d(0,"rect",10)),n&2){let t=S(2);F("fill",t.buckets.snow.forecast.fillColor)("y",t.buckets.snow.forecast.yOffset)("height",t.buckets.snow.forecast.height)}}function ge(n,b){if(n&1&&(o(0,"div",20)(1,"div",5)(2,"span"),l(3,"Total Snow Accumulation: Forecast"),a(),l(4),a(),o(5,"div",6)(6,"div",22),P(),o(7,"svg",23)(8,"title"),l(9,"Snow immediate"),a(),d(10,"ellipse",9),v(11,he,1,3,":svg:rect",10),d(12,"ellipse",11)(13,"path",19),a(),G(),o(14,"div",13),d(15,"span",14),o(16,"span",15),l(17),o(18,"span",16),l(19),a()()(),o(20,"p"),l(21),a()(),o(22,"div",24),P(),o(23,"svg",25)(24,"title"),l(25,"Snow forecast"),a(),d(26,"ellipse",9),v(27,ue,1,3,":svg:rect",10),d(28,"ellipse",11)(29,"path",19),a(),G(),o(30,"div",13)(31,"span",15),l(32),o(33,"span",16),l(34),a()()(),o(35,"p"),l(36),a()()()()),n&2){let t=S();c(4),q(" (",t.snowUnits,")"),c(7),f(t.buckets.snow.immediate.amount>0&&t.isBrowser?11:-1),c(),F("fill",t.buckets.snow.immediate.bottomColor),c(2),Y("bottom",t.buckets.snow.immediate.needle),c(3),q("",t.buckets.snow.immediate.amount.toFixed(2)," "),c(2),O(t.buckets.snow.immediate.units),c(2),O(t.buckets.snow.immediate.label),c(6),f(t.buckets.snow.forecast.amount>0?27:-1),c(),F("fill",t.buckets.snow.forecast.bottomColor),c(2),Y("bottom",t.buckets.snow.forecast.needle),c(2),q("",t.buckets.snow.forecast.amount.toFixed(2)," "),c(2),O(t.buckets.snow.forecast.units),c(2),O(t.buckets.snow.forecast.label)}}var Jt=(()=>{class n{constructor(t,e,i,p,r){this.stationService=t,this.dailyDal=e,this.precipitationService=i,this.cityLinks=p,this.envService=r,this.buckets={liquid:{forecast:{label:"",maxBucketHeight:0,amount:0,units:"",bottomColor:"",fillColor:"",yOffset:0,height:0,imagePath:"",imageYOffset:0,amountLabelOffset:0,needle:""},immediate:{label:"",maxBucketHeight:0,amount:0,units:"",bottomColor:"",fillColor:"",yOffset:0,height:0,imagePath:"",imageYOffset:0,amountLabelOffset:0,needle:""}},snow:{forecast:{label:"",maxBucketHeight:0,amount:0,units:"",bottomColor:"",fillColor:"",yOffset:0,height:0,imagePath:"",imageYOffset:0,amountLabelOffset:0,needle:""},immediate:{label:"",maxBucketHeight:0,amount:0,units:"",bottomColor:"",fillColor:"",yOffset:0,height:0,imagePath:"",imageYOffset:0,amountLabelOffset:0,needle:""}}},this.isBrowser=this.envService.isBrowser,this.airportUrl="",this.airport="",this.station={date:{year:0,month:0,day:0}},this.stationUnits="",this.liquidUnits="",this.snowUnits="",this.weather={},this.labels={immediate:"Next 7 Hours",sofar:"Today So Far*\u2020",forecast:"24 Hours*"},this.thresholds={},this.bucketHeight=339,this.precip={},this.today=[],this.liquidForecast=0,this.snowForecast=0,this.hasSnow=!1,this.events=[],this.stationService.currentStation.pipe(ut(s=>{this.station=s,this.stationUnits=this.precipitationService.getUserUnits(),this.liquidUnits=this.stationUnits==="e"?"in":"mm",this.snowUnits=this.stationUnits==="e"?"in":"cm",this.thresholds={liquid:this.stationUnits==="e"?[1,2,3]:[25.4,50.8,76.2],snow:this.stationUnits==="e"?[2,6,12]:[5.1,15.2,30.5]}}),W(s=>this.dailyDal.getThreeDayForecast(`${A(s,"latitude",0)},${A(s,"longitude",0)}`)),ut(s=>this.weather=s),W(()=>this.precipitationService.getData()),D(s=>this.precipitationService.parseFifteen(s))).subscribe(s=>{!s||!s.success||(this.precip=s.totals,this.today=this.weather.days,this.liquidForecast=this.today.length?A(this.today,"[0].precipitation.rain",0):0,this.snowForecast=this.today.length?A(this.today,"[0].precipitation.snow",0):0,this.hasSnow=s.hasSnow||!1,this.events=s.events,this.precip.liquid>this.liquidForecast&&(this.liquidForecast=this.precip.liquid),this.precip.snow>this.snowForecast&&(this.snowForecast=this.precip.snow),this.buckets.liquid={immediate:{amount:this.precip.liquid,type:"forecast",label:this.labels.immediate},forecast:{amount:this.liquidForecast,type:"forecast",label:this.labels.forecast}},this.hasSnow&&(this.buckets.snow={immediate:{amount:this.precip.snow,type:"forecast",label:this.labels.immediate},forecast:{amount:this.snowForecast,type:"forecast",label:this.labels.forecast}}),this.setHeights(),this.render(this.station.postalCode))})}setHeights(){for(let t in this.buckets)this.setTypeHeights(this.buckets[t],t)}setTypeHeights(t,e){let i=0,p=this.thresholds[e];i=Math.max(t.immediate.amount,t.forecast.amount);for(let r of p)if(r>=i){i=r;break}for(let r in t)t[r].height=t[r].amount/i*this.bucketHeight}render(t){for(let e in this.buckets){let i=this.buckets[e];for(let p in i){let r=p;this.buckets[e][r].units=this.stationUnits==="e"?"in":e==="liquid"?"mm":"cm",this.buckets[e][r].maxBucketHeight=this.bucketHeight,this.buckets[e][r].precipType=e,this.buckets[e][r].minY=92,this.buckets[e][r].yOffset=this.buckets[e][r].maxBucketHeight-this.buckets[e][r].height+this.buckets[e][r].minY,this.buckets[e][r].imageYOffset=this.buckets[e][r].yOffset-17,this.buckets[e][r].bottomColor="#A3A3A3",this.buckets[e][r].fillColor="#8BCEE6",this.buckets[e][r].imagePath="watertop.png",this.buckets[e][r].amountLabelOffset=this.buckets[e][r].height/4.19,e==="snow"&&(this.buckets[e][r].bottomColor="#FFFFFF",this.buckets[e][r].fillColor="#FFFFFF",this.buckets[e][r].imagePath="snowtop.png"),this.buckets[e][r].amount>0&&(this.buckets[e][r].bottomColor="#7DC0D8"),this.buckets[e][r].amount===0&&(this.buckets[e][r].amountLabelOffset=0);let s=Math.floor(this.buckets[e][r].amountLabelOffset)+3;this.buckets[e][r].needle=s+"px"}}this.airport=A(this.station,"airport.icao",""),this.airportUrl=this.cityLinks.getLink("/history/daily",this.station,{country:A(this.station,"country",""),extra:this.airport},new Date)}static{this.\u0275fac=function(e){return new(e||n)(u(V),u(Dt),u(L),u(Ut),u(T))}}static{this.\u0275cmp=C({type:n,selectors:[["lib-precipitation-liquid-accumulation"]],decls:49,vars:16,consts:[["id","buckets"],[1,"data-module"],[1,"content"],[1,"row"],["
1id","liquid-bucket",1,"precip-module","clearfix","columns","small-12"],[1,"label-small"],[1,"row","precip-forecast"],[1,"columns","small-6","liquid-immediate"],["version","1.1","id","Layer_1","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","viewBox","0 0 234 482","height","115","preserveAspectRatio","xMinYMid"],["fill","none","stroke","#696969","stroke-width","10","stroke-miterlimit","10","cx","117","cy","39","rx","107","ry","30"],["x","12","width","218"],["cx","117","cy","440","rx","107","ry","30"],["fill","none","stroke","#696969","stroke-width","10","stroke-miterlimit","10","d","M10,39v394c0,16.6,47.9,40,107,40s107-23.4,107-40V39"],[1,"precip-amount"],[1,"precip-bucket-arrow"],[1,"precip-amount-value"],[1,"hide-for-small"],[1,"columns","small-6","liquid-forecast"],["version","1.1","id","Layer_2","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","viewBox","0 0 234 482","height","115","preserveAspectRatio","xMinYMid"],["fill","none","stroke","#696969","stroke-width","10","stroke-miterlimit","10","d",`M10,39v394c0,16.6,47.9,40,107,40s107-23.4,107-40
2                V39`],["id","snow-bucket",1,"precip-module","clearfix","columns","small-12"],[1,"footnote"],[1,"columns","small-6","snow-immediate"],["version","1.1","id","Layer_3","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","viewBox","0 0 234 482","height","115","preserveAspectRatio","xMinYMid"],[1,"columns","small-6","snow-forecast"],["ver
2sion","1.1","id","Layer_4","xmlns","http://www.w3.org/2000/svg",0,"xmlns","xlink","http://www.w3.org/1999/xlink","x","0px","y","0px","viewBox","0 0 234 482","height","115","preserveAspectRatio","xMinYMid"]],template:function(e,i){e&1&&(o(0,"div",0)(1,"div",1)(2,"h4"),l(3,"Accumulation"),a(),o(4,"div",2)(5,"div",3)(6,"div",4)(7,"div",5)(8,"span"),l(9,"Total Liquid Accumulation: Forecast"),a(),l(10),a(),o(11,"div",6)(12,"div",7),P(),o(13,"svg",8)(14,"title"),l(15,"Precip liquid"),a(),d(16,"ellipse",9),v(17,me,1,3,":svg:rect",10),d(18,"ellipse",11)(19,"path",12),a(),G(),o(20,"div",13),d(21,"span",14),o(22,"span",15),l(23),o(24,"span",16),l(25),a()()(),o(26,"p"),l(27),a()(),o(28,"div",17),P(),o(29,"svg",18)(30,"title"),l(31,"Liquid"),a(),d(32,"ellipse",9),v(33,de,1,3,":svg:rect",10),d(34,"ellipse",11)(35,"path",19),a(),G(),o(36,"div",13),d(37,"span",14),o(38,"span",15),l(39),o(40,"span",16),l(41),a()()(),o(42,"p"),l(43),a()()()(),v(44,ge,37,15,"div",20),a(),o(45,"div",3)(46,"div",21)(47,"p"),l(48," *24 hour time is from 7:00 am to 7:00 am the next day. "),a()()()()()()),e&2&&(c(10),q(" (",i.liquidUnits,")"),c(7),f(i.buckets.liquid.immediate.amount>0&&i.isBrowser?17:-1),c(),F("fill",i.buckets.liquid.immediate.bottomColor),c(2),Y("bottom",i.buckets.liquid.immediate.needle),c(3),q(" ",i.buckets.liquid.immediate.amount.toFixed(2)," "),c(2),O(i.buckets.liquid.immediate.units),c(2),O(i.buckets.liquid.immediate.label),c(6),f(i.buckets.liquid.forecast.amount>0&&i.isBrowser?33:-1),c(),F("fill",i.buckets.liquid.forecast.bottomColor),c(2),Y("bottom",i.buckets.liquid.forecast.needle),c(3),q("",i.buckets.liquid.forecast.amount.toFixed(2)," "),c(2),O(i.buckets.liquid.forecast.units),c(2),O(i.buckets.liquid.forecast.label),c(),f(i.hasSnow?44:-1))},styles:[".data-module[_ngcontent-%COMP%]   .label-small[_ngcontent-%COMP%]{color:#696969;text-transform:uppercase;font-size:.75rem}.precip-module[_ngcontent-%COMP%]   .precip-forecast[_ngcontent-%COMP%]{margin-top:10px}.precip-module[_ngcontent-%COMP%]   .precip-forecast[_ngcontent-%COMP%]   .columns[_ngcontent-%COMP%]{position:relative}.precip-module[_ngcontent-%COMP%]   .precip-forecast[_ngcontent-%COMP%]   .precip-amount[_ngcontent-%COMP%]{position:absolute;width:95px;height:20px;margin-bottom:40px;left:50px;font-size:14px;font-weight:700;text-align:left;line-height:14px;bottom:0;padding-left:18px}.precip-module[_ngcontent-%COMP%]   .precip-forecast[_ngcontent-%COMP%]   .precip-amount-value[_ngcontent-%COMP%]{margin-left:0;color:#1e2023}#buckets[_ngcontent-%COMP%]   .footnote[_ngcontent-%COMP%]{margin-top:15px}#buckets[_ngcontent-%COMP%]   .footnote[_ngcontent-%COMP%]   p[_ngcontent-%COMP%]{font-size:.75rem;text-align:right;margin-bottom:0;line-height:15px}"]})}}return n})();var te=(()=>{class n{constructor(){}static{this.\u0275fac=function(e){return new(e||n)}}static{this.\u0275cmp=C({type:n,selectors:[["lib-precipitation-map"]],decls:7,vars:0,consts:[[1,"data-module","precip-map"],[1,"content"],[1,"row","crowd-switch"],[1,"columns","small-12","crowd-about"]],template:function(e,i){e&1&&(o(0,"div",0)(1,"h4"),l(2," Map "),a(),o(3,"div",1),d(4,"lib-city-map"),o(5,"div",2),d(6,"div",3),a()()())},dependencies:[Nt],encapsulation:2})}}return n})();var fe=n=>({"has-sidebar":n});function ve(n,b){n&1&&d(0,"ad-wx-ws")(1,"ad-mw-position-1")}function xe(n,b){n&1&&(o(0,"div",5)(1,"div",8),d(2,"ad-wx-top-300-var",9)(3,"ad-mw-position-2"),a()())}function we(n,b){n&1&&(o(0,"div",7),d(1,"ad-wx-bottom-leader"),a())}var ee=(()=>{class n{constructor(t,e){this.ads=t,this.ups=e,this.isPremium=!1,this.ups.isUserLoggedIn().subscribe(()=>{this.isPremium=this.ups.isUserPremium()})}static{this.\u0275fac=function(e){return new(e||n)(u(Gt),u(ct))}}static{this.\u0275cmp=C({type:n,selectors:[["app-precipitation"]],decls:20,vars:12,consts:[[1,"region-content-top"],[1,"region-content-main"],[1,"row"],[1,"small-12","large-8","columns"],[1,"small-12","large-4","columns",3,"ngClass"],[1,"row","is-sidebar"],[1,"small-12","large-6","medium-6","columns"],[1,"region-footer"],[1,"region-sidebar"],["libSticky",""]],template:function(e,i){e&1&&(o(0,"one-column-layout")(1,"div",0),v(2,ve,2,0),rt(3,"async"),d(4,"lib-city-header"),a(),o(5,"div",1)(6,"div",2)(7,"div",3),d(8,"lib-precipitation-graph")(9,"lib-precipitation-table"),a(),o(10,"div",4),v(11,xe,4,0,"div",5),rt(12,"async"),a()(),o(13,"div",2)(14,"div",6),d(15,"lib-precipitation-liquid-accumulation"),a(),o(16,"div",6),d(17,"lib-precipitation-map"),a()()(),v(18,we,2,0,"div",7),rt(19,"async"),a()),e&2&&(c(2),f(at(3,4,i.ads.adsEnabled$)?2:-1),c(8),E("ngClass",Et(10,fe,!i.isPremium)),c(),f(at(12,6,i.ads.adsEnabled$)?11:-1),c(7),f(at(19,8,i.ads.adsEnabled$)?18:-1))},dependencies:[Tt,At,Wt,zt,Bt,Ht,Rt,Vt,jt,Qt,Zt,Jt,te],encapsulation:2})}}return n})();var en=[{path:"",redirectTo:"us/ca/san-francisco",pathMatch:"full"},{path:"**",component:ee,resolve:{currentStation:Ft},data:{title:"{currentStation.metrics.title}",metatags:{description:"{currentStation.metrics.metaDescription}"},metrics:{pageName:"{currentStation.metrics.omniture.pageName}",channel:"{currentStation.metrics.omniture.channel}",contentType:"{currentStation.metrics.omniture.contentType}",subSection:"{currentStation.metrics.omniture.subSection}"},ads:{page:"precip",adPositions:{default:["WX_WindowShade","WX_Top300Variable","WX_BottomLeader","WX_Hidden"],mobile:["MW_Position1","MW_Position2","WX_Hidden"]}}}}];export{en as default};

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.