@visitscotland/component-library 1.0.14 → 1.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/CHANGELOG.md +110 -85
  2. package/dist/{ssr/fonts/custom-icons.c4e1f0c.ttf → client/fonts/custom-icons.6f8bdb4.ttf} +0 -0
  3. package/dist/client/fonts/custom-icons.e7710b8.woff2 +0 -0
  4. package/dist/client/manifest.json +38 -38
  5. package/dist/client/scripts/{200bfeea3cbd7dce2b95.js → 35ffeb6941520c33adfe.js} +1 -1
  6. package/dist/client/scripts/4531b8ff3407394b6664.js +1 -0
  7. package/dist/client/scripts/52583a27e162e782272c.js +1 -0
  8. package/dist/client/scripts/7000e7c66566b9102f8b.js +1 -0
  9. package/dist/client/scripts/9f24f39f39375ad29408.js +1 -0
  10. package/dist/client/styles/35ffeb6941520c33adfe.css +1 -0
  11. package/dist/client/styles/{aa260d81d6025b38f93b.css → 52583a27e162e782272c.css} +1 -1
  12. package/dist/client/styles/{c5992240a3f3d7197c2b.css → 84d6faf2b1c8ecb899e2.css} +1 -1
  13. package/dist/client/styles/{535956e200092e54a3d6.css → efe8e855d5d230c353cd.css} +2 -2
  14. package/dist/{client/fonts/custom-icons.c4e1f0c.ttf → ssr/fonts/custom-icons.6f8bdb4.ttf} +0 -0
  15. package/dist/ssr/fonts/custom-icons.e7710b8.woff2 +0 -0
  16. package/dist/ssr/index.js +1 -1
  17. package/dist/ssr/manifest.json +1 -1
  18. package/dist/ssr/styles/{727d31acffe5806e69cf.css → 8d513933f6fd629d347b.css} +5 -5
  19. package/package.json +3 -2
  20. package/dist/client/fonts/custom-icons.103bd0a.woff2 +0 -0
  21. package/dist/client/scripts/3a1d3a02c238d41c9e68.js +0 -1
  22. package/dist/client/scripts/601b7a91a71eaf767d0d.js +0 -1
  23. package/dist/client/scripts/94aa5ac955de9ed0d840.js +0 -1
  24. package/dist/client/scripts/aa260d81d6025b38f93b.js +0 -1
  25. package/dist/client/styles/200bfeea3cbd7dce2b95.css +0 -1
  26. package/dist/ssr/fonts/custom-icons.103bd0a.woff2 +0 -0
  27. /package/dist/client/scripts/{c5992240a3f3d7197c2b.js → 84d6faf2b1c8ecb899e2.js} +0 -0
  28. /package/dist/client/scripts/{535956e200092e54a3d6.js → efe8e855d5d230c353cd.js} +0 -0
  29. /package/dist/client/styles/{601b7a91a71eaf767d0d.css → 4531b8ff3407394b6664.css} +0 -0
  30. /package/dist/client/styles/{94aa5ac955de9ed0d840.css → 7000e7c66566b9102f8b.css} +0 -0
  31. /package/dist/client/styles/{3a1d3a02c238d41c9e68.css → 9f24f39f39375ad29408.css} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visitscotland/component-library",
3
- "version": "1.0.14",
3
+ "version": "1.0.16",
4
4
  "description": "VisitScotland Component Library",
5
5
  "author": "VisitScotland",
6
6
  "main": "dist/ssr/index.js",
@@ -106,7 +106,7 @@
106
106
  "sass": "^1.62.1",
107
107
  "sass-loader": "^13.2.2",
108
108
  "speed-measure-webpack-plugin": "^1.5.0",
109
- "storybook": "^7.1.1",
109
+ "storybook": "^7.3.2",
110
110
  "style-loader": "^3.3.2",
111
111
  "svgo-loader": "^4.0.0",
112
112
  "time-analytics-webpack-plugin": "^0.1.20",
@@ -144,6 +144,7 @@
144
144
  "storybook-addon-pseudo-states": "^2.0.1",
145
145
  "theo": "^8.1.5",
146
146
  "ts-loader": "^9.4.3",
147
+ "upgrade": "^1.1.0",
147
148
  "uuid": "^9.0.0",
148
149
  "vue": "^3.3.4",
149
150
  "vue-recaptcha": "^2.0.1",
