UNPKG

@visitscotland/component-library

Version:
1 lines 11.8 kB
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.VsSkiScotlandCard=e():t.VsSkiScotlandCard=e()}(self,(function(){return(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[6515],{11448:function(t,e,a){"use strict";a.d(e,{X:function(){return s.X}});var s=a(51016)},19839:function(t,e,a){"use strict";a.r(e);var s=a(11448),n=a(30017);a(43458);const l=(0,a(66262).A)(n.A,[["render",s.X]]);e.default=l},30017:function(t,e,a){"use strict";a.d(e,{A:function(){return s.A}});var s=a(56893)},43458:function(t,e,a){"use strict";a(78838)},51016:function(t,e,a){"use strict";a.d(e,{X:function(){return k}});var s=a(20641),n=a(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,e,a,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"),C=(0,s.g2)("VsTableBody"),H=(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,[a.imgSrc?((0,s.uX)(),(0,s.Wv)(L,{key:0,src:a.imgSrc,alt:a.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":a.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)(a.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)(a.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)(a.liftsLabel),1)]})),_:1})]})),_: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,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)(a.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)(a.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)(a.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)(a.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)(a.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)(H,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)(a.lastUpdatedLabel)+": "+(0,n.toDisplayString)(S.lastUpdate),1)]})),_:1})]})),_:1})]})),_:1})]})),_:1},8,["table-caption"])),(0,s.bF)(Q,{variant:"secondary",href:a.pisteMapLink,class:"mb-050",disabled:!a.pisteMapLink},{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(a.pisteMapLabel),1)]})),_:1},8,["href","disabled"]),(0,s.bF)(Q,{href:a.moreDetailsLink},{default:(0,s.k6)((function(){return[(0,s.eW)((0,n.toDisplayString)(a.moreDetailsLabel),1)]})),_:1},8,["href"])])])}},56893:function(t,e,a){"use strict";var s=a(3453),n=a(31574),l=a(13838),r=a(46422),i=a(48836),u=a(79122),o=a(35025),d=a(3706),f=a(95945),c=a(3484),p=a(58167),m=a(64921),g=a(51371),y=a(49054),b=a(57536);e.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,e=setTimeout((function(){t.displayError=!0}),this.timeoutDuration);b.A.get(this.centreInfoUrl).then((function(a){var s=t.cleanData(a.data);t.processLifts(s.lifts),s.runs&&t.processRuns(s.runs),t.processLastUpdate(s.lastUpdate),t.isLoading=!1,clearTimeout(e)})).catch((function(){t.runStatusInfo=null,t.displayError=!0,t.isLoading=!1,clearTimeout(e)}))},cleanData:function(t){var e={contact:t.contact,report:t.report};if(t.snowReport)e.lastUpdate=t.snowReport.lastupdate,e.lifts=t.lifts.sector.items,e.runs=t.runs.items,this.isCairngorms=!0;else{e.lastUpdate=t.lastupdate;var a=(0,s.A)(t.lift.sectors,1);if(e.lifts=a[0],e.lifts=e.lifts.lifts,t.run.areas){var n=t.run.areas.map((function(t){return t.runs})).reduce((function(t,e){return t.concat(e)})).filter((function(t,e,a){return e===a.findIndex((function(e){return e.name===t.name}))}));e.runs=n}}return e},processLastUpdate:function(t){var e=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(e)},processLifts:function(t){for(var e=0;e<t.length;e++)switch(t[e].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 e=0;e<t.length;e++)switch(t[e].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,e,a){"use strict";var s=a(85072),n=a.n(s),l=a(97825),r=a.n(l),i=a(77659),u=a.n(i),o=a(55056),d=a.n(o),f=a(10540),c=a.n(f),p=a(41113),m=a.n(p),g=a(93796),y=a.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(){}},function(t){return t.O(0,[641,6262,7510,3751,4352,4467,7527,8086,810,7800,9394,2543,3453,7536,4982,6422,8745,8836,3838,4580,1574,9122,5025,3706,3484,1371,9054,5945,8167,4921],(function(){return t(t.s=19839)})),t.O()}])}));