@visitscotland/component-library
Version:
VisitScotland Component Library
1 lines • 11.4 kB
JavaScript
(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[9839],{11448:function(t,a,e){"use strict";e.d(a,{X:function(){return s.X}});var s=e(51016)},19839:function(t,a,e){"use strict";e.r(a);var s=e(11448),n=e(30017);e(43458);const l=(0,e(66262).A)(n.A,[["render",s.X]]);a.default=l},30017:function(t,a,e){"use strict";e.d(a,{A:function(){return s.A}});var s=e(56893)},43458:function(t,a,e){"use strict";e(78838)},51016:function(t,a,e){"use strict";e.d(a,{X:function(){return k}});var s=e(20641),n=e(90033),l={class:"card vs-ski-scotland-card","data-test":"vs-ski-scotland-card"},r={class:"vs-ski-scotland-card__img-container"},i={class:"card-body"},u={key:0,class:"text-center pb-200 position-relative"},o={"data-test":"vs-ski__status-label"},d={"data-test":"vs-ski__runs-label"},f={"data-test":"vs-ski__lifts-label"},c={"data-test":"vs-ski__open-label"},p={"data-test":"vs-ski__limited-patrol-label"},m={"data-test":"vs-ski__opening-label"},g={"data-test":"vs-ski__closed-label"},y={"data-test":"vs-ski__on-hold-label"},b={"data-test":"vs-ski__last-updated-label"};function k(t,a,e,k,S,_){var L=(0,s.g2)("VsImg"),h=(0,s.g2)("VsHeading"),v=(0,s.g2)("VsLoadingSpinner"),D=(0,s.g2)("VsWarning"),F=(0,s.g2)("VsTableHeaderCell"),V=(0,s.g2)("VsTableHead"),W=(0,s.g2)("VsIcon"),T=(0,s.g2)("VsTableDataCell"),X=(0,s.g2)("VsTableRow"),H=(0,s.g2)("VsTableBody"),C=(0,s.g2)("VsTableFooter"),w=(0,s.g2)("VsTable"),Q=(0,s.g2)("VsButton");return(0,s.uX)(),(0,s.CE)("div",l,[(0,s.Lk)("div",r,[e.imgSrc?((0,s.uX)(),(0,s.Wv)(L,{key:0,src:e.imgSrc,alt:e.imgAlt,class:"vs-ski-scotland-card__img","data-test":"vs-ski-scotland-card__img"},null,8,["src","alt"])):(0,s.Q3)("",!0)]),(0,s.Lk)("div",i,[(0,s.bF)(h,{level:"3","heading-style":"heading-m"},{default:(0,s.k6)((function(){return[(0,s.RG)(t.$slots,"centre-name")]})),_:3}),S.jsDisabled||S.isLoading||S.displayError?((0,s.uX)(),(0,s.CE)("div",u,[!S.jsDisabled&&S.isLoading?((0,s.uX)(),(0,s.CE)(s.FK,{key:0},[(0,s.bF)(v,{class:"mb-100 d-block"}),(0,s.RG)(t.$slots,"data-loading")],64)):(0,s.Q3)("",!0),!S.jsDisabled&&S.displayError?((0,s.uX)(),(0,s.Wv)(D,{key:1,size:"small","data-test":"vs-ski-scotland-card__error"},{default:(0,s.k6)((function(){return[(0,s.RG)(t.$slots,"data-unavailable")]})),_:3})):(0,s.Q3)("",!0),S.jsDisabled?((0,s.uX)(),(0,s.Wv)(D,{key:2,size:"small","data-test":"vs-ski-scotland-card__js-disabled"},{default:(0,s.k6)((function(){return[(0,s.RG)(t.$slots,"js-required")]})),_:3})):(0,s.Q3)("",!0)])):(0,s.Q3)("",!0),S.jsDisabled||S.isLoading||S.displayError?(0,s.Q3)("",!0):((0,s.uX)(),(0,s.Wv)(w,{key:1,"table-caption":e.runsLiftsStatusLabel},{default:(0,s.k6)((function(){return[(0,s.bF)(V,null,{default:(0,s.k6)((function(){return[(0,s.bF)(F,null,{default:(0,s.k6)((function(){return[(0,s.Lk)("span",o,(0,n.toDisplayString)(e.statusLabel),1)]})),_:1}),S.runs.length?((0,s.uX)(),(0,s.Wv)(F,{key:0},{default:(0,s.k6)((function(){return[(0,s.Lk)("span",d,(0,n.toDisplayString)(e.runsLabel),1)]})),_:1})):(0,s.Q3)("",!0),(0,s.bF)(F,null,{default:(0,s.k6)((function(){return[(0,s.Lk)("span",f,(0,n.toDisplayString)(e.liftsLabel),1)]})),_:1})]})),_:1}),(0,s.bF)(H,null,{default:(0,s.k6)((function(){return[(0,s.bF)(X,null,{default:(0,s.k6)((function(){return[(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.bF)(W,{icon:"fa-regular fa-check",size:"xs",class:"me-050 fa-fw"}),(0,s.Lk)("span",c,(0,n.toDisplayString)(e.summaryOpenLabel),1)]})),_:1}),S.runs.length?((0,s.uX)(),(0,s.Wv)(T,{key:0},{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.runs.open)+"/"+(0,n.toDisplayString)(S.runs.length),1)]})),_:1})):(0,s.Q3)("",!0),(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.lifts.open)+"/"+(0,n.toDisplayString)(S.lifts.length),1)]})),_:1})]})),_:1}),S.statusSummary.runs.limitedPatrol||S.statusSummary.lifts.limitedPatrol?((0,s.uX)(),(0,s.Wv)(X,{key:0},{default:(0,s.k6)((function(){return[(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.bF)(W,{icon:"fa-regular fa-ski-boot-ski",size:"xs",class:"me-050 fa-fw"}),(0,s.Lk)("span",p,(0,n.toDisplayString)(e.summaryLimitedPatrolLabel),1)]})),_:1}),S.runs.length?((0,s.uX)(),(0,s.Wv)(T,{key:0},{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.runs.limitedPatrol)+"/"+(0,n.toDisplayString)(S.runs.length),1)]})),_:1})):(0,s.Q3)("",!0),(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.lifts.limitedPatrol)+"/"+(0,n.toDisplayString)(S.lifts.length),1)]})),_:1})]})),_:1})):(0,s.Q3)("",!0),(0,s.bF)(X,null,{default:(0,s.k6)((function(){return[(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.bF)(W,{icon:"fa-regular fa-timer",size:"xs",class:"me-050 fa-fw"}),(0,s.Lk)("span",m,(0,n.toDisplayString)(e.summaryOpeningLabel),1)]})),_:1}),S.runs.length?((0,s.uX)(),(0,s.Wv)(T,{key:0},{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.runs.opening)+"/"+(0,n.toDisplayString)(S.runs.length),1)]})),_:1})):(0,s.Q3)("",!0),(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.lifts.opening)+"/"+(0,n.toDisplayString)(S.lifts.length),1)]})),_:1})]})),_:1}),(0,s.bF)(X,null,{default:(0,s.k6)((function(){return[(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.bF)(W,{icon:"fa-regular fa-ban",size:"xs",class:"me-050 fa-fw"}),(0,s.Lk)("span",g,(0,n.toDisplayString)(e.summaryClosedLabel),1)]})),_:1}),S.runs.length?((0,s.uX)(),(0,s.Wv)(T,{key:0},{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.runs.closed)+"/"+(0,n.toDisplayString)(S.runs.length),1)]})),_:1})):(0,s.Q3)("",!0),(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.lifts.closed)+"/"+(0,n.toDisplayString)(S.lifts.length),1)]})),_:1})]})),_:1}),S.statusSummary.runs.onHold||S.statusSummary.lifts.onHold?((0,s.uX)(),(0,s.Wv)(X,{key:1},{default:(0,s.k6)((function(){return[(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.bF)(W,{icon:"fa-regular fa-hourglass",size:"xs",class:"me-050 fa-fw"}),(0,s.Lk)("span",y,(0,n.toDisplayString)(e.summaryOnHoldLabel),1)]})),_:1}),S.runs.length?((0,s.uX)(),(0,s.Wv)(T,{key:0},{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.runs.onHold)+"/"+(0,n.toDisplayString)(S.runs.length),1)]})),_:1})):(0,s.Q3)("",!0),(0,s.bF)(T,null,{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(S.statusSummary.lifts.onHold)+"/"+(0,n.toDisplayString)(S.lifts.length),1)]})),_:1})]})),_:1})):(0,s.Q3)("",!0)]})),_:1}),(0,s.bF)(C,null,{default:(0,s.k6)((function(){return[(0,s.bF)(X,null,{default:(0,s.k6)((function(){return[(0,s.bF)(T,{colspan:"3",role:"cell"},{default:(0,s.k6)((function(){return[(0,s.Lk)("span",b,(0,n.toDisplayString)(e.lastUpdatedLabel)+": "+(0,n.toDisplayString)(S.lastUpdate),1)]})),_:1})]})),_:1})]})),_:1})]})),_:1},8,["table-caption"])),(0,s.bF)(Q,{variant:"secondary",href:e.pisteMapLink,class:"mb-050",disabled:!e.pisteMapLink},{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(e.pisteMapLabel),1)]})),_:1},8,["href","disabled"]),(0,s.bF)(Q,{href:e.moreDetailsLink},{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(e.moreDetailsLabel),1)]})),_:1},8,["href"])])])}},56893:function(t,a,e){"use strict";var s=e(3453),n=e(31574),l=e(13838),r=e(46422),i=e(48836),u=e(79122),o=e(35025),d=e(3706),f=e(95945),c=e(3484),p=e(58167),m=e(64921),g=e(51371),y=e(49054),b=e(57536);a.A={name:"VsSkiScotlandCard",status:"prototype",release:"0.0.1",components:{VsImg:n.default,VsHeading:l.default,VsIcon:r.default,VsWarning:u.default,VsLoadingSpinner:o.default,VsButton:i.default,VsTable:d.default,VsTableHead:f.default,VsTableHeaderCell:c.default,VsTableBody:p.default,VsTableRow:m.default,VsTableDataCell:g.default,VsTableFooter:y.default},props:{centreInfoUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},lastUpdatedLabel:{type:String,default:"Last Updated"},liftsLabel:{type:String,default:"Lifts"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},statusLabel:{type:String,default:"Status"},summaryClosedLabel:{type:String,default:"Closed"},summaryOpenLabel:{type:String,default:"Open"},summaryOpeningLabel:{type:String,default:"Opening"},summaryLimitedPatrolLabel:{type:String,default:"Limited Patrol"},summaryOnHoldLabel:{type:String,default:"On Hold"},imgSrc:{required:!0,type:String},imgAlt:{type:String,default:""},pisteMapLabel:{type:String,default:"View Piste Map"},moreDetailsLabel:{type:String,default:"More Details"},pisteMapLink:{type:String,default:""},moreDetailsLink:{type:String,required:!0,default:"#"}},data:function(){return{statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},runs:[],lifts:[],lastUpdate:"",jsDisabled:!0,isLoading:!0,displayError:!1}},mounted:function(){this.centreInfoUrl&&this.retrieveCentreInfo(),this.jsDisabled=!1},methods:{retrieveCentreInfo:function(){var t=this,a=setTimeout((function(){t.displayError=!0}),this.timeoutDuration);b.A.get(this.centreInfoUrl).then((function(e){var s=t.cleanData(e.data);t.processLifts(s.lifts),s.runs&&t.processRuns(s.runs),t.processLastUpdate(s.lastUpdate),t.isLoading=!1,clearTimeout(a)})).catch((function(){t.runStatusInfo=null,t.displayError=!0,t.isLoading=!1,clearTimeout(a)}))},cleanData:function(t){var a={contact:t.contact,report:t.report};if(t.snowReport)a.lastUpdate=t.snowReport.lastupdate,a.lifts=t.lifts.sector.items,a.runs=t.runs.items,this.isCairngorms=!0;else{a.lastUpdate=t.lastupdate;var e=(0,s.A)(t.lift.sectors,1);if(a.lifts=e[0],a.lifts=a.lifts.lifts,t.run.areas){var n=t.run.areas.map((function(t){return t.runs})).reduce((function(t,a){return t.concat(a)})).filter((function(t,a,e){return a===e.findIndex((function(a){return a.name===t.name}))}));a.runs=n}}return a},processLastUpdate:function(t){var a=new Date(t.year,parseInt(t.month,10)-1,t.day).toLocaleDateString(this.locale,{year:"numeric",month:"long",day:"numeric"});this.lastUpdate="".concat(t.hour24,":").concat(t.minute," - ").concat(a)},processLifts:function(t){for(var a=0;a<t.length;a++)switch(t[a].status){case"4":case 4:this.statusSummary.lifts.onHold+=1;break;case"3":case 3:this.statusSummary.lifts.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.lifts.opening+=1;break;case"1":case 1:this.statusSummary.lifts.open+=1;break;default:this.statusSummary.lifts.closed+=1}this.lifts=t},processRuns:function(t){for(var a=0;a<t.length;a++)switch(t[a].status){case"4":case 4:this.statusSummary.runs.onHold+=1;break;case"3":case 3:this.statusSummary.runs.limitedPatrol+=1;break;case"2":case 2:this.statusSummary.runs.opening+=1;break;case"1":case 1:this.statusSummary.runs.open+=1;break;default:this.statusSummary.runs.closed+=1}this.runs=t}}}},78838:function(t,a,e){"use strict";var s=e(85072),n=e.n(s),l=e(97825),r=e.n(l),i=e(77659),u=e.n(i),o=e(55056),d=e.n(o),f=e(10540),c=e.n(f),p=e(41113),m=e.n(p),g=e(93796),y=e.n(g),b={};b.styleTagTransform=m(),b.setAttributes=d(),b.insert=u().bind(null,"head"),b.domAPI=r(),b.insertStyleElement=c(),n()(y(),b),y()&&y().locals&&y().locals},93796:function(){}}]);