@@ -1 +0,0 @@
1
- (self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[1861],{5344:function(){},51635:function(e,t,s){"use strict";var r=s(73366),n=s(44142),o=s(81779);t.Z={name:"VsModuleWrapper",status:"prototype",release:"0.0.1",components:{VsHeading:r.default,VsRichTextWrapper:n.default,VsContainer:o.xB,VsRow:o.ou,VsCol:o.hY},props:{theme:{type:String,default:"light",validator:function(e){return e.match(/(light|grey|dark)/)}}}}},19048:function(e,t,s){"use strict";s.d(t,{s:function(){return n}});var r=s(66252);function n(e,t,s,n,o,a){var u=(0,r.up)("VsHeading"),l=(0,r.up)("VsCol"),i=(0,r.up)("VsRichTextWrapper"),d=(0,r.up)("VsRow"),p=(0,r.up)("VsContainer");return(0,r.wg)(),(0,r.iD)("section",(0,r.dG)({class:["vs-module-wrapper","vs-module-wrapper--".concat(s.theme)],"data-test":"vs-module-wrapper"},e.$attrs),[e.$slots["vs-module-wrapper-heading"]&&e.$slots["vs-module-wrapper-heading"]()||e.$slots["vs-module-wrapper-intro"]&&e.$slots["vs-module-wrapper-intro"]()?((0,r.wg)(),(0,r.j4)(p,{key:0},{default:(0,r.w5)((function(){return[(0,r.Wm)(d,null,{default:(0,r.w5)((function(){return[(0,r.Wm)(l,{cols:"10",offset:"1",md:"8","offset-md":"2"},{default:(0,r.w5)((function(){return[e.$slots["vs-module-wrapper-heading"]&&e.$slots["vs-module-wrapper-heading"]()?((0,r.wg)(),(0,r.j4)(u,{key:0,level:"2",class:"vs-module-wrapper__heading","data-test":"vs-module-wrapper__heading"},{default:(0,r.w5)((function(){return[(0,r.WI)(e.$slots,"vs-module-wrapper-heading")]})),_:3})):(0,r.kq)("",!0)]})),_:3}),(0,r.Wm)(l,{cols:"12",sm:"10","offset-sm":"1",md:"8","offset-md":"2"},{default:(0,r.w5)((function(){return[e.$slots["vs-module-wrapper-intro"]&&e.$slots["vs-module-wrapper-intro"]()?((0,r.wg)(),(0,r.j4)(i,{key:0,class:"vs-module-wrapper__intro","data-test":"vs-module-wrapper__intro",variant:"lead"},{default:(0,r.w5)((function(){return[(0,r.WI)(e.$slots,"vs-module-wrapper-intro")]})),_:3})):(0,r.kq)("",!0)]})),_:3})]})),_:3})]})),_:3})):(0,r.kq)("",!0),(0,r.WI)(e.$slots,"default")],16)}},85133:function(e,t,s){"use strict";var r=s(93379),n=s.n(r),o=s(7795),a=s.n(o),u=s(90569),l=s.n(u),i=s(3565),d=s.n(i),p=s(19216),c=s.n(p),f=s(44589),m=s.n(f),w=s(5344),v=s.n(w),_={};_.styleTagTransform=m(),_.setAttributes=d(),_.insert=l().bind(null,"head"),_.domAPI=a(),_.insertStyleElement=c(),n()(v(),_),v()&&v().locals&&v().locals},61861:function(e,t,s){"use strict";s.r(t);var r=s(19048),n=s(29996);s(5115);const o=(0,s(83744).Z)(n.Z,[["render",r.s]]);t.default=o},29996:function(e,t,s){"use strict";s.d(t,{Z:function(){return r.Z}});var r=s(51635)},5115:function(e,t,s){"use strict";s(85133)}}]);
@@ -1 +0,0 @@
1
- (self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[4169],{61197:function(){},35097:function(e,t,o){"use strict";var a=o(22048),s=o(16145),i=o(83709),n=o(66252),r=o(49963),p=o(10282),d=o(61570),l=o(6158),u=o.n(l),m=o(29319),c=o.n(m),h=o(24173),g=null;t.Z={name:"VsMap",status:"prototype",release:"0.0.1",components:{VsWarning:a.default,VsLoading:s.default},props:{overviewMapLatitude:{type:String,default:"57.81"},overviewMapLongitude:{type:String,default:"-5.51748"},overviewMapZoom:{type:String,default:"5"},mapId:{type:String,required:!0},isVisible:{type:Boolean,required:!0},places:{type:Array,required:!0},fitToMarkers:{type:Boolean,default:!1},showPolygons:{type:Boolean,default:!1},selectedItem:{type:String,default:null},boundsData:{type:Object,default:function(){}},showInfoMessage:{type:Boolean,default:null},resetZoom:{type:Boolean,default:!1}},data:function(){return{isDesktop:!1,geojsonData:{type:"FeatureCollection",features:[]},polygons:{type:"FeatureCollection",features:[]},multiPolygons:[],mapbox:{map:null,bounds:null,rotation:0,config:{container:this.$refs.mapbox,style:"https://api.visitscotland.com/maps/vector/v1/vts/resources/styles",pitchWithRotate:!1,dragRotate:!1}},markers:[],popup:null,hoveredStateId:null,activeStateId:null,showMapMessage:!0,isLoading:!0,showZoomMessage:null}},computed:{getZoom:function(){return this.mapbox.map?this.mapbox.map.getZoom():null},highlightedPlace:function(){return this.mapbox.map?g.getHoveredStop(this.mapId):""},activeMarkerPostion:function(){return this.mapbox.map?g.activeMarkerPos:null}},watch:{isVisible:function(e){e&&null!==this.mapbox.map&&this.mapbox.map.resize()},places:{handler:function(){this.geojsonData.features=[],this.addMapFeatures(),this.addMapMarkers()},deep:!0},showPolygons:function(e){!0===e?this.showMapPolygons():this.hideMapPolygons()},highlightedPlace:function(e){0===e.length?this.removeHoveredPolygon():this.addHoveredPolygon(e)},selectedItem:function(e){var t=this.polygons.features.filter((function(t){return t.properties.id===e}));e?t.length>0&&this.addActivePolygon(e):this.removeActivePolygon()},activeMarkerPostion:function(e){this.checkPointIsVisible(e)||this.centreMapOnPoint(e)},showInfoMessage:function(e){this.showMapMessage=!!e},resetZoom:function(e){e&&(this.mapbox.map.fitBounds(this.calculateBoundingBox()),this.$emit("zoom-reset"),this.showInfoMessage&&(this.showMapMessage=!0))}},mounted:function(){var e=this;g=(0,d.Z)((0,p.Z)()),this.lazyloadMapComponent(),this.isTablet=window.innerWidth>=768,window.addEventListener("resize",this.onResize),window.addEventListener("DOMContentLoaded",(function(){i.Z.init({div:e.mapId})}))},methods:{addMap:function(){var e=this,t=this.calculateBoundingBox();this.mapbox.config.container=this.$refs.mapbox,this.mapbox.map=new(u().Map)({container:this.$refs.mapbox,style:"https://api.visitscotland.com/maps/vector/v1/vts/resources/styles",bounds:t,maxZoom:18,minZoom:4}),this.mapbox.map.scrollZoom.disable(),this.mapbox.map.on("rotate",(function(){e.mapbox.rotation=e.mapbox.map.transform.angle})),this.mapbox.map.resize(),this.mapbox.map.on("load",(function(){e.addMapPolygons(),e.showMapMessage=!1,e.isLoading=!1,e.$emit("map-ready",!0),e.mapbox.map.boxZoom.enable()})),this.mapbox.map.on("zoomend",(function(){4===e.mapbox.map.getZoom()?(e.showZoomMessage="too-far",e.showMapMessage=!0):18===e.mapbox.map.getZoom()?(e.showZoomMessage="too-close",e.showMapMessage=!0):e.showInfoMessage||(e.showZoomMessage=null,e.showMapMessage=!1)}))},addMapControls:function(){var e=new(u().NavigationControl);this.mapbox.map.addControl(e,"top-right"),this.mapbox.map.addControl(new(u().FullscreenControl))},addMapFeatures:function(){var e=this;this.places.map((function(t){if(void 0!==t.geometry){var o=[t.geometry.coordinates[0],t.geometry.coordinates[1]];return"Polygon"===t.geometry.type&&(o=[t.geometry.coordinates[0]]),"MultiPolygon"===t.geometry.type&&(o=[t.geometry.coordinates]),e.geojsonData.features.push({type:"Feature",geometry:{type:t.geometry.type,coordinates:o},properties:{title:t.properties.title,imageSrc:t.image,type:void 0!==t.properties.category?t.properties.category.id:"",id:t.properties.id},id:t.properties.id})}return!1}))},addMapMarkers:function(){var e=this,t=0;this.initialLoad&&(t=1e3),setTimeout((function(){if(null!==e.markers){for(var t=e.markers.length-1;t>=0;t--)e.markers[t].remove();e.markers=[]}e.geojsonData.features.forEach((function(t){var o=(0,n.h)(h.default,{feature:t,mapId:e.mapId,onShowDetail:function(t){e.$emit("showDetail",t)},onSetCategory:function(t){e.$emit("setCategory",t)}}),a=document.createElement("div");e.$refs.mapboxOuter.appendChild(a),(0,r.render)(o,a);var s=new(u().Marker)(a.children[0]).setLngLat(t.geometry.coordinates).addTo(e.mapbox.map);e.markers.push(s),a.remove()}))}),t)},hideMapPolygons:function(){this.mapbox.map.setLayoutProperty("regions-fills","visibility","none"),this.mapbox.map.setLayoutProperty("regions-borders","visibility","none")},showMapPolygons:function(){this.mapbox.map.setLayoutProperty("regions-fills","visibility","visible"),this.mapbox.map.setLayoutProperty("regions-borders","visibility","visible")},addMapPolygons:function(){var e=this;this.geojsonData.features.forEach((function(t){"Polygon"===t.geometry.type?e.polygons.features.includes(t.properties.id)||e.polygons.features.push(t):"MultiPolygon"===t.geometry.type&&(e.polygons.features.includes(t.properties.id)||e.multiPolygons.push(t))})),this.multiPolygons.forEach((function(t){var o=t.properties;t.geometry.coordinates[0].forEach((function(t){e.polygons.features.push({geometry:{type:"Polygon",coordinates:t},id:o.id,properties:{id:o.id,imageSrc:o.imageSrc,title:o.title,type:o.type},type:"Feature"})}))})),this.mapbox.map.addSource("regions",{type:"geojson",data:this.polygons,promoteId:"id"}),this.mapbox.map.addLayer({id:"regions-fills",type:"fill",source:"regions",layout:{},paint:{"fill-color":["case",["==",["feature-state","interaction-state"],"hover"],"rgba(173,14,110,0.698)",["==",["feature-state","interaction-state"],"active"],"rgba(173,14,110,0.533)","#A5A5A5"],"fill-opacity":.8}}),this.mapbox.map.addLayer({id:"regions-borders",type:"line",source:"regions",layout:{},paint:{"line-color":"#fff","line-width":1}}),this.hideMapPolygons(),this.mapbox.map.on("mousemove","regions-fills",(function(t){t.features.length>0&&(e.addMapPopup(t),e.removeHoveredPolygon(),e.addHoveredPolygon(t.features[0].id))})),this.mapbox.map.on("mouseleave","regions-fills",(function(){e.removeMapPopup(),e.removeHoveredPolygon()})),this.mapbox.map.on("click","regions-fills",(function(t){e.removeActivePolygon(),e.addActivePolygon(t.features[0].id)}))},removeActivePolygon:function(){this.mapbox.map.setFeatureState({source:"regions",id:this.activeStateId},{"interaction-state":""}),this.activeStateId=null},addActivePolygon:function(e){this.activeStateId=e,this.mapbox.map.setFeatureState({source:"regions",id:this.activeStateId},{"interaction-state":"active"}),g.setActivePlace({mapId:this.mapId,placeId:e}),this.$emit("showDetail",e),this.$emit("setCategory","regions")},removeHoveredPolygon:function(){if(this.hoveredStateId){var e="";this.hoveredStateId===this.activeStateId&&(e="active"),this.mapbox.map.setFeatureState({source:"regions",id:this.hoveredStateId},{"interaction-state":e})}g.setHoveredPlace({mapId:this.mapId,hoveredId:""}),this.hoveredStateId=null},addHoveredPolygon:function(e){this.hoveredStateId=e,this.mapbox.map.setFeatureState({source:"regions",id:this.hoveredStateId},{"interaction-state":"hover"}),g.setHoveredPlace({mapId:this.mapId,hoveredId:e})},addMapPopup:function(e){var t,o,a,s=this,i=function e(t){"Escape"===t.key&&(s.removeMapPopup(),document.body.removeEventListener("keyup",e))},n=(t=e.features[0].geometry.coordinates,o=[],a=[],t[0].forEach((function(e){o.push(e[1]),a.push(e[0])})),{lat:(Math.min.apply(Math,o)+Math.max.apply(Math,o))/2,lng:(Math.min.apply(Math,a)+Math.max.apply(Math,a))/2});e.features[0].id!==this.hoveredStateId&&e.features[0].id!==this.activeStateId&&(this.removeMapPopup(),document.body.removeEventListener("keyup",i),this.popup=(new(u().Popup)).setLngLat(n).setHTML(e.features[0].properties.title).addTo(this.mapbox.map)),document.body.addEventListener("keyup",i)},removeMapPopup:function(){this.popup&&(this.popup.remove(),this.popup=null)},fitToBounds:function(){this.mapbox.map.fitBounds(c()(this.geojsonData),{padding:{top:100,bottom:100,left:100,right:100}})},initialiseMapComponent:function(){this.addMap(),this.addMapControls(),this.places.length&&this.addMapFeatures(),this.geojsonData.features.length&&(this.addMapMarkers(),this.fitToMarkers&&this.fitToBounds())},lazyloadMapComponent:function(){var e=this;u().supported({failIfMajorPerformanceCaveat:!0}),"IntersectionObserver"in window?(this.observer=new IntersectionObserver((function(t){t[0].intersectionRatio>0&&(e.observer.unobserve(e.$el),e.initialiseMapComponent())})),this.observer.observe(this.$el)):this.initialiseMapComponent()},onResize:function(){this.isTablet=window.innerWidth>=768},getBoundsFromPolygon:function(){var e=this.boundsData.coordinates[0];return e.reduce((function(e,t){return e.extend(t)}),new(u().LngLatBounds)(e[0],e[0]))},checkPointIsVisible:function(){return this.mapbox.map.getBounds().contains(this.activeMarkerPostion)},centreMapOnPoint:function(e){this.mapbox.map.flyTo({center:e})},calculateBoundingBox:function(){var e;if(void 0===this.boundsData||"undefined"===this.boundsData.type)e=[[-7.555827,55.308836],[-.778285,60.830894]];else if("bounds"===this.boundsData.type){var t=new(u().LngLat)(this.boundsData.coordinates[1][0],this.boundsData.coordinates[1][1]),o=new(u().LngLat)(this.boundsData.coordinates[0][0],this.boundsData.coordinates[0][1]);e=new(u().LngLatBounds)(t,o)}else e="Polygon"===this.boundsData.type?this.getBoundsFromPolygon():[[-7.555827,55.308836],[-.778285,60.830894]];return e}}}},88507:function(e,t,o){"use strict";o.d(t,{s:function(){return l}});var a=o(66252),s=o(3577),i={class:"vs-map","data-test":"vs-map"},n={class:"vs-map__message-box"},r={class:"vs-map__message-text"},p={ref:"mapboxOuter",class:"vs-map__map-outer"},d=["id"];function l(e,t,o,l,u,m){var c=(0,a.up)("VsLoading"),h=(0,a.up)("VsWarning");return(0,a.wg)(),(0,a.iD)("div",i,[u.showMapMessage?((0,a.wg)(),(0,a.iD)("div",{key:0,class:(0,s.normalizeClass)(["vs-map__message",u.showZoomMessage?"":"vs-map__message--with-overlay"]),"data-test":"vs-map__message"},[(0,a._)("div",n,[u.isLoading?((0,a.wg)(),(0,a.j4)(c,{key:0,class:"vs-map__loading"})):(0,a.kq)("",!0),(0,a._)("p",r,[u.isLoading?(0,a.WI)(e.$slots,"map-loading-text",{key:0}):o.showInfoMessage?(0,a.WI)(e.$slots,"info-message",{key:1}):"too-close"===u.showZoomMessage?(0,a.WI)(e.$slots,"zoom-too-close",{key:2}):"too-far"===u.showZoomMessage?(0,a.WI)(e.$slots,"zoom-too-far",{key:3}):(0,a.kq)("",!0)])])],2)):(0,a.kq)("",!0),(0,a._)("div",p,[(0,a._)("div",{id:o.mapId,class:"vs-map__map",ref:"mapbox"},null,8,d)],512),(0,a.Wm)(h,{class:"vs-map__no-js"},{default:(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"no-js")]})),_:3})])}},71287:function(e,t,o){"use strict";var a=o(93379),s=o.n(a),i=o(7795),n=o.n(i),r=o(90569),p=o.n(r),d=o(3565),l=o.n(d),u=o(19216),m=o.n(u),c=o(44589),h=o.n(c),g=o(61197),f=o.n(g),v={};v.styleTagTransform=h(),v.setAttributes=l(),v.insert=p().bind(null,"head"),v.domAPI=n(),v.insertStyleElement=m(),s()(f(),v),f()&&f().locals&&f().locals},14169:function(e,t,o){"use strict";o.r(t);var a=o(91669),s=o(88348);o(9109);const i=(0,o(83744).Z)(s.Z,[["render",a.s]]);t.default=i},88348:function(e,t,o){"use strict";o.d(t,{Z:function(){return a.Z}});var a=o(35097)},91669:function(e,t,o){"use strict";o.d(t,{s:function(){return a.s}});var a=o(88507)},9109:function(e,t,o){"use strict";o(71287)}}]);
@@ -1 +0,0 @@
1
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VsMainMapWrapper=t():e.VsMainMapWrapper=t()}(self,(function(){return(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[4373],{6442:function(){},38822:function(e,t,s){"use strict";var a=s(81779),n=s(83918),i=s(22048),o=s(98869),l=s(5274),r=s(10282),u=s(61570),c=s(14169),p=s(84143),d=null;t.Z={name:"VsMainMapWrapper",status:"prototype",release:"0.0.1",components:{VsContainer:a.xB,VsRow:a.ou,VsCol:a.hY,VsMap:c.default,VsButton:n.default,VsMainMapWrapperPanel:p.default,VsButtonToggleGroup:o.default,VsWarning:i.default},provide:function(){return{filters:this.filters,placesData:this.placesData,mapId:this.mapId,regions:this.regionsData,clearSelectionText:this.clearSelectionText,applyFiltersText:this.applyFiltersText,subCatList:this.subCatList,filtersAppliedText:this.filtersAppliedText,clearFiltersText:this.clearFiltersText,focussedListItem:this.focussedListItem}},props:{categoryHeading:{type:String,default:""},filters:{type:Array,required:!0},placesData:{type:Array,required:!0},mapId:{type:String,required:!0},mainHeadingExists:{type:Boolean,default:!1},initialSelected:{type:String,default:""},toggleData:{type:Array,default:function(){return[]}},buttonsLabel:{type:String,default:""},clearSelectionText:{type:String,required:!0},applyFiltersText:{type:String,required:!0},detailsEndpoint:{type:String,default:""},regionBounds:{type:Object,default:function(){}},clearFiltersText:{type:String,required:!0},filtersAppliedText:{type:String,required:!0},placeId:{type:String,default:null},mapFilterMessage:{type:String,required:!0},mapNoResultsMessage:{type:String,required:!0},panelMessage:{type:String,default:null},hideMobileToggle:{type:Boolean,default:!1}},data:function(){return{panelVisible:!1,selectedCategory:"",filterCategories:this.filters,selectedItem:"",activePins:this.placesData,currentlyHovered:"",showRegions:!1,regions:[],subCatList:null,selectedToggle:"",currentEndpointData:[],mapStatus:"",panelStatus:"map-loading",mapReady:!1,showPanelMessage:null,currentPanelEndpointFilters:"",totalEndpointPins:0,focussedListItem:0,resetZoom:!1,currentStage:0,selectedSubCategory:null}},computed:{mapDisplayClass:function(){return this.panelVisible?"d-none d-lg-block":""},panelDisplayClass:function(){return this.panelVisible?"":"d-none d-lg-block"},regionsData:function(){return this.placesData.filter((function(e){return"Polygon"===e.geometry.type||"MultiPolygon"===e.geometry.type}))},subCatActiveFilters:function(){return d?d.activeSubcatFilters:null},infoMessage:function(){var e="";switch(this.mapStatus){case"no-results":e=this.mapNoResultsMessage;break;case"filter-results":e=this.mapFilterMessage}return e}},watch:{selectedSubCategory:function(e){null===e&&(this.mapStatus="",this.resetZoom=!0)}},mounted:function(){var e=this;d=(0,u.Z)((0,r.Z)()),this.selectedToggle=this.initialSelected,d.addMapInstance({id:this.mapId,filters:this.filters,places:this.placesData,activePins:this.activePins}),this.emitter&&this.emitter.on("clearSelectedSubcats",(function(){e.resetZoom=!0}))},methods:{closePanel:function(){this.panelVisible=!1},openPanel:function(){this.panelVisible=!0},showDetail:function(e){document.fullscreenElement&&document.exitFullscreen(),this.selectedItem=e,this.setStage(2),this.openPanel(),null===this.selectedSubCategory&&this.filterPlaces(this.selectedCategory)},setCategory:function(e){this.selectedCategory=e,null===this.selectedSubCategory&&this.filterPlaces(e)},setSubCategory:function(e){d.setSelectedSubcat(e),this.selectedSubCategory=e,null!==e?(this.getSubcatMarkerData(),this.selectedCategory=e):(d.setActiveSubcatFilters([]),this.showAllPlaces())},filterSubCategories:function(e){var t="";e.forEach((function(e){var s="&cat=".concat(e);t+=s})),this.currentPanelEndpointFilters=t,this.getSubcatMarkerData(t),this.getSubcatPanelData(t,0)},getSubcatMarkerData:function(e){var t=this,s=this.filters.filter((function(e){return e.id===t.selectedSubCategory}));if(s.length>0){var a=s[0].pinsEndpoint;void 0!==e&&(a+=e),this.activePins=[],void 0===e?(this.activePins=[],this.mapStatus="filter-results"):l.Z.get(a).then((function(e){t.totalEndpointPins=e.data.features.length,0===t.totalEndpointPins?t.mapStatus="no-results":(e.data.features.forEach((function(e){var s=e;s.properties.apiData=!0,t.activePins.push(s)})),t.mapStatus="")}))}},getSubcatPanelData:function(e,t){var s=this,a=this.filters.filter((function(e){return e.id===s.selectedSubCategory}))[0].listProductsEndPoint;void 0!==e&&(a+=e),0!==t&&(a+="".concat(e,"&page=").concat(t)),this.panelStatus="loading-data",l.Z.get(a).then((function(e){void 0!==e.data.data.products?(s.setStage(1),0===t?(s.subCatList=e.data.data.products,s.focussedListItem=0):(s.focussedListItem=24*t,s.subCatList=s.subCatList.concat(e.data.data.products))):s.mapStatus="no-results",s.panelStatus=null}))},setStage:function(e){var t=this;if(2===e&&""!==this.detailsEndpoint&&null!==this.selectedSubCategory){var s="".concat(this.detailsEndpoint).concat(this.selectedItem);l.Z.get(s).then((function(s){var a=[];a.push(s.data.data),t.currentEndpointData=a,t.currentStage=e}))}else this.currentStage=e,0===this.currentStage?(this.currentEndpointData=[],null===this.selectedSubCategory?(this.resetZoom=!0,this.showAllPlaces(),this.mapStatus=""):this.getSubcatMarkerData(),this.selectedToggle="places"):1===this.currentStage&&null===this.selectedSubCategory&&this.filterPlaces(this.selectedCategory);2!==e&&(d.setActivePlace({mapId:this.mapId,placeId:""}),this.selectedItem=null)},filterPlaces:function(e){if("regions"===e)this.showRegions=!0,this.activePins=[],this.selectedToggle="regions";else{this.showRegions=!1,this.selectedToggle="places";var t=this.placesData.filter((function(t){return void 0!==t.properties&&t.properties.category.id===e}));this.activePins=t}},loadMorePlaces:function(e){this.getSubcatPanelData(this.currentPanelEndpointFilters,e)},showAllPlaces:function(){this.activePins=this.placesData,this.showRegions=!1},onToggleChanged:function(e){"regions"===e?(this.setCategory("regions"),this.setStage(1)):"icentres"===e?(this.setCategory("serv"),this.setStage(1)):"places-regional"===e?(this.setCategory("twnv"),this.setStage(1)):(this.showAllPlaces(),this.setStage(0))},setMapReady:function(e){this.mapReady=e,this.panelStatus=e?null:"loading"}}}},26054:function(e,t,s){"use strict";s.d(t,{s:function(){return i}});var a=s(66252),n=s(3577);function i(e,t,s,i,o,l){var r=(0,a.up)("VsMainMapWrapperPanel"),u=(0,a.up)("VsButton"),c=(0,a.up)("VsMap"),p=(0,a.up)("VsButtonToggleGroup"),d=(0,a.up)("VsWarning"),g=(0,a.up)("VsCol"),f=(0,a.up)("VsRow"),h=(0,a.up)("VsContainer");return(0,a.wg)(),(0,a.j4)(h,{"data-test":"vs-main-map-wrapper"},{default:(0,a.w5)((function(){return[(0,a.Wm)(f,null,{default:(0,a.w5)((function(){return[(0,a.Wm)(g,null,{default:(0,a.w5)((function(){return[(0,a._)("div",{class:"vs-main-map-wrapper",ref:s.mapId},[(0,a._)("div",{class:(0,n.normalizeClass)(["vs-main-map-wrapper__side-panel",l.panelDisplayClass]),"data-test":"vs-main-map-wrapper__side-panel"},[(0,a.Wm)(r,{"category-heading":s.categoryHeading,"selected-category":o.selectedCategory,"selected-subcategory":o.selectedSubCategory,"current-stage":o.currentStage,"selected-item":o.selectedItem,"heading-level":s.mainHeadingExists?"3":"2","subcategory-locations":o.subCatList,"current-endpoint-data":o.currentEndpointData,"panel-status":o.panelStatus,"panel-message":0===o.currentStage?s.panelMessage:null,"total-pins":o.totalEndpointPins,"current-list-item-focus":o.focussedListItem,onSetCategory:l.setCategory,onSetSubcategory:l.setSubCategory,onSubcategoriesFiltered:l.filterSubCategories,onSetStage:l.setStage,onClosePanel:l.closePanel,onShowItemDetail:l.showDetail,onFilterPlaces:l.filterPlaces,onLoadMorePlaces:l.loadMorePlaces},{closePanelText:(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"close-side-panel-text")]})),"reset-side-panel-text":(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"reset-side-panel-text")]})),"back-btn-text":(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"back-btn-text")]})),"panel-loading-message":(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"panel-loading-message")]})),"load-more-text":(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"load-more-text")]})),_:3},8,["category-heading","selected-category","selected-subcategory","current-stage","selected-item","heading-level","subcategory-locations","current-endpoint-data","panel-status","panel-message","total-pins","current-list-item-focus","onSetCategory","onSetSubcategory","onSubcategoriesFiltered","onSetStage","onClosePanel","onShowItemDetail","onFilterPlaces","onLoadMorePlaces"])],2),(0,a._)("div",{class:(0,n.normalizeClass)(["vs-main-map-wrapper__map",l.mapDisplayClass])},[(0,a.Wm)(u,{class:"vs-main-map-wrapper__map-toggle",size:"sm",onClick:l.openPanel,"data-test":"vs-main-map-wrapper__map-toggle"},{default:(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"open-side-panel-text")]})),_:3},8,["onClick"]),(0,a.Wm)(c,{"is-visible":!o.panelVisible,labels:{},places:o.activePins,"selected-item":o.selectedItem,"map-id":s.mapId,"show-polygons":o.showRegions,"show-info-message":""!==o.mapStatus,onShowDetail:l.showDetail,onSetCategory:l.setCategory,onMapReady:l.setMapReady,onZoomReset:t[0]||(t[0]=function(e){return o.resetZoom=!1}),"bounds-data":s.regionBounds,"reset-zoom":o.resetZoom},{"map-loading-text":(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"map-loading-text")]})),"info-message":(0,a.w5)((function(){return[(0,a.Uk)((0,n.toDisplayString)(l.infoMessage),1)]})),"zoom-too-close":(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"zoom-too-close")]})),"zoom-too-far":(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"zoom-too-far")]})),"no-js":(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"no-js")]})),_:3},8,["is-visible","places","selected-item","map-id","show-polygons","show-info-message","onShowDetail","onSetCategory","onMapReady","bounds-data","reset-zoom"]),s.hideMobileToggle?(0,a.kq)("",!0):((0,a.wg)(),(0,a.j4)(p,{key:0,"data-test":"vs-main-map-wrapper__map-toggle-group","initial-selected":o.selectedToggle,options:s.toggleData,"buttons-label":s.buttonsLabel,onToggleChanged:l.onToggleChanged},null,8,["initial-selected","options","buttons-label","onToggleChanged"]))],2)],512),(0,a.Wm)(d,{class:"vs-main-map-wrapper__no-js",theme:"light"},{default:(0,a.w5)((function(){return[(0,a.WI)(e.$slots,"no-js")]})),_:3})]})),_:3})]})),_:3})]})),_:3})}},4666:function(e,t,s){"use strict";var a=s(93379),n=s.n(a),i=s(7795),o=s.n(i),l=s(90569),r=s.n(l),u=s(3565),c=s.n(u),p=s(19216),d=s.n(p),g=s(44589),f=s.n(g),h=s(6442),m=s.n(h),y={};y.styleTagTransform=f(),y.setAttributes=c(),y.insert=r().bind(null,"head"),y.domAPI=o(),y.insertStyleElement=d(),n()(m(),y),m()&&m().locals&&m().locals},44152:function(e,t,s){"use strict";s.r(t);var a=s(26054),n=s(27492);s(60138);const i=(0,s(83744).Z)(n.Z,[["render",a.s]]);t.default=i},27492:function(e,t,s){"use strict";s.d(t,{Z:function(){return a.Z}});var a=s(38822)},60138:function(e,t,s){"use strict";s(4666)}},function(e){return e.O(0,[6252,3744,7991,9963,6486,2854,4942,6765,7169,5274,5924,7370,282,976,3918,7581,4186,1321,1779,3366,2048,2015,6573,1570,6145,1674,9848,4173,4613,6520,175,5834,3709,4169,4143,8869],(function(){return 44152,e(e.s=44152)})),e.O()}])}));
@@ -1 +0,0 @@
1
- (self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[6573],{42603:function(){},14181:function(a,e,n){"use strict";var r=n(17370),s=n(42671);e.Z={name:"VsMainMapWrapperIcon",status:"prototype",release:"0.0.1",components:{VsIcon:r.default},mixins:[s.Z],props:{id:{type:String,required:!0},isHovered:{type:Boolean,default:!1},isMapMarker:{type:Boolean,default:!1}},computed:{mapMarkerType:function(){var a="map-marker-filled";return"twnv"===this.id&&(a="places-map-pin"),a},parentClasses:function(){return this.isMapMarker?"vs-main-map-marker-icon--map-marker":""},markerClasses:function(){return["vs-main-map-marker-icon__marker--".concat(this.id),this.isHovered?"vs-main-map-marker-icon__marker--outline":""]}}}},89515:function(a,e,n){"use strict";n.d(e,{s:function(){return t}});var r=n(66252),s=n(3577);function t(a,e,n,t,c,i){var o=(0,r.up)("VsIcon");return(0,r.wg)(),(0,r.iD)("div",{"data-test":"vs-main-map-marker-icon",class:(0,s.normalizeClass)(["vs-main-map-marker-icon",i.parentClasses])},[(0,r.Wm)(o,{name:i.mapMarkerType,class:(0,s.normalizeClass)(["vs-main-map-marker-icon__marker",i.markerClasses])},null,8,["name","class"]),(0,r.Wm)(o,{class:"vs-main-map-marker-icon__icon",name:a.getIconDetails(n.id).name,size:"xxs",variant:"color-white"},null,8,["name"])],2)}},42671:function(a,e){"use strict";e.Z={methods:{getIconDetails:function(a){var e={};switch(a){case"cities":case"outlander-city-town-village":e.name="city";break;case"towns":e.name="home";break;case"islands":e.name="boat";break;case"regions":e.name="map";break;case"acco":e.name="bed";break;case"acti":e.name="walk";break;case"attr":e.name="camera";break;case"even":e.name="events";break;case"cate":e.name="food";break;case"reta":e.name="shopping-bag";break;case"featured":e.name="star";break;case"twnv":e.name="";break;case"serv":e.name="icentre-information";break;case"outlander-castle":e.name="castle";break;case"outlander-church-abbey":e.name="church";break;case"outlander-heritage":e.name="history";break;case"outlander-landscape-park":e.name="landscape";break;case"outlander-palace-house":e.name="palace"}return e}}}},61312:function(a,e,n){"use strict";var r=n(93379),s=n.n(r),t=n(7795),c=n.n(t),i=n(90569),o=n.n(i),m=n(3565),l=n.n(m),u=n(19216),p=n.n(u),k=n(44589),d=n.n(k),b=n(42603),v=n.n(b),f={};f.styleTagTransform=d(),f.setAttributes=l(),f.insert=o().bind(null,"head"),f.domAPI=c(),f.insertStyleElement=p(),s()(v(),f),v()&&v().locals&&v().locals},26573:function(a,e,n){"use strict";n.r(e);var r=n(89515),s=n(44357);n(71049);const t=(0,n(83744).Z)(s.Z,[["render",r.s]]);e.default=t},44357:function(a,e,n){"use strict";n.d(e,{Z:function(){return r.Z}});var r=n(14181)},71049:function(a,e,n){"use strict";n(61312)}}]);
@@ -1 +0,0 @@
1
- .vs-main-map-wrapper-panel{padding:1.25rem .75rem 0;border:1px solid #848484;height:100%;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column;justify-content:flex-start}.vs-main-map-wrapper-panel--small-padding{padding-top:1.5rem}.vs-main-map-wrapper-panel__heading.vs-heading{flex-grow:1;margin:5rem .75rem 0}.vs-main-map-wrapper-panel__header-section{display:flex;min-height:32px;align-items:center;margin-bottom:1.25rem}.vs-main-map-wrapper-panel__header-section--overlapped{position:absolute;width:calc(100% - 1.5rem)}.vs-main-map-wrapper-panel__close,.vs-main-map-wrapper-panel__back{position:absolute;top:.75rem;z-index:5}.vs-main-map-wrapper-panel__back{left:.75rem}.vs-main-map-wrapper-panel__close{right:.75rem}.vs-main-map-wrapper-panel__reset{display:none}.vs-main-map-wrapper-panel__overlay{position:absolute;top:0;left:0;z-index:20;height:100%;width:100%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.4)}.vs-main-map-wrapper-panel__overlay-box{border:1px solid #af006e;border-radius:.25rem;height:142px;width:200px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem}.vs-main-map-wrapper-panel__overlay-text{font-size:.875rem;margin-bottom:0;text-align:center}.vs-main-map-wrapper-panel__load-more{width:100%;flex-shrink:0;margin:1rem 0}.vs-main-map-wrapper-panel__list-container{flex-grow:2;overflow-y:scroll;overflow-x:visible;display:block;margin:-1rem -1rem 0;padding:1rem 1rem 0}.vs-main-map-wrapper-panel__bottom-message{position:absolute;bottom:1px;background:#fff;left:1px;font-size:1rem;text-align:center;padding:1rem;display:flex;justify-content:center;width:calc(100% - 15px)}.vs-main-map-wrapper-panel__bottom-message p{margin-bottom:0;max-width:75%}.vs-main-map-wrapper-panel .vs-main-map-category:last-of-type::before{display:none}@media(min-width: 992px){.vs-main-map-wrapper-panel{padding:1.25rem 1rem 0;border-right:none}.vs-main-map-wrapper-panel__header-section{display:flex;margin-bottom:1.25rem}.vs-main-map-wrapper-panel__header-section--with-spacer{padding-right:2rem}.vs-main-map-wrapper-panel__header-section--overlapped{position:relative;width:100%}.vs-main-map-wrapper-panel__close{display:none}.vs-main-map-wrapper-panel__back{left:0;top:0;position:relative}.vs-main-map-wrapper-panel__reset{display:block}.vs-main-map-wrapper-panel__message{position:sticky;bottom:-1px;padding:1rem 0;width:100%;background:#fff;text-align:center;margin-bottom:0;font-size:1rem}}@media(min-width: 992px)and (min-width: 992px){.vs-main-map-wrapper-panel__message{padding:1rem}}