@visitscotland/component-library 4.19.3 → 4.20.0
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.
- package/dist/client/manifest.json +2 -2
- package/dist/client/scripts/a67c811e7eceaf13ef0f.js +1 -0
- package/dist/components/components/styled-list/components/StyledListItem.vue.d.ts +2 -0
- package/dist/components/components/styled-list/index.d.ts +6 -0
- package/dist/components/vs-component-library.js +1 -1
- package/dist/components/vs-component-library.mjs +10 -2
- package/dist/ssr/index.js +1 -1
- package/dist/ssr/manifest.json +1 -1
- package/package.json +1 -1
- package/dist/client/scripts/cae1fd369c1186a39e6a.js +0 -1
- /package/dist/client/styles/{cae1fd369c1186a39e6a.css → a67c811e7eceaf13ef0f.css} +0 -0
- /package/dist/ssr/styles/{a74926f48e8a3b21832c.css → 8cca8f18b518015c1901.css} +0 -0
|
@@ -359,7 +359,7 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\
|
|
|
359
359
|
`}}]),e}();_defineProperty(Document$1,"defaults",documentOptions);function createNode(e){var n=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,t=arguments.length>2?arguments[2]:void 0;t===void 0&&typeof n=="string"&&(t=n,n=!0);var a=Object.assign({},Document$1.defaults[defaultOptions.version],defaultOptions),r=new Schema(a);return r.createNode(e,n,t)}var Document=function(e){_inherits(t,e);var n=_createSuper(t);function t(a){return _classCallCheck(this,t),n.call(this,Object.assign({},defaultOptions,a))}return t}(Document$1);function parseAllDocuments(e,n){var t=[],a,r=_createForOfIteratorHelper(parse$1(e)),o;try{for(r.s();!(o=r.n()).done;){var u=o.value,l=new Document(n);l.parse(u,a),t.push(l),a=l}}catch(d){r.e(d)}finally{r.f()}return t}function parseDocument(e,n){var t=parse$1(e),a=new Document(n).parse(t[0]);if(t.length>1){var r="Source contains multiple documents; please use YAML.parseAllDocuments()";a.errors.unshift(new YAMLSemanticError(t[1],r))}return a}function parse(e,n){var t=parseDocument(e,n);if(t.warnings.forEach(function(a){return warn(a)}),t.errors.length>0)throw t.errors[0];return t.toJSON()}function stringify(e,n){var t=new Document(n);return t.contents=e,String(t)}var YAML={createNode,defaultOptions,Document,parse,parseAllDocuments,parseCST:parse$1,parseDocument,scalarOptions,stringify};const dist$1=Object.freeze(Object.defineProperty({__proto__:null,YAML},Symbol.toStringTag,{value:"Module"})),require$$0=getAugmentedNamespace(dist$1);var browser$1,hasRequiredBrowser;function requireBrowser(){return hasRequiredBrowser||(hasRequiredBrowser=1,browser$1=require$$0.YAML),browser$1}var hasRequiredLoaders;function requireLoaders(){if(hasRequiredLoaders)return loaders;hasRequiredLoaders=1,Object.defineProperty(loaders,"__esModule",{value:!0}),loaders.loaders=void 0;let e;const n=function(d){return e===void 0&&(e=requireImportFresh()),e(d)};let t;const a=function(d,h){t===void 0&&(t=requireParseJson());try{return t(h)}catch(f){throw f.message=`JSON Error in ${d}:
|
|
360
360
|
${f.message}`,f}};let r;const u={loadJs:n,loadJson:a,loadYaml:function(d,h){r===void 0&&(r=requireBrowser());try{return r.parse(h,{prettyErrors:!0})}catch(f){throw f.message=`YAML Error in ${d}:
|
|
361
361
|
${f.message}`,f}}};return loaders.loaders=u,loaders}var getPropertyByPath={},hasRequiredGetPropertyByPath;function requireGetPropertyByPath(){if(hasRequiredGetPropertyByPath)return getPropertyByPath;hasRequiredGetPropertyByPath=1,Object.defineProperty(getPropertyByPath,"__esModule",{value:!0}),getPropertyByPath.getPropertyByPath=e;function e(n,t){return typeof t=="string"&&Object.prototype.hasOwnProperty.call(n,t)?n[t]:(typeof t=="string"?t.split("."):t).reduce((r,o)=>r===void 0?r:r[o],n)}return getPropertyByPath}var hasRequiredExplorerBase;function requireExplorerBase(){if(hasRequiredExplorerBase)return ExplorerBase;hasRequiredExplorerBase=1,Object.defineProperty(ExplorerBase,"__esModule",{value:!0}),ExplorerBase.getExtensionDescription=u,ExplorerBase.ExplorerBase=void 0;var e=a(requirePathBrowserify()),n=requireLoaders(),t=requireGetPropertyByPath();function a(l){return l&&l.__esModule?l:{default:l}}let r=class{constructor(d){d.cache===!0&&(this.loadCache=new Map,this.searchCache=new Map),this.config=d,this.validateConfig()}clearLoadCache(){this.loadCache&&this.loadCache.clear()}clearSearchCache(){this.searchCache&&this.searchCache.clear()}clearCaches(){this.clearLoadCache(),this.clearSearchCache()}validateConfig(){const d=this.config;d.searchPlaces.forEach(h=>{const f=e.default.extname(h)||"noExt",p=d.loaders[f];if(!p)throw new Error(`No loader specified for ${u(h)}, so searchPlaces item "${h}" is invalid`);if(typeof p!="function")throw new Error(`loader for ${u(h)} is not a function (type provided: "${typeof p}"), so searchPlaces item "${h}" is invalid`)})}shouldSearchStopWithResult(d){return!(d===null||d.isEmpty&&this.config.ignoreEmptySearchPlaces)}nextDirectoryToSearch(d,h){if(this.shouldSearchStopWithResult(h))return null;const f=o(d);return f===d||d===this.config.stopDir?null:f}loadPackageProp(d,h){const f=n.loaders.loadJson(d,h);return(0,t.getPropertyByPath)(f,this.config.packageProp)||null}getLoaderEntryForFile(d){if(e.default.basename(d)==="package.json")return this.loadPackageProp.bind(this);const h=e.default.extname(d)||"noExt",f=this.config.loaders[h];if(!f)throw new Error(`No loader specified for ${u(d)}`);return f}loadedContentToCosmiconfigResult(d,h){return h===null?null:h===void 0?{filepath:d,config:void 0,isEmpty:!0}:{config:h,filepath:d}}validateFilePath(d){if(!d)throw new Error("load must pass a non-empty string")}};ExplorerBase.ExplorerBase=r;function o(l){return e.default.dirname(l)}function u(l){const d=e.default.extname(l);return d?`extension "${d}"`:"files without extensions"}return ExplorerBase}var readFile={},hasRequiredReadFile;function requireReadFile(){if(hasRequiredReadFile)return readFile;hasRequiredReadFile=1,Object.defineProperty(readFile,"__esModule",{value:!0}),readFile.readFile=a,readFile.readFileSync=r;var e=n(require$$1$2);function n(o){return o&&o.__esModule?o:{default:o}}async function t(o,u){return new Promise((l,d)=>{e.default.readFile(o,u,(h,f)=>{if(h){d(h);return}l(f)})})}async function a(o,u={}){const l=u.throwNotFound===!0;try{return await t(o,"utf8")}catch(d){if(l===!1&&d.code==="ENOENT")return null;throw d}}function r(o,u={}){const l=u.throwNotFound===!0;try{return e.default.readFileSync(o,"utf8")}catch(d){if(l===!1&&d.code==="ENOENT")return null;throw d}}return readFile}var cacheWrapper={},hasRequiredCacheWrapper;function requireCacheWrapper(){if(hasRequiredCacheWrapper)return cacheWrapper;hasRequiredCacheWrapper=1,Object.defineProperty(cacheWrapper,"__esModule",{value:!0}),cacheWrapper.cacheWrapper=e,cacheWrapper.cacheWrapperSync=n;async function e(t,a,r){const o=t.get(a);if(o!==void 0)return o;const u=await r();return t.set(a,u),u}function n(t,a,r){const o=t.get(a);if(o!==void 0)return o;const u=r();return t.set(a,u),u}return cacheWrapper}var getDirectory={},pathType={},hasRequiredPathType;function requirePathType(){if(hasRequiredPathType)return pathType;hasRequiredPathType=1;const{promisify:e}=requireUtil(),n=require$$1$2;async function t(r,o,u){if(typeof u!="string")throw new TypeError(`Expected a string, got ${typeof u}`);try{return(await e(n[r])(u))[o]()}catch(l){if(l.code==="ENOENT")return!1;throw l}}function a(r,o,u){if(typeof u!="string")throw new TypeError(`Expected a string, got ${typeof u}`);try{return n[r](u)[o]()}catch(l){if(l.code==="ENOENT")return!1;throw l}}return pathType.isFile=t.bind(null,"stat","isFile"),pathType.isDirectory=t.bind(null,"stat","isDirectory"),pathType.isSymlink=t.bind(null,"lstat","isSymbolicLink"),pathType.isFileSync=a.bind(null,"statSync","isFile"),pathType.isDirectorySync=a.bind(null,"statSync","isDirectory"),pathType.isSymlinkSync=a.bind(null,"lstatSync","isSymbolicLink"),pathType}var hasRequiredGetDirectory;function requireGetDirectory(){if(hasRequiredGetDirectory)return getDirectory;hasRequiredGetDirectory=1,Object.defineProperty(getDirectory,"__esModule",{value:!0}),getDirectory.getDirectory=a,getDirectory.getDirectorySync=r;var e=t(requirePathBrowserify()),n=requirePathType();function t(o){return o&&o.__esModule?o:{default:o}}async function a(o){return await(0,n.isDirectory)(o)===!0?o:e.default.dirname(o)}function r(o){return(0,n.isDirectorySync)(o)===!0?o:e.default.dirname(o)}return getDirectory}var hasRequiredExplorer;function requireExplorer(){if(hasRequiredExplorer)return Explorer;hasRequiredExplorer=1,Object.defineProperty(Explorer,"__esModule",{value:!0}),Explorer.Explorer=void 0;var e=o(requirePathBrowserify()),n=requireExplorerBase(),t=requireReadFile(),a=requireCacheWrapper(),r=requireGetDirectory();function o(d){return d&&d.__esModule?d:{default:d}}function u(d){var h;if(typeof Symbol<"u"&&(Symbol.asyncIterator&&(h=d[Symbol.asyncIterator],h!=null)||Symbol.iterator&&(h=d[Symbol.iterator],h!=null)))return h.call(d);throw new TypeError("Object is not async iterable")}let l=class extends n.ExplorerBase{constructor(h){super(h)}async search(h=process$1$1.cwd()){const f=await(0,r.getDirectory)(h);return await this.searchFromDirectory(f)}async searchFromDirectory(h){const f=e.default.resolve(process$1$1.cwd(),h),p=async()=>{const m=await this.searchDirectory(f),g=this.nextDirectoryToSearch(f,m);return g?this.searchFromDirectory(g):await this.config.transform(m)};return this.searchCache?(0,a.cacheWrapper)(this.searchCache,f,p):p()}async searchDirectory(h){var f=!0,p=!1,m;try{for(var g=u(this.config.searchPlaces),w,S;w=await g.next(),f=w.done,S=await w.value,!f;f=!0){const $=S,V=await this.loadSearchPlace(h,$);if(this.shouldSearchStopWithResult(V)===!0)return V}}catch($){p=!0,m=$}finally{try{!f&&g.return!=null&&await g.return()}finally{if(p)throw m}}return null}async loadSearchPlace(h,f){const p=e.default.join(h,f),m=await(0,t.readFile)(p);return await this.createCosmiconfigResult(p,m)}async loadFileContent(h,f){return f===null?null:f.trim()===""?void 0:await this.getLoaderEntryForFile(h)(h,f)}async createCosmiconfigResult(h,f){const p=await this.loadFileContent(h,f);return this.loadedContentToCosmiconfigResult(h,p)}async load(h){this.validateFilePath(h);const f=e.default.resolve(process$1$1.cwd(),h),p=async()=>{const m=await(0,t.readFile)(f,{throwNotFound:!0}),g=await this.createCosmiconfigResult(f,m);return await this.config.transform(g)};return this.loadCache?(0,a.cacheWrapper)(this.loadCache,f,p):p()}};return Explorer.Explorer=l,Explorer}var ExplorerSync={},hasRequiredExplorerSync;function requireExplorerSync(){if(hasRequiredExplorerSync)return ExplorerSync;hasRequiredExplorerSync=1,Object.defineProperty(ExplorerSync,"__esModule",{value:!0}),ExplorerSync.ExplorerSync=void 0;var e=o(requirePathBrowserify()),n=requireExplorerBase(),t=requireReadFile(),a=requireCacheWrapper(),r=requireGetDirectory();function o(l){return l&&l.__esModule?l:{default:l}}let u=class extends n.ExplorerBase{constructor(d){super(d)}searchSync(d=process$1$1.cwd()){const h=(0,r.getDirectorySync)(d);return this.searchFromDirectorySync(h)}searchFromDirectorySync(d){const h=e.default.resolve(process$1$1.cwd(),d),f=()=>{const p=this.searchDirectorySync(h),m=this.nextDirectoryToSearch(h,p);return m?this.searchFromDirectorySync(m):this.config.transform(p)};return this.searchCache?(0,a.cacheWrapperSync)(this.searchCache,h,f):f()}searchDirectorySync(d){for(const h of this.config.searchPlaces){const f=this.loadSearchPlaceSync(d,h);if(this.shouldSearchStopWithResult(f)===!0)return f}return null}loadSearchPlaceSync(d,h){const f=e.default.join(d,h),p=(0,t.readFileSync)(f);return this.createCosmiconfigResultSync(f,p)}loadFileContentSync(d,h){return h===null?null:h.trim()===""?void 0:this.getLoaderEntryForFile(d)(d,h)}createCosmiconfigResultSync(d,h){const f=this.loadFileContentSync(d,h);return this.loadedContentToCosmiconfigResult(d,f)}loadSync(d){this.validateFilePath(d);const h=e.default.resolve(process$1$1.cwd(),d),f=()=>{const p=(0,t.readFileSync)(h,{throwNotFound:!0}),m=this.createCosmiconfigResultSync(h,p);return this.config.transform(m)};return this.loadCache?(0,a.cacheWrapperSync)(this.loadCache,h,f):f()}};return ExplorerSync.ExplorerSync=u,ExplorerSync}var hasRequiredDist;function requireDist(){if(hasRequiredDist)return dist$2;hasRequiredDist=1,Object.defineProperty(dist$2,"__esModule",{value:!0}),dist$2.cosmiconfig=o,dist$2.cosmiconfigSync=u,dist$2.defaultLoaders=void 0;var e=r(requireBrowser$1()),n=requireExplorer(),t=requireExplorerSync(),a=requireLoaders();function r(f){return f&&f.__esModule?f:{default:f}}function o(f,p={}){const m=d(f,p),g=new n.Explorer(m);return{search:g.search.bind(g),load:g.load.bind(g),clearLoadCache:g.clearLoadCache.bind(g),clearSearchCache:g.clearSearchCache.bind(g),clearCaches:g.clearCaches.bind(g)}}function u(f,p={}){const m=d(f,p),g=new t.ExplorerSync(m);return{search:g.searchSync.bind(g),load:g.loadSync.bind(g),clearLoadCache:g.clearLoadCache.bind(g),clearSearchCache:g.clearSearchCache.bind(g),clearCaches:g.clearCaches.bind(g)}}const l=Object.freeze({".js":a.loaders.loadJs,".json":a.loaders.loadJson,".yaml":a.loaders.loadYaml,".yml":a.loaders.loadYaml,noExt:a.loaders.loadYaml});dist$2.defaultLoaders=l;function d(f,p){const m={packageProp:f,searchPlaces:["package.json",`.${f}rc`,`.${f}rc.json`,`.${f}rc.yaml`,`.${f}rc.yml`,`.${f}rc.js`,`${f}.config.js`],ignoreEmptySearchPlaces:!0,stopDir:e.default.homedir(),cache:!0,transform:h,loaders:l};return{...m,...p,loaders:{...m.loaders,...p.loaders}}}const h=function(p){return p};return dist$2}(function(e){var n=interopRequireDefaultExports,t=n(require_extends()),a=n(requireObjectWithoutPropertiesLoose());const r=requirePathBrowserify(),o=requireResolve(),u=/[./]macro(\.js)?$/,l=O=>u.test(O);class d extends Error{constructor(P){super(P),this.name="MacroError",typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack||(this.stack=new Error(P).stack)}}let h=null;function f(){return h=h||requireDist().cosmiconfigSync("babel-plugin-macros",{searchPlaces:["package.json",".babel-plugin-macrosrc",".babel-plugin-macrosrc.json",".babel-plugin-macrosrc.yaml",".babel-plugin-macrosrc.yml",".babel-plugin-macrosrc.js","babel-plugin-macros.config.js"],packageProp:"babelMacros"})}function p(O,P={}){if(P.configName==="options")throw new Error('You cannot use the configName "options". It is reserved for babel-plugin-macros.');return F.isBabelMacro=!0,F.options=P,F;function F(D){const{source:ie,isBabelMacrosCall:de}=D;if(!de)throw new d(`The macro you imported from "${ie}" is being executed outside the context of compilation with babel-plugin-macros. This indicates that you don't have the babel plugin "babel-plugin-macros" configured correctly. Please see the documentation for how to configure babel-plugin-macros properly: https://github.com/kentcdodds/babel-plugin-macros/blob/master/other/docs/user.md`);return O(D)}}function m(O,P){return o.sync(O,{basedir:P,paths:[r.resolve(__dirname,"../../")]})}function g(O,P={}){let{require:F=commonjsRequire,resolvePath:D=m,isMacrosName:ie=l}=P,de=(0,a.default)(P,["require","resolvePath","isMacrosName"]);function ne(fe){const oe=F(fe);return oe&&oe.__esModule&&oe.default?oe.default:oe}return{name:"macros",visitor:{Program(fe,oe){fe.traverse({ImportDeclaration(le){if(!A(le,{node:{source:{value:ce=>ie(ce)}}}))return;const Ce=le.node.specifiers.map(ce=>({localName:ce.local.name,importedName:ce.type==="ImportDefaultSpecifier"?"default":ce.imported.name})),be=le.node.source.value,Z=w({path:le,imports:Ce,source:be,state:oe,babel:O,interopRequire:ne,resolvePath:D,options:de});(!Z||!Z.keepImports)&&le.remove()},VariableDeclaration(le){const Te=Ce=>A(Ce,{node:{init:{callee:{type:"Identifier",name:"require"},arguments:be=>be.length===1&&ie(be[0].value)}}});le.get("declarations").filter(Te).forEach(Ce=>{const be=Ce.node.id.name?[{localName:Ce.node.id.name,importedName:"default"}]:Ce.node.id.properties.map(ye=>({localName:ye.value.name,importedName:ye.key.name})),Z=Ce.get("init"),ce=Z.node.arguments[0].value,he=w({path:Z,imports:be,source:ce,state:oe,babel:O,interopRequire:ne,resolvePath:D,options:de});(!he||!he.keepImports)&&Ce.remove()})}})}}}}function w({path:O,imports:P,source:F,state:D,babel:ie,interopRequire:de,resolvePath:ne,options:fe}){const{file:{opts:{filename:oe=""}}}=D;let le=!1;const Te=P.reduce((ye,{importedName:Ee,localName:j})=>{const z=O.scope.getBinding(j);return ye[Ee]=z.referencePaths,le=le||!!ye[Ee].length,ye},{}),Ce=F.indexOf(".")===0,be=ne(F,r.dirname(N(oe))),Z=de(be);if(!Z.isBabelMacro)throw new Error(`The macro imported from "${F}" must be wrapped in "createMacro" which you can get from "babel-plugin-macros". Please refer to the documentation to see how to do this properly: https://github.com/kentcdodds/babel-plugin-macros/blob/master/other/docs/author.md#writing-a-macro`);const ce=V(Z,oe,F,fe);let he;try{D.file.scope.path.traverse({Identifier(){}}),he=Z({references:Te,source:F,state:D,babel:ie,config:ce,isBabelMacrosCall:!0})}catch(ye){throw ye.name==="MacroError"||(ye.message=`${F}: ${ye.message}`,Ce||(ye.message=`${ye.message} Learn more: https://www.npmjs.com/package/${F.replace(/^((?:@[^/]+\/)?[^/]+).*/,"$1")}`)),ye}return he}function S(O,P){try{const F=f().search(P);if(F)return{options:F.config[O],path:F.filepath}}catch(F){return{error:F}}return{}}function $(O,P){if(P.hasOwnProperty(O))if(P[O]&&typeof P[O]!="object")console.error(`The macro plugin options' ${O} property was not an object or null.`);else return{options:P[O]};return{}}function V(O,P,F,D){const{configName:ie}=O.options;if(ie){const de=S(ie,P),ne=$(ie,D);if(ne.options===void 0&&de.options===void 0&&de.error!==void 0)throw console.error(`There was an error trying to load the config "${ie}" for the macro imported from "${F}. Please see the error thrown for more information.`),de.error;if(de.options!==void 0&&ne.options!==void 0&&typeof de.options!="object")throw new Error(`${de.path} specified a ${ie} config of type ${typeof ne.options}, but the the macros plugin's options.${ie} did contain an object. Both configs must contain objects for their options to be mergeable.`);return(0,t.default)({},ne.options,{},de.options)}}function N(O){return r.isAbsolute(O)?O:r.join(process$1$1.cwd(),O)}function A(O,P){return O&&P&&Object.keys(P).every(F=>{const D=P[F],ie=O[F];return typeof D=="function"?D(ie):I(D)?D===ie:A(ie,D)})}function I(O){return O==null||/^[sbn]/.test(typeof O)}e.exports=g,Object.assign(e.exports,{createMacro:p,MacroError:d})})(dist$3);var distExports$1=dist$3.exports,define_process_env_default$2={};const{createMacro}=distExports$1;function requireContext({references:e,state:n,babel:{types:t}}){define_process_env_default$2.NODE_ENV==="test"?e.default.forEach(a=>a.parentPath.replaceWith(t.callExpression(t.identifier("require('require-context.macro/context')"),[t.identifier("__dirname"),...a.parent.arguments]))):e.default.forEach(a=>a.parentPath.replaceWith(t.callExpression(t.identifier("require.context"),[...a.parent.arguments])))}var requireContext_macro=createMacro(requireContext);const requireContext$1=getDefaultExportFromCjs$1(requireContext_macro),__vite_import_meta_env__={BASE_URL:"/",DEV:!1,MODE:"production",PROD:!0,SSR:!1};let files=null;if(typeof jest<"u")files=requireContext$1("../assets/svg",!0,/^\.\/.*\.svg$/);else if({url:typeof document>"u"?require("url").pathToFileURL(__filename).href:_documentCurrentScript&&_documentCurrentScript.tagName.toUpperCase()==="SCRIPT"&&_documentCurrentScript.src||new URL("vs-component-library.js",document.baseURI).href}&&__vite_import_meta_env__){files=Object.assign({"../assets/svg/brandscotland-logo.svg":()=>Promise.resolve().then(()=>require("./brandscotland-logo-BbDMkgti.js")).then(n=>n.default),"../assets/svg/cookie-coo.svg":()=>Promise.resolve().then(()=>require("./cookie-coo-Bc1O8aR_.js")).then(n=>n.default),"../assets/svg/highland-cow.svg":()=>Promise.resolve().then(()=>require("./highland-cow-CRm5ANrL.js")).then(n=>n.default),"../assets/svg/iCentre.svg":()=>Promise.resolve().then(()=>require("./iCentre-BeepnBTk.js")).then(n=>n.default),"../assets/svg/icons/docs/deprecated.svg":()=>Promise.resolve().then(()=>require("./deprecated-Cl9osRH8.js")).then(n=>n.default),"../assets/svg/icons/docs/prototype.svg":()=>Promise.resolve().then(()=>require("./prototype-ggLuAMuB.js")).then(n=>n.default),"../assets/svg/icons/docs/ready.svg":()=>Promise.resolve().then(()=>require("./ready-DSUouF6L.js")).then(n=>n.default),"../assets/svg/icons/docs/review.svg":()=>Promise.resolve().then(()=>require("./review-Bi0lAugE.js")).then(n=>n.default),"../assets/svg/icons/instagram-filled.svg":()=>Promise.resolve().then(()=>require("./instagram-filled-CvF3WA5q.js")).then(n=>n.default),"../assets/svg/no-js-coo.svg":()=>Promise.resolve().then(()=>require("./no-js-coo-BEt1aICD.js")).then(n=>n.default),"../assets/svg/os-logo-maps-white.svg":()=>Promise.resolve().then(()=>require("./os-logo-maps-white-DOUatF7F.js")).then(n=>n.default),"../assets/svg/os-logo-maps.svg":()=>Promise.resolve().then(()=>require("./os-logo-maps-CF9QEvIX.js")).then(n=>n.default),"../assets/svg/visitscotland-logo.svg":()=>Promise.resolve().then(()=>require("./visitscotland-logo-yAzNpi5x.js")).then(n=>n.default)});const e={};for(const[n,t]of Object.entries(files)){const a=n.replace("../assets/svg",".");e[a]=t}files=e}else files=requireContext$1("../assets/svg?optimise",!0,/^\.\/.*\.svg$/);const output=files,_sfc_main$1j={name:"VsSvg",release:"0.1.1",status:"prototype",props:{path:{type:String,required:!0},fill:{type:String,default:""},height:{type:[Number,String],default:""},width:{type:[Number,String],default:""}},data(){return{svg:null}},computed:{nativeAttrs(){if(this.svg){const n=lodashExports.first(this.svg.match(/<svg[^>]+.*?>/)).match(/(\S+)=["']?((?:.(?!["']?\s+(?:\S+)=|[>"']))+.)["']?/g),t=lodashExports.fromPairs(lodashExports.map(n,lodashExports.partial(lodashExports.split,lodashExports.partial.placeholder,"=",2)));return lodashExports.mapValues(t,lodashExports.partial(lodashExports.replace,lodashExports.partial.placeholder,/"/g,""))}return null},attributes(){if(this.svg){const e={};let n={};return this.fill&&(lodashExports.has(this.nativeAttrs,"style")?(n=this.nativeStyleAttrMap,n.fill=this.fill):n={fill:this.fill},e.style=lodashExports.join(lodashExports.map(lodashExports.toPairs(n),lodashExports.partial(lodashExports.join,lodashExports.partial.placeholder,":")),";")),this.height&&(e.height=this.height),this.width&&(e.width=this.width),lodashExports.extend({},this.nativeAttrs,e)}return null},nativeStyleAttrMap(){if(this.svg){const e=lodashExports.map(lodashExports.split(this.nativeAttrs.style,";"),lodashExports.ary(lodashExports.partial(lodashExports.split,lodashExports.partial.placeholder,":"),1));return lodashExports.fromPairs(e)}return null},children(){return this.svg?lodashExports.nth(this.svg.match(/(<svg[^>]+.*?>)([\s\S]*)(<\/svg>)/),2):null}},mounted(){typeof output=="function"?this.svg=output(`./${this.path}.svg`):output[`./${this.path}.svg`]().then(e=>{this.svg=e})}},_hoisted_1$_=["innerHTML"];function _sfc_render$19(e,n,t,a,r,o){return r.svg?(vue.openBlock(),vue.createElementBlock("svg",vue.mergeProps({key:0},o.attributes,{innerHTML:o.children,focusable:"false"}),null,16,_hoisted_1$_)):vue.createCommentVNode("",!0)}const VsSvg=_export_sfc(_sfc_main$1j,[["render",_sfc_render$19]]),_sfc_main$1i={name:"VsSvgLink",status:"prototype",release:"0.0.1",components:{VsSvg,VsLink},props:{linkAltText:{type:String,required:!0},href:{type:String,required:!0},svgFill:{type:String,default:""},svgPath:{type:String,required:!0},svgHeight:{type:[Number,String],default:""},svgWidth:{type:[Number,String],default:""},dataLayerValue:{type:String,default:null},linkVariant:{type:String,default:"primary",validator:e=>e.match(/(primary|on-dark)/)}}},_hoisted_1$Z={class:"visually-hidden","data-test":"link-alt-text"};function _sfc_render$18(e,n,t,a,r,o){const u=vue.resolveComponent("VsSvg"),l=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createBlock(l,{class:"vs-svg-link","data-test":"vs-svg-link",href:t.href,"data-layer-value":t.dataLayerValue,variant:t.linkVariant},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$Z,vue.toDisplayString(t.linkAltText),1),vue.createVNode(u,{"data-test":"vs-svg-link__svg",focusable:"false",path:t.svgPath,fill:t.svgFill,width:t.svgWidth,height:t.svgHeight},null,8,["path","fill","width","height"])]),_:1},8,["href","data-layer-value","variant"])}const VsSvgLink=_export_sfc(_sfc_main$1i,[["render",_sfc_render$18]]),_sfc_main$1h={name:"VsFooterCopyright",status:"prototype",release:"0.0.1",components:{VsSvgLink,VsRow,VsContainer,VsCol},props:{linkAltText:{type:String,required:!0},href:{type:String,required:!0}},data(){return{currentYear:""}},computed:{getCurrentYear(){return new Date().getFullYear()}}},_hoisted_1$Y={class:"vs-footer-copyright","data-unique-id":"vs-footer-sub_footer","data-test":"vs-footer-copyright"},_hoisted_2$J={class:"vs-footer-copyright__text"};function _sfc_render$17(e,n,t,a,r,o){const u=vue.resolveComponent("VsSvgLink"),l=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsRow"),h=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$Y,[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",class:"text-center"},{default:vue.withCtx(()=>[vue.createVNode(u,{class:"vs-footer-copyright__logo mb-100","data-test":"vs-footer-copyright-logo","link-alt-text":t.linkAltText,href:t.href,"svg-fill":"#ffffff","svg-path":"brandscotland-logo","link-variant":"on-dark"},null,8,["link-alt-text","href"]),vue.createElementVNode("p",_hoisted_2$J,[vue.createTextVNode(" © "+vue.toDisplayString(o.getCurrentYear)+" ",1),vue.renderSlot(e.$slots,"copyright")])]),_:3})]),_:3})]),_:3})])}const FooterCopyright=_export_sfc(_sfc_main$1h,[["render",_sfc_render$17]]),_sfc_main$1g={name:"VsGlobalMenu",status:"prototype",release:"0.1.0",components:{VsContainer,VsRow,VsCol,LazyHydrationWrapper:LazyHydrationWrapper$1},props:{dropdownLabel:{type:String,default:"Our Websites"}},data(){return{websites:[{siteName:"VisitScotland",siteUrl:"https://www.visitscotland.com/"},{siteName:"Business Events",siteUrl:"https://businessevents.visitscotland.com/"},{siteName:"Travel Trade",siteUrl:"https://traveltrade.visitscotland.org/"},{siteName:"Toolkit",siteUrl:"https://toolkit.visitscotland.org/"},{siteName:"Corporate",siteUrl:"https://www.visitscotland.org/"}]}}},_hoisted_1$X={class:"vs-global-menu"};function _sfc_render$16(e,n,t,a,r,o){const u=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),d=vue.resolveComponent("VsContainer"),h=vue.resolveComponent("LazyHydrationWrapper");return vue.openBlock(),vue.createElementBlock("nav",_hoisted_1$X,[vue.createVNode(h,{"on-interaction":["focus","click"]},{default:vue.withCtx(()=>[vue.createVNode(d,{fluid:"lg",class:"px-025 px-sm-075"},{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"12",class:"vs-global-menu__wrapper"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"third-menu-item")]),_:3})]),_:3})]),_:3})]),_:3})])}const GlobalMenu=_export_sfc(_sfc_main$1g,[["render",_sfc_render$16]]),_sfc_main$1f={name:"VsGlobalMenuLanguage",status:"prototype",release:"0.1.0",components:{VsDropdown,VsIcon},mixins:[cookieMixin],props:{languageLabel:{type:String,default:"Language"},language:{type:String,default:"en"}},mounted(){this.cookieExists("vs_locale")||this.setCookie("vs_locale",this.localeCookie,!0),this.cookieExists("googtrans")||this.setCookie("googtrans",this.translationCookie,!0)}},_hoisted_1$W={class:"vs-global-menu__languages__text"},_hoisted_2$I={class:"vs-global-menu__languages__selected"},_hoisted_3$z={class:"vs-global-menu__languages__label",role:"menuitem"};function _sfc_render$15(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsDropdown");return vue.openBlock(),vue.createBlock(l,{variant:"primary",class:"vs-global-menu__languages"},{"button-content":vue.withCtx(()=>[vue.createVNode(u,{class:"vs-global-menu__languages__icon",name:"globe",variant:"inverse",size:"xxs",focusable:"false"}),vue.createElementVNode("span",_hoisted_1$W,vue.toDisplayString(t.languageLabel),1),vue.createElementVNode("span",_hoisted_2$I,vue.toDisplayString(e.selectedLanguage),1)]),default:vue.withCtx(()=>[vue.createElementVNode("li",_hoisted_3$z,[vue.createVNode(u,{name:"globe",variant:"inverse",size:"xxs",focusable:"false"}),vue.createTextVNode(" "+vue.toDisplayString(t.languageLabel),1)]),vue.renderSlot(e.$slots,"default")]),_:3})}const GlobalMenuLanguage=_export_sfc(_sfc_main$1f,[["render",_sfc_render$15]]),_sfc_main$1e={name:"VsGlobalMenuLanguageItem",status:"prototype",release:"0.1.0",components:{VsDropdownItem},mixins:[cookieMixin],props:{languageName:{type:String,default:null},languageLink:{type:String,default:null},language:{type:String,default:null}},methods:{setLanguage(){const e=this.cookieExists("vs_locale"),n=this.cookieExists("googtrans");this.setCookie("vs_locale",this.localeCookie,!e),this.setCookie("googtrans",this.translationCookie,!n)}}};function _sfc_render$14(e,n,t,a,r,o){const u=vue.resolveComponent("VsDropdownItem");return vue.openBlock(),vue.createBlock(u,{class:"vs-global-menu__languages__item",href:t.languageLink,onClick:n[0]||(n[0]=l=>o.setLanguage())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.languageName),1)]),_:1},8,["href"])}const GlobalMenuLanguageItem=_export_sfc(_sfc_main$1e,[["render",_sfc_render$14]]),_sfc_main$1d={name:"VsHeroSectionImage",status:"prototype",release:"0.0.1",components:{VsCaption,VsImg},props:{src:{type:String,required:!0},imgAlt:{type:String,default:""},imgCaption:{type:String,default:""},imgCredit:{type:String,default:""},split:{type:Boolean,default:!1}},computed:{isSplit(){return this.split?"vs-hero-section-image--split":""}}};function _sfc_render$13(e,n,t,a,r,o){const u=vue.resolveComponent("VsImg"),l=vue.resolveComponent("VsCaption");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-hero-section-image",o.isSplit]),"data-test":"vs-hero-section-image"},[vue.createVNode(u,{class:"vs-hero-section-image__img",src:t.src,alt:t.imgAlt},null,8,["src","alt"]),t.imgCaption||t.imgCredit?(vue.openBlock(),vue.createBlock(l,{key:0,class:"p-0",theme:"subtle","data-test":"vs-hero-section-image__caption"},vue.createSlots({credit:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.imgCredit),1)]),_:2},[t.split?void 0:{name:"caption",fn:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.imgCaption),1)]),key:"0"}]),1024)):vue.createCommentVNode("",!0)],2)}const VsHeroSectionImage=_export_sfc(_sfc_main$1d,[["render",_sfc_render$13]]),_sfc_main$1c={name:"VsHeroSectionVideoControl",status:"prototype",release:"0.0.1",components:{VsButton},emits:["videoToggled"],data(){return{isPlaying:!0}},methods:{toggleVideo(){this.$emit("videoToggled",this.isPlaying),this.isPlaying?this.isPlaying=!1:this.isPlaying=!0}}};function _sfc_render$12(e,n,t,a,r,o){const u=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createBlock(u,{"icon-only":"",class:"vs-hero-section-video-control","data-test":"vs-hero-section-video-control",icon:r.isPlaying?"pause-regular":"play",onClick:o.toggleVideo},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["icon","onClick"])}const VsHeroSectionVideoControl=_export_sfc(_sfc_main$1c,[["render",_sfc_render$12]]),_sfc_main$1b={name:"VsHeroSection",status:"prototype",release:"0.0.1",components:{VsHeading,VsRichTextWrapper,VsHeroSectionImage,VsHeroSectionVideoControl},props:{heading:{type:String,default:"",required:!0},lede:{type:String,default:"",required:!0},src:{type:String,default:""},imgAlt:{type:String,default:""},imgCaption:{type:String,default:""},imgCredit:{type:String,default:""},inset:{type:Boolean,default:!1},split:{type:Boolean,default:!1},videoSrc:{type:String,default:""},videoBtnText:{type:String,default:""}},computed:{imageClasses(){return{"vs-hero-section__image--inset":this.inset}},textContainerClasses(){return[{"vs-hero-section__text-container--video":this.videoSrc},"vs-hero-section__text-container"]}},methods:{onToggleVideo(e){e?this.$refs.heroVideo.pause():this.$refs.heroVideo.play()}}},_hoisted_1$V={class:"vs-hero-section__grid"},_hoisted_2$H={key:1,class:"vs-hero-section__video-wrapper"},_hoisted_3$y=["poster"],_hoisted_4$r=["src"],_hoisted_5$k={key:2,class:"vs-hero-section__divider"},_hoisted_6$e={class:"vs-hero-section__text"},_hoisted_7$b=["innerHTML"],_hoisted_8$4={class:"mb-0"};function _sfc_render$11(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeroSectionImage"),l=vue.resolveComponent("VsHeading"),d=vue.resolveComponent("VsRichTextWrapper"),h=vue.resolveComponent("VsHeroSectionVideoControl");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-hero-section",{"vs-hero-section--split":t.split}]),"data-test":"vs-hero-section"},[vue.createElementVNode("div",_hoisted_1$V,[t.src&&!t.videoSrc?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-hero-section__image",o.imageClasses])},[vue.createVNode(u,{"img-alt":t.imgAlt,src:t.src,"img-caption":t.imgCaption,"img-credit":t.imgCredit,split:t.split},null,8,["img-alt","src","img-caption","img-credit","split"])],2)):t.videoSrc?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$H,[vue.createElementVNode("video",{loop:"",muted:"",autoplay:"",playsinline:"",preload:"auto",poster:t.src,class:"vs-hero-section__video",ref:"heroVideo","aria-hidden":"true"},[vue.createElementVNode("source",{src:t.videoSrc,type:"video/mp4"},null,8,_hoisted_4$r)],8,_hoisted_3$y),n[0]||(n[0]=vue.createElementVNode("div",{class:"vs-hero-section__video-overlay"},null,-1))])):(vue.openBlock(),vue.createElementBlock("hr",_hoisted_5$k)),vue.createElementVNode("div",{class:vue.normalizeClass(o.textContainerClasses)},[vue.createElementVNode("div",_hoisted_6$e,[vue.createVNode(l,{class:"vs-hero-section__heading","data-test":"vs-hero-section__heading",level:"1","heading-style":"display-xs",id:"main-heading"},{default:vue.withCtx(()=>[vue.createElementVNode("span",{innerHTML:t.heading},null,8,_hoisted_7$b)]),_:1}),t.lede?(vue.openBlock(),vue.createBlock(d,{key:0,class:"vs-hero-section__lede","data-test":"vs-hero-section__lede",variant:"lead"},{default:vue.withCtx(()=>[vue.createElementVNode("p",_hoisted_8$4,vue.toDisplayString(t.lede),1)]),_:1})):vue.createCommentVNode("",!0)]),t.videoSrc?(vue.openBlock(),vue.createBlock(h,{key:0,"video-btn-text":"Toggle video",onVideoToggled:o.onToggleVideo},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.videoBtnText),1)]),_:1},8,["onVideoToggled"])):vue.createCommentVNode("",!0)],2)])],2)}const HeroSection=_export_sfc(_sfc_main$1b,[["render",_sfc_render$11]]),_sfc_main$1a={name:"VsHtmlError",status:"prototype",release:"0.1.0",mixins:[dataLayerMixin],props:{statusCode:{type:String,required:!0}},mounted(){this.createDataLayerObject("errorDataEvent",{error_type:"System Error",error_details:this.statusCode})}},_hoisted_1$U={class:"d-none"};function _sfc_render$10(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$U)}const HtmlError=_export_sfc(_sfc_main$1a,[["render",_sfc_render$10]]),_sfc_main$19={name:"VsTourismInfo",status:"prototype",release:"0.0.1",components:{VsContainer,VsRow,VsCol}},_hoisted_1$T={class:"vs-tourism-info","data-test":"vs-tourism-info"},_hoisted_2$G={key:0,class:"vs-tourism-info__links","data-test":"vs-tourism-info__standalone-links"},_hoisted_3$x={class:"vs-tourism-info__quote-block"},_hoisted_4$q={key:0,class:"vs-tourism-info__links-contained","data-test":"vs-tourism-info__embedded-links"};function _sfc_render$$(e,n,t,a,r,o){const u=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),d=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$T,[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"10",offset:"1",md:"8","offset-md":"2",lg:"6","offset-lg":"3",class:"vs-tourism-info__intro-content"},{default:vue.withCtx(()=>[e.$slots["tourism-info-links"]&&e.$slots["tourism-info-links"]()&&!(e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]())?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$G,[vue.renderSlot(e.$slots,"tourism-info-links")])):vue.createCommentVNode("",!0)]),_:3}),vue.createVNode(u,{cols:"12",md:"10","offset-md":"1",class:vue.normalizeClass({"vs-tourism-info__image-offset":e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]()})},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"tourism-info-image-with-caption")]),_:3},8,["class"]),e.$slots["tourism-info-quote"]&&e.$slots["tourism-info-quote"]()?(vue.openBlock(),vue.createBlock(u,{key:0,cols:"12",md:"10","offset-md":"1",lg:"7","offset-lg":"5",class:"vs-tourism-info__quote-block-container"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$x,[vue.renderSlot(e.$slots,"tourism-info-quote"),e.$slots["tourism-info-links"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$q,[vue.renderSlot(e.$slots,"tourism-info-links")])):vue.createCommentVNode("",!0)])]),_:3})):vue.createCommentVNode("",!0)]),_:3})]),_:3})])}const TourismInfo=_export_sfc(_sfc_main$19,[["render",_sfc_render$$]]),_sfc_main$18={name:"VsIconList",status:"prototype",release:"0.0.1",props:{title:{type:String,default:""}}},_hoisted_1$S={class:"vs-icon-list","data-test":"vs-icon-list"},_hoisted_2$F={key:0,class:"vs-icon-list__title"},_hoisted_3$w={class:"vs-icon-list__list mb-0"};function _sfc_render$_(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$S,[t.title?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$F,vue.toDisplayString(t.title),1)):vue.createCommentVNode("",!0),vue.createElementVNode("ul",_hoisted_3$w,[vue.renderSlot(e.$slots,"default")])])}const IconList=_export_sfc(_sfc_main$18,[["render",_sfc_render$_]]),_sfc_main$17={name:"VsIconListItem",status:"prototype",release:"0.0.1",components:{VsIcon},props:{label:{type:String,required:!0},icon:{type:String,required:!0}}},_hoisted_1$R={class:"vs-icon-list__item","data-test":"vs-icon-list__item"};function _sfc_render$Z(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$R,[vue.createVNode(u,{name:t.icon,size:"md",class:"d-block mx-auto"},null,8,["name"]),vue.createTextVNode(" "+vue.toDisplayString(t.label),1)])}const IconListItem=_export_sfc(_sfc_main$17,[["render",_sfc_render$Z]]),_sfc_main$16={name:"VsToggleButton",status:"prototype",release:"0.0.1",components:{VsButton,VsIcon},props:{toggleId:{type:String,default:""}},emits:["toggleAction"],data(){return{show:!1}},methods:{toggleAction(){this.show=!this.show,this.$emit("toggleAction",this.show)}}};function _sfc_render$Y(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createBlock(l,{class:"vs-toggle-btn","data-test":"vs-toggle-btn",variant:"transparent","aria-controls":t.toggleId,"aria-expanded":r.show?"true":"false",onClick:o.toggleAction},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default"),r.show?(vue.openBlock(),vue.createBlock(u,{key:0,duotone:"",class:"fa-icon-colours fa-icon-colours--white",name:"circle-xmark"})):vue.renderSlot(e.$slots,"toggle-icon",{key:1},()=>[vue.createVNode(u,{duotone:"",class:"fa-icon-colours",name:"circle-info"})])]),_:3},8,["aria-controls","aria-expanded","onClick"])}const VsToggleButton=_export_sfc(_sfc_main$16,[["render",_sfc_render$Y]]),_sfc_main$15={name:"VsVideoCaption",status:"prototype",release:"0.0.1",components:{VsButton,VsToggleButton,VsWarning},inject:{noJsMessage:{default:""},errorMessage:{default:""}},props:{videoBtnText:{type:String,default:""},withToggleBtn:{type:Boolean,default:!1},videoId:{type:String,required:!0},variant:{type:String,default:"wide",validator:e=>e.match(/(wide|narrow)/)}},emits:["toggleAction"],setup(){return{videoStore:useVideoStore()}},data(){return{showErrorMessage:!1}},computed:{videoDetails(){return this.videoStore.videos[this.videoId]},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0}},methods:{emitToggle(){this.$emit("toggleAction")},emitShowModal(){this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$Q={key:0,class:"vs-video-caption__buttons-container"},_hoisted_2$E={class:"container"},_hoisted_3$v={class:"vs-video-caption__details"},_hoisted_4$p={class:"vs-video-caption__title"},_hoisted_5$j={class:"vs-video-caption__duration"},_hoisted_6$d={key:1,class:"vs-video-caption vs-video-caption--no-js vs-video-caption--warning","data-test":"video-caption-nojs"};function _sfc_render$X(e,n,t,a,r,o){const u=vue.resolveComponent("VsButton"),l=vue.resolveComponent("VsToggleButton"),d=vue.resolveComponent("VsWarning");return vue.openBlock(),vue.createElementBlock("div",{"data-test":"video-caption",class:vue.normalizeClass(["vs-video-caption__wrapper",`vs-video-caption__wrapper--${t.variant}`])},[o.videoLoaded?(vue.openBlock(),vue.createElementBlock("div",{"data-test":"video-caption-variants",class:vue.normalizeClass(["vs-video-caption",`vs-video-caption--${t.variant}`]),key:"video-caption"},[t.videoBtnText?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$Q,[vue.createElementVNode("div",_hoisted_2$E,[vue.createVNode(u,{class:"vs-video-caption__button",icon:"play","icon-position":"left",size:"md",ref:"videoShow",rounded:!1,onClick:o.emitShowModal},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.videoBtnText),1)]),_:1},8,["onClick"])]),t.withToggleBtn?(vue.openBlock(),vue.createBlock(l,{key:0,onToggleAction:o.emitToggle},{default:vue.withCtx(()=>n[0]||(n[0]=[vue.createElementVNode("span",{class:"visually-hidden"}," Toggle caption ",-1)])),_:1},8,["onToggleAction"])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$v,[vue.createElementVNode("p",_hoisted_4$p,[vue.renderSlot(e.$slots,"video-title")]),vue.createElementVNode("p",_hoisted_5$j,vue.toDisplayString(o.videoDetails.videoDurationMsg),1)])],2)):vue.createCommentVNode("",!0),o.noJsMessage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$d,[vue.createVNode(d,{size:"small"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.noJsMessage),1)]),_:1})])):vue.createCommentVNode("",!0)],2)}const VsVideoCaption=_export_sfc(_sfc_main$15,[["render",_sfc_render$X]]),_sfc_main$14={name:"VsImageWithCaption",status:"prototype",release:"0.0.1",components:{VsImg,VsToggleButton,VsVideoCaption},provide(){return{noJsMessage:this.noJsMessage,errorMessage:this.errorMessage}},props:{altText:{type:String,default:""},closedDefaultCaption:{type:Boolean,default:!1},imageSrc:{type:String,default:""},isHeroImage:{type:Boolean,default:!1},isVideo:{type:Boolean,default:!1},mobileOverlap:{type:Boolean,default:!1},toggleButtonText:{type:String,default:""},playButtonText:{type:String,default:""},videoId:{type:String,default:""},smallPlayButton:{type:Boolean,default:!1},noJsMessage:{type:String,default:""},useLazyLoading:{type:Boolean,default:!0},errorMessage:{type:String,default:""},showToggle:{type:Boolean,default:!0}},data(){return{showCaption:!1,uniqueCaptionId:""}},computed:{isSvg(){return this.imageSrc.endsWith(".svg")},imageWithCaptionClasses(){return{"vs-image-with-caption--closed-default":this.closedDefaultCaption,"vs-image-with-caption--hero":this.isHeroImage,"vs-image-with-caption--video":this.isVideo,"vs-image-with-caption--svg":this.isSvg}},captionWrapperClasses(){return{"d-block":this.showCaption&&!this.isHeroImage,"d-flex":this.showCaption&&this.isHeroImage||this.showCaption&&this.isVideo,container:this.isHeroImage}}},mounted(){this.uniqueCaptionId=this._uid},methods:{toggleCaption(){this.showCaption=!this.showCaption}}},_hoisted_1$P={class:"visually-hidden"},_hoisted_2$D={class:"vs-image-with-caption__captions"},_hoisted_3$u=["id"];function _sfc_render$W(e,n,t,a,r,o){const u=vue.resolveComponent("VsImg"),l=vue.resolveComponent("VsToggleButton"),d=vue.resolveComponent("VsVideoCaption");return vue.openBlock(),vue.createElementBlock("figure",{class:vue.normalizeClass(["vs-image-with-caption",o.imageWithCaptionClasses]),"data-test":"vs-image-with-caption"},[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-image-with-caption__image-wrapper",t.mobileOverlap?"vs-image-with-caption--overlapped":""])},[vue.renderSlot(e.$slots,"default",{},()=>[t.imageSrc?(vue.openBlock(),vue.createBlock(u,{key:0,src:t.imageSrc,alt:t.altText,"use-lazy-loading":t.useLazyLoading},null,8,["src","alt","use-lazy-loading"])):vue.createCommentVNode("",!0)]),t.showToggle?(vue.openBlock(),vue.createBlock(l,{key:0,"img-src":t.imageSrc,"toggle-id":r.uniqueCaptionId,onToggleAction:o.toggleCaption},{"toggle-icon":vue.withCtx(()=>[vue.renderSlot(e.$slots,"toggle-icon")]),default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$P,vue.toDisplayString(t.toggleButtonText),1)]),_:3},8,["img-src","toggle-id","onToggleAction"])):vue.createCommentVNode("",!0)],2),vue.createElementVNode("figcaption",_hoisted_2$D,[t.isVideo?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-image-with-caption__video-caption-wrapper",t.isHeroImage?"container-lg":""])},[vue.createVNode(d,{"video-btn-text":t.playButtonText,"with-toggle-btn":t.showToggle,onToggleAction:o.toggleCaption,"video-id":t.videoId,"error-message":t.errorMessage,variant:t.smallPlayButton?"narrow":"wide"},{"video-title":vue.withCtx(()=>[vue.renderSlot(e.$slots,"video-title")]),_:3},8,["video-btn-text","with-toggle-btn","onToggleAction","video-id","error-message","variant"])],2)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-image-with-caption__caption-wrapper",o.captionWrapperClasses]),id:r.uniqueCaptionId},[vue.renderSlot(e.$slots,"img-caption")],10,_hoisted_3$u)])],2)}const ImageWithCaption=_export_sfc(_sfc_main$14,[["render",_sfc_render$W]]),_sfc_main$13={name:"VsInput",status:"prototype",release:"0.0.1",components:{BFormInput:bootstrapVueNext.BFormInput,VsButton},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},name:{type:String,default:""},type:{type:String,default:"text"},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},clearButtonText:{type:String,default:""},placeholder:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1}},emits:["updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){let e="";return(this.isInvalid||this.errorsList.length)&&(e="vs-input--error"),`${`vs-input--${this.fieldName}`} ${e}`},showClearButton(){return!!(this.inputVal.length&&this.clearButtonText!=="")}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=""},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},autocompleteValue(e){let n;switch(e){case"firstName":n="given-name";break;case"lastName":n="family-name";break;case"Email":n="email";break;case"PostalCode":n="postal-code";break;default:n=this.autoComplete?"on":"off";break}return n},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0}},validations(){return this.rules}},_hoisted_1$O={"data-test":"vs-input"},_hoisted_2$C=["id"],_hoisted_3$t=["id"],_hoisted_4$o={class:"visually-hidden"};function _sfc_render$V(e,n,t,a,r,o){const u=vue.resolveComponent("BFormInput"),l=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$O,[t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$C)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,d=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:d,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$o,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[d]||t.genericValidation[d]),1)])),[[vue.vShow,!t.reAlertErrors&&!r.clearErrorsOnFocus]])),128))],8,_hoisted_3$t)):vue.createCommentVNode("",!0),vue.createVNode(u,{ref:"input",type:t.type,class:vue.normalizeClass(["vs-input",[r.inputVal?"show-cancel":"",o.elementClass]]),modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=d=>r.inputVal=d),id:t.fieldName,name:t.name?t.name:t.fieldName,placeholder:t.placeholder,required:e.isRequired,autocomplete:o.autocompleteValue(t.fieldName),v:r.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,maxlength:t.validationRules.maxLength?t.validationRules.maxLength:null,minlength:t.validationRules.minLength?t.validationRules.minLength:null,min:t.validationRules.min!==void 0?t.validationRules.min:null,max:t.validationRules.max!==void 0?t.validationRules.max:null,disabled:t.disabled,onBlur:o.validateErrors,onChange:o.validateErrors,onFocus:o.resetErrors},null,8,["type","modelValue","class","id","name","placeholder","required","autocomplete","v","aria-invalid","aria-describedby","maxlength","minlength","min","max","disabled","onBlur","onChange","onFocus"]),o.showClearButton?(vue.openBlock(),vue.createBlock(l,{key:2,class:"vs-input__clear-button d-none d-lg-block","data-test":"input-clear-button",variant:"transparent",icon:"close",size:"md","icon-only":"",onClick:n[1]||(n[1]=vue.withModifiers(d=>o.clearInputAndFocus(),["prevent"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.clearButtonText),1)]),_:1})):vue.createCommentVNode("",!0)])}const VsInput=_export_sfc(_sfc_main$13,[["render",_sfc_render$V]]),_sfc_main$12={name:"VsItinerary",status:"prototype",release:"0.0.1",components:{VsContainer,VsRow,VsCol,VsAccordion,VsButton},props:{listViewText:{type:String,default:"List view"},mapViewText:{type:String,default:"Map view"}},data(){return{showMap:!1,isDesktop:!1,withinItineraryMain:!1}},mounted(){const e=document.querySelector(".vds-example");window.addEventListener("resize",this.resizeWidth),e===null?window.addEventListener("scroll",this.onScroll):e.addEventListener("scroll",this.onScroll),this.resizeWidth()},unmounted(){window.removeEventListener("resize",this.resizeWidth)},methods:{resizeWidth(){this.isDesktop=window.innerWidth>=1200,this.showMap=window.innerWidth>=1200},onScroll(){const e=this.$el.getBoundingClientRect(),n=e.top<=(window.innerHeight||document.documentElement.clientHeight),t=e.bottom<=(window.innerHeight||document.documentElement.clientHeight);this.withinItineraryMain=!!(n&&!t)},toggleShowMap(){this.showMap=!this.showMap}}},_hoisted_1$N={class:"vs-itinerary","data-test":"vs-itinerary"},_hoisted_2$B={class:"fixed-bottom"},_hoisted_3$s={class:"d-flex justify-content-center pb-050"},_hoisted_4$n={key:0,class:"vs-itinerary__map-container","data-chromatic":"ignore"};function _sfc_render$U(e,n,t,a,r,o){const u=vue.resolveComponent("VsButton"),l=vue.resolveComponent("VsAccordion"),d=vue.resolveComponent("VsCol"),h=vue.resolveComponent("VsRow"),f=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("section",_hoisted_1$N,[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$B,[vue.createElementVNode("div",_hoisted_3$s,[vue.createVNode(u,{class:"vs-itinerary__map-toggle-button",onClick:n[0]||(n[0]=p=>o.toggleShowMap()),icon:r.showMap?"list":"map","data-test":"vs-itinerary-btn"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.showMap?t.listViewText:t.mapViewText),1)]),_:1},8,["icon"])])],512),[[vue.vShow,!r.isDesktop&&r.withinItineraryMain]]),r.isDesktop||r.showMap?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$n,[vue.renderSlot(e.$slots,"map")])):vue.createCommentVNode("",!0),vue.createVNode(f,{class:"vs-itinerary__outer-container"},{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(d,{cols:"12",class:"p-0 vs-itinerary__accordion-container"},{default:vue.withCtx(()=>[vue.createVNode(l,{"break-point":"lg"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"list")]),_:3})]),_:3})]),_:3})]),_:3})])}const Itinerary=_export_sfc(_sfc_main$12,[["render",_sfc_render$U]]),_sfc_main$11={name:"VsItineraryDay",status:"prototype",release:"0.0.1",components:{VsContainer,VsRow,VsCol,VsIcon,VsAccordionItem},props:{defaultShow:{type:Boolean,default:!0},dayLabel:{type:String,required:!0},dayNumber:{type:String,required:!0},dayTitle:{type:String,required:!0}},data(){return{show:this.defaultShow}}},_hoisted_1$M={class:"vs-itinerary-day"},_hoisted_2$A={class:"vs-itinerary-day__header"},_hoisted_3$r={class:"vs-itinerary-day__title"},_hoisted_4$m={class:"vs-itinerary-day__sub-heading"},_hoisted_5$i=["id"],_hoisted_6$c={class:"vs-itinerary-day__intro-content"},_hoisted_7$a={class:"list-unstyled"};function _sfc_render$T(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsAccordionItem"),d=vue.resolveComponent("VsCol"),h=vue.resolveComponent("VsRow"),f=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$M,[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{"open-by-default":r.show,"control-id":"itinerary-day-"+t.dayNumber,variant:"transparent","item-break-point":"lg",class:"vs-itinerary-day__list-item"},{title:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$A,[vue.createElementVNode("span",_hoisted_3$r,vue.toDisplayString(t.dayLabel)+" "+vue.toDisplayString(t.dayNumber),1),vue.createElementVNode("span",_hoisted_4$m,vue.toDisplayString(t.dayTitle),1)])]),"icon-open":vue.withCtx(()=>[vue.createVNode(u,{name:"chevron",orientation:"down",size:"lg",padding:3,class:"vs-itinerary-day__toggle-button"})]),"icon-closed":vue.withCtx(()=>[vue.createVNode(u,{name:"chevron",size:"lg",padding:3,class:"vs-itinerary-day__toggle-button"})]),default:vue.withCtx(()=>[vue.createElementVNode("div",{id:"dayPanel_"+t.dayNumber,class:"vs-itinerary-day__panel"},[vue.createElementVNode("div",_hoisted_6$c,[vue.renderSlot(e.$slots,"day-transport"),vue.renderSlot(e.$slots,"day-introduction")]),vue.createElementVNode("ul",_hoisted_7$a,[vue.renderSlot(e.$slots,"stops")])],8,_hoisted_5$i)]),_:3},8,["open-by-default","control-id"])]),_:3})]),_:3})]),_:3})])}const ItineraryDay=_export_sfc(_sfc_main$11,[["render",_sfc_render$T]]),_sfc_main$10={name:"VsItineraryStop",status:"prototype",release:"0.0.1",components:{VsHeading,VsIcon},props:{stopLabel:{type:String,required:!0},stopNumber:{type:String,required:!0},stopTitle:{type:String,required:!0}}},_hoisted_1$L={class:"vs-itinerary-stop","data-test":"vs-itinerary-stop"},_hoisted_2$z={class:"border"},_hoisted_3$q={class:"d-flex justify-content-start align-items-top","data-test":"vs-itinerary-stop-heading"},_hoisted_4$l={class:"position-relative"},_hoisted_5$h={class:"map-marker__count","aria-hidden":"true","data-test":"vs-itinerary-stop-marker"},_hoisted_6$b={class:"vs-itinerary-stop__details-container","data-chromatic":"ignore"},_hoisted_7$9={key:0,class:"vs-itinerary-stop__address","data-test":"vs-itinerary-stop-address"};function _sfc_render$S(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$L,[vue.createElementVNode("div",_hoisted_2$z,[vue.createElementVNode("div",_hoisted_3$q,[vue.createElementVNode("div",_hoisted_4$l,[vue.createVNode(u,{name:"map-marker-filled",variant:"tertiary",size:"xl"}),vue.createElementVNode("span",_hoisted_5$h,vue.toDisplayString(t.stopNumber),1)]),vue.createVNode(l,{level:"3","heading-style":"heading-s",class:"vs-itinerary-stop__title ms-100 mt-0"},{"sub-heading":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.stopTitle),1)]),default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.stopLabel)+" ",1)]),_:1})]),vue.renderSlot(e.$slots,"default"),vue.renderSlot(e.$slots,"stop-description"),vue.renderSlot(e.$slots,"stop-time-to-explore"),vue.renderSlot(e.$slots,"stop-tips"),vue.createElementVNode("div",_hoisted_6$b,[e.$slots["stop-address"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_7$9,[vue.renderSlot(e.$slots,"stop-address")])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"stop-info")]),vue.renderSlot(e.$slots,"stop-facilities")]),e.$slots["stop-buttons"]?vue.renderSlot(e.$slots,"stop-buttons",{key:0}):vue.createCommentVNode("",!0)])}const ItineraryStop=_export_sfc(_sfc_main$10,[["render",_sfc_render$S]]),_sfc_main$$={name:"VsItineraryStopInfo",status:"prototype",release:"0.0.1",components:{VsIcon,VsLink},props:{openingHours:{type:[String,Object],required:!1,default:null},openingTimesLink:{type:String,required:!1,default:null},closedText:{type:String,required:!0},closingSoonText:{type:String,required:!0},openText:{type:String,required:!0},usualText:{type:String,required:!0},provisionalText:{type:String,required:!0},temporarilyClosedText:{type:String,required:!0},toText:{type:String,required:!0},andText:{type:String,required:!0}},data(){return{openingMessage:"",currentDayData:{},currentTime:{},dayDataIndex:0,closedLongTerm:!1,ukDate:"",isCurrentTimeframe:!1,parsedHours:{}}},computed:{hoursMessage(){let e="";if(this.closedLongTerm)e=this.temporarilyClosedText;else if(this.currentDayData.length>0)switch(this.openingMessage){case"closed":e=this.closedText;break;case"closing soon":e=this.closingSoonText;break;case"open":e=this.openText;break;default:e=""}return e},provisionalMessage(){let e="";if(typeof this.currentDayData[0]<"u"){const n=this.currentDayData[0].state==="open"?this.openText:this.closedText;this.currentDayData[0].provisional?e=`${this.provisionalText} ${n.toLowerCase()} ${this.currentDayData[0].day}`:e=`${this.usualText} ${n.toLowerCase()} ${this.currentDayData[0].day}`,this.currentDayData[0].state!=="closed"&&typeof this.currentDayData[this.dayDataIndex]<"u"&&typeof this.currentDayData[this.dayDataIndex].startTime<"u"&&typeof this.currentDayData[this.dayDataIndex].endTime<"u"&&this.currentDayData[this.dayDataIndex].startTime!==""&&this.currentDayData[this.dayDataIndex].endTime!==""&&this.currentDayData.forEach((t,a)=>{e+=` ${t.startTime} ${this.toText} ${t.endTime}`,a+1<this.currentDayData.length&&(e+=` ${this.andText} `)})}return e}},created(){this.parseIncomingData(),this.getCurrentTime(),this.isActiveDate(),this.getCurrentHoursInfo()},methods:{parseIncomingData(){if(typeof this.openingHours!="object"){const e=this.openingHours.replace(/'/g,'"');this.parsedHours=JSON.parse(e)}else this.parsedHours=this.openingHours;this.parsedHours.closedLongTerm&&(this.closedLongTerm=!0)},getCurrentTime(){const e=new Date,n=e.toLocaleTimeString("en-GB",{timeZone:"Europe/London"});this.ukDate=e.toLocaleDateString("en-GB",{timeZone:"Europe/London"});const t=n.substring(0,2),a=n.substring(3,6),r=e.getDay();this.currentTime.hours=parseInt(t,10),this.currentTime.minutes=parseInt(a,10),this.currentTime.day=r},isActiveDate(){if(typeof this.parsedHours.period<"u"){const e=`${this.ukDate.substring(3,5)}/${this.ukDate.substring(0,2)}/${this.ukDate.substring(6,10)}`,n=new Date(this.parsedHours.period.startDay),t=new Date(this.parsedHours.period.endDay),a=new Date(e);a<t&&a>n?this.isCurrentTimeframe=!0:this.isCurrentTimeframe=!1}else this.isCurrentTimeframe=!0},getCurrentHoursInfo(){const e=this.returnDayName(this.currentTime.day);if(typeof this.parsedHours.days<"u"){const n=this.parsedHours.days.filter(t=>t.key===e);typeof n<"u"&&(this.currentDayData=n,this.compareTimes(this.currentTime,this.currentDayData,this.dayDataIndex))}},compareTimes(e,n,t){if(typeof n[t].startTime<"u"&&typeof n[t].endTime<"u"&&n[t].startTime.length>0&&n[t].endTime.length>0){const a=n[t].startTime,r=n[t].endTime,o=parseInt(a.substring(0,a.indexOf(":")),10),u=parseInt(a.substring(a.indexOf(":")+1,a.length),10),l=parseInt(r.substring(0,r.indexOf(":")),10),d=parseInt(r.substring(r.indexOf(":")+1,r.length),10),h=this.calculateClosingSoon(l,d);n[t].state==="closed"?this.openingMessage="closed":o>e.hours||o===e.hours&&u>e.minutes||l<e.hours||l===e.hours&&d<e.minutes?this.openingMessage="closed":this.withinClosingSoonTime(e,h)?this.openingMessage="closing soon":this.openingMessage="open",this.openingMessage==="closed"&&n.length>t+1&&(this.dayDataIndex+=1,this.compareTimes(this.currentTime,this.currentDayData,this.dayDataIndex))}else n[t].state==="closed"&&(this.openingMessage="closed")},returnDayName(e){let n="";switch(e){case 1:n="monday";break;case 2:n="tuesday";break;case 3:n="wednesday";break;case 4:n="thursday";break;case 5:n="friday";break;case 6:n="saturday";break;case 7:n="sunday";break;default:n=""}return n},calculateClosingSoon(e,n){let t,a;return n<30?(t=e-1,a=60+(n-30)):(t=e,a=n-30),{hours:t,mins:a}},withinClosingSoonTime(e,n){return!(n.hours>e.hours||n.hours===e.hours&&n.mins>e.minutes)}}},_hoisted_1$K={class:"vs-itinerary-stop-info","data-test":"vs-itinerary-stop-info"},_hoisted_2$y={key:0,class:"itinerary-stop-info__times mb-0","data-test":"vs-itinerary-stop-status"},_hoisted_3$p={key:1,"data-test":"vs-itinerary-stop-hours"},_hoisted_4$k={key:1,"data-test":"vs-stop-link"},_hoisted_5$g={key:2,"data-test":"vs-stop-charge-text"};function _sfc_render$R(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$K,[vue.createVNode(u,{name:"information",class:"vs-address__map-marker me-050"}),vue.createElementVNode("div",null,[r.isCurrentTimeframe?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[o.hoursMessage.length>0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_2$y,[vue.createTextVNode(vue.toDisplayString(o.hoursMessage),1),n[0]||(n[0]=vue.createElementVNode("br",null,null,-1))])):vue.createCommentVNode("",!0),!r.closedLongTerm&&typeof r.currentDayData[0]<"u"&&typeof r.currentDayData[0].state<"u"&&o.provisionalMessage.length>0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_3$p,vue.toDisplayString(o.provisionalMessage)+". ",1)):vue.createCommentVNode("",!0)],64)):vue.createCommentVNode("",!0),e.$slots["stop-link-text"]&&t.openingTimesLink!==null?(vue.openBlock(),vue.createElementBlock("p",_hoisted_4$k,[vue.createVNode(l,{href:t.openingTimesLink},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"stop-link-text")]),_:3},8,["href"])])):vue.createCommentVNode("",!0),e.$slots["stop-charge-text"]?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$g,[vue.renderSlot(e.$slots,"stop-charge-text")])):vue.createCommentVNode("",!0)])])}const ItineraryStopInfo=_export_sfc(_sfc_main$$,[["render",_sfc_render$R]]),_sfc_main$_={name:"VsItineraryTips",status:"prototype",release:"0.0.1",components:{},props:{}},_hoisted_1$J={class:"vs-itinerary-tips position-relative my-175"},_hoisted_2$x={class:"vs-itinerary-tips__text"},_hoisted_3$o={class:"vs-itinerary-tips__svg position-absolute"};function _sfc_render$Q(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$J,[vue.createElementVNode("div",_hoisted_2$x,[vue.renderSlot(e.$slots,"text")]),vue.createElementVNode("div",_hoisted_3$o,[vue.renderSlot(e.$slots,"svg")])])}const ItineraryTips=_export_sfc(_sfc_main$_,[["render",_sfc_render$Q]]),_sfc_main$Z={name:"VsItineraryBorderOverlapWrapper",status:"prototype",release:"0.0.1",components:{},props:{}},_hoisted_1$I={class:"vs-itinerary-border-overlap__wrapper d-flex d-sm-inline-flex flex-column justify-content-start border-left"};function _sfc_render$P(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$I,[vue.renderSlot(e.$slots,"default")])}const ItineraryBorderOverlapWrapper=_export_sfc(_sfc_main$Z,[["render",_sfc_render$P]]),_sfc_main$Y={name:"VsLinkList",status:"prototype",release:"0.0.1",components:{VsHeading},props:{toc:{type:Boolean,default:!1}},computed:{classes(){return{"link-list":!0,"link-list--toc":this.toc}},dataTest(){return this.toc?"link-list--toc":"link-list"},hasHeadingSlot(){return!!this.$slots.heading}}},_hoisted_1$H=["data-test"],_hoisted_2$w={class:"link-list__list"};function _sfc_render$O(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(o.classes),"data-test":o.dataTest},[vue.createElementVNode("nav",null,[o.hasHeadingSlot?(vue.openBlock(),vue.createBlock(u,{key:0,level:"2","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"heading")]),_:3})):vue.createCommentVNode("",!0),vue.createElementVNode("ul",_hoisted_2$w,[vue.renderSlot(e.$slots,"default")])])],10,_hoisted_1$H)}const VsLinkList=_export_sfc(_sfc_main$Y,[["render",_sfc_render$O]]),_sfc_main$X={name:"VsLinkListItem",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,default:null},type:{type:String,default:"default",validator:e=>e.match(/(default|external|internal|download|video)/)},videoId:{type:String,default:null},videoDescriptor:{type:String,default:null}},setup(){return{videoStore:useVideoStore()}},computed:{formattedVideoDuration(){if(this.videoDetails){let e=`${this.videoDetails.videoFullDuration.seconds}`;return e.length===1&&(e=`0${e}`),`${this.videoDetails.videoFullDuration.minutes}:${e}`}return""},videoDetails(){return this.videoStore.videos[this.videoId]},videoLoaded(){return typeof this.videoDetails<"u"&&this.videoDetails.videoDuration>0}},methods:{emitShowModal(){this.videoId&&this.emitter&&this.emitter.emit("showModal",this.videoId,"#videoShow")}}},_hoisted_1$G={class:"link-list-item"};function _sfc_render$N(e,n,t,a,r,o){const u=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$G,[vue.createVNode(u,{href:t.href,type:t.type=="video"?"default":t.type,role:t.type=="video"?"button":null,onClick:o.emitShowModal},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default"),t.type=="video"&&o.videoLoaded?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createTextVNode(" | "+vue.toDisplayString(t.videoDescriptor)+" "+vue.toDisplayString(o.formattedVideoDuration),1)],64)):vue.createCommentVNode("",!0)]),_:3},8,["href","type","role","onClick"])])}const LinkListItem=_export_sfc(_sfc_main$X,[["render",_sfc_render$N]]),_sfc_main$W={name:"VsListicleItem",status:"prototype",release:"0.0.1",components:{VsHeading,VsRow,VsCol},props:{index:{type:String,default:""},title:{type:String,default:""},subTitle:{type:String,default:""}},computed:{hasKeyFacilitiesSlot(){return!!this.$slots["facilities-slot"]}}},_hoisted_1$F={class:"vs-listicle-item border","data-test":"vs-listicle-item"},_hoisted_2$v={class:"d-flex justify-content-start align-items-top border-bottom border-white"},_hoisted_3$n={class:"position-relative"},_hoisted_4$j={class:"count__bg"},_hoisted_5$f={class:"count","aria-hidden":"true"};function _sfc_render$M(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsRow");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$F,[vue.renderSlot(e.$slots,"hippo-details"),vue.createElementVNode("div",_hoisted_2$v,[vue.createElementVNode("div",_hoisted_3$n,[vue.createElementVNode("div",_hoisted_4$j,[vue.createElementVNode("span",_hoisted_5$f,vue.toDisplayString(t.index),1)])]),vue.createVNode(u,{level:"2","heading-style":"heading-s",class:"vs-listicle-item__heading"},{"sub-heading":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.subTitle),1)]),default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title)+" ",1)]),_:1})]),vue.renderSlot(e.$slots,"image-slot"),vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",lg:"8",class:"mt-050 mt-sm-300 mb-100 mt-lg-050 pe-lg-300"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"description-slot")]),_:3}),vue.createVNode(l,{cols:"12",lg:"4",class:vue.normalizeClass(["key-facilities-list mt-lg-400",[o.hasKeyFacilitiesSlot?"has-facilities":""]])},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"facilities-slot")]),_:3},8,["class"])]),_:3})])}const ListicleItem=_export_sfc(_sfc_main$W,[["render",_sfc_render$M]]),_sfc_main$V={name:"VsLoadingSpinner",status:"prototype",release:"0.1.0",props:{variant:{type:String,default:"light",validator:e=>e.match(/(dark|light)/)}},computed:{spinnerClasses(){return this.variant?`vs-loading-spinner--${this.variant}`:""}}};function _sfc_render$L(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-loading-spinner",o.spinnerClasses]),"data-test":"vs-loading-spinner"},n[0]||(n[0]=[vue.createStaticVNode('<div class="vs-loading-spinner__dot"></div><div class="vs-loading-spinner__dot"></div><div class="vs-loading-spinner__dot"></div><div class="vs-loading-spinner__dot"></div><div class="vs-loading-spinner__dot"></div><div class="vs-loading-spinner__dot"></div><div class="vs-loading-spinner__dot"></div>',7)]),2)}const VsLoadingSpinner=_export_sfc(_sfc_main$V,[["render",_sfc_render$L]]);var define_process_env_default$1={};const getEnvValue=e=>define_process_env_default$1[e],_sfc_main$U={name:"VsSelect",status:"prototype",release:"0.0.1",components:{BFormSelect:bootstrapVueNext.BFormSelect},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{options:{type:Array,required:!0},fieldName:{type:String,required:!0},value:{type:String,default:""},validationRules:{type:Object,default(){return{}}},triggerValidate:{type:Boolean,default:!1},invalid:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},countryListUrl:{type:String,default:""},hintText:{type:String,default:""},countries:{type:Boolean,default:!1},genericValidation:{type:Object,default(){return{}}},reAlertErrors:{type:Boolean,default:!1}},emits:["toggleAction","updated"],setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,touched:!1,countryList:[]}},computed:{errorClass(){return this.errorsList.length>0&&this.v$.inputVal&&this.v$.inputVal.$anyDirty||this.invalid?"vs-select__element--error":""},fieldOptions(){return this.countries?this.countryList:this.options}},watch:{inputVal(e){this.emitStatus(),this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e},triggerValidate(){this.manualValidate()}},beforeMount(){this.countries&&axios.get(this.countryListUrl).then(e=>{this.countryList=e.data.countries})},methods:{autocompleteValue(e){let n;switch(e){case"Country":n="country-name";break;default:n="on";break}return n}},validations(){return this.rules}},_hoisted_1$E={class:"vs-select"},_hoisted_2$u=["id"],_hoisted_3$m=["id"],_hoisted_4$i={class:"visually-hidden"},_hoisted_5$e={class:"vs-select__container mt-050"};function _sfc_render$K(e,n,t,a,r,o){const u=vue.resolveComponent("BFormSelect");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$E,[vue.createElementVNode("p",{class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$u),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:0,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,l=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:l,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$i,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors]])),128))],8,_hoisted_3$m)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$e,[vue.createVNode(u,vue.mergeProps({modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=l=>r.inputVal=l)},e.$attrs,{options:o.fieldOptions,name:t.fieldName,id:t.fieldName,onChange:e.emitStatus,onBlur:e.emitStatus,"data-test":"vs-select","data-testid":"vs-select",class:["vs-select__element",o.errorClass],required:e.isRequired,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,autocomplete:o.autocompleteValue(t.fieldName)}),null,16,["modelValue","options","name","id","onChange","onBlur","required","aria-invalid","aria-describedby","class","autocomplete"]),n[1]||(n[1]=vue.createElementVNode("span",{class:"vs-select__focus"},null,-1))])])}const VsSelect=_export_sfc(_sfc_main$U,[["render",_sfc_render$K]]);function _extends(){return _extends=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a])}return e},_extends.apply(this,arguments)}var defer=function e(){var n=!1,t=[],a=function(){if(!n){n=!0;for(var l=0,d=t.length;l<d;l++)t[l]()}},r=function(l){if(!n){t.push(l);return}l()},o={resolved:function(){return n},resolve:a,promise:{then:r}};return o},ownProp=Object.prototype.hasOwnProperty;function createRecaptcha(){var e=defer();return{notify:function(){e.resolve()},wait:function(){return e.promise},render:function(t,a,r){this.wait().then(function(){r(window.grecaptcha.render(t,a))})},reset:function(t){typeof t>"u"||(this.assertLoaded(),this.wait().then(function(){return window.grecaptcha.reset(t)}))},execute:function(t){typeof t>"u"||(this.assertLoaded(),this.wait().then(function(){return window.grecaptcha.execute(t)}))},checkRecaptchaLoad:function(){ownProp.call(window,"grecaptcha")&&ownProp.call(window.grecaptcha,"render")&&this.notify()},assertLoaded:function(){if(!e.resolved())throw new Error("ReCAPTCHA has not been loaded")}}}var recaptcha=createRecaptcha();typeof window<"u"&&(window.vueRecaptchaApiLoaded=recaptcha.notify);var Recaptcha=vue.defineComponent({name:"VueRecaptcha",props:{sitekey:{type:String,required:!0},theme:{type:String},badge:{type:String},type:{type:String},size:{type:String},tabindex:{type:String},loadRecaptchaScript:{type:Boolean,default:!0},recaptchaScriptId:{type:String,default:"__RECAPTCHA_SCRIPT"},recaptchaHost:{type:String,default:"www.google.com"},language:{type:String,default:""}},emits:["render","verify","expired","error"],setup:function e(n,t){var a=t.slots,r=t.emit,o=vue.ref(null),u=vue.ref(null),l=function(p){r("verify",p)},d=function(){r("expired")},h=function(){r("error")};return vue.onMounted(function(){if(recaptcha.checkRecaptchaLoad(),n.loadRecaptchaScript&&!document.getElementById(n.recaptchaScriptId)){var f=document.createElement("script");f.id=n.recaptchaScriptId,f.src="https://"+n.recaptchaHost+"/recaptcha/api.js?onload=vueRecaptchaApiLoaded&render=explicit&hl="+n.language,f.async=!0,f.defer=!0,document.head.appendChild(f)}var p=_extends({},n,{callback:l,"expired-callback":d,"error-callback":h}),m=o.value,g=a.default?m.children[0]:m;recaptcha.render(g,p,function(w){u.value=w,r("render",w)})}),{root:o,widgetId:u,reset:function(){recaptcha.reset(u.value)},execute:function(){recaptcha.execute(u.value)}}},render:function e(){var n=this.$slots.default,t;return typeof n=="function"?t=n():t=n,vue.h("div",{ref:"root"},t)}});const _sfc_main$T={name:"VsRecaptcha",status:"prototype",release:"0.0.1",components:{VueRecaptcha:Recaptcha},props:{siteKey:{type:String,default:""},invalid:{type:Boolean,default:!1},language:{type:String,default:"en"},errorMsg:{type:String,default:""},textareaLabel:{type:String,default:"Does not need any text"},reAlertErrors:{type:Boolean,default:!1}},emits:["verified"],data(){return{response:null,recaptchaSiteKey:""}},created(){this.siteKey?this.recaptchaSiteKey=this.siteKey:this.recaptchaSiteKey=getEnvValue("RECAPTCHA_TOKEN")},methods:{verified(e){this.$emit("verified",e)},render(){const e=document.querySelectorAll('[id^="g-recaptcha-response"]');if(e.length){const n=e[0].parentNode,t=document.querySelector('label[for="g-recaptcha-response"]'),a=document.createElement("label");a.setAttribute("for","g-recaptcha-response"),a.setAttribute("class","visually-hidden"),a.textContent=this.textareaLabel,t||n.insertBefore(a,e[0])}}}},_hoisted_1$D={class:"vs-recaptcha","aria-live":"assertive"},_hoisted_2$t={key:0,class:"error"};function _sfc_render$J(e,n,t,a,r,o){const u=vue.resolveComponent("VueRecaptcha");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$D,[t.invalid&&!t.reAlertErrors?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$t,vue.toDisplayString(t.errorMsg),1)):vue.createCommentVNode("",!0),r.recaptchaSiteKey?(vue.openBlock(),vue.createBlock(u,{key:1,sitekey:r.recaptchaSiteKey,onVerify:o.verified,onRender:o.render,class:vue.normalizeClass(["vs-recaptcha__embed",t.invalid?"vs-recaptcha__embed--error":""]),language:t.language},null,8,["sitekey","onVerify","onRender","class","language"])):vue.createCommentVNode("",!0)])}const VsRecaptcha=_export_sfc(_sfc_main$T,[["render",_sfc_render$J]]),_sfc_main$S={name:"VsTextarea",status:"prototype",release:"0.0.1",components:{BFormTextarea:bootstrapVueNext.BFormTextarea},mixins:[validateFormElementMixin,ariaDescriptionMixin],props:{value:{type:String,default:""},fieldName:{type:String,required:!0},name:{type:String,default:""},autoComplete:{type:Boolean,default:!0},validationRules:{type:Object,default(){return{}}},invalid:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},triggerValidate:{type:Boolean,default:!1},validationMessages:{type:Object,default(){return{}}},genericValidation:{type:Object,default(){return{}}},hintText:{type:String,default:""},placeholder:{type:String,default:""},reAlertErrors:{type:Boolean,default:!1},rows:{type:Number||String,default:2}},setup:()=>({v$:useVuelidate()}),data(){return{inputVal:this.value,clearErrorsOnFocus:!1}},computed:{elementClass(){let e="";return(this.isInvalid||this.errorsList.length)&&(e="vs-input--error"),`${`vs-input--${this.fieldName}`} ${e}`}},watch:{triggerValidate(){this.manualValidate()},inputVal(e){this.$emit("updated",{field:this.fieldName,value:e})},value(e){this.inputVal=e}},methods:{clearInput(){this.inputVal=""},focusOnInput(){this.$nextTick(()=>{this.$refs.input.$el.focus()})},clearInputAndFocus(){this.clearInput(),this.focusOnInput()},autocompleteValue(){return this.autoComplete?"on":"off"},validateErrors(){this.clearErrorsOnFocus=!1,this.emitStatus()},resetErrors(){this.clearErrorsOnFocus=!0}},validations(){return this.rules}},_hoisted_1$C={"data-test":"vs-textarea"},_hoisted_2$s=["id"],_hoisted_3$l=["id"],_hoisted_4$h={class:"visually-hidden"};function _sfc_render$I(e,n,t,a,r,o){const u=vue.resolveComponent("BFormTextarea");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$C,[t.hintText?(vue.openBlock(),vue.createElementBlock("p",{key:0,class:"hint-text",id:`hint-${t.fieldName}`},vue.toDisplayString(t.hintText),9,_hoisted_2$s)):vue.createCommentVNode("",!0),e.errorsList.length||t.invalid?(vue.openBlock(),vue.createElementBlock("div",{key:1,role:"alert","aria-live":"assertive",id:`error-${t.fieldName}`},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.errorsList,l=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("p",{key:l,class:"error mb-0"},[vue.createElementVNode("span",_hoisted_4$h,vue.toDisplayString(t.fieldName),1),vue.createTextVNode(" "+vue.toDisplayString(t.validationMessages[l]||t.genericValidation[l]),1)])),[[vue.vShow,!t.reAlertErrors&&!r.clearErrorsOnFocus]])),128))],8,_hoisted_3$l)):vue.createCommentVNode("",!0),vue.createVNode(u,{ref:"input",class:vue.normalizeClass(["vs-textarea",o.elementClass]),modelValue:r.inputVal,"onUpdate:modelValue":n[0]||(n[0]=l=>r.inputVal=l),id:t.fieldName,name:t.name?t.name:t.fieldName,placeholder:t.placeholder,required:e.isRequired,autocomplete:o.autocompleteValue(t.fieldName),v:r.inputVal,"aria-invalid":e.v$.inputVal&&e.v$.inputVal.$anyError||t.invalid,"aria-describedby":e.ariaDescription,disabled:t.disabled,rows:t.rows,onBlur:o.validateErrors,onChange:o.validateErrors,onFocus:o.resetErrors},null,8,["class","modelValue","id","name","placeholder","required","autocomplete","v","aria-invalid","aria-describedby","disabled","rows","onBlur","onChange","onFocus"])])}const VsTextarea=_export_sfc(_sfc_main$S,[["render",_sfc_render$I]]),_sfc_main$R={name:"VsForm",status:"prototype",release:"0.0.1",components:{VsInput,VsSelect,VsCheckbox,BFormGroup:bootstrapVueNext.BFormGroup,VsRecaptcha,VsButton,VsHeading,VsWarning,VsTextarea},mixins:[dataLayerMixin],props:{isMarketo:{type:Boolean,default:!0},submitUrl:{type:String,default:""},dataUrl:{type:String,required:!0},recaptchaKey:{type:String,default:getEnvValue("RECAPTCHA_TOKEN")},recaptchaTextareaLabel:{type:String,default:"Does not need any text"},isProd:{type:Boolean,default:!1},munchkinId:{type:String,default:""},marketoInstance:{type:String,default:""},language:{type:String,default:"en"},messagingUrl:{type:String,required:!0},countryListUrl:{type:String,default:""},isTest:{type:Boolean,default:!0}},data(){return{submitted:!1,submitting:!1,submitError:!1,formData:{},messagingData:{},form:{},formIsInvalid:!1,showErrorMessage:!1,errorFields:[],triggerValidate:!1,recaptchaVerified:!1,conditionalFields:{},inputVal:"",reAlertErrors:!1,emailFieldName:""}},computed:{formId(){return this.isProd?this.formData.formLiveId:this.formData.formSandboxId},showFormHeading(){return!this.isUndefined(this.getTranslatedContent)&&!this.isUndefined(this.getTranslatedContent("heading"))}},created(){this.getFormData(),this.getGlobalMessaging()},methods:{getFormData(){axios.get(this.dataUrl).then(e=>{this.formData=e.data,this.isMarketo&&window.MktoForms2&&window.MktoForms2.loadForm(this.marketoInstance,this.munchkinId,this.formId),e.data.fields.forEach(n=>{this.form[n.name]="",n.conditional&&(this.conditionalFields[n.name]=!1)}),this.checkConditionalFields()}).catch(()=>{})},getGlobalMessaging(){axios.get(this.messagingUrl).then(e=>{this.messagingData=e.data}).catch(()=>{})},getLanguageObj(){let e;return this.isUndefined(this.formData[this.language])?e={}:e=this.formData[this.language]||void 0,e},getTranslatedLabel(e,n){const t=this.getLanguageObj();let a="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].label)?a=t[e].label:a=this.formData.fields[n].label,this.showOptionalText(this.formData.fields[n])&&!this.isUndefined(this.getMessagingData("optional",this.language))&&(a=`${a} (${this.getMessagingData("optional",this.language)})`),a},getTranslatedLegend(e,n){const t=this.getLanguageObj();let a="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].descriptor)?a=t[e].descriptor:a=this.formData.fields[n].descriptor,a},getTranslatedInfo(e,n){const t=this.getLanguageObj();let a="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].info)?a=t[e].info:a=this.formData.fields[n].info,a},getTranslatedValidation(e,n){const t=this.getLanguageObj();let a;return this.language==="en"&&!this.isUndefined(this.formData.fields[n].validationMessages)?a=this.formData.fields[n].validationMessages:!this.isUndefined(t[e])&&!this.isUndefined(t[e].validationMessages)?a=t[e].validationMessages:this.language==="en"&&(a=this.formData.fields[n].validationMessages),a},getTranslatedOptions(e,n){const t=this.getLanguageObj();let a=[];return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined([e].options)?a=t[e].options:a=this.formData.fields[n].options,typeof a>"u"&&(a=[]),a},getTranslatedHint(e,n){const t=this.getLanguageObj();let a="";return this.language!=="en"&&!this.isUndefined(t[e])&&!this.isUndefined(t[e].hint)?a=t[e].hint:this.isUndefined(this.formData.fields[n].hint)?a="":a=this.formData.fields[n].hint,a},getTranslatedContent(e){let n;const t=this.getLanguageObj();return this.language==="en"&&!this.isUndefined(this.formData.content)&&!this.isUndefined(this.formData.content[e])?n=this.formData.content[e]:!this.isUndefined(t.content)&&!this.isUndefined(t.content[e])?n=t.content[e]:n=this.getMessagingData(e,this.language),n},getMessagingData(e,n){return Object.keys(this.messagingData).length>0?this.messagingData[n][e]:e==="validation"?{}:""},getHiddenFields(){return[...this.$el.querySelectorAll("input[type=hidden]")].map(this.parseBooleanStringsFromInputField).reduce((e,n)=>(e[n.name]=n.value,e),{})},parseBooleanStringsFromInputField(e){let n=e.value;return n==="true"?n=!0:n==="false"&&(n=!1),{name:e.name,value:n}},isUndefined(e){return typeof e>"u"},updateFieldData(e){this.form[e.field]=e.value||"",Array.isArray(e.errors)?this.formIsInvalid=e.errors.length>0:this.formIsInvalid=e.errors!==null,this.manageErrorStatus(e.field,e.errors),this.checkConditionalFields()},manageErrorStatus(e,n){const t=this.errorFields.indexOf(e);t!==-1?(!n||n.length<1)&&this.errorFields.splice(t,1):n&&n.length>0&&this.errorFields.push(e)},showOptionalText(e){return!!(this.isUndefined(e.validation)||this.isUndefined(e.validation.required))},needsLabel(e){return!(e.element==="radio"||e.element==="submit"||e.element==="checkbox")},preSubmit(e){e.preventDefault(),this.submitError=!1;function n(a){return a.validation&&a.validation.required}this.isTest||this.onRecaptchaVerify(),this.triggerValidate=!0;const t=this.formData.fields.filter(n);t.length===0?this.formIsInvalid=!1:t.forEach(a=>{if(!/\S/.test(this.form[a.name])){let r=!0;a.name in this.conditionalFields&&!this.conditionalFields[a.name]&&(r=!1),this.formIsInvalid=r}}),this.showErrorMessage=this.formIsInvalid,Object.entries(this.conditionalFields).forEach(([a,r])=>{r||(this.form[a]="")}),this.errorFields.length>0&&(this.formIsInvalid=!0),!this.formIsInvalid&&this.recaptchaVerified?this.isMarketo?this.marketoSubmit():this.axiosSubmit():(this.showErrorMessage=!0,this.reAlertErrors=!0,setTimeout(()=>{this.reAlertErrors=!1},100))},marketoSubmit(){this.createDataLayerObject("formsDataEvent");const e=window.MktoForms2.allForms()[0];e.addHiddenFields(this.form),window.grecaptcha&&e.addHiddenFields({lastReCAPTCHAUserFingerprint:window.grecaptcha.getResponse(),lastRecaptchaEnabledFormID:this.formId}),e.onSuccess(()=>(this.submitting=!1,this.submitted=!0,this.attachEmail(),!1)),e.onSubmit(()=>{this.submitting=!0}),e.submit()},axiosSubmit(){this.createDataLayerObject("formsDataEvent"),this.submitting=!0;let e="";window.grecaptcha&&(e=window.grecaptcha.getResponse());const n=this.getHiddenFields();axios.post(this.submitUrl,{...this.form,...n,formType:this.formData.content?this.formData.content.formType:"","g-recaptcha-response":e}).then(()=>(this.submitting=!1,this.submitted=!0,this.attachEmail(),!1)).catch(()=>(this.submitError=!0,!1))},attachEmail(){this.formData.fields.forEach(e=>{e.type==="email"&&!this.emailFieldName&&(this.emailFieldName=e.name)}),this.emailFieldName&&typeof exponea<"u"&&exponea.identify({email_id:this.form[this.emailFieldName]},{},()=>{},()=>{},!0)},onRecaptchaVerify(){window.grecaptcha&&typeof window.grecaptcha.getResponse=="function"&&window.grecaptcha.getResponse()!==""?this.recaptchaVerified=!0:this.recaptchaVerified=!1},checkConditionalFields(){Object.keys(this.conditionalFields).forEach(e=>{const n=this.formData.fields.find(a=>a.name===e);let t=!0;Object.keys(n.conditional).forEach(a=>{const r=n.conditional[a];Array.isArray(r)?r.indexOf(this.form[a])===-1&&(t=!1):this.form[a]!==r&&(t=!1),t?this.conditionalFields[e]||(this.conditionalFields[e]=!0,this.$refs[e]&&this.$refs[e][0].manualValidate()):(this.manageErrorStatus(e,[]),this.conditionalFields[e]=!1)})})},conditionalElementClass(e){return this.conditionalFields[e]===!0||typeof this.conditionalFields[e]>"u"?"":"d-none"}}},_hoisted_1$B={class:"vs-form","data-test":"vs-form"},_hoisted_2$r={class:"vs-form__main-heading vs-heading vs-heading--heading-l float-none","data-test":"vs-form__main-heading"},_hoisted_3$k={key:0},_hoisted_4$g={"aria-live":"assertive"},_hoisted_5$d={key:0},_hoisted_6$a=["innerHTML"],_hoisted_7$8={key:2,class:"mt-200"};function _sfc_render$H(e,n,t,a,r,o){const u=vue.resolveComponent("VsInput"),l=vue.resolveComponent("VsSelect"),d=vue.resolveComponent("VsCheckbox"),h=vue.resolveComponent("VsTextarea"),f=vue.resolveComponent("BFormGroup"),p=vue.resolveComponent("VsRecaptcha"),m=vue.resolveComponent("VsButton"),g=vue.resolveComponent("VsWarning"),w=vue.resolveComponent("VsHeading");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$B,[n[1]||(n[1]=vue.createElementVNode("form",{class:"d-none"},null,-1)),r.submitted?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("form",{key:0,onSubmit:n[0]||(n[0]=vue.withModifiers((...S)=>o.preSubmit&&o.preSubmit(...S),["prevent"]))},[vue.createElementVNode("fieldset",null,[vue.createElementVNode("legend",_hoisted_2$r,vue.toDisplayString(o.getTranslatedContent("heading")),1),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.formData.fields,(S,$)=>(vue.openBlock(),vue.createBlock(f,{key:S.name,label:o.needsLabel(S)?o.getTranslatedLabel(S.name,$):"","label-for":o.needsLabel(S)?S.name:"",class:vue.normalizeClass(o.conditionalElementClass(S.name))},{default:vue.withCtx(()=>[!o.isUndefined(S.descriptor)&&S.element==="checkbox"?(vue.openBlock(),vue.createElementBlock("legend",_hoisted_3$k,vue.toDisplayString(o.getTranslatedLegend(S.name,$)),1)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(o.conditionalElementClass(S.name))},[S.element==="input"?(vue.openBlock(),vue.createBlock(u,{key:0,ref_for:!0,ref:S.name,onStatusUpdate:o.updateFieldData,"field-name":S.name,type:S.type,"validation-rules":S.validation||{},"validation-messages":o.getTranslatedValidation(S.name,$)||{},"generic-validation":o.getMessagingData("validation",t.language),invalid:r.errorFields.indexOf(S.name)>-1,"trigger-validate":r.triggerValidate,"hint-text":o.getTranslatedHint(S.name,$),placeholder:S.placeholder||"","re-alert-errors":r.reAlertErrors},null,8,["onStatusUpdate","field-name","type","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","hint-text","placeholder","re-alert-errors"])):vue.createCommentVNode("",!0),S.element==="select"?(vue.openBlock(),vue.createBlock(l,{key:1,options:o.getTranslatedOptions(S.name,$),ref_for:!0,ref:S.name,onStatusUpdate:o.updateFieldData,"field-name":S.name,"validation-rules":S.validation||{},"validation-messages":o.getTranslatedValidation(S.name,$)||{},"generic-validation":o.getMessagingData("validation",t.language),invalid:r.errorFields.indexOf(S.name)>-1,"trigger-validate":r.triggerValidate,"country-list-url":t.countryListUrl,countries:S.countries,"hint-text":o.getTranslatedHint(S.name,$),"re-alert-errors":r.reAlertErrors},null,8,["options","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","country-list-url","countries","hint-text","re-alert-errors"])):vue.createCommentVNode("",!0),S.element==="checkbox"?(vue.openBlock(),vue.createBlock(d,{key:S.name,ref_for:!0,ref:S.name,name:S.name,value:S.value,label:o.getTranslatedLabel(S.name,$),onStatusUpdate:o.updateFieldData,"field-name":S.name,"validation-rules":S.validation||{},"validation-messages":o.getTranslatedValidation(S.name,$)||{},"generic-validation":o.getMessagingData("validation",t.language),invalid:r.errorFields.indexOf(S.name)>-1,"trigger-validate":r.triggerValidate,"optional-text":o.getMessagingData("optional",t.language),"hint-text":o.getTranslatedHint(S.name,$),"info-text":o.getTranslatedInfo(S.name,$),"re-alert-errors":r.reAlertErrors},null,8,["name","value","label","onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","optional-text","hint-text","info-text","re-alert-errors"])):vue.createCommentVNode("",!0),S.element==="textarea"?(vue.openBlock(),vue.createBlock(h,{key:3,ref_for:!0,ref:S.name,onStatusUpdate:o.updateFieldData,"field-name":S.name,"validation-rules":S.validation||{},"validation-messages":o.getTranslatedValidation(S.name,$)||{},"generic-validation":o.getMessagingData("validation",t.language),invalid:r.errorFields.indexOf(S.name)>-1,"trigger-validate":r.triggerValidate,"hint-text":o.getTranslatedHint(S.name,$),placeholder:S.placeholder||"","re-alert-errors":r.reAlertErrors,rows:S.rows||null},null,8,["onStatusUpdate","field-name","validation-rules","validation-messages","generic-validation","invalid","trigger-validate","hint-text","placeholder","re-alert-errors","rows"])):vue.createCommentVNode("",!0)],2)]),_:2},1032,["label","label-for","class"]))),128))]),vue.renderSlot(e.$slots,"hidden-fields"),vue.createVNode(p,{onVerified:o.onRecaptchaVerify,"site-key":t.recaptchaKey,invalid:!r.recaptchaVerified&&r.showErrorMessage,language:t.language,"error-msg":o.getMessagingData("recaptchaError",t.language),class:"mt-300","textarea-label":t.recaptchaTextareaLabel,"re-alert-errors":r.reAlertErrors},null,8,["onVerified","site-key","invalid","language","error-msg","textarea-label","re-alert-errors"]),vue.createVNode(m,{variant:"primary",type:"submit",class:"vs-form__submit mt-300",onClick:o.preSubmit},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.getTranslatedContent("submit")),1)]),_:1},8,["onClick"])],32)),vue.createVNode(g,{class:"vs-form__no-js"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"no-js")]),_:3}),vue.createElementVNode("div",_hoisted_4$g,[r.submitting?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$d,[vue.renderSlot(e.$slots,"submitting")])):vue.createCommentVNode("",!0),r.submitted?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[o.getTranslatedContent("successHeading")?(vue.openBlock(),vue.createBlock(w,{key:0,level:"2","heading-style":"heading-l"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(o.getTranslatedContent("successHeading")),1)]),_:1})):vue.createCommentVNode("",!0),vue.createElementVNode("p",{class:"vs-form__content",innerHTML:o.getTranslatedContent("successContent")},null,8,_hoisted_6$a)],64)):vue.createCommentVNode("",!0),r.submitError?(vue.openBlock(),vue.createElementBlock("p",_hoisted_7$8,[vue.renderSlot(e.$slots,"submit-error")])):vue.createCommentVNode("",!0)])])}const Form=_export_sfc(_sfc_main$R,[["render",_sfc_render$H]]),_sfc_main$Q={name:"VsMegaNavTopMenu",status:"prototype",release:"0.1.0",components:{VsList},inject:["isStatic"]};function _sfc_render$G(e,n,t,a,r,o){const u=vue.resolveComponent("VsList");return vue.openBlock(),vue.createBlock(u,{unstyled:"",class:"vs-mega-nav-top-menu","data-test":"vs-mega-nav-top-menu",role:"menubar"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})}const VsMegaNavTopMenu=_export_sfc(_sfc_main$Q,[["render",_sfc_render$G]]),_sfc_main$P={name:"VsMegaNavMobileMenu",status:"prototype",release:"0.1.0",mixins:[dataLayerMixin],mounted(){this.emitter&&this.emitter.on("navAccordionClick",e=>{this.dataLayerSubmit(e)})},methods:{dataLayerSubmit(e){const n={target:{text:e}};this.createDataLayerObject("menuNavigationDataEvent",n,null)}}},_hoisted_1$A={class:"mega-nav-mobile-menu","data-test":"vs-mega-nav-mobile-menu"};function _sfc_render$F(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$A,[vue.renderSlot(e.$slots,"default")])}const VsMegaNavMobileMenu=_export_sfc(_sfc_main$P,[["render",_sfc_render$F]]),_sfc_main$O={name:"VsSiteSearch",status:"prototype",release:"0.0.1",components:{VsButton},props:{isShowing:{type:Boolean,default:!1}},emits:["toggleAction"],data(){return{showSearchForm:!0}},methods:{toggleAction(){this.showSearchForm=!this.showSearchForm,this.$emit("toggleAction",this.showSearchForm)}}},_hoisted_1$z={class:"visually-hidden-xxl-down"};function _sfc_render$E(e,n,t,a,r,o){const u=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createBlock(u,{"data-test":"vs-site-search",class:vue.normalizeClass(["vs-site-search",t.isShowing?"vs-site-search--active":""]),icon:"search",size:"md",animate:!1,onClick:o.toggleAction,id:"site-search-btn",rounded:!1},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$z,[vue.renderSlot(e.$slots,"default")])]),_:3},8,["class","onClick"])}const VsSiteSearch=_export_sfc(_sfc_main$O,[["render",_sfc_render$E]]),_sfc_main$N={name:"VsSiteSearchForm",status:"prototype",release:"0.0.1",components:{VsIcon,VsInput,VsButton,VsCol,VsRow,VsContainer},props:{isShowing:{type:Boolean,default:!1},labelText:{type:String,default:""},submitButtonText:{type:String,default:""},clearButtonText:{type:String,default:""},closeButtonText:{type:String,default:""}},emits:["toggleAction"],data(){return{searchTerm:"",showSearchForm:!0}},watch:{isShowing(e){e&&this.focusOnInput()}},methods:{focusOnInput(){this.$nextTick(()=>this.$refs.searchInput.$refs.input.focus())},tabFromClose(e){e.shiftKey||this.closeSearchForm()},updateVal(e){this.searchTerm=e.value},onSubmit(e){this.searchTerm===""&&e.preventDefault()},closeSearchForm(){this.$emit("toggleAction",this.showSearchForm)}}},_hoisted_1$y={key:0,class:"vs-site-search-form","data-test":"vs-site-search-form"},_hoisted_2$q={class:"cludo-input-form d-flex align-items-start",role:"search",id:"cludo-search-input"},_hoisted_3$j={class:"d-flex flex-column flex-grow-1 position-relative"},_hoisted_4$f={for:"site-search",class:"vs-site-search-form__label"},_hoisted_5$c={class:"visually-hidden"};function _sfc_render$D(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsInput"),d=vue.resolveComponent("VsButton"),h=vue.resolveComponent("VsCol"),f=vue.resolveComponent("VsRow"),p=vue.resolveComponent("VsContainer");return r.showSearchForm?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$y,[vue.createVNode(p,{fluid:"lg"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(h,{cols:"12"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$q,[vue.createElementVNode("div",_hoisted_3$j,[vue.createElementVNode("label",_hoisted_4$f,[vue.createElementVNode("span",_hoisted_5$c,vue.toDisplayString(t.labelText),1),vue.createVNode(u,{name:"search",size:"xs"})]),vue.createVNode(l,{class:"vs-site-search-form__input cludo-input-form__input",ref:"searchInput",name:"searchrequest",type:"search","field-name":"site-search",placeholder:t.labelText,"auto-complete":!1,onUpdated:o.updateVal},null,8,["placeholder","onUpdated"])]),vue.createVNode(d,{type:"submit",class:"vs-site-search-form__search-button cludo-input-form__search-button",variant:"primary",size:"lg",rounded:!1,onClick:o.closeSearchForm},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.submitButtonText),1)]),_:1},8,["onClick"])])]),_:1})]),_:1})]),_:1}),vue.createVNode(d,{class:"vs-site-search-form__close-button d-none d-lg-block",variant:"transparent",icon:"close",size:"md","icon-only":"",onClick:o.closeSearchForm,onKeydown:vue.withKeys(o.tabFromClose,["tab"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeButtonText),1)]),_:1},8,["onClick","onKeydown"])])):vue.createCommentVNode("",!0)}const VsSiteSearchForm=_export_sfc(_sfc_main$N,[["render",_sfc_render$D]]),clickOutside={mounted(e,n){e.clickOutsideEvent=t=>{e===t.target||e.contains(t.target)||n.value(t)},document.body.addEventListener("click",e.clickOutsideEvent)},unmounted(e){document.body.removeEventListener("click",e.clickOutsideEvent)}},_sfc_main$M={name:"VsMegaNav",status:"prototype",release:"0.1.0",components:{VsCol,VsRow,VsContainer,VsSvgLink,VsMegaNavTopMenu,VsMegaNavMobileMenu,VsSiteSearch,VsSiteSearchForm,VsButton},directives:{clickOutside},mixins:[dataLayerMixin],provide(){return{isStatic:this.isStatic}},props:{href:{type:String,required:!0},menuToggleAltText:{type:String,required:!0},logoAltText:{type:String,default:"VisitScotland Home"},searchButtonText:{type:String,required:!0},searchLabelText:{type:String,default:"What are you looking for?"},searchClearButtonText:{type:String,default:"Clear form"},searchCloseButtonText:{type:String,default:"Close search form"},noSearch:{type:Boolean,default:!1},isStatic:{type:Boolean,default:!1}},data(){return{isOpen:!1,showSearch:!1,tokens:designTokens}},mounted(){this.addTabClose()},methods:{menuToggle(){this.isOpen=!this.isOpen},toggleSearch(){this.showSearch=!this.showSearch},closeMenu(e){const n=document.getElementsByClassName("vs-mega-nav__menu-mobile")[0];this.isOpen&&!n.contains(e.target)&&(this.isOpen=!1)},addTabClose(){document.body.addEventListener("focusin",e=>{this.isOpen&&(e.target.closest("#vs-mega-nav__menu-mobile")||(this.isOpen=!1))})}}},_hoisted_1$x={class:"vs-mega-nav bg-white","aria-label":"main nav","data-test":"vs-mega-nav",id:"main-nav"},_hoisted_2$p={class:"vs-mega-nav__menu-mobile d-lg-none",id:"vs-mega-nav__menu-mobile","data-test":"vs-mega-nav-mobile-container"};function _sfc_render$C(e,n,t,a,r,o){const u=vue.resolveComponent("VsSvgLink"),l=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsMegaNavTopMenu"),h=vue.resolveComponent("VsSiteSearch"),f=vue.resolveComponent("VsButton"),p=vue.resolveComponent("VsMegaNavMobileMenu"),m=vue.resolveComponent("VsRow"),g=vue.resolveComponent("VsContainer"),w=vue.resolveComponent("VsSiteSearchForm"),S=vue.resolveDirective("click-outside");return vue.openBlock(),vue.createElementBlock("div",null,[vue.createElementVNode("nav",_hoisted_1$x,[vue.createVNode(g,{fluid:"lg",class:"h-100"},{default:vue.withCtx(()=>[vue.createVNode(m,{class:"align-items-center h-100 vs-mega-nav__main-row"},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"8",md:"4",lg:"3"},{default:vue.withCtx(()=>[vue.createElementVNode("div",null,[vue.createVNode(u,{class:"vs-mega-nav__logo","data-test":"vs-mega-nav__logo","link-alt-text":t.logoAltText,href:t.href,"svg-fill":r.tokens["vs-color-background-brand"],"svg-path":"visitscotland-logo","data-layer-value":"homePageLogoClickDataEvent"},null,8,["link-alt-text","href","svg-fill"])])]),_:1}),vue.createVNode(l,{cols:"4",md:"6",lg:t.noSearch?9:7,class:"vs-mega-nav__menu d-none d-lg-block"},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"mega-nav-top-menu-items")]),_:3})]),_:3},8,["lg"]),vue.createVNode(l,{cols:"4",md:"8",lg:"2",class:"justify-content-end align-items-center position-static d-flex h-100"},{default:vue.withCtx(()=>[t.noSearch?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(h,{key:0,onToggleAction:o.toggleSearch,"is-showing":r.showSearch},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.searchButtonText),1)]),_:1},8,["onToggleAction","is-showing"])),vue.createElementVNode("div",_hoisted_2$p,[vue.createVNode(f,{class:"vs-mega-nav__mobile-menu-toggle p-0","icon-only":"",icon:r.isOpen?"close":"bars-mobile-menu",variant:"transparent",onClick:n[0]||(n[0]=$=>o.menuToggle()),ref:"toggleButton",rounded:!1,"aria-haspopup":"true"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["icon"]),r.isOpen?vue.withDirectives((vue.openBlock(),vue.createBlock(p,{key:0},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"mega-nav-accordion-items")]),_:3})),[[S,o.closeMenu]]):vue.createCommentVNode("",!0)])]),_:3})]),_:3})]),_:3})]),vue.withDirectives(vue.createVNode(w,{onToggleAction:o.toggleSearch,"is-showing":r.showSearch,"label-text":t.searchLabelText,"submit-button-text":t.searchButtonText,"close-button-text":t.searchCloseButtonText},null,8,["onToggleAction","is-showing","label-text","submit-button-text","close-button-text"]),[[vue.vShow,r.showSearch]])])}const MegaNav=_export_sfc(_sfc_main$M,[["render",_sfc_render$C]]),_sfc_main$L={name:"VsMegaNavDropdown",status:"prototype",release:"0.1.0",components:{BDropdown:bootstrapVueNext.BDropdown,VsCol,VsContainer,VsRow,VsButton},mixins:[dataLayerMixin],props:{menuToggleAltText:{type:String,required:!0}},emits:["menuToggled"],mounted(){this.emitter&&(this.emitter.on("bv::dropdown::show",()=>{this.$emit("menuToggled")}),this.emitter.on("bv::dropdown::hide",()=>{this.$emit("menuToggled")})),window.addEventListener("resize",this.closeMenu)},beforeUnmount(){window.removeEventListener("resize",this.closeMenu)},methods:{closeMenu(){this.$refs.dropdown.hide()},tabFromClose(e){e.shiftKey||this.closeMenu()},dataLayerSubmit(){if(this.$slots["button-content"]()[1]&&this.$slots["button-content"]()[1].children[0]){const n={target:{text:this.$slots["button-content"]()[1].children[0].children}};this.createDataLayerObject("menuNavigationDataEvent",n,null)}}}},_hoisted_1$w={class:"vs-mega-nav-dropdown","data-test":"vs-mega-nav-dropdown",role:"menuitem"},_hoisted_2$o={role:"menuitem"},_hoisted_3$i={class:"dropdown-menu dropdown-menu--fallback overflow-auto",role:"menu"},_hoisted_4$e={role:"menuitem"};function _sfc_render$B(e,n,t,a,r,o){const u=vue.resolveComponent("VsButton"),l=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsRow"),h=vue.resolveComponent("VsContainer"),f=vue.resolveComponent("BDropdown");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$w,[vue.createVNode(f,{variant:"transparent",ref:"dropdown",onShow:n[0]||(n[0]=p=>o.dataLayerSubmit(p))},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),default:vue.withCtx(()=>[vue.createElementVNode("li",_hoisted_2$o,[vue.createVNode(h,{fluid:"lg",class:"px-0 px-lg-075"},{default:vue.withCtx(()=>[vue.createVNode(d,{class:"g-0"},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",class:"position-relative"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"cta-link"),vue.renderSlot(e.$slots,"dropdown-content"),vue.createVNode(u,{class:"vs-mega-nav-dropdown__close-btn d-none d-lg-block position-absolute",icon:"close","icon-only":"",size:"sm",variant:"transparent",onClick:o.closeMenu,onKeydown:vue.withKeys(o.tabFromClose,["tab"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["onClick","onKeydown"])]),_:3})]),_:3})]),_:3})])]),_:3},512),vue.createElementVNode("ul",_hoisted_3$i,[vue.createElementVNode("li",_hoisted_4$e,[vue.createVNode(h,{fluid:"lg",class:"px-0 px-lg-075"},{default:vue.withCtx(()=>[vue.createVNode(d,{class:"g-0"},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",class:"position-relative"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"cta-link"),vue.renderSlot(e.$slots,"dropdown-content"),vue.createVNode(u,{class:"vs-mega-nav-dropdown__close-btn d-none d-lg-block position-absolute",icon:"close","icon-only":"",size:"sm",variant:"transparent",onClick:o.closeMenu},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.menuToggleAltText),1)]),_:1},8,["onClick"])]),_:3})]),_:3})]),_:3})])])])}const VsMegaNavDropdown=_export_sfc(_sfc_main$L,[["render",_sfc_render$B]]),_sfc_main$K={name:"VsMegaNavDropdownContainer",status:"prototype",release:"0.1.0",components:{VsMegaNavDropdown,VsLink,LazyHydrationWrapper:LazyHydrationWrapper$1},props:{href:{type:String,default:""},ctaText:{type:String,default:""},align:{type:String,default:"top",validator:e=>e.match(/(left|bottom|top)/)}},computed:{hasFeaturedItem(){return this.$slots["nav-featured-item"]&&this.$slots["nav-featured-item"]()},hasFeaturedItemLeft(){return this.$slots["nav-featured-item-left"]&&this.$slots["nav-featured-item-left"]()},hasFeaturedEvent(){return this.$slots["nav-featured-event"]&&this.$slots["nav-featured-event"]()},alignmentClass(){return this.align==="bottom"?"vs-mega-nav-dropdown-container__featured--bottom":""}}},_hoisted_1$v={class:"vs-mega-nav-dropdown-container","data-test":"vs-mega-nav-dropdown-container",ref:"menuToggle",role:"presentation"},_hoisted_2$n={class:"vs-mega-nav-dropdown-container__columns-wrapper"},_hoisted_3$h={key:2,class:"vs-mega-nav-dropdown-container__featured-event","data-test":"vs-mega-nav-dropdown-container__featured-event"};function _sfc_render$A(e,n,t,a,r,o){const u=vue.resolveComponent("VsLink"),l=vue.resolveComponent("VsMegaNavDropdown"),d=vue.resolveComponent("LazyHydrationWrapper");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$v,[vue.createVNode(d,{"on-interaction":["focus","click"]},{default:vue.withCtx(()=>[vue.createVNode(l,{"menu-toggle-alt-text":"Toggle Menu"},{"button-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"button-content")]),"cta-link":vue.withCtx(()=>[t.href&&t.ctaText?(vue.openBlock(),vue.createBlock(u,{key:0,href:t.href,"data-test":"vs-mega-nav-dropdown-container__cta-link",class:"vs-mega-nav-dropdown-container__cta-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-mega-nav-dropdown-container__divider"},null,-1))]),"dropdown-content":vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$n,[vue.renderSlot(e.$slots,"dropdown-content"),o.hasFeaturedItemLeft?(vue.openBlock(),vue.createElementBlock("div",{key:0,class:vue.normalizeClass(["vs-mega-nav-dropdown-container__featured vs-mega-nav-dropdown-container__featured--left",o.alignmentClass]),"data-test":"vs-mega-nav-dropdown-container__featured"},[vue.renderSlot(e.$slots,"nav-featured-item-left")],2)):vue.createCommentVNode("",!0),o.hasFeaturedItem?(vue.openBlock(),vue.createElementBlock("div",{key:1,class:vue.normalizeClass(["vs-mega-nav-dropdown-container__featured",o.alignmentClass]),"data-test":"vs-mega-nav-dropdown-container__featured"},[vue.renderSlot(e.$slots,"nav-featured-item")],2)):vue.createCommentVNode("",!0),o.hasFeaturedEvent?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$h,[vue.renderSlot(e.$slots,"nav-featured-event")])):vue.createCommentVNode("",!0)])]),_:3})]),_:3})],512)}const MegaNavDropdownContainer=_export_sfc(_sfc_main$K,[["render",_sfc_render$A]]),_sfc_main$J={name:"VsMegaNavList",status:"prototype",release:"0.1.0",components:{VsList,VsHeading},props:{listHeading:{type:String,default:""}},computed:{listHeadingId(){return this.listHeading?`vsMeganav${this.listHeading.replace(/\W/g,"")}`:""}}},_hoisted_1$u=["aria-label"];function _sfc_render$z(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsList");return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-mega-nav-list","data-test":"vs-mega-nav-list","aria-label":o.listHeadingId},[t.listHeading?(vue.openBlock(),vue.createBlock(u,{key:0,class:"vs-mega-nav-list__heading",id:o.listHeadingId,level:"2","heading-style":"heading-xxs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.listHeading),1)]),_:1},8,["id"])):vue.createCommentVNode("",!0),vue.createVNode(l,{class:"vs-mega-nav-list__list",role:"menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"nav-heading-cta-link"),vue.renderSlot(e.$slots,"nav-list-items")]),_:3})],8,_hoisted_1$u)}const MegaNavList=_export_sfc(_sfc_main$J,[["render",_sfc_render$z]]),_sfc_main$I={name:"VsMegaNavListItem",status:"prototype",release:"0.1.0",components:{VsLink},mixins:[dataLayerMixin],props:{href:{type:String,default:"#"},subheadingLink:{type:Boolean,default:!1}},computed:{navItemClasses(){return{"vs-mega-nav-list-item__heading":this.href==="#","vs-mega-nav-list-item__link":this.href!=="#","vs-mega-nav-list-item__subheading-link":this.subheadingLink}}}};function _sfc_render$y(e,n,t,a,r,o){const u=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(["vs-mega-nav-list-item",o.navItemClasses]),"data-test":"vs-mega-nav-list-item",role:"presentation"},[vue.createVNode(u,{href:t.href,role:"menuitem","data-layer-value":"menuNavigationDataEvent"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])],2)}const MegaNavListItem=_export_sfc(_sfc_main$I,[["render",_sfc_render$y]]),_sfc_main$H={name:"VsMegaNavAccordionItem",status:"prototype",release:"0.1.0",components:{VsAccordionItem,VsLink},props:{controlId:{type:String,required:!0},title:{type:String,required:!0},level:{type:String,required:!0,validator:e=>e.match(/(1|2)/)},ctaLink:{type:String,default:""},ctaText:{type:String,default:""}},computed:{getUniqueId(){let e=this.title.toLowerCase();return e=e.replace(/\s+/g,"-"),`vs-mega-nav-${e}`},accordionItemClasses(){return[`vs-mega-nav-accordion-item--level-${this.level}`]}}};function _sfc_render$x(e,n,t,a,r,o){const u=vue.resolveComponent("VsLink"),l=vue.resolveComponent("VsAccordionItem");return vue.openBlock(),vue.createBlock(l,{class:vue.normalizeClass(["vs-mega-nav-accordion-item",o.accordionItemClasses]),"data-test":"vs-mega-nav-accordion-item","data-unique-id":o.getUniqueId,"control-id":`vs-mega-nav-accordion-item-${o.getUniqueId}-${t.controlId}`},{title:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),default:vue.withCtx(()=>[t.ctaLink&&t.ctaText?(vue.openBlock(),vue.createBlock(u,{key:0,class:"vs-mega-nav-accordion-item__cta-link","data-test":"vs-mega-nav-accordion-item__cta-link",href:t.ctaLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.ctaText),1)]),_:1},8,["href"])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"default")]),_:3},8,["class","data-unique-id","control-id"])}const MegaNavAccordionItem=_export_sfc(_sfc_main$H,[["render",_sfc_render$x]]),_sfc_main$G={name:"VsMegaNavFeaturedItem",status:"prototype",release:"0.1.0",components:{VsStretchedLinkCard},props:{link:{type:String,required:!0},imgUrl:{type:String,required:!0},imgAlt:{type:String,default:""}}};function _sfc_render$w(e,n,t,a,r,o){const u=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createBlock(u,{link:t.link,type:"internal","img-src":t.imgUrl,"img-alt":t.imgAlt,class:"vs-mega-nav-featured-item","data-test":"vs-mega-nav-featured-item","heading-level":"2","heading-style":"heading-xxs"},{"stretched-card-header":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-header")]),"stretched-card-content":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-content")]),"stretched-card-link":vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-featured-item-link")]),_:3},8,["link","img-src","img-alt"])}const MegaNavFeaturedItem=_export_sfc(_sfc_main$G,[["render",_sfc_render$w]]),_sfc_main$F={name:"VsMegaNavFeaturedEvent",status:"prototype",release:"0.1.0",components:{VsStretchedLinkCard},props:{sourceUrl:{type:String,default:""}},data(){return{featuredEvent:null}},mounted(){this.sourceUrl&&this.retrieveFeaturedEvent()},methods:{retrieveFeaturedEvent(){axios.get(this.sourceUrl).then(e=>{e.data.data.products&&e.data.data.products.length&&([this.featuredEvent]=e.data.data.products)}).catch(()=>{this.featuredEvent=null})}}},_hoisted_1$t={key:0,class:"vs-mega-nav-featured-event__date-range"},_hoisted_2$m={class:"vs-mega-nav-featured-event__date-detail"},_hoisted_3$g={class:"vs-mega-nav-featured-event__title"},_hoisted_4$d={key:1,class:"vs-mega-nav-featured-event__location"};function _sfc_render$v(e,n,t,a,r,o){const u=vue.resolveComponent("VsStretchedLinkCard");return r.featuredEvent?(vue.openBlock(),vue.createBlock(u,{key:0,link:r.featuredEvent.productLink.link,type:"internal","img-src":r.featuredEvent.images[0].mediaUrl,"img-alt":r.featuredEvent.name,class:"vs-mega-nav-featured-event","data-test":"vs-mega-nav-featured-event","data-chromatic":"ignore"},{"stretched-card-content":vue.withCtx(()=>[r.featuredEvent&&r.featuredEvent.opening?(vue.openBlock(),vue.createElementBlock("p",_hoisted_1$t,[vue.createTextVNode(vue.toDisplayString(r.featuredEvent.opening.period.label)+" ",1),vue.createElementVNode("span",_hoisted_2$m,vue.toDisplayString(r.featuredEvent.opening.period.startDay),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("p",_hoisted_3$g,vue.toDisplayString(r.featuredEvent.name),1),r.featuredEvent&&r.featuredEvent.address?(vue.openBlock(),vue.createElementBlock("p",_hoisted_4$d,vue.toDisplayString(r.featuredEvent.address.shortAddress),1)):vue.createCommentVNode("",!0)]),"stretched-card-link":vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.featuredEvent.productLink.label),1)]),_:1},8,["link","img-src","img-alt"])):vue.createCommentVNode("",!0)}const MegaNavFeaturedEvent=_export_sfc(_sfc_main$F,[["render",_sfc_render$v]]),_sfc_main$E={name:"VsMegaNavStaticLink",status:"prototype",release:"0.1.0",components:{VsLink},mixins:[dataLayerMixin],props:{href:{type:String,default:"#"},isFullWidth:{type:Boolean,default:!1}}};function _sfc_render$u(e,n,t,a,r,o){const u=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(["vs-mega-nav-static-link",t.isFullWidth?"vs-mega-nav-static-link--full-width":""]),"data-test":"vs-mega-nav-static-link",role:"presentation"},[vue.createVNode(u,{class:"vs-mega-nav-static-link__inner",href:t.href,role:"menuitem","data-layer-value":"menuNavigationDataEvent"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])],2)}const MegaNavStaticLink=_export_sfc(_sfc_main$E,[["render",_sfc_render$u]]),_sfc_main$D={name:"VsMegalinks",status:"prototype",release:"0.0.1",components:{VsContainer,VsRow,VsCol,VsHeading,VsButton,VsRichTextWrapper},provide(){return{noJsMessage:this.noJsMessage,noCookiesMessage:this.noCookiesMessage,cookieLinkText:this.cookieLinkText,theme:this.theme}},props:{title:{type:String,required:!1,default:null},sectionId:{type:String,required:!1,default:null},buttonLink:{type:String,required:!1,default:null},variant:{type:String,required:!1,default:null,validator:e=>e.match(/(multi-image|single-image|link-list)/)},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},noJsMessage:{type:String,default:""},noCookiesMessage:{type:String,default:""},cookieLinkText:{type:String,default:""},headingLevel:{type:Number,default:2,validator:e=>lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},headingStyle:{type:String,default:"heading-xl",validator:e=>e.match(/(display-l|display-m|display-s|display-xs|heading-xxl|heading-xl|heading-l|heading-m|heading-s|heading-xs|heading-xxs|heading-xxxs)/)}},computed:{megalinksClasses(){return[this.variant?`vs-megalinks--${this.variant}`:"",`vs-megalinks--${this.theme}`]}}},_hoisted_1$s={key:0,class:"vs-megalinks__intro","data-test":"vs-megalinks__intro"},_hoisted_2$l={class:"row vs-megalinks__links-wrapper"},_hoisted_3$f={class:"vs-megalinks__button","data-test":"vs-megalinks__button"};function _sfc_render$t(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsRichTextWrapper"),d=vue.resolveComponent("VsCol"),h=vue.resolveComponent("VsRow"),f=vue.resolveComponent("VsButton"),p=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("section",{class:vue.normalizeClass(["vs-megalinks",o.megalinksClasses]),"data-test":"megalinks"},[vue.createVNode(p,{fluid:"lg"},{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(d,{cols:"12",md:"8","offset-md":"2"},{default:vue.withCtx(()=>[t.title?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$s,[vue.createVNode(u,{level:t.headingLevel,"heading-style":t.headingStyle,class:"vs-megalinks__heading","data-test":"vs-megalinks__heading",id:t.sectionId},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1},8,["level","heading-style","id"]),e.$slots["vs-megalinks-intro"]&&e.$slots["vs-megalinks-intro"]()?(vue.openBlock(),vue.createBlock(l,{key:0,class:"vs-megalinks__intro-content",variant:"lead","data-test":"vs-megalinks__intro-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-megalinks-intro")]),_:3})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),_:3})]),_:3}),vue.createElementVNode("div",_hoisted_2$l,[vue.renderSlot(e.$slots,"default")]),t.buttonLink&&t.variant!=="single-image"?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createVNode(d,{cols:"12"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_3$f,[vue.createVNode(f,{href:t.buttonLink},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-megalinks-button")]),_:3},8,["href"])])]),_:3})]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2)}const Megalinks=_export_sfc(_sfc_main$D,[["render",_sfc_render$t]]),_sfc_main$C={name:"VsMegalinkLinkList",status:"prototype",release:"0.0.1",components:{VsStretchedLinkCard,VsRichTextWrapper,VsStretchedLinkPanels},props:{imgSrc:{required:!0,type:String},imgAlt:{required:!1,type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},linkUrl:{type:String,required:!0},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},videoId:{type:String,default:""},videoBtnText:{type:String,default:"Play Video"},errorMessage:{type:String,default:""},businessSupport:{type:Boolean,default:!1},isHomePage:{type:Boolean,default:!1}},computed:{megalinkClass(){let e="";return this.theme&&(e+=`vs-megalink-link-list--${this.theme} `),this.isHomePage||(e+="vs-megalink-link-list--internal-page "),this.businessSupport&&(e+="vs-megalink-link-list--business-support "),e}}},_hoisted_1$r={class:"vs-megalink-link-list__title","data-test":"megalink-link-list__title"};function _sfc_render$s(e,n,t,a,r,o){const u=vue.resolveComponent("VsStretchedLinkPanels"),l=vue.resolveComponent("VsRichTextWrapper"),d=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-megalink-link-list",o.megalinkClass]),"data-test":"vs-megalink-link-list"},[vue.createVNode(d,{link:t.linkUrl,type:t.linkType,class:"vs-megalink-link-list__wrapper","img-src":t.imgSrc,"img-alt":t.imgAlt,theme:t.theme,"video-id":t.videoId,"video-btn-text":t.videoBtnText,"error-message":t.errorMessage,"error-type":"full","business-support":t.businessSupport,"is-home-page":t.isHomePage},vue.createSlots({"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_1$r,[vue.renderSlot(e.$slots,"vs-link-list-heading")])]),"stretched-card-content":vue.withCtx(()=>[vue.createVNode(l,{class:vue.normalizeClass(t.businessSupport?"d-block":"vs-megalink-link-list__content"),"data-test":"megalink-link-list__content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-link-list-content")]),_:3},8,["class"])]),_:2},[t.days&&t.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(u,{days:t.days,transport:t.transport,"transport-name":t.transportName,"days-label":t.daysLabel,"data-test":"vs-itinerary-panels"},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0,t.businessSupport&&!t.isHomePage?{name:"stretched-card-badges",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-link-list-badges")]),key:"1"}:void 0]),1032,["link","type","img-src","img-alt","theme","video-id","video-btn-text","error-message","business-support","is-home-page"])],2)}const MegalinkLinkList=_export_sfc(_sfc_main$C,[["render",_sfc_render$s]]),_sfc_main$B={name:"VsMegalinkMultiImage",status:"prototype",release:"0.0.1",components:{VsStretchedLinkCard,VsRichTextWrapper,VsStretchedLinkPanels},props:{featured:{required:!1,type:Boolean,default:!1},lastFeatured:{required:!1,type:Boolean,default:!1},imgSrc:{required:!0,type:String},imgAlt:{required:!1,type:String,default:""},linkType:{type:String,required:!0,validator:e=>e.match(/(default|external|internal|download|video)/)},linkUrl:{type:String,required:!0},theme:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},days:{type:String,default:""},daysLabel:{type:String,default:"days"},transport:{type:String,default:""},transportName:{type:String,default:""},videoId:{type:String,default:""},videoBtnText:{type:String,default:"Play Video"},errorMessage:{type:String,default:""}},computed:{multiImageClasses(){return[`vs-megalink-multi-image-card--${this.theme}`,{"vs-megalink-multi-image-card--featured":this.featured,"vs-megalink-multi-image-card--featured-last":this.lastFeatured}]}}},_hoisted_1$q={class:"vs-megalink-multi-image"},_hoisted_2$k={class:"vs-megalink-multi-image-card__title","data-test":"megalink-multi-image-card__title"};function _sfc_render$r(e,n,t,a,r,o){const u=vue.resolveComponent("VsStretchedLinkPanels"),l=vue.resolveComponent("VsRichTextWrapper"),d=vue.resolveComponent("VsStretchedLinkCard");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$q,[vue.createVNode(d,{link:t.linkUrl,type:t.linkType,class:vue.normalizeClass(["vs-megalink-multi-image-card p-050",o.multiImageClasses]),"heading-style":t.featured?"heading-m":"heading-xs","img-src":t.imgSrc,"img-alt":t.imgAlt,"data-test":t.featured?"megalink-multi-image-featured":"megalink-multi-image-card",theme:t.theme,"video-id":t.videoId,"video-btn-text":t.videoBtnText,"error-message":t.errorMessage,"warning-size":t.featured?"normal":"small"},vue.createSlots({"stretched-card-header":vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$k,[vue.renderSlot(e.$slots,"vs-multi-image-heading")])]),"stretched-card-content":vue.withCtx(()=>[vue.createVNode(l,{class:"vs-megalink-multi-image-card__content","data-test":"megalink-multi-image-card__content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-multi-image-content")]),_:3})]),_:2},[t.days&&t.transport?{name:"stretched-card-panels",fn:vue.withCtx(()=>[vue.createVNode(u,{days:t.days,transport:t.transport,"transport-name":t.transportName,"days-label":t.daysLabel,"data-test":"vs-itinerary-panels"},null,8,["days","transport","transport-name","days-label"])]),key:"0"}:void 0,e.$slots["vs-multi-image-badges"]&&e.$slots["vs-multi-image-badges"]()?{name:"stretched-card-badges",fn:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-multi-image-badges")]),key:"1"}:void 0]),1032,["link","type","class","heading-style","img-src","img-alt","data-test","theme","video-id","video-btn-text","error-message","warning-size"])])}const MegalinkMultiImage=_export_sfc(_sfc_main$B,[["render",_sfc_render$r]]),_sfc_main$A={name:"VsMegalinkSingleImage",status:"prototype",release:"0.0.1",components:{VsHeading,VsRichTextWrapper,VsButton,VsRow,VsCol,VsLinkList},props:{alternate:{type:Boolean,default:!1},title:{type:String,default:null},buttonLink:{type:String,default:""}},data(){return{negativeMargin:"200px",imageHeight:"400px"}},computed:{singleImageClasses(){return[this.alternate?"vs-megalink-single-image--alternate":""]},cssVars(){return{"--negative-margin":`-${this.negativeMargin}`,"--image-height":`${this.imageHeight}`}}},mounted(){const e=this.$el.querySelector(".vs-image-with-caption");if(e){const n=e.querySelector("img");n.addEventListener("load",()=>{const t=n.clientHeight/2.5/n.clientWidth;this.negativeMargin=`${t*100}%`,this.imageHeight=`${n.clientHeight}px`})}}},_hoisted_1$p={class:"vs-megalink-single-image__image-container"},_hoisted_2$j={class:"vs-megalink-single-image__content","data-test":"megalink-single-image__content"},_hoisted_3$e={class:"vs-megalink-single-image__button"};function _sfc_render$q(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsRichTextWrapper"),d=vue.resolveComponent("VsLinkList"),h=vue.resolveComponent("VsButton"),f=vue.resolveComponent("VsCol"),p=vue.resolveComponent("VsRow");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-megalink-single-image",o.singleImageClasses]),"data-test":"megalink-single-image",style:vue.normalizeStyle(o.cssVars)},[vue.createElementVNode("div",_hoisted_1$p,[vue.renderSlot(e.$slots,"vs-single-image")]),vue.createVNode(p,{class:"vs-megalink-single-image__text-container"},{default:vue.withCtx(()=>[vue.createVNode(f,{cols:"12",sm:"10",lg:"6",class:vue.normalizeClass(["offset-sm-1",t.alternate?"offset-lg-6":"offset-lg-0"])},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$j,[t.title?(vue.openBlock(),vue.createBlock(u,{key:0,level:"3","heading-style":"heading-m",class:"vs-megalink-single-image__title","data-test":"megalink-single-image__title"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(l,{variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-content")]),_:3}),vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-links")]),_:3}),vue.createElementVNode("div",_hoisted_3$e,[t.buttonLink?(vue.openBlock(),vue.createBlock(h,{key:0,href:t.buttonLink,variant:"secondary"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-single-image-button-text")]),_:3},8,["href"])):vue.createCommentVNode("",!0)])])]),_:3},8,["class"])]),_:3})],6)}const MegalinkSingleImage=_export_sfc(_sfc_main$A,[["render",_sfc_render$q]]),_sfc_main$z={name:"VsModal",status:"prototype",release:"0.0.1",components:{VsCol,VsRow,VsContainer,VsButton,BModal:bootstrapVueNext.BModal},props:{modalId:{type:String,required:!0},closeBtnText:{type:String,required:!0},isVideoModal:{type:Boolean,default:!1},autoMount:{type:Boolean,default:!1}},data(){return{show:!1,mounted:this.autoMount}},mounted(){this.mounted=!0,this.emitter&&(this.emitter.on("showModal",e=>this.showModal(e)),this.emitter.on("hideModal",()=>this.hideModal()),this.isVideoModal&&this.emitter.on("showModal",e=>{this.emitter.emit("video-controls",{action:"modal-opened",id:e})}))},methods:{hideModal(){this.emitter&&this.emitter.emit("video-controls",{action:"modal-closed",id:this.modalId}),this.show=!1},showModal(e){e===this.modalId&&(this.show=!0)}}};function _sfc_render$p(e,n,t,a,r,o){const u=vue.resolveComponent("VsButton"),l=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsRow"),h=vue.resolveComponent("VsContainer"),f=vue.resolveComponent("BModal");return r.mounted?(vue.openBlock(),vue.createBlock(f,{key:0,"modal-class":"vs-modal","data-test":"vs-modal",ref:`modal-${t.modalId}`,id:t.modalId,size:"xl","hide-footer":"","hide-header":"",static:t.isVideoModal,modelValue:r.show,"onUpdate:modelValue":n[0]||(n[0]=p=>r.show=p),onHidden:o.hideModal},{default:vue.withCtx(()=>[vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",lg:"1",class:"d-flex justify-content-end align-items-start order-lg-1"},{default:vue.withCtx(()=>[vue.createVNode(u,{class:"vs-modal__close-btn mb-125 mb-lg-0","data-test":"vs-modal__close-btn",variant:"transparent","icon-only":"",icon:"close",onClick:o.hideModal},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeBtnText),1)]),_:1},8,["onClick"])]),_:1}),vue.createVNode(l,{cols:"12",lg:"11"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})]),_:3},8,["id","static","modelValue","onHidden"])):vue.createCommentVNode("",!0)}const Modal=_export_sfc(_sfc_main$z,[["render",_sfc_render$p]]),_sfc_main$y={name:"VsPageIntro",status:"prototype",release:"0.0.1",components:{VsHeading,VsRichTextWrapper,VsContainer,VsRow,VsCol},props:{background:{type:String,default:"light",validator:e=>e.match(/(light|grey)/)},heroIntro:{type:Boolean,default:!1},isItinerary:{type:Boolean,default:!1},fullscreenMobile:{type:Boolean,default:!1},hasToc:{type:Boolean,default:!1}},computed:{introClasses(){return[`vs-page-intro--${this.background}`,this.heroIntro?"vs-page-intro--hero":"",this.fullscreenMobile?"vs-page-intro__fullscreen-mobile-header":""]},contentColProps(){const e={};return this.isItinerary?(e.md="6",e.lg="5",e.xl="6",e["offset-lg"]="1"):this.heroIntro?(e.md="12",e.lg="7",e.xl="8",e["offset-lg"]="1"):this.hasToc?e.md="7":e.md="8",e}}},_hoisted_1$o={key:0,class:"vs-page-intro__fs-mobile-heading-wrapper","data-test":"vs-page-intro__mobile-breadcrumb"},_hoisted_2$i={class:"vs-page-intro__wrapper"},_hoisted_3$d={class:"vs-page-intro__share"},_hoisted_4$c={key:0,class:"list-inline"},_hoisted_5$b={key:0,class:"vs-page-intro__lower py-300","data-test":"vs-page-intro__lower"};function _sfc_render$o(e,n,t,a,r,o){const u=vue.resolveComponent("VsCol"),l=vue.resolveComponent("VsRow"),d=vue.resolveComponent("VsContainer"),h=vue.resolveComponent("VsHeading"),f=vue.resolveComponent("VsRichTextWrapper");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-page-intro",o.introClasses]),"data-test":"vs-page-intro"},[t.fullscreenMobile?(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$o,[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{class:vue.normalizeClass(t.fullscreenMobile?"d-none-md":"")},{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"10",lg:t.heroIntro?"8":"","offset-lg":t.heroIntro?"1":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-page-intro__breadcrumb",t.heroIntro?"mt-lg-100":"mt-lg-200"])},[vue.renderSlot(e.$slots,"vs-intro-breadcrumb")],2)]),_:3},8,["lg","offset-lg"])]),_:3},8,["class"])]),_:3})])):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"vs-intro-hero"),vue.createElementVNode("div",_hoisted_2$i,[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{class:vue.normalizeClass(t.fullscreenMobile?"d-none d-lg-flex":"")},{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"10",lg:t.heroIntro?"8":"","offset-lg":t.heroIntro?"1":""},{default:vue.withCtx(()=>[vue.createElementVNode("div",{class:vue.normalizeClass(["vs-page-intro__breadcrumb",t.heroIntro?"mt-lg-100":"mt-lg-200"])},[vue.renderSlot(e.$slots,"vs-intro-breadcrumb")],2)]),_:3},8,["lg","offset-lg"])]),_:3},8,["class"]),vue.createElementVNode("div",_hoisted_3$d,[vue.renderSlot(e.$slots,"vs-share-button")]),vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(u,{cols:"11",md:t.heroIntro?"11":"10",lg:t.heroIntro?"7":"10",xl:t.heroIntro?"8":"10","offset-lg":t.heroIntro?"1":"0",class:"mt-050"},{default:vue.withCtx(()=>[vue.createVNode(h,{level:"1","heading-style":"display-s",id:"main-heading"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-heading")]),_:3}),vue.renderSlot(e.$slots,"vs-blog-data")]),_:3},8,["md","lg","xl","offset-lg"])]),_:3}),vue.createVNode(l,null,{default:vue.withCtx(()=>[vue.createVNode(u,vue.mergeProps({"data-test":"vs-page-intro__content",cols:"12"},o.contentColProps),{default:vue.withCtx(()=>[vue.createVNode(f,{variant:"lead"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-content")]),_:3}),e.$slots["vs-intro-start-finish"]&&e.$slots["vs-intro-start-finish"]()?(vue.openBlock(),vue.createElementBlock("dl",_hoisted_4$c,[vue.renderSlot(e.$slots,"vs-intro-start-finish")])):vue.createCommentVNode("",!0)]),_:3},16),e.$slots["vs-intro-table-of-contents"]&&e.$slots["vs-intro-table-of-contents"]()?(vue.openBlock(),vue.createBlock(u,{key:0,cols:"12",md:"5"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-intro-table-of-contents")]),_:3})):vue.createCommentVNode("",!0),vue.renderSlot(e.$slots,"vs-intro-summary-box")]),_:3})]),_:3}),e.$slots["vs-intro-lower"]&&e.$slots["vs-intro-lower"]()?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$b,[vue.renderSlot(e.$slots,"vs-intro-lower")])):vue.createCommentVNode("",!0)])],2)}const PageIntro=_export_sfc(_sfc_main$y,[["render",_sfc_render$o]]),_hoisted_1$n={"aria-label":"Pagination",class:"vs-pagination","data-test":"vs-pagination"},_hoisted_2$h={"aria-live":"polite",class:"vs-pagination__count"},_hoisted_3$c={class:"vs-pagination__controls"},_hoisted_4$b={class:"vs-pagination__prev"},_hoisted_5$a={class:"vs-pagination__list"},_hoisted_6$9={key:0},_hoisted_7$7={class:"vs-pagination__next"},limit=7,_sfc_main$x={__name:"VsPagination",props:vue.mergeModels({nextButtonLabel:{type:String,required:!0},numberOfPages:{type:Number,required:!0},pageLabel:{type:String,required:!0},ofLabel:{type:String,required:!0},previousButtonLabel:{type:String,required:!0}},{modelValue:{type:Number,default:1},modelModifiers:{}}),emits:vue.mergeModels(["page-click"],["update:modelValue"]),setup(e,{emit:n}){const t=e,a=n,r=vue.useModel(e,"modelValue"),o=vue.computed(()=>`${t.pageLabel} ${r.value} ${t.ofLabel} ${t.numberOfPages}`),u=h=>({"vs-pagination__item":!0,"vs-pagination__item--active":r.value===h,"vs-pagination__item--ellipses":h==="ellipses"}),l=vue.computed(()=>{if(t.numberOfPages<=limit)return Array.from({length:t.numberOfPages},(p,m)=>m+1);let h=[];const f=Math.floor(limit/2);if(r.value<=f){for(let p=1;p<limit-1;p++)h=[...h,p];h=[...h,"ellipses",t.numberOfPages]}else if(r.value>t.numberOfPages-f){h=[1,"ellipses"];const p=t.numberOfPages-limit+2;for(let m=1;m<limit-1;m++)h=[...h,p+m]}else{const p=r.value-f+1;h=[1,"ellipses"];for(let m=1;m<limit-3;m++)h=[...h,p+m];h=[...h,"ellipses",t.numberOfPages]}return h}),d=(h,f)=>{r.value!==f&&(a("page-click",f),r.value=f)};return vue.watch(()=>t.numberOfPages,()=>{r.value=1}),(h,f)=>(vue.openBlock(),vue.createElementBlock("nav",_hoisted_1$n,[vue.createElementVNode("div",_hoisted_2$h,[vue.createElementVNode("p",null,vue.toDisplayString(o.value),1)]),vue.createElementVNode("div",_hoisted_3$c,[vue.createElementVNode("div",_hoisted_4$b,[vue.createVNode(VsButton,{disabled:r.value===1,icon:"internal-link-back",size:"sm",variant:"transparent",onClick:f[0]||(f[0]=p=>d(p,r.value-1))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.previousButtonLabel),1)]),_:1},8,["disabled"])]),vue.createElementVNode("ul",_hoisted_5$a,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(l.value,(p,m)=>(vue.openBlock(),vue.createElementBlock("li",{class:vue.normalizeClass(u(p)),key:m},[p==="ellipses"?(vue.openBlock(),vue.createElementBlock("span",_hoisted_6$9,"⋯")):(vue.openBlock(),vue.createBlock(VsButton,{key:1,"aria-current":r.value===p?"page":null,"aria-label":`Page ${p}`,size:"sm",onClick:g=>d(g,p)},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(p),1)]),_:2},1032,["aria-current","aria-label","onClick"]))],2))),128))]),vue.createElementVNode("div",_hoisted_7$7,[vue.createVNode(VsButton,{disabled:r.value===t.numberOfPages,icon:"internal-link","icon-position":"right",size:"sm",variant:"transparent",onClick:f[1]||(f[1]=p=>d(p,r.value+1))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.nextButtonLabel),1)]),_:1},8,["disabled"])])])]))}},_sfc_main$w={name:"VsPanel",status:"prototype",release:"0.0.1",components:{BCard:bootstrapVueNext.BCard}},_hoisted_1$m={class:"vs-panel__text"};function _sfc_render$n(e,n,t,a,r,o){const u=vue.resolveComponent("BCard");return vue.openBlock(),vue.createBlock(u,{class:vue.normalizeClass(["vs-panel",[e.$slots["vs-panel__title"]?"":"pt-400"]])},{header:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-panel-title")]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$m,[vue.renderSlot(e.$slots,"default")])]),_:3},8,["class"])}const Panel=_export_sfc(_sfc_main$w,[["render",_sfc_render$n]]);let VS$1;function setWindowObj(){typeof window<"u"?VS$1=typeof window.VS=="object"?window.VS:{}:VS$1={}}function getLabelText(e,n,t){setWindowObj();let a="";return Object.keys(VS$1).length>0&&(typeof t<"u"?a=VS$1.search_config.basic_config.search_module[t][e]:a=VS$1.search_config.basic_config.search_module[e]),a||n}function getProductName(e,n){setWindowObj();const t={};return Object.keys(VS$1).length>0&&Object.keys(VS$1.search_config.basic_config.productTypes).forEach(a=>{const r=VS$1.search_config.basic_config.productTypes[a];t[r.value]=r.text}),t[e]?t[e]:n}function getLocale(){let e=document.documentElement.lang.toLocaleLowerCase().slice(0,2)||"";return e==="en"&&(e=""),e}let VS;typeof window<"u"?VS=typeof window.VS=="object"?window.VS:{}:VS={};function getProductTypes(){if(Object.keys(VS).length<=0)return products;const e=VS.search_config.basic_config.productTypes,n=[];return Object.keys(e).forEach(a=>{n.push({key:e[a].value,text:e[a].text,value:e[a].value})}),n}async function getData(e){try{const{data:n}=await axios.get(e);return n}catch(n){console.error(`Axios error: ${n}`)}}var define_process_env_default={},controls={arrowUpKey:38,arrowDownKey:40,escKey:27,enterKey:13};function isFn(e){return typeof e=="function"}function isControlledProp(e,n){return e[n]!==void 0}function hasKeyCode(e,n){return e===n.keyCode}function getItemIndex(e,n,t){return e!==void 0?e:t.length?t.indexOf(n):-1}function hasOwnProperty(e,n){return Object.prototype.hasOwnProperty.call(e,n)}function requiredProp(e,n){console.error('The property "'+n+'" is required in "'+e+'"')}function getNextNonDisabledIndex(e,n,t,a,r){var o=a(n);if(!o||!o.hasAttribute("disabled"))return n;if(e>0)for(var u=n+1;u<t;u+=1){var l=a(u),d=l.hasAttribute("disabled");if(!d)return u}else for(var h=n-1;h>=0;h-=1)if(!a(h).hasAttribute("disabled"))return h;return r?e>0?getNextNonDisabledIndex(1,0,t,a,!1):getNextNonDisabledIndex(-1,t-1,t,a,!1):-1}function scrollToElement(e,n,t){var a=n.clientHeight,r=n.scrollTop,o=e.offsetHeight,u=e.offsetTop;if(u<r)t===0?n.scrollTop=0:n.scrollTop=u;else{var l=u+o,d=r+a;l>d&&(n.scrollTop=l-a)}}function getProps(e){return Object.assign({},e?{modelValue:{default:null}}:{value:{default:null}},{items:{type:Array,required:!0},itemToString:{type:Function,default:function(n){return n?String(n):""}},stateReducer:{type:Function,default:function(n,t){return t.changes}},getItemId:{type:Function,default:function(t){return"v-"+this.idCounter+"-vue-combo-blocks-item-"+t}},menuId:{type:String,default:""},inputId:{type:String,default:""},labelId:{type:String,default:""},scrollIntoView:{type:Boolean,default:!0},circular:{type:Boolean,default:!0}})}function getInitialData(e,n){return{hovered:null,isOpen:!1,hoveredIndex:-1,selectedItem:e,inputValue:n(e)}}var computed={menuElement:function e(){return document.querySelector("#"+this.computedMenuId)},computedMenuId:function e(){return this.menuId||"v-"+this.idCounter+"-vue-combo-blocks-menu"},computedInputId:function e(){return this.inputId||"v-"+this.idCounter+"-vue-combo-blocks-input"},computedLabelId:function e(){return this.labelId||"v-"+this.idCounter+"-vue-combo-blocks-label"},selectedIndex:function e(){return this.items.indexOf(this.selectedItem)}},InputKeyDownArrowDown="InputKeyDownArrowDown",InputKeyDownArrowUp="InputKeyDownArrowUp",InputKeyDownTab="InputKeyDownTab",InputKeyUpEscape="InputKeyUpEscape",InputKeyUpEnter="InputKeyUpEnter",InputChange="InputChange",InputBlur="InputBlur",MenuMouseLeave="MenuMouseLeave",ItemMouseMove="ItemMouseMove",ItemClick="ItemClick",FunctionOpenMenu="FunctionOpenMenu",FunctionCloseMenu="FunctionCloseMenu",FunctionSelectItem="FunctionSelectItem",FunctionSetInputValue="FunctionSetInputValue",FunctionReset="FunctionReset",ControlledPropUpdatedSelectedItem="ControlledPropUpdatedSelectedItem",sct=Object.freeze({__proto__:null,ControlledPropUpdatedSelectedItem,FunctionCloseMenu,FunctionOpenMenu,FunctionReset,FunctionSelectItem,FunctionSetInputValue,InputBlur,InputChange,InputKeyDownArrowDown,InputKeyDownArrowUp,InputKeyDownTab,InputKeyUpEnter,InputKeyUpEscape,ItemClick,ItemMouseMove,MenuMouseLeave}),inputPropsAndListeners={getInputProps:function e(){return{value:this.inputValue||"","aria-activedescendant":this.hovered?this.getItemId(this.hoveredIndex):"","aria-autocomplete":"list","aria-controls":this.computedMenuId,"aria-labelledby":this.computedLabelId,id:this.computedInputId,autocomplete:"off"}},getInputEventListeners:function e(n){n===void 0&&(n={});var t=n.blur,a=n.input,r=n.keydown,o=n.keyup;return{blur:isFn(t)?t:this.onInputBlur,input:isFn(a)?a:this.onInput,keydown:isFn(r)?r:this.onInputKeyDown,keyup:isFn(o)?o:this.onInputKeyUp}},onInputKeyDown:function e(n){n.key==="Enter"&&this.isOpen?n.preventDefault():hasKeyCode(controls.arrowDownKey,n)&&!this.isOpen?(this.setState({isOpen:!0},InputKeyDownArrowDown),this.moveSelection(n)):this.moveSelection(n)},onInputKeyUp:function e(n){var t=controls.enterKey,a=controls.escKey;if(this.isOpen)if(hasKeyCode(t,n)){if(this.hoveredIndex>=0){n.preventDefault();var r=this.getItemNodeFromIndex(this.hoveredIndex);if(r&&r.hasAttribute("disabled"))return;this.setState({inputValue:this.itemToString(this.hovered),selectedItem:this.hovered,hoveredIndex:-1,hovered:null,isOpen:!1},InputKeyUpEnter)}}else hasKeyCode(a,n)&&this.setState({hoveredIndex:-1,hovered:null,isOpen:!1},InputKeyUpEscape)},onInputBlur:function e(){this.setState({isOpen:!1,inputValue:this.itemToString(this.selectedItem),hovered:null,hoveredIndex:-1},InputBlur)},onInput:function e(n){var t=n.target?n.target.value:n;this.setState({inputValue:t,hovered:null,isOpen:!0},InputChange)}},itemPropsAndListeners={getItemEventListeners:function e(n){var t=this;n===void 0&&(n={});var a=n.index,r=n.disabled,o=n.item;o===void 0&&(o=define_process_env_default.NODE_ENV==="production"?void 0:requiredProp("getItemEventListeners","item"));var u=n.mousemove,l=n.mousedown,d=n.click;return r?{}:{mousemove:isFn(u)?u:function(){return t.onItemMouseMove(a,o)},mousedown:isFn(l)?l:this.onItemMouseDown,click:isFn(d)?d:function(){return t.onItemClick(o)}}},onItemMouseMove:function e(n,t){var a=getItemIndex(n,t,this.items);this.hoveredIndex!==a&&this.setState({hoveredIndex:a,hovered:t},ItemMouseMove)},onItemMouseDown:function e(n){n.preventDefault()},onItemClick:function e(n){this.setState({inputValue:this.itemToString(n),selectedItem:n,isOpen:!1,hoveredIndex:-1,hovered:null},ItemClick)},getItemProps:function e(n){n===void 0&&(n={});var t=n.index,a=n.disabled,r=n.item;r===void 0&&(r=define_process_env_default.NODE_ENV==="production"?void 0:requiredProp("getItemProps","item"));var o=getItemIndex(t,r,this.items),u=this.getItemId(o);return{id:u,disabled:a?!0:void 0,role:"option","aria-selected":this.hoveredIndex===o||this.selectedItem===r?"true":"false"}}},menuPropsAndListeners={getMenuProps:function e(){return{id:this.computedMenuId,role:"listbox","aria-labelledby":this.computedLabelId}},getMenuEventListeners:function e(n){n===void 0&&(n={});var t=n.mouseleave,a=n.mousedown;return{mouseleave:isFn(t)?t:this.onMenuMouseLeave,mousedown:isFn(a)?a:this.onMenuMouseDown}},onMenuMouseLeave:function e(){this.setState({hoveredIndex:-1,hovered:null},MenuMouseLeave)},onMenuMouseDown:function e(n){n.preventDefault()}},methods=Object.assign({},inputPropsAndListeners,itemPropsAndListeners,menuPropsAndListeners,{getComboboxProps:function e(){return{role:"combobox","aria-haspopup":"listbox","aria-owns":this.computedMenuId,"aria-expanded":this.isOpen?"true":"false"}},getLabelProps:function e(){return{id:this.computedLabelId,for:this.computedInputId}},autocompleteText:function e(n){this.setInputValue(this.itemToString(n))},reset:function e(){this.setState({selectedItem:null,inputValue:""},FunctionReset)},select:function e(n){this.setState({inputValue:this.itemToString(n),selectedItem:n,isOpen:!1,hoveredIndex:-1,hovered:null},FunctionSelectItem)},setHoveredItem:function e(n,t,a){n&&n!==this.hovered&&this.$emit("hover",n,a),this.hovered=n,this.hoveredIndex=typeof t=="number"?t:-1},closeMenu:function e(){this.setState({isOpen:!1,hoveredIndex:-1,hovered:null},FunctionCloseMenu)},openMenu:function e(){this.setState({isOpen:!0},FunctionOpenMenu)},getItemNodeFromIndex:function e(n){return this.menuElement.querySelector("#"+this.getItemId(n))},scrollItemIntoView:function e(n){var t=this.getItemNodeFromIndex(n);scrollToElement(t,this.menuElement,n)},moveSelection:function e(n){var t=this,a=this.items.length;if(!(!this.isOpen||!a)){var r=hasKeyCode(controls.arrowDownKey,n),o=hasKeyCode(controls.arrowUpKey,n);if(r||o){n.preventDefault();var u=r*2-1,l=r?0:a-1,d=r?this.hoveredIndex<a-1:this.hoveredIndex>0,h=d?this.hoveredIndex+u:l,f=getNextNonDisabledIndex(u,h,a,this.getItemNodeFromIndex,this.circular);if(!this.circular&&(o&&f>this.hoveredIndex||r&&f<this.hoveredIndex))return;var p=this.items[f];this.scrollIntoView&&this.$nextTick(function(){t.scrollItemIntoView(h)}),this.setState({hoveredIndex:f,hovered:p},r?InputKeyDownArrowDown:InputKeyDownArrowUp)}}},setInputValue:function e(n){this.inputValue!==n&&this.setState({inputValue:n},FunctionSetInputValue)}});function slot(e){return{getInputProps:e.getInputProps,getItemProps:e.getItemProps,getMenuProps:e.getMenuProps,getComboboxProps:e.getComboboxProps,getLabelProps:e.getLabelProps,getInputEventListeners:e.getInputEventListeners,getMenuEventListeners:e.getMenuEventListeners,getItemEventListeners:e.getItemEventListeners,isOpen:e.isOpen,selectedItem:e.selectedItem,hoveredIndex:e.hoveredIndex,inputValue:e.inputValue,reset:e.reset,select:e.select,setInputValue:e.setInputValue,openMenu:e.openMenu,closeMenu:e.closeMenu}}var idCounter=0;function beforeCreate(){this.idCounter=idCounter.toString(),idCounter+=1}var isVue3=!!vue.defineComponent;!isVue3&&define_process_env_default.NODE_ENV!=="production"&&console.error(`Looks like your Vue version is 2.x, but you are using VueComboBlocks for Vue 3.
|
|
362
|
-
Install the correct version for Vue 2.x: "npm i vue-combo-blocks@vue2"`);var VueComboBlocks=vue.defineComponent({name:"vue-combo-blocks",emits:{select:null,"update:modelValue":null,"input-value-change":null,"is-open-change":null,"hovered-index-change":null,"state-change":null,change:null,"show-list":null,focus:null,hover:null},props:getProps(isVue3),watch:{modelValue:function e(n){isControlledProp(this.$props,"modelValue")&&(this.inputValue=this.itemToString(n),this.selectedItem=n)}},beforeCreate,data:function e(){return getInitialData(this.modelValue,this.itemToString)},computed:Object.assign({},computed),methods:Object.assign({},{setState:function e(n,t){var a=this.$data,r=this.stateReducer(a,{changes:n,type:t}),o=hasOwnProperty(r,"selectedItem"),u=r.selectedItem!==a.selectedItem;o&&(this.$emit("select",r.selectedItem,t),u&&this.$emit("update:modelValue",r.selectedItem,t));var l={};for(var d in r)hasOwnProperty(r,d)&&a[d]!==r[d]&&(l[d]=r[d],this[d]=l[d],d==="inputValue"?this.$emit("input-value-change",r[d],t):d==="isOpen"?this.$emit("is-open-change",r[d],t):d==="hoveredIndex"&&this.$emit("hovered-index-change",r[d],t));this.$emit("state-change",l,t)}},methods),render:function e(){return this.$slots.default(slot(this))}});VueComboBlocks.stateChangeTypes=sct;const _hoisted_1$l={"data-test":"vs-autocomplete",class:"vs-autocomplete mb-100"},_hoisted_2$g=["for"],_hoisted_3$b=["placeholder","onClick"],_hoisted_4$a=["name"],_sfc_main$v=vue.defineComponent({__name:"Autocomplete",props:{id:{},label:{},mode:{},multiselectLabel:{},name:{},options:{},placeholder:{},trackBy:{},isTourLocation:{type:Boolean},defaultVal:{}},emits:["changeValue"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref([]),o=vue.ref(t.options),u=m=>m?m[h.value]:"",l=m=>{o.value=t.options.filter(g=>g[h.value].toLowerCase().includes(m.toLowerCase()))},d=m=>{typeof t.trackBy<"u"?a("changeValue",m[t.trackBy]):a("changeValue",m.label)},h=vue.computed(()=>typeof t.multiselectLabel<"u"?t.multiselectLabel:"name"),f=vue.computed(()=>{if(typeof r.value=="string"){if(t.isTourLocation){const m=t.options.find(g=>g.name===r.value);if(typeof m<"u")return m.slug.trim()}return r.value.trim()}else if(typeof r.value=="object"&&Object.keys(r.value).length>0)return u(r.value).trim()}),p=vue.computed(()=>!!(f.value&&f.value.length>0));return vue.watch(()=>r.value,()=>{r.value===null&&(r.value=[])}),vue.onMounted(()=>{typeof t.defaultVal<"u"&&(r.value=t.defaultVal)}),(m,g)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l,[vue.createElementVNode("label",{for:m.id},vue.toDisplayString(m.label),9,_hoisted_2$g),vue.createVNode(vue.unref(VueComboBlocks),{"input-id":m.id,modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=w=>r.value=w),itemToString:u,items:o.value,onInputValueChange:l,onSelect:d},{default:vue.withCtx(({getInputProps:w,getInputEventListeners:S,hoveredIndex:$,isOpen:V,getMenuProps:N,getMenuEventListeners:A,getItemProps:I,getItemEventListeners:O,getComboboxProps:P,openMenu:F})=>[vue.createElementVNode("div",vue.mergeProps(P(),{class:"vs-autocomplete__list-wrapper"}),[vue.createElementVNode("input",vue.mergeProps({class:"vs-input form-control"},w(),vue.toHandlers(S(),!0),{placeholder:m.placeholder,onClick:D=>F()}),null,16,_hoisted_3$b),vue.createVNode(VsIcon,{name:"chevron-down",variant:"primary",size:"sm"}),vue.withDirectives(vue.createElementVNode("ul",vue.mergeProps(N(),vue.toHandlers(A(),!0),{class:"vs-autocomplete__list"}),[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.value,(D,ie)=>(vue.openBlock(),vue.createElementBlock("li",vue.mergeProps({key:D.id,ref_for:!0},I({item:D,index:ie}),vue.toHandlers(O({item:D,index:ie}),!0),{class:["vs-autocomplete__list-item",{"vs-autocomplete__list-item--hover":$===ie}]}),vue.toDisplayString(D[h.value]),17))),128))],16),[[vue.vShow,V]])],16)]),_:1},8,["input-id","modelValue","items"]),p.value?vue.withDirectives((vue.openBlock(),vue.createElementBlock("input",{key:0,type:"hidden",name:m.name,"onUpdate:modelValue":g[1]||(g[1]=w=>f.value=w)},null,8,_hoisted_4$a)),[[vue.vModelText,f.value]]):vue.createCommentVNode("",!0)]))}}),_hoisted_1$k={class:"vs-guest-selector-number-group","data-test":"vs-guest-selector-number-group"},_hoisted_2$f={class:"vs-guest-selector-number-group__label"},_hoisted_3$a={class:"vs-guest-selector-number-group__buttons justify-content-end"},_hoisted_4$9=["disabled"],_hoisted_5$9=["name","disabled"],_sfc_main$u=vue.defineComponent({__name:"GuestSelectorNumberGroup",props:{adultCount:{},childrenCount:{},count:{},disabled:{type:Boolean},id:{},infantCount:{},inputType:{},maxValue:{},minValue:{},name:{},rowName:{},rowLabel:{},unitRemoved:{type:Boolean}},emits:["changeHandler"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(0),o=vue.ref(!1),u=vue.ref(t.name),l=()=>{r.value>t.minValue&&(r.value--,o.value=!0,h("decrease"))},d=()=>{r.value<t.maxValue&&(r.value++,o.value=!0,h("increase"))},h=f=>{a("changeHandler",t.name,r.value,f,t.id)};return vue.onMounted(()=>{o.value||(r.value=t.minValue),r.value<=t.maxValue&&(r.value=t.count),t.unitRemoved&&(t.name.includes("children")?(r.value=t.childrenCount,u.value=t.rowName+"children"):t.name.includes("infants")?(r.value=t.infantCount,u.value=t.rowName+"infants"):(r.value=t.adultCount,u.value=t.rowName+"a"))}),(f,p)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[vue.createElementVNode("span",_hoisted_2$f,vue.toDisplayString(f.rowLabel),1),vue.createElementVNode("div",_hoisted_3$a,[vue.createVNode(VsButton,{class:"vs-guest-selector-number-group__button--remove",size:"sm",icon:"minus","icon-only":"",value:"-",onClick:vue.withModifiers(l,["prevent"]),disabled:r.value===f.minValue},{default:vue.withCtx(()=>p[2]||(p[2]=[vue.createTextVNode(" Remove ")])),_:1},8,["disabled"]),vue.withDirectives(vue.createElementVNode("input",{class:"vs-guest-selector-number-group__input",disabled:f.disabled,pattern:"[0-9]*",readonly:"",tabIndex:"-1",type:"text","onUpdate:modelValue":p[0]||(p[0]=m=>r.value=m)},null,8,_hoisted_4$9),[[vue.vModelText,r.value]]),vue.createVNode(VsButton,{class:"vs-guest-selector-number-group__button--add",size:"sm",icon:"plus","icon-only":"",value:"+",onClick:vue.withModifiers(d,["prevent"]),disabled:r.value===f.maxValue},{default:vue.withCtx(()=>p[3]||(p[3]=[vue.createTextVNode(" Add ")])),_:1},8,["disabled"]),vue.withDirectives(vue.createElementVNode("input",{type:"hidden","onUpdate:modelValue":p[1]||(p[1]=m=>r.value=m),name:(f.unitRemoved&&f.rowName!=="r1",u.value),disabled:f.disabled},null,8,_hoisted_5$9),[[vue.vModelText,r.value]])])]))}}),_hoisted_1$j={class:"vs-guest-selector-row","data-test":"vs-guest-selector-row"},_hoisted_2$e={class:"vs-guest-selector-row__title"},_hoisted_3$9={key:1,class:"c-search__rooms-guests-picker__row"},_hoisted_4$8=["name"],_hoisted_5$8=["name"],_hoisted_6$8=["name"],_sfc_main$t=vue.defineComponent({__name:"GuestSelectorRow",props:{name:{},showRemoveBtn:{type:Boolean},unitLabel:{},unitOptions:{},unitRemoved:{type:Boolean}},emits:["numberChange","onRemove"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(t.unitOptions.numberGroups.adults.count),o=vue.ref(t.unitOptions.numberGroups.children.count),u=vue.ref(t.unitOptions.numberGroups.infants.count),l=getLabelText("remove","Remove","guests_rooms"),d=vue.computed(()=>o.value+u.value),h=(p,m,g,w)=>{let S="";p.includes("children")&&(o.value=m,S="children"),p.includes("infants")&&(u.value=m,S="infants"),(p.includes("r1a")||p.includes("r2a")||p.includes("r3a")||p.includes("r4a")||p.includes("r5a"))&&(r.value=m,S="adults"),a("numberChange",g,S,w)},f=()=>{a("onRemove",u.value+o.value+r.value,u.value+o.value,t.unitOptions.id)};return(p,m)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[vue.createElementVNode("div",_hoisted_2$e,vue.toDisplayString(p.unitLabel),1),p.name!=="r1"?(vue.openBlock(),vue.createBlock(VsButton,{key:0,class:"vs-guest-selector-row__remove",onClick:vue.withModifiers(f,["prevent"]),variant:"transparent",icon:"close","icon-size":"sm","icon-position":"left","icon-only":"",size:"sm"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(l)),1)]),_:1})):vue.createCommentVNode("",!0),p.unitOptions?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(p.unitOptions.numberGroups,(g,w)=>(vue.openBlock(),vue.createBlock(_sfc_main$u,{"adult-count":r.value,"children-count":o.value,count:g.count,disabled:!1,id:p.unitOptions.id,"infant-count":u.value,"input-type":g,key:`${p.name}_${w}`,"max-value":g.maxCount,"min-value":g.minCount,name:g.name,"row-label":g.unitLabel,"row-name":p.name,"unit-removed":p.unitRemoved,onChangeHandler:h},null,8,["adult-count","children-count","count","id","infant-count","input-type","max-value","min-value","name","row-label","row-name","unit-removed"]))),128)),vue.withDirectives(vue.createElementVNode("input",{type:"hidden",name:`${p.name}c`,"onUpdate:modelValue":m[0]||(m[0]=g=>d.value=g)},null,8,_hoisted_4$8),[[vue.vModelText,d.value]])])):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.value,(g,w)=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",key:`${p.name}c${w}`,name:`${p.name}c${w}`,value:"10"},null,8,_hoisted_5$8))),128)),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value,(g,w)=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",key:`${p.name}c${w}`,name:`${p.name}c${w+o.value}`,value:"1"},null,8,_hoisted_6$8))),128))]))}}),_hoisted_1$i={class:"form-group vs-guest-selector","data-test":"vs-guest-selector"},_hoisted_2$d={class:"vs-guest-selector__label"},_hoisted_3$8=["disabled"],_hoisted_4$7={class:"vs-guest-selector__button-row mb-075"},_hoisted_5$7={class:"d-flex justify-content-between"},_hoisted_6$7=["value","disabled"],_hoisted_7$6=["value","disabled"],adultDefaultCount=1,unitLimit=5,_sfc_main$s=vue.defineComponent({__name:"GuestSelector",props:{availability:{type:Boolean}},setup(e){const n=vue.getCurrentInstance(),t=getLabelText("add_room_label","Add a Room","guests_rooms"),a=getLabelText("save_changes","Save","guests_rooms"),r=vue.ref(2),o=getLabelText("guest","Guest","guests_rooms"),u=getLabelText("guests","Guests","guests_rooms"),l=vue.ref(!1),d=vue.ref(0),h=vue.ref([{id:`${n.uid}`,showRemoveBtn:!1,numberGroups:{adults:{minCount:1,maxCount:30,count:2,name:"r1a",unitLabel:getLabelText("adults","Adults","guests_rooms")},children:{minCount:0,maxCount:30,count:0,name:"r1children",unitLabel:getLabelText("children","Children","guests_rooms")},infants:{minCount:0,maxCount:30,count:0,name:"r1infants",unitLabel:getLabelText("infants","Infants","guests_rooms")}}}]),f=vue.ref(1),p=getLabelText("room","Room","guests_rooms"),m=getLabelText("rooms","Rooms","guests_rooms"),g=vue.ref(!1),w=vue.ref(!1),S=()=>{w.value=!1},$=()=>{w.value=!w.value},V=()=>{if(h.value.length<unitLimit){const I={id:`${n.uid}`,showRemoveBtn:!0,numberGroups:{adults:{minCount:1,maxCount:30,count:1,name:"r"+(h.value.length+1)+"a",unitLabel:getLabelText("adults","Adults","guests_rooms")},children:{minCount:0,maxCount:30,count:0,name:"r"+(h.value.length+1)+"children",unitLabel:getLabelText("children","Children","guests_rooms")},infants:{minCount:0,maxCount:30,count:0,name:"r"+(h.value.length+1)+"infants",unitLabel:getLabelText("infants","Infants","guests_rooms")}}};let O=h.value.slice();O.push(I),h.value=O,f.value=O.length,l.value=!0,r.value=r.value+adultDefaultCount}},N=(I,O,P)=>{const F=h.value.findIndex(D=>D.id===P);h.value.splice(F,1),f.value=h.value.length,g.value=!0,r.value=r.value-I,d.value=d.value-O,h.value.length===1&&(l.value=!1)},A=(I,O,P)=>{r.value=I==="increase"?r.value+1:r.value-1,O!=="adults"&&(d.value=I==="increase"?d.value+1:d.value-1);const F=h.value.findIndex(D=>D.id===P);h.value[F].numberGroups[O].count=I==="increase"?h.value[F].numberGroups[O].count+1:h.value[F].numberGroups[O].count-1};return(I,O)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$i,[vue.createElementVNode("span",_hoisted_2$d,vue.toDisplayString(vue.unref(u)),1),vue.createElementVNode("button",{tabIndex:"availability ? '0' : ''",class:"vs-guest-selector__trigger form-control vs-input",onClick:vue.withModifiers($,["prevent"]),disabled:!I.availability},[vue.createElementVNode("span",null,vue.toDisplayString(f.value)+" ",1),vue.createElementVNode("span",null,vue.toDisplayString(f.value>1?vue.unref(m):vue.unref(p)),1),O[0]||(O[0]=vue.createTextVNode(", ")),vue.createElementVNode("span",null,vue.toDisplayString(r.value)+" ",1),vue.createElementVNode("span",null,vue.toDisplayString(r.value>1?vue.unref(u):vue.unref(o)),1)],8,_hoisted_3$8),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-guest-selector__modal",w.value?"vs-guest-selector__modal--visible":""])},[vue.createVNode(VsButton,{class:"align-self-end","data-test":"vs-guest-selector__close-btn",variant:"transparent",icon:"close",size:"md","icon-only":"",onClick:vue.withModifiers(S,["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("close","Close","guests_rooms")),1)]),_:1}),vue.createElementVNode("div",_hoisted_4$7,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(h.value,(P,F)=>(vue.openBlock(),vue.createBlock(_sfc_main$t,{key:P.id,name:"r"+(F+1),"show-remove-btn":l.value,"unit-label":vue.unref(getLabelText)("room","Room","guests_rooms")+" "+(F+1),"unit-options":P,"unit-removed":g.value,onNumberChange:A,onOnRemove:N},null,8,["name","show-remove-btn","unit-label","unit-options","unit-removed"]))),128))]),vue.createElementVNode("div",_hoisted_5$7,[h.value.length<unitLimit?(vue.openBlock(),vue.createBlock(VsButton,{key:0,variant:"secondary",class:"c-search__popup__btn-link me-050 align-self-start",onClick:vue.withModifiers(V,["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(t)),1)]),_:1})):vue.createCommentVNode("",!0),h.value.length<unitLimit?(vue.openBlock(),vue.createBlock(VsButton,{key:1,class:"c-search__popup__btn-link c-search__popup__btn-link--pull-right align-self-end",onClick:vue.withModifiers(S,["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(a)),1)]),_:1})):vue.createCommentVNode("",!0)])],2),h.value?(vue.openBlock(),vue.createElementBlock("input",{key:0,type:"hidden",name:"rooms",id:"room-count",value:f.value,disabled:!I.availability},null,8,_hoisted_6$7)):vue.createCommentVNode("",!0),h.value?(vue.openBlock(),vue.createElementBlock("input",{key:1,type:"hidden",name:"guests",id:"guest-count",value:r.value,disabled:!I.availability},null,8,_hoisted_7$6)):vue.createCommentVNode("",!0)]))}}),_hoisted_1$h={class:"vs-date-input","data-test":"vs-date-input"},_hoisted_2$c=["for"],_hoisted_3$7=["min","name","id"],_sfc_main$r=vue.defineComponent({__name:"DateInput",props:{label:{},id:{},name:{},value:{},minDate:{}},emits:["changeDate"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(t.value),o=vue.computed(()=>new Date().toISOString().split("T")[0]);return vue.watch(()=>t.value,u=>{r.value=u,a("changeDate",r.value)}),(u,l)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$h,[vue.createElementVNode("label",{for:u.id},vue.toDisplayString(u.label),9,_hoisted_2$c),vue.withDirectives(vue.createElementVNode("input",{type:"date",min:typeof u.minDate<"u"&&u.minDate.length>0?u.minDate:o.value,name:u.name,id:u.id,"onUpdate:modelValue":l[0]||(l[0]=d=>r.value=d),onChange:l[1]||(l[1]=d=>u.$emit("changeDate",r.value)),class:"form-control vs-input"},null,40,_hoisted_3$7),[[vue.vModelText,r.value]])]))}}),_hoisted_1$g={class:"vs-date-range","data-test":"vs-date-range"},_hoisted_2$b={class:"row align-items-center"},_hoisted_3$6={class:"col-12 col-sm-5 order-1"},_hoisted_4$6={class:"col-12 col-sm-5 order-2"},_hoisted_5$6={class:"col-12 col-sm-2 order-first order-sm-3 text-sm-right"},_hoisted_6$6={key:1,type:"hidden",name:"refine-date",value:"on"},_hoisted_7$5=["value"],_sfc_main$q=vue.defineComponent({__name:"DateRange",props:{startLabel:{type:String,required:!1,default:"Start Date"},endLabel:{type:String,required:!1,default:"End Date"},defaultDates:{type:Boolean,default:!1},selectedProd:{type:String,required:!0}},emits:["dateUpdated"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(""),o=vue.ref(""),u=vue.computed(()=>!!r.value||!!o.value),l=vue.computed(()=>{const N=new Date(o.value),A=new Date(r.value),I=N.getTime()-A.getTime();return isNaN(I)?1:I/(1e3*3600*24)});function d(){r.value="",o.value=""}const h=N=>{const A=N.toLocaleString("default",{year:"numeric"}),I=N.toLocaleString("default",{month:"2-digit"}),O=N.toLocaleString("default",{day:"2-digit"});return`${A}-${I}-${O}`},f=vue.computed(()=>r.value===""?h(new Date):""),p=vue.computed(()=>{let N;if(r.value!==""){const A=new Date(r.value);A.setDate(A.getDate()+1),N=h(A)}else if(t.defaultDates){const A=new Date,I=new Date(A);I.setDate(I.getDate()+1),N=h(I)}return N}),m=vue.computed(()=>{let N;if(r.value===""){const A=new Date,I=new Date(A);I.setDate(I.getDate()+1),N=h(I)}else{const A=new Date,I=new Date(r.value);A.setDate(I.getDate()+1),N=h(A)}return N});function g(){const N=new Date(r.value);new Date(o.value)<=N&&(o.value="")}function w(){const N=!(!r.value&&!o.value);a("dateUpdated",N)}function S(){w(),g()}const $=vue.computed(()=>t.selectedProd==="acco"?"stay":"isostartdate"),V=vue.computed(()=>t.selectedProd==="acco"?"endDate":"isoenddate");return(N,A)=>(vue.openBlock(),vue.createElementBlock("fieldset",_hoisted_1$g,[vue.createElementVNode("div",_hoisted_2$b,[vue.createElementVNode("div",_hoisted_3$6,[vue.createVNode(_sfc_main$r,{label:e.startLabel,value:e.defaultDates&&r.value===""&&o.value?f.value:r.value,name:$.value,id:"startDate",onChangeDate:A[0]||(A[0]=I=>{r.value=I,S()}),class:"mb-100"},null,8,["label","value","name"])]),vue.createElementVNode("div",_hoisted_4$6,[vue.createVNode(_sfc_main$r,{label:e.endLabel,value:e.defaultDates&&o.value===""&&r.value?p.value:o.value,"min-date":m.value,name:V.value,id:"endDate",onChangeDate:A[1]||(A[1]=I=>{o.value=I,S()}),class:"mb-100"},null,8,["label","value","min-date","name"])]),vue.createElementVNode("div",_hoisted_5$6,[u.value?(vue.openBlock(),vue.createElementBlock("button",{key:0,id:"clearDateRange",type:"button",onClick:d,class:"vs-date-range__clear"},vue.toDisplayString(vue.unref(getLabelText)("reset","Clear")),1)):vue.createCommentVNode("",!0),e.selectedProd!=="acco"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_6$6)):vue.createCommentVNode("",!0),vue.createElementVNode("input",{type:"hidden",name:"nights",value:l.value},null,8,_hoisted_7$5)])])]))}}),_hoisted_1$f={class:"vs-product-search-embed","data-test":"vs-product-search-embed"},_hoisted_2$a={key:0,class:"container"},_hoisted_3$5={class:"row"},_hoisted_4$5={class:"col-12"},_hoisted_5$5=["action"],_hoisted_6$5={class:"form-group product-search__type mb-100"},_hoisted_7$4={for:"prodtypes"},_hoisted_8$3={class:"product-search__in d-none d-md-block mt-100"},_hoisted_9$3={"aria-live":"polite"},_hoisted_10$3=["disabled","value"],_hoisted_11$2=["disabled","value"],_hoisted_12$2=["value"],_hoisted_13$2={key:4,type:"hidden",name:"areaproxdist",value:"10"},_hoisted_14$1={key:5},_hoisted_15$1={key:0,class:"form-group"},_hoisted_16$1={for:"search-keyword"},_hoisted_17$1={key:2},_hoisted_18=["value"],_hoisted_19={key:0},_hoisted_20=["value"],__default__=vue.defineComponent({mixins:[dataLayerMixin],methods:{trackSubmit(e,n){this.createDataLayerObject("productSearchDataEvent",{searchType:e,searchLocation:n.name},this.href)}}}),_sfc_main$p=vue.defineComponent({...__default__,__name:"ProductSearchEmbed",props:{defaultProd:{type:String,default:"acti,attr,reta",validator(e){return["acco","cate","even","tour","acti,attr,reta"].includes(e)}},defaultLocale:{type:String,default:"",validator(e){return["en","fr","de","es","it","nl",""].includes(e)}},defaultLocation:{type:String,default:""}},setup(e){const n=e,t=vue.ref(!1),a=vue.ref(),r=vue.ref([]);vue.ref(null);let o=vue.ref();o.value={id:"",key:"",name:"",type:""};const u=vue.ref("off"),l=vue.ref(!1),d=vue.computed(()=>{const Z=typeof a.value>"u"?"see-do":a.value;return`/info/${paths[Z]}`});let h=vue.ref(!1);const f={en:{localeUrl:""},fr:{localeUrl:"fr-fr"},de:{localeUrl:"de-de"},es:{localeUrl:"es-es"},it:{localeUrl:"it-it"},nl:{localeUrl:"nl-nl"}},p=vue.computed(()=>{let Z=n.defaultLocale.length>0?n.defaultLocale:getLocale();return Z==="en"&&(Z=""),Z}),m=vue.computed(()=>{if(typeof window<"u"){let Z=window.location.origin;return Z.includes("localhost")?"https://www.visitscotland.com":Z}return"https://www.visitscotland.com"}),g=vue.computed(()=>`${m.value}${p.value?"/"+p.value:""}${d.value}/search-results`),S="https://www.visitscotland.com/data/locations"+`?locale=${p.value}`,$=vue.ref([]),V="https://www.visitscotland.com/tms-api/v1/attractions",N=vue.ref([]),A="https://www.visitscotland.com/tms-api/v1/origins?active=1",I=vue.ref([]),O=vue.ref([]),P=()=>{const Z=getProductTypes(),ce=[];Z.forEach(he=>{ce.push(he)}),O.value=ce},F=vue.computed(()=>t.value?[]:O.value.map(ce=>({...ce,text:getProductName(ce.value,ce.text)}))),D=async()=>{const Z=await getData(S);Z&&($.value=Z.data)},ie=async()=>{const Z=await getData(A);Z&&(I.value=Z.data)},de=async()=>{const Z=await getData(V);Z&&(N.value=Z.data)},ne=(Z,ce)=>{ce==="key"?o.value=$.value.find(he=>he.key===Z):ce==="id"?o.value=$.value.find(he=>he.id===Z):o.value=$.value.find(he=>he.name===Z.trim())},fe=Z=>{const ce=Z.value;a.value=ce,ce==="tour"&&(ie(),de())},oe=()=>f[n.defaultLocale]||"",le=()=>{t.value=!0,vue.nextTick(()=>{t.value=!1,n.defaultLocation!==""&&h&&ne(n.defaultLocation,"id")})},Te=vue.computed(()=>a.value!=="cate"&&a.value!=="acti,attr,reta"?"d-lg-flex":"");vue.onBeforeMount(async()=>{window.VS={};const Z=document.createElement("script");Z.async=!1,Z.onload=le,Z.setAttribute("src",`https://www.visitscotland.com/${oe().localeUrl}/data/template/search.js`),document.head.appendChild(Z)}),vue.onMounted(async()=>{D(),h.value=!0,a.value=n.defaultProd,a.value==="tour"&&(ie(),de()),P()});const Ce=Z=>{u.value=Z?"on":"off"},be=Z=>{l.value=!0;const ce=Z.currentTarget;setTimeout(function(){ce.submit()},500)};return(Z,ce)=>{var he,ye,Ee,j,z,W;return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$f,[t.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$a,[vue.createElementVNode("div",_hoisted_3$5,[vue.createElementVNode("div",_hoisted_4$5,[vue.unref(h)?(vue.openBlock(),vue.createElementBlock("form",{key:0,action:g.value,onSubmit:vue.withModifiers(be,["prevent"]),"accept-charset":"UTF-8","data-test":"psw-form"},[vue.createElementVNode("div",_hoisted_6$5,[vue.createElementVNode("label",_hoisted_7$4,vue.toDisplayString(vue.unref(getLabelText)("search_for","I'm looking for")),1),vue.createElementVNode("div",{class:vue.normalizeClass(Te.value)},[vue.createVNode(VsSelect,{options:F.value,value:e.defaultProd,onUpdated:ce[0]||(ce[0]=_e=>fe(_e)),"field-name":"prodtypes"},null,8,["options","value"]),vue.createElementVNode("div",_hoisted_8$3,vue.toDisplayString(vue.unref(getLabelText)("in","in")),1)],2)]),vue.createElementVNode("div",_hoisted_9$3,[a.value!="tour"&&vue.unref(h)?(vue.openBlock(),vue.createBlock(_sfc_main$v,{key:0,id:"search-location",label:vue.unref(getLabelText)("location","Location"),"multiselect-label":"name",name:"loc",options:$.value,placeholder:vue.unref(getLabelText)("location_placeholder","Enter a location"),"track-by":"name",onChangeValue:ce[1]||(ce[1]=_e=>ne(_e)),"default-val":vue.unref(o),"data-chromatic":"ignore"},null,8,["label","options","placeholder","default-val"])):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:1,type:"hidden",name:"locplace",disabled:((he=vue.unref(o))==null?void 0:he.type)==="POLYGON",value:((ye=vue.unref(o))==null?void 0:ye.key)||""},null,8,_hoisted_10$3)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:2,type:"hidden",name:"locpoly",disabled:((Ee=vue.unref(o))==null?void 0:Ee.type)!=="POLYGON",value:((j=vue.unref(o))==null?void 0:j.key)||""},null,8,_hoisted_11$2)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:3,type:"hidden",name:"locprox",value:((z=vue.unref(o))==null?void 0:z.type)==="DISTRICT"?1:0},null,8,_hoisted_12$2)):vue.createCommentVNode("",!0),a.value!=="tour"&&((W=vue.unref(o))==null?void 0:W.type)==="DISTRICT"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_13$2)):vue.createCommentVNode("",!0),a.value==="even"||a.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$1,[vue.createVNode(_sfc_main$q,{"start-label":vue.unref(getLabelText)("startdate","Start Date","dates"),"end-label":vue.unref(getLabelText)("enddate","End Date","dates"),onDateUpdated:ce[2]||(ce[2]=_e=>Ce(_e)),"default-dates":l.value,"selected-prod":a.value},null,8,["start-label","end-label","default-dates","selected-prod"]),a.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15$1,[vue.createElementVNode("label",_hoisted_16$1,vue.toDisplayString(vue.unref(getLabelText)("keywords","Keywords")),1),vue.createVNode(VsInput,{"field-name":"search-keyword",placeholder:vue.unref(getLabelText)("events_keywords_placeholder","Highland games, music festivals etc"),name:"name"},null,8,["placeholder"])])):vue.createCommentVNode("",!0),a.value==="acco"?(vue.openBlock(),vue.createBlock(_sfc_main$s,{key:1,availability:!0,id:"guest-selector"})):vue.createCommentVNode("",!0),a.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_17$1,[vue.createElementVNode("input",{hidden:"true",name:"avail",value:u.value},null,8,_hoisted_18)])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),a.value==="tour"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_19,[vue.createVNode(_sfc_main$v,{id:"tour-origin",label:vue.unref(getLabelText)("tour_origin","Starting point"),"multiselect-label":"name",name:"origins[]",options:I.value,placeholder:vue.unref(getLabelText)("tour_origin_placeholder","Location"),"track-by":"name","is-tour-location":!0},null,8,["label","options","placeholder"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.value,_e=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",name:"attractions[]",value:_e},null,8,_hoisted_20))),256)),vue.createVNode(_sfc_main$v,{id:"tour-month",label:vue.unref(getLabelText)("tour_month","I'm traveling in"),"multiselect-label":"label",name:"when",options:vue.unref(getLabelText)("months",vue.unref(monthsEnglish)),placeholder:vue.unref(getLabelText)("tour_month_placeholder","Select month"),"track-by":"value"},null,8,["label","options","placeholder"])])):vue.createCommentVNode("",!0),vue.createVNode(VsButton,{class:"mt-150","data-test":"psw-submit",type:"submit",onClick:ce[3]||(ce[3]=_e=>Z.trackSubmit(a.value,typeof vue.unref(o)>"u"?"":vue.unref(o)))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("search","Search")),1)]),_:1})],40,_hoisted_5$5)):vue.createCommentVNode("",!0),vue.unref(h)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(VsLoadingSpinner,{key:1,variant:"dark"}))])])]))])}}}),_sfc_main$o={name:"VsProductSearch",status:"prototype",release:"0.0.1",components:{VsContainer,VsRow,VsCol,VsProductSearchEmbed:_sfc_main$p,VsHeading,VsWarning},props:{noJsMessage:{type:String,required:!0},defaultLocation:{type:String,default:""},defaultProd:{type:String,default:"acti,attr,reta"},defaultLocale:{type:String,default:"en"}}},_hoisted_1$e={class:"vs-product-search","data-test":"vs-product-search"},_hoisted_2$9={class:"vs-product-search__intro"};function _sfc_render$m(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsProductSearchEmbed"),h=vue.resolveComponent("VsWarning"),f=vue.resolveComponent("VsRow"),p=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$e,[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-product-search__col vs-product-search__col--left",xl:"7"},{default:vue.withCtx(()=>[vue.createVNode(u,{level:"2",headingStyle:"heading-l",class:"vs-product-search__heading mt-0"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-module-heading")]),_:3}),vue.createElementVNode("div",_hoisted_2$9,[vue.renderSlot(e.$slots,"vs-module-intro")])]),_:3}),vue.createVNode(l,{class:"vs-product-search__col vs-product-search__col--right",xl:"5"},{default:vue.withCtx(()=>[vue.createVNode(d,{class:"vs-product-search__widget","default-location":t.defaultLocation,"default-locale":t.defaultLocale,"default-prod":t.defaultProd},null,8,["default-location","default-locale","default-prod"]),vue.createVNode(h,{class:"vs-product-search__no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})]),_:1})]),_:3})]),_:3})])}const ProductSearch=_export_sfc(_sfc_main$o,[["render",_sfc_render$m]]),_sfc_main$n={name:"VsQuote",status:"prototype",release:"0.0.1",props:{variant:{type:String,default:"narrow",validator:e=>e.match(/(narrow|wide)/)},withBorder:{type:Boolean,default:!1}},computed:{hasAuthorName(){return!!this.$slots["quote-author-name"]},hasAuthorTitle(){return!!this.$slots["quote-author-title"]},hasAuthorImage(){return!!this.$slots["quote-image"]},variantClass(){return[{"vs-quote--narrow":this.variant==="narrow","vs-quote--wide":this.variant==="wide","vs-quote--with-border":this.withBorder}]}}},_hoisted_1$d={key:0,class:"vs-quote__speech-container"},_hoisted_2$8={key:1,class:"vs-quote__author-container"},_hoisted_3$4={class:"vs-quote__content-container"},_hoisted_4$4={class:"vs-quote__content"},_hoisted_5$4={key:0,class:"vs-quote__author-name"},_hoisted_6$4={key:2,class:"vs-quote__quote-link"};function _sfc_render$l(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-quote",o.variantClass]),"data-test":"vs-quote"},[t.withBorder?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$d,n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-quote__speech-mark"},"“",-1)]))),o.hasAuthorImage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,[vue.renderSlot(e.$slots,"quote-image")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$4,[vue.createElementVNode("div",_hoisted_4$4,[vue.renderSlot(e.$slots,"quote-content")]),o.hasAuthorName?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$4,[vue.renderSlot(e.$slots,"quote-author-name")])):vue.createCommentVNode("",!0),o.hasAuthorTitle?(vue.openBlock(),vue.createElementBlock("p",{key:1,class:vue.normalizeClass(["vs-quote__author-title",t.variant==="narrow"?"vs-quote__author-title--narrow-margin":null])},[vue.renderSlot(e.$slots,"quote-author-title")],2)):vue.createCommentVNode("",!0),e.$slots["quote-link"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$4,[vue.renderSlot(e.$slots,"quote-link",{if:"$slots['quote-link']"})])):vue.createCommentVNode("",!0)])],2)}const Quote=_export_sfc(_sfc_main$n,[["render",_sfc_render$l]]),_sfc_main$m={name:"VsTable",status:"prototype",release:"0.0.1",components:{BTableSimple:bootstrapVueNext.BTableSimple},props:{tableCaption:{type:String,required:!0},tableType:{type:String,default:"responsive",validator:e=>e.match(/(responsive|stacked)/)}},computed:{responsive(){return this.tableType==="responsive"},stacked(){return this.tableType==="stacked"}}},_hoisted_1$c={class:"visually-hidden","data-test":"vs-table__caption"};function _sfc_render$k(e,n,t,a,r,o){const u=vue.resolveComponent("BTableSimple");return vue.openBlock(),vue.createBlock(u,{class:"vs-table","data-test":"vs-table",small:"","caption-top":"",responsive:o.responsive,stacked:o.stacked},{default:vue.withCtx(()=>[vue.createElementVNode("caption",_hoisted_1$c,vue.toDisplayString(t.tableCaption),1),vue.renderSlot(e.$slots,"default")]),_:3},8,["responsive","stacked"])}const VsTable=_export_sfc(_sfc_main$m,[["render",_sfc_render$k]]),_sfc_main$l={name:"VsTableHead",status:"prototype",release:"0.0.1",components:{BThead:bootstrapVueNext.BThead}};function _sfc_render$j(e,n,t,a,r,o){const u=vue.resolveComponent("BThead");return vue.openBlock(),vue.createBlock(u,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableHead=_export_sfc(_sfc_main$l,[["render",_sfc_render$j]]),_sfc_main$k={name:"VsTableHeaderCell",status:"prototype",release:"0.0.1",components:{BTh:bootstrapVueNext.BTh},props:{stackedHeading:{type:String,default:void 0}}};function _sfc_render$i(e,n,t,a,r,o){const u=vue.resolveComponent("BTh");return vue.openBlock(),vue.createBlock(u,vue.mergeProps({"data-test":"vs-table-header-cell","stacked-heading":t.stackedHeading},e.$attrs),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableHeaderCell=_export_sfc(_sfc_main$k,[["render",_sfc_render$i]]),_sfc_main$j={name:"VsTableBody",status:"prototype",release:"0.0.1",components:{BTbody:bootstrapVueNext.BTbody}};function _sfc_render$h(e,n,t,a,r,o){const u=vue.resolveComponent("BTbody");return vue.openBlock(),vue.createBlock(u,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableBody=_export_sfc(_sfc_main$j,[["render",_sfc_render$h]]),_sfc_main$i={name:"VsTableRow",status:"prototype",release:"0.0.1",components:{BTr:bootstrapVueNext.BTr}};function _sfc_render$g(e,n,t,a,r,o){const u=vue.resolveComponent("BTr");return vue.openBlock(),vue.createBlock(u,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableRow=_export_sfc(_sfc_main$i,[["render",_sfc_render$g]]),_sfc_main$h={name:"VsTableDataCell",status:"prototype",release:"0.0.1",components:{BTd:bootstrapVueNext.BTd},props:{stackedHeading:{type:String,default:null}}};function _sfc_render$f(e,n,t,a,r,o){const u=vue.resolveComponent("BTd");return vue.openBlock(),vue.createBlock(u,vue.mergeProps({"data-test":"vs-table-data-cell","stacked-heading":t.stackedHeading},e.$attrs,{scope:null}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableDataCell=_export_sfc(_sfc_main$h,[["render",_sfc_render$f]]),_sfc_main$g={name:"VsTableFooter",status:"prototype",release:"0.0.1",components:{BTfoot:bootstrapVueNext.BTfoot}};function _sfc_render$e(e,n,t,a,r,o){const u=vue.resolveComponent("BTfoot");return vue.openBlock(),vue.createBlock(u,vue.mergeProps(e.$attrs,{role:"rowgroup"}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableFooter=_export_sfc(_sfc_main$g,[["render",_sfc_render$e]]),_sfc_main$f={name:"VsSkiScotlandCard",status:"prototype",release:"0.0.1",components:{VsImg,VsHeading,VsIcon,VsWarning,VsLoadingSpinner,VsButton,VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter},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(){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(){this.centreInfoUrl&&this.retrieveCentreInfo(),this.jsDisabled=!1},methods:{retrieveCentreInfo(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);axios.get(this.centreInfoUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,o)=>r===o.findIndex(u=>u.name===a.name));n.runs=t}return n},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].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;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++)switch(e[n].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;break}this.runs=e}}},_hoisted_1$b={class:"card vs-ski-scotland-card","data-test":"vs-ski-scotland-card"},_hoisted_2$7={class:"vs-ski-scotland-card__img-container"},_hoisted_3$3={class:"card-body"},_hoisted_4$3={key:0,class:"text-center pb-200 position-relative"},_hoisted_5$3={"data-test":"vs-ski__status-label"},_hoisted_6$3={"data-test":"vs-ski__runs-label"},_hoisted_7$3={"data-test":"vs-ski__lifts-label"},_hoisted_8$2={"data-test":"vs-ski__open-label"},_hoisted_9$2={"data-test":"vs-ski__limited-patrol-label"},_hoisted_10$2={"data-test":"vs-ski__opening-label"},_hoisted_11$1={"data-test":"vs-ski__closed-label"},_hoisted_12$1={"data-test":"vs-ski__on-hold-label"},_hoisted_13$1={"data-test":"vs-ski__last-updated-label"};function _sfc_render$d(e,n,t,a,r,o){const u=vue.resolveComponent("VsImg"),l=vue.resolveComponent("VsHeading"),d=vue.resolveComponent("VsLoadingSpinner"),h=vue.resolveComponent("VsWarning"),f=vue.resolveComponent("VsTableHeaderCell"),p=vue.resolveComponent("VsTableHead"),m=vue.resolveComponent("VsIcon"),g=vue.resolveComponent("VsTableDataCell"),w=vue.resolveComponent("VsTableRow"),S=vue.resolveComponent("VsTableBody"),$=vue.resolveComponent("VsTableFooter"),V=vue.resolveComponent("VsTable"),N=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$b,[vue.createElementVNode("div",_hoisted_2$7,[t.imgSrc?(vue.openBlock(),vue.createBlock(u,{key:0,src:t.imgSrc,alt:t.imgAlt,class:"vs-ski-scotland-card__img","data-test":"vs-ski-scotland-card__img"},null,8,["src","alt"])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_3$3,[vue.createVNode(l,{level:"3","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-name")]),_:3}),r.jsDisabled||r.isLoading||r.displayError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$3,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(d,{class:"mb-100 d-block"}),vue.renderSlot(e.$slots,"data-loading")],64)):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(h,{key:1,size:"small","data-test":"vs-ski-scotland-card__error"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})):vue.createCommentVNode("",!0),r.jsDisabled?(vue.openBlock(),vue.createBlock(h,{key:2,size:"small","data-test":"vs-ski-scotland-card__js-disabled"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(V,{key:1,"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$3,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_6$3,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_7$3,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"tick",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_8$2,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(w,{key:0},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"ski-boot",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_9$2,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(w,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"expected-open",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_10$2,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(w,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"status-closed",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_11$1,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(w,{key:1},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"hourglass",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_12$1,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(w,null,{default:vue.withCtx(()=>[vue.createVNode(g,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_13$1,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])):vue.createCommentVNode("",!0),vue.createVNode(N,{variant:"secondary",href:t.pisteMapLink,class:"mb-050",disabled:!t.pisteMapLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.pisteMapLabel),1)]),_:1},8,["href","disabled"]),vue.createVNode(N,{href:t.moreDetailsLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.moreDetailsLabel),1)]),_:1},8,["href"])])])}const SkiScotlandCard=_export_sfc(_sfc_main$f,[["render",_sfc_render$d]]),_sfc_main$e={name:"VsSkiScotlandStatus",status:"prototype",release:"0.0.1",components:{VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter,VsContainer,VsRow,VsCol,VsAccordion,VsAccordionItem,VsIcon,VsLink,VsHeading,VsLoadingSpinner,VsWarning},props:{skiStatusUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},currentWeatherLabel:{type:String,default:"Current Weather"},detailedStatusLabel:{type:String,default:"Detailed Status"},difficultLabel:{type:String,default:"Difficult"},easyLabel:{type:String,default:"Easy"},intermediateLabel:{type:String,default:"Intermediate"},itinerariesLabel:{type:String,default:"Itineraries"},lastUpdatedLabel:{type:String,default:"Last Updated"},liftLabel:{type:String,default:"Lift"},liftsLabel:{type:String,default:"Lifts"},liftStatusLabel:{type:String,default:"Lift Status"},newsLabel:{type:String,default:"News From The Slopes"},otherLabel:{type:String,default:"Other"},roadsLabel:{type:String,default:"Road Status"},runLabel:{type:String,default:"Run"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},runStatusLabel:{type:String,default:"Run Status"},snowConditionsLabel:{type:String,default:"Snow Conditions Full Report"},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"},statusClosedLabel:{type:String,default:"Closed"},statusOpenLabel:{type:String,default:"Open"},statusOpeningLabel:{type:String,default:"Opening"},statusLimitedPatrolLabel:{type:String,default:"Limited Patrol"},statusOnHoldLabel:{type:String,default:"On Hold"},veryDifficultLabel:{type:String,default:"Very Difficult"},weatherForecastLabel:{type:String,default:"Weather Forecast"},greenLabel:{type:String,default:"Green"},blueLabel:{type:String,default:"Blue"},redLabel:{type:String,default:"Red"},blackLabel:{type:String,default:"Black"},orangeLabel:{type:String,default:"Orange"},greyLabel:{type:String,default:"Grey"}},data(){return{tokens:designTokens,componentId:0,statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},lifts:[],runs:[],lastUpdate:"",report:"",currentWeather:"",weatherForecast:"",roadStatus:"",news:"",runLevels:[{colour:"green",colourToken:"",id:"easy",name:this.easyLabel,runs:[]},{colour:"blue",colourToken:"",id:"intermediate",name:this.intermediateLabel,runs:[]},{colour:"red",colourToken:"",id:"difficult",name:this.difficultLabel,runs:[]},{colour:"black",colourToken:"",id:"very-difficult",name:this.veryDifficultLabel,runs:[]},{colour:"orange",colourToken:"",id:"itineraries",name:this.itinerariesLabel,runs:[]},{colour:"grey",colourToken:"",id:"other",name:this.otherLabel,runs:[]}],jsDisabled:!0,isLoading:!0,displayError:!1,isCairngorms:!1}},computed:{filteredRunLevels(){return this.setColourToken().filter(n=>n.runs.length>0)}},mounted(){this.skiStatusUrl&&this.retrieveSkiStatus(),this.id=this._uid,this.jsDisabled=!1},methods:{retrieveSkiStatus(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);axios.get(this.skiStatusUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.processFullReport(t.report),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,o)=>r===o.findIndex(u=>u.name===a.name));n.runs=t}if(n.runs)for(let t=0;t<n.runs.length;t++)n.runs[t].difficulty===null&&(n.runs[t].difficulty="orange");return n},processFullReport(e){this.report=e.runs,this.currentWeather=e.current_weather_conditions,this.weatherForecast=e.weather_forecast,this.roadStatus=e.access_roads,this.news=e.news_from_the_slopes},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].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;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++){switch(e[n].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;break}for(let t=0;t<this.runLevels.length;t++)this.runLevels[t].colour===e[n].difficulty&&this.runLevels[t].runs.push(e[n])}this.runs=e},getColourLabel(e){return this[`${e}Label`]},setColourToken(){return this.runLevels.map(({...e})=>({...e,colourToken:this.tokens[`vs-color-icon-ski-${e.id}`]}))}}},_hoisted_1$a={class:"vs-ski-scotland-status","data-test":"vs-ski-scotland-status"},_hoisted_2$6={"data-test":"vs-ski__status-label"},_hoisted_3$2={"data-test":"vs-ski__runs-label"},_hoisted_4$2={"data-test":"vs-ski__lifts-label"},_hoisted_5$2={"data-test":"vs-ski__open-label"},_hoisted_6$2={"data-test":"vs-ski__open-label"},_hoisted_7$2={"data-test":"vs-ski__opening-label"},_hoisted_8$1={"data-test":"vs-ski__closed-label"},_hoisted_9$1={"data-test":"vs-ski__open-label"},_hoisted_10$1={"data-test":"vs-ski__last-updated-label"},_hoisted_11=["innerHTML"],_hoisted_12=["innerHTML"],_hoisted_13=["innerHTML"],_hoisted_14=["innerHTML"],_hoisted_15=["innerHTML"],_hoisted_16=["data-test"],_hoisted_17={class:"visually-hidden"};function _sfc_render$c(e,n,t,a,r,o){const u=vue.resolveComponent("VsLoadingSpinner"),l=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsRow"),h=vue.resolveComponent("VsContainer"),f=vue.resolveComponent("VsWarning"),p=vue.resolveComponent("VsHeading"),m=vue.resolveComponent("VsTableHeaderCell"),g=vue.resolveComponent("VsTableHead"),w=vue.resolveComponent("VsIcon"),S=vue.resolveComponent("VsTableDataCell"),$=vue.resolveComponent("VsTableRow"),V=vue.resolveComponent("VsTableBody"),N=vue.resolveComponent("VsTableFooter"),A=vue.resolveComponent("VsTable"),I=vue.resolveComponent("VsLink"),O=vue.resolveComponent("VsAccordionItem"),P=vue.resolveComponent("VsAccordion");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$a,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(u),vue.renderSlot(e.$slots,"data-loading")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(h,{key:1},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[r.jsDisabled?(vue.openBlock(),vue.createBlock(l,{key:0,cols:"12",md:"6","data-test":"vs-ski__js-disabled"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(l,{key:1,cols:"12",md:"6"},{default:vue.withCtx(()=>[vue.createVNode(p,{level:"3","heading-style":"heading-xs","data-test":"vs-ski__runs-lifts-status-label",class:"d-none d-md-block"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runsLiftsStatusLabel),1)]),_:1}),vue.createVNode(A,{"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$6,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$2,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_4$2,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(V,null,{default:vue.withCtx(()=>[vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"tick",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_5$2,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock($,{key:0},{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"ski-boot",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_6$2,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"expected-open",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_7$2,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"status-closed",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_8$1,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock($,{key:1},{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"hourglass",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_9$1,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(N,null,{default:vue.withCtx(()=>[vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_10$1,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"]),vue.createVNode(I,{href:`#vs-ski-scotland-status__detailed-status-${e.id}`,type:"default",class:"vs-ski-scotland-status__detailed-status-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.detailedStatusLabel),1)]),_:1},8,["href"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(l,{cols:"12",md:"5","offset-md":"1",class:"vs-ski-scotland-status__centre-info"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-information")]),_:3})]),_:3}),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(d,{key:0},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",md:"9",class:"vs-ski-scotland-status__full-report"},{default:vue.withCtx(()=>[vue.createVNode(p,{level:"3","heading-style":"heading-l","data-test":"vs-ski__snow-conditions-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.snowConditionsLabel),1)]),_:1}),vue.createElementVNode("div",{innerHTML:r.report},null,8,_hoisted_11),r.currentWeather.length?(vue.openBlock(),vue.createBlock(p,{key:0,level:"4","heading-style":"heading-xs","data-test":"vs-ski__current-weather-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.currentWeatherLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.currentWeather.length?(vue.openBlock(),vue.createElementBlock("div",{key:1,innerHTML:r.currentWeather},null,8,_hoisted_12)):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createBlock(p,{key:2,level:"4","heading-style":"heading-xs","data-test":"vs-ski__weather-forecast-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.weatherForecastLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createElementBlock("div",{key:3,innerHTML:r.weatherForecast},null,8,_hoisted_13)):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createBlock(p,{key:4,level:"4","heading-style":"heading-xs","data-test":"vs-ski__roads-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.roadsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createElementBlock("div",{key:5,innerHTML:r.roadStatus},null,8,_hoisted_14)):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createBlock(p,{key:6,level:"4","heading-style":"heading-xs","data-test":"vs-ski__news-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.newsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createElementBlock("div",{key:7,innerHTML:r.news},null,8,_hoisted_15)):vue.createCommentVNode("",!0)]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(d,{key:1},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(p,{level:"3","heading-style":"heading-l","data-test":"vs-ski__lift-status-label",id:`vs-ski-scotland-status__detailed-status-${e.id}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftStatusLabel),1)]),_:1},8,["id"]),vue.createVNode(A,{"table-caption":t.liftStatusLabel,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftLabel),1)]),_:1})]),_:1}),vue.createVNode(V,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.lifts,F=>(vue.openBlock(),vue.createBlock($,{key:F.name},{default:vue.withCtx(()=>[F.status==="0"||F.status===0?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"status-closed",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),F.status==="1"||F.status===1?(vue.openBlock(),vue.createBlock(S,{key:1},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"tick",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),F.status==="2"||F.status===2?(vue.openBlock(),vue.createBlock(S,{key:2},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"expected-open",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),F.status==="3"||F.status===3?(vue.openBlock(),vue.createBlock(S,{key:3},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"ski-boot",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),F.status==="4"||F.status===4?(vue.openBlock(),vue.createBlock(S,{key:4},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(F.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),vue.createVNode(N,null,{default:vue.withCtx(()=>[vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError&&r.runs.length?(vue.openBlock(),vue.createBlock(d,{key:2},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(p,{level:"3","heading-style":"heading-l","data-test":"vs-ski__run-status-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runStatusLabel),1)]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.filteredRunLevels,F=>(vue.openBlock(),vue.createElementBlock("div",{key:F.name},[vue.createVNode(P,null,{default:vue.withCtx(()=>[vue.createVNode(O,{variant:"transparent","control-id":"accordion_item_"+F.name,"colour-badge":F.colourToken},{title:vue.withCtx(()=>[vue.createElementVNode("div",{"data-test":`vs-ski__${F.name}-label`,class:"d-inline-block"},[vue.createElementVNode("span",_hoisted_17,vue.toDisplayString(o.getColourLabel(F.colour)),1),vue.createTextVNode(" "+vue.toDisplayString(F.name),1)],8,_hoisted_16)]),default:vue.withCtx(()=>[vue.createVNode(A,{"table-caption":F.colour+" - "+F.name,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runLabel),1)]),_:1})]),_:1}),vue.createVNode(V,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(F.runs,D=>(vue.openBlock(),vue.createBlock($,{key:D.name,"data-test":`vs-ski__${F.name}-row`},{default:vue.withCtx(()=>[D.status==="0"||D.status===0?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"status-closed",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),D.status==="1"||D.status===1?(vue.openBlock(),vue.createBlock(S,{key:1},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"tick",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),D.status==="2"||D.status===2?(vue.openBlock(),vue.createBlock(S,{key:2},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"expected-open",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),D.status==="3"||D.status===3?(vue.openBlock(),vue.createBlock(S,{key:3},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"ski-boot",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),D.status==="4"||D.status===4?(vue.openBlock(),vue.createBlock(S,{key:4},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(D.name),1)]),_:2},1024)]),_:2},1032,["data-test"]))),128))]),_:2},1024),vue.createVNode(N,null,{default:vue.withCtx(()=>[vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:2},1032,["table-caption"])]),_:2},1032,["control-id","colour-badge"])]),_:2},1024)]))),128))]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:3})])}const SkiScotlandStatus=_export_sfc(_sfc_main$e,[["render",_sfc_render$c]]),_sfc_main$d={name:"VsSkipTo",status:"prototype",release:"0.0.1",components:{VsLink},props:{skipToText:{type:String,required:!0},hasSearchLink:{type:Boolean,default:!0}},methods:{mainMenuFocus(){const e=document.getElementsByClassName("vs-mega-nav__menu__mobile")[0],n=document.getElementsByClassName("vs-mega-nav-dropdown")[0];if(!this.isUndefined(n)){let t=n.getElementsByClassName("btn")[0];e.offsetParent!==null?(e.querySelectorAll(".btn.dropdown-toggle")[0].click(),t=document.getElementsByClassName("vs-mega-nav-accordion-item--level-1")[0].querySelectorAll(".vs-button.vs-accordion-toggle")[0],setTimeout(()=>{t.focus()},200)):t.focus()}},footerFocus(){const e=document.getElementsByClassName("vs-footer")[0];if(!this.isUndefined(e)){const n=e.getElementsByClassName("vs-footer-accordion-item")[0],t=n.getElementsByClassName("vs-link")[0],a=n.getElementsByClassName("vs-accordion-toggle")[0];a.offsetParent!==null&&!this.isUndefined(a)&&a.click(),!this.isUndefined(e)&&!this.isUndefined(t)&&(e.scrollIntoView(!0),setTimeout(()=>{t.focus()},200))}},isUndefined(e){return typeof e>"u"}}},_hoisted_1$9=["aria-label"],_hoisted_2$5={class:"vs-skip-to__label",id:"skip-to-label"};function _sfc_render$b(e,n,t,a,r,o){const u=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-skip-to d-flex","data-test":"vs-skip-to","aria-label":t.skipToText},[vue.createElementVNode("p",_hoisted_2$5,vue.toDisplayString(t.skipToText)+": ",1),vue.createVNode(u,{href:"#main-nav","data-test":"vs-skip-to-main-menu",onClick:n[0]||(n[0]=l=>o.mainMenuFocus()),id:"main-menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-menu-text")]),_:3}),t.hasSearchLink?(vue.openBlock(),vue.createBlock(u,{key:0,href:"#site-search-btn","data-test":"vs-skip-to-search",class:"vs-skip-to__search"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"search-text")]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(u,{href:"#main-heading","data-test":"vs-skip-to-main-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-content-text")]),_:3}),vue.createVNode(u,{href:"#site-footer",onClick:n[1]||(n[1]=l=>o.footerFocus()),"data-test":"vs-skip-to-footer"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"footer-text")]),_:3})],8,_hoisted_1$9)}const SkipTo=_export_sfc(_sfc_main$d,[["render",_sfc_render$b]]),_sfc_main$c={name:"VsSocialCreditLink",status:"prototype",release:"0.0.1",components:{VsLink,VsIcon},props:{credit:{type:String,required:!0},socialPostUrl:{type:String,required:!0},source:{type:String,required:!0,validator:e=>e.match(/(instagram)/)}}},_hoisted_1$8={class:"social-credit","data-test":"vs-social-credit-link"};function _sfc_render$a(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[t.source?(vue.openBlock(),vue.createBlock(u,{key:0,name:t.source,variant:"inverse",size:"xs",class:"me-025","data-test":"vs-social-credit-link__icon"},null,8,["name"])):vue.createCommentVNode("",!0),vue.createVNode(l,{class:"social-credit__link","data-test":"vs-social-credit-link__link",href:t.socialPostUrl,variant:"on-dark",type:"external"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.credit),1)]),_:1},8,["href"])])}const SocialCreditLink=_export_sfc(_sfc_main$c,[["render",_sfc_render$a]]),_sfc_main$b={name:"VsSocialShare",status:"prototype",release:"0.0.1",components:{VsButton,VsHeading,VsModuleWrapper,BPopover:bootstrapVueNext.BPopover,VsRow,VsContainer,VsCol},provide(){return{referringPageUrl:this.pageUrl,pageTitle:this.pageTitle,noJs:this.noJs}},props:{shareBtnText:{type:String,required:!0},sharePopoverTitle:{type:String,required:!0},pageUrl:{type:String,required:!0},pageTitle:{type:String,default:""},closeAltText:{type:String,required:!0},id:{type:String,required:!0},noJs:{type:Boolean,default:!1}},data(){return{copyLink:!1,renderPopover:!1}},mounted(){this.renderPopover=!0},methods:{onClose(e){this.$refs.popover.hide(e)},onShown(){this.focusFirst()},onHidden(){this.focusRef(this.$refs.shareButton)},onHide(e){this.copyLink&&(e.preventDefault(),this.focusFirst(),this.copyLink=!1)},onCopyLink(){this.copyLink=!0},focusRef(e){this.$nextTick(()=>{this.$nextTick(()=>{(e.$el||e).focus()})})},focusFirst(){this.$nextTick(()=>{this.$nextTick(()=>{this.$refs.popoverShareRow.$el.querySelector(".vs-social-share-item a ").focus()})})},tabFromClose(e){e.shiftKey||(e.preventDefault(),this.focusFirst())},tabBackFromHidden(e){e.shiftKey&&(e.preventDefault(),this.focusRef(this.$refs.closeButton))}}};function _sfc_render$9(e,n,t,a,r,o){const u=vue.resolveComponent("VsButton"),l=vue.resolveComponent("VsHeading"),d=vue.resolveComponent("VsRow"),h=vue.resolveComponent("BPopover"),f=vue.resolveComponent("VsCol"),p=vue.resolveComponent("VsContainer"),m=vue.resolveComponent("VsModuleWrapper");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-social-share",t.noJs?"vs-module-wrapper__outer--hidden":"vs-module-wrapper__outer--light"]),"data-test":"vs-social-share",ref:"socialShareContainer"},[t.noJs?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(u,{key:0,class:"vs-social-share__share-btn",variant:"transparent",icon:"share",id:`vs-social-share-popover--${t.id}`,ref:"shareButton"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.shareBtnText),1)]),_:1},8,["id"])),!t.noJs&&r.renderPopover?(vue.openBlock(),vue.createBlock(h,{key:1,"custom-class":"vs-social-share__popover",target:`vs-social-share-popover--${t.id}`,click:!0,container:"body",placement:"left-end",offset:"-100",onShown:o.onShown,onHidden:o.onHidden,onHide:o.onHide,ref:"popover"},{default:vue.withCtx(()=>[vue.createVNode(l,{level:"3",tabindex:"0","heading-style":"heading-m",ref:"shareHeader",class:"vs-social-share__header",onKeydown:n[0]||(n[0]=vue.withKeys(g=>o.tabBackFromHidden(g),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1},512),vue.createVNode(d,{ref:"popoverShareRow"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default",{onCopyLink:o.onCopyLink})]),_:3},512),vue.createVNode(u,{"icon-only":"",class:"vs-social-share__close-btn",icon:"close",variant:"transparent",ref:"closeButton",onClick:o.onClose,onKeydown:n[1]||(n[1]=vue.withKeys(g=>o.tabFromClose(g),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeAltText),1)]),_:1},8,["onClick"])]),_:3},8,["target","onShown","onHidden","onHide"])):vue.createCommentVNode("",!0),t.noJs?(vue.openBlock(),vue.createBlock(m,{key:2,class:"vs-social-share--module-list"},{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(f,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(l,{level:"2","heading-style":"heading-l",class:"mb-300 mt-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1})]),_:1})]),_:1}),vue.createVNode(d,{class:"justify-content-center"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0)],2)}const SocialShare=_export_sfc(_sfc_main$b,[["render",_sfc_render$9]]),_sfc_main$a={name:"VsSocialShareItem",status:"prototype",release:"0.0.1",components:{VsCol,VsLink,VsIcon},mixins:[dataLayerMixin],inject:{referringPageUrl:{default:""},pageTitle:{default:""},noJs:{default:""}},props:{name:{type:String,required:!0,validator:e=>e.match(/(facebook|twitter|pinterest|link|email|whatsapp)/)},linkText:{type:String,required:!0},linkCopiedText:{type:String,default:""}},emits:["copyLinkClicked"],data(){return{show:!1}},computed:{iconColour(){let e="";switch(this.name){case"facebook":e="#1877f2";break;case"x-twitter":e="#0F1419";break;case"pinterest":e="#E60023";break;case"whatsapp":e="#455a64";break;default:e="#000000"}return e},encodedPageTitle(){return encodeURI(this.pageTitle)},shareUrl(){let e="";switch(this.name){case"facebook":e=`https://www.facebook.com/sharer/sharer.php?u=${this.referringPageUrl}&t=${this.encodedPageTitle}`;break;case"x-twitter":e=`https://twitter.com/intent/tweet?text=${this.encodedPageTitle}%20@VisitScotland&url=${this.referringPageUrl}`;break;case"pinterest":e=`https://www.pinterest.com/pin/create/button/?url=${this.referringPageUrl}`;break;case"email":e=`mailto:?body=${this.encodedPageTitle}%20-%20${this.referringPageUrl}&subject=${this.encodedPageTitle}`;break;case"whatsapp":e=`https://wa.me/?text=${this.encodedPageTitle}%20-%20${this.referringPageUrl}`;break;case"link":e="#";break;default:e="#"}return e}},methods:{copyToClipboard(e){if(this.name==="link"){if(this.$emit("copyLinkClicked"),!navigator.clipboard)return;navigator.clipboard.writeText&&navigator.clipboard.writeText(this.referringPageUrl),this.show=!0,setTimeout(()=>{this.show=!1},2e3)}this.trackShareClick(e)},trackShareClick(e){this.createDataLayerObject("socialShareDataEvent",e,this.href)}}},_hoisted_1$7={class:"vs-social-share-item__text"};function _sfc_render$8(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsLink"),d=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(d,{class:"vs-social-share-item","data-test":"vs-social-share-item",cols:4,md:o.noJs?2:4},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-social-share-item__link",href:o.shareUrl,onClick:n[0]||(n[0]=h=>o.copyToClipboard(h)),id:`vs-share-${t.name}`},{default:vue.withCtx(()=>[vue.createVNode(u,{name:t.name,"custom-colour":o.iconColour,size:"xl","small-size":"lg"},null,8,["name","custom-colour"]),vue.createElementVNode("span",_hoisted_1$7,vue.toDisplayString(r.show?t.linkCopiedText:t.linkText),1)]),_:1},8,["href","id"])]),_:1},8,["md"])}const SocialShareItem=_export_sfc(_sfc_main$a,[["render",_sfc_render$8]]),_hoisted_1$6={class:"vs-styled-list__list"},_hoisted_2$4={class:"vs-styled-list__source"},_sfc_main$9={__name:"StyledList",props:{source:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-styled-list",`vs-styled-list--${n.variant}`]),"data-test":"vs-styled-list"},[vue.createVNode(vue.unref(VsContainer),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(VsRow),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(VsCol),{md:n.variant==="icon"?"8":null},{default:vue.withCtx(()=>[vue.createElementVNode("ul",_hoisted_1$6,[vue.renderSlot(t.$slots,"default")])]),_:3},8,["md"])]),_:3}),t.$slots["list-source"]&&t.$slots["list-source"]()?(vue.openBlock(),vue.createBlock(vue.unref(VsRow),{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$4,[vue.renderSlot(t.$slots,"list-source")])]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2))}},_hoisted_1$5={class:"vs-styled-list__item","data-test":"vs-styled-list__item"},_sfc_main$8={__name:"StyledListItem",props:{heading:{type:String,required:!0},headingLevel:{type:Number,default:3,validator:e=>lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},imageSrc:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("li",_hoisted_1$5,[vue.createVNode(vue.unref(VsRow),null,{default:vue.withCtx(()=>[n.variant==="image"?(vue.openBlock(),vue.createBlock(vue.unref(VsCol),{key:0,cols:"12",md:"2"},{default:vue.withCtx(()=>[vue.createVNode(VsImg,{src:n.imageSrc},null,8,["src"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(VsCol),{md:n.variant==="image"?"10":"12"},{default:vue.withCtx(()=>[n.variant==="image-horizontal"?(vue.openBlock(),vue.createBlock(VsImg,{key:0,src:n.imageSrc},null,8,["src"])):vue.createCommentVNode("",!0),vue.createVNode(VsHeading,{level:n.headingLevel,"heading-style":"heading-xxs"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.heading),1)]),_:1},8,["level"]),vue.createVNode(VsRichTextWrapper,null,{default:vue.withCtx(()=>[vue.renderSlot(t.$slots,"default")]),_:3})]),_:3},8,["md"])]),_:3})]))}},_sfc_main$7={name:"VsSummaryBoxList",status:"prototype",release:"0.0.1"},_hoisted_1$4={class:"vs-summary-box","data-test":"vs-summary-box-list"},_hoisted_2$3={class:"vs-summary-box__list list-unstyled d-flex flex-wrap p-050 p-sm-075"};function _sfc_render$7(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("ul",_hoisted_2$3,[vue.renderSlot(e.$slots,"default")])])}const SummaryBoxList=_export_sfc(_sfc_main$7,[["render",_sfc_render$7]]),_sfc_main$6={name:"VsSummaryBoxListItem",status:"prototype",release:"0.0.1",components:{VsIcon},props:{text:{type:String,default:""},label:{type:String,default:""},icon:{type:String,default:""},iconLabel:{type:String,default:""}}},_hoisted_1$3={class:"vs-summary-box-item position-relative","data-test":"vs-summary-box-list-item"},_hoisted_2$2={key:0,class:"text-center vs-summary-box-item__label d-block position-absolute w-100","data-test":"vs-summary-box-list-item-label"},_hoisted_3$1={class:"vs-summary-box-item__label-inner"},_hoisted_4$1={key:1,class:"vs-summary-box-item__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-list-item-display"},_hoisted_5$1={key:2,class:"vs-summary-box-item__icon d-flex align-items-center position-absolute justify-content-center w-100","data-test":"vs-summary-box-list-item-icon-with-label"},_hoisted_6$1={class:"icon-wrapper text-end"},_hoisted_7$1={class:"text-wrapper d-block w-auto pt-100"};function _sfc_render$6(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$3,[t.label?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$2,[vue.createElementVNode("span",_hoisted_3$1,vue.toDisplayString(t.label),1)])):vue.createCommentVNode("",!0),t.text?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createElementVNode("span",null,vue.toDisplayString(t.text),1)])):vue.createCommentVNode("",!0),t.icon?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$1,[vue.createElementVNode("div",_hoisted_6$1,[vue.createVNode(u,{name:t.icon,size:"xl"},null,8,["name"])]),vue.createElementVNode("div",_hoisted_7$1,[vue.createElementVNode("span",null,vue.toDisplayString(t.iconLabel),1)])])):vue.createCommentVNode("",!0)])}const SummaryBoxListItem=_export_sfc(_sfc_main$6,[["render",_sfc_render$6],["__scopeId","data-v-f498b8de"]]),_sfc_main$5={name:"VsSummaryBoxDistanceListItem",status:"prototype",release:"0.0.1",props:{miles:{type:String,default:""},kilometres:{type:String,default:""},distanceLabel:{type:String,default:"Distance"},milesLabel:{type:String,default:"miles"},kilometresLabel:{type:String,default:"km"},showMiles:{type:Boolean,default:!0}}},_hoisted_1$2={class:"vs-summary-box-distance position-relative","data-test":"vs-summary-box-distance-list-item"},_hoisted_2$1={key:0,class:"text-center vs-summary-box-distance__label d-block position-absolute w-100","data-test":"vs-summary-box-distance-list-item-label"},_hoisted_3={class:"vs-summary-box-distance__label-inner"},_hoisted_4={class:"vs-summary-box-distance__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-distance-display"},_hoisted_5={class:"vs-summary-box-distance__display-entry"},_hoisted_6={class:"vs-summary-box-distance__display-value"},_hoisted_7={class:"vs-summary-box-distance__display-label"},_hoisted_8={class:"vs-summary-box-distance__display-entry"},_hoisted_9={class:"vs-summary-box-distance__display-value"},_hoisted_10={class:"vs-summary-box-distance__display-label"};function _sfc_render$5(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$2,[t.distanceLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1,[vue.createElementVNode("span",_hoisted_3,vue.toDisplayString(t.distanceLabel),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4,[vue.createElementVNode("div",_hoisted_5,[vue.createElementVNode("span",_hoisted_6,vue.toDisplayString(t.miles),1),vue.createElementVNode("span",_hoisted_7,vue.toDisplayString(t.milesLabel),1)]),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-summary-box-distance__divider"},null,-1)),vue.createElementVNode("div",_hoisted_8,[vue.createElementVNode("span",_hoisted_9,vue.toDisplayString(t.kilometres),1),vue.createElementVNode("span",_hoisted_10,vue.toDisplayString(t.kilometresLabel),1)])])])}const SummaryBoxDistanceListItem=_export_sfc(_sfc_main$5,[["render",_sfc_render$5],["__scopeId","data-v-83691917"]]),_sfc_main$4={name:"VsTabs",status:"prototype",release:"0.0.1",components:{BTabs:bootstrapVueNext.BTabs},provide(){return{noContainer:vue.computed(()=>this.noContainer)}},props:{noContainer:{type:Boolean,default:!1}}};function _sfc_render$4(e,n,t,a,r,o){const u=vue.resolveComponent("BTabs");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(t.noContainer?"vs-tabs--no-container":"vs-tabs"),"data-test":"vs-tabs"},[vue.createVNode(u,{"no-container":t.noContainer,align:t.noContainer?"center":null},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["no-container","align"])],2)}const Tabs=_export_sfc(_sfc_main$4,[["render",_sfc_render$4]]),_sfc_main$3={name:"VsTabItem",status:"prototype",release:"0.0.1",components:{VsHeading,BTab:bootstrapVueNext.BTab},mixins:[dataLayerMixin],inject:["noContainer"],props:{title:{type:String,required:!0}},methods:{trackClick(e){this.createDataLayerObject("tabClickEvent",e,null)}}};function _sfc_render$3(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("BTab");return vue.openBlock(),vue.createBlock(l,{class:"vs-tab__item","data-test":"vs-tab__item","title-link-class":o.noContainer?"vs-tab-link--no-container vs-heading":"vs-tab-link vs-heading",title:t.title,onClick:o.trackClick},{default:vue.withCtx(()=>[vue.createVNode(u,{level:"3","heading-style":"heading-xxs",class:"vs-tab__item__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1}),vue.renderSlot(e.$slots,"default")]),_:3},8,["title-link-class","title","onClick"])}const TabItem=_export_sfc(_sfc_main$3,[["render",_sfc_render$3]]),_sfc_main$2={name:"VsTag",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,required:!0}}};function _sfc_render$2(e,n,t,a,r,o){const u=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createBlock(u,{class:"vs-tag me-050 mb-100","data-test":"vs-tag",href:t.href},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])}const Tag=_export_sfc(_sfc_main$2,[["render",_sfc_render$2]]),_sfc_main$1={name:"VsTagManagerWrapper",status:"prototype",release:"0.0.1",mixins:[dataLayerMixin],props:{payload:{type:Object,default:()=>{}}},mounted(){this.processPayload(this.payload),document.addEventListener("DOMContentLoaded",()=>{this.dataLayerStore.setTestRun(!0),this.dataLayerStore.setPageUrl(window.location.href)}),this.createDataLayerObject("pageViewTemplateDataEvent")},methods:{processPayload(e){e!==void 0&&Object.keys(e).forEach(n=>{const t=n.replace(/-/g,"_");this.dataLayerStore.processPayload({key:t,value:e[n]})})}}},_hoisted_1$1={"data-test":"vs-tag-manager-wrapper",class:"d-none"};function _sfc_render$1(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$1)}const TagManagerWrapper=_export_sfc(_sfc_main$1,[["render",_sfc_render$1]]);var dist={exports:{}},Sister;/**
|
|
362
|
+
Install the correct version for Vue 2.x: "npm i vue-combo-blocks@vue2"`);var VueComboBlocks=vue.defineComponent({name:"vue-combo-blocks",emits:{select:null,"update:modelValue":null,"input-value-change":null,"is-open-change":null,"hovered-index-change":null,"state-change":null,change:null,"show-list":null,focus:null,hover:null},props:getProps(isVue3),watch:{modelValue:function e(n){isControlledProp(this.$props,"modelValue")&&(this.inputValue=this.itemToString(n),this.selectedItem=n)}},beforeCreate,data:function e(){return getInitialData(this.modelValue,this.itemToString)},computed:Object.assign({},computed),methods:Object.assign({},{setState:function e(n,t){var a=this.$data,r=this.stateReducer(a,{changes:n,type:t}),o=hasOwnProperty(r,"selectedItem"),u=r.selectedItem!==a.selectedItem;o&&(this.$emit("select",r.selectedItem,t),u&&this.$emit("update:modelValue",r.selectedItem,t));var l={};for(var d in r)hasOwnProperty(r,d)&&a[d]!==r[d]&&(l[d]=r[d],this[d]=l[d],d==="inputValue"?this.$emit("input-value-change",r[d],t):d==="isOpen"?this.$emit("is-open-change",r[d],t):d==="hoveredIndex"&&this.$emit("hovered-index-change",r[d],t));this.$emit("state-change",l,t)}},methods),render:function e(){return this.$slots.default(slot(this))}});VueComboBlocks.stateChangeTypes=sct;const _hoisted_1$l={"data-test":"vs-autocomplete",class:"vs-autocomplete mb-100"},_hoisted_2$g=["for"],_hoisted_3$b=["placeholder","onClick"],_hoisted_4$a=["name"],_sfc_main$v=vue.defineComponent({__name:"Autocomplete",props:{id:{},label:{},mode:{},multiselectLabel:{},name:{},options:{},placeholder:{},trackBy:{},isTourLocation:{type:Boolean},defaultVal:{}},emits:["changeValue"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref([]),o=vue.ref(t.options),u=m=>m?m[h.value]:"",l=m=>{o.value=t.options.filter(g=>g[h.value].toLowerCase().includes(m.toLowerCase()))},d=m=>{typeof t.trackBy<"u"?a("changeValue",m[t.trackBy]):a("changeValue",m.label)},h=vue.computed(()=>typeof t.multiselectLabel<"u"?t.multiselectLabel:"name"),f=vue.computed(()=>{if(typeof r.value=="string"){if(t.isTourLocation){const m=t.options.find(g=>g.name===r.value);if(typeof m<"u")return m.slug.trim()}return r.value.trim()}else if(typeof r.value=="object"&&Object.keys(r.value).length>0)return u(r.value).trim()}),p=vue.computed(()=>!!(f.value&&f.value.length>0));return vue.watch(()=>r.value,()=>{r.value===null&&(r.value=[])}),vue.onMounted(()=>{typeof t.defaultVal<"u"&&(r.value=t.defaultVal)}),(m,g)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$l,[vue.createElementVNode("label",{for:m.id},vue.toDisplayString(m.label),9,_hoisted_2$g),vue.createVNode(vue.unref(VueComboBlocks),{"input-id":m.id,modelValue:r.value,"onUpdate:modelValue":g[0]||(g[0]=w=>r.value=w),itemToString:u,items:o.value,onInputValueChange:l,onSelect:d},{default:vue.withCtx(({getInputProps:w,getInputEventListeners:S,hoveredIndex:$,isOpen:V,getMenuProps:N,getMenuEventListeners:A,getItemProps:I,getItemEventListeners:O,getComboboxProps:P,openMenu:F})=>[vue.createElementVNode("div",vue.mergeProps(P(),{class:"vs-autocomplete__list-wrapper"}),[vue.createElementVNode("input",vue.mergeProps({class:"vs-input form-control"},w(),vue.toHandlers(S(),!0),{placeholder:m.placeholder,onClick:D=>F()}),null,16,_hoisted_3$b),vue.createVNode(VsIcon,{name:"chevron-down",variant:"primary",size:"sm"}),vue.withDirectives(vue.createElementVNode("ul",vue.mergeProps(N(),vue.toHandlers(A(),!0),{class:"vs-autocomplete__list"}),[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.value,(D,ie)=>(vue.openBlock(),vue.createElementBlock("li",vue.mergeProps({key:D.id,ref_for:!0},I({item:D,index:ie}),vue.toHandlers(O({item:D,index:ie}),!0),{class:["vs-autocomplete__list-item",{"vs-autocomplete__list-item--hover":$===ie}]}),vue.toDisplayString(D[h.value]),17))),128))],16),[[vue.vShow,V]])],16)]),_:1},8,["input-id","modelValue","items"]),p.value?vue.withDirectives((vue.openBlock(),vue.createElementBlock("input",{key:0,type:"hidden",name:m.name,"onUpdate:modelValue":g[1]||(g[1]=w=>f.value=w)},null,8,_hoisted_4$a)),[[vue.vModelText,f.value]]):vue.createCommentVNode("",!0)]))}}),_hoisted_1$k={class:"vs-guest-selector-number-group","data-test":"vs-guest-selector-number-group"},_hoisted_2$f={class:"vs-guest-selector-number-group__label"},_hoisted_3$a={class:"vs-guest-selector-number-group__buttons justify-content-end"},_hoisted_4$9=["disabled"],_hoisted_5$9=["name","disabled"],_sfc_main$u=vue.defineComponent({__name:"GuestSelectorNumberGroup",props:{adultCount:{},childrenCount:{},count:{},disabled:{type:Boolean},id:{},infantCount:{},inputType:{},maxValue:{},minValue:{},name:{},rowName:{},rowLabel:{},unitRemoved:{type:Boolean}},emits:["changeHandler"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(0),o=vue.ref(!1),u=vue.ref(t.name),l=()=>{r.value>t.minValue&&(r.value--,o.value=!0,h("decrease"))},d=()=>{r.value<t.maxValue&&(r.value++,o.value=!0,h("increase"))},h=f=>{a("changeHandler",t.name,r.value,f,t.id)};return vue.onMounted(()=>{o.value||(r.value=t.minValue),r.value<=t.maxValue&&(r.value=t.count),t.unitRemoved&&(t.name.includes("children")?(r.value=t.childrenCount,u.value=t.rowName+"children"):t.name.includes("infants")?(r.value=t.infantCount,u.value=t.rowName+"infants"):(r.value=t.adultCount,u.value=t.rowName+"a"))}),(f,p)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$k,[vue.createElementVNode("span",_hoisted_2$f,vue.toDisplayString(f.rowLabel),1),vue.createElementVNode("div",_hoisted_3$a,[vue.createVNode(VsButton,{class:"vs-guest-selector-number-group__button--remove",size:"sm",icon:"minus","icon-only":"",value:"-",onClick:vue.withModifiers(l,["prevent"]),disabled:r.value===f.minValue},{default:vue.withCtx(()=>p[2]||(p[2]=[vue.createTextVNode(" Remove ")])),_:1},8,["disabled"]),vue.withDirectives(vue.createElementVNode("input",{class:"vs-guest-selector-number-group__input",disabled:f.disabled,pattern:"[0-9]*",readonly:"",tabIndex:"-1",type:"text","onUpdate:modelValue":p[0]||(p[0]=m=>r.value=m)},null,8,_hoisted_4$9),[[vue.vModelText,r.value]]),vue.createVNode(VsButton,{class:"vs-guest-selector-number-group__button--add",size:"sm",icon:"plus","icon-only":"",value:"+",onClick:vue.withModifiers(d,["prevent"]),disabled:r.value===f.maxValue},{default:vue.withCtx(()=>p[3]||(p[3]=[vue.createTextVNode(" Add ")])),_:1},8,["disabled"]),vue.withDirectives(vue.createElementVNode("input",{type:"hidden","onUpdate:modelValue":p[1]||(p[1]=m=>r.value=m),name:(f.unitRemoved&&f.rowName!=="r1",u.value),disabled:f.disabled},null,8,_hoisted_5$9),[[vue.vModelText,r.value]])])]))}}),_hoisted_1$j={class:"vs-guest-selector-row","data-test":"vs-guest-selector-row"},_hoisted_2$e={class:"vs-guest-selector-row__title"},_hoisted_3$9={key:1,class:"c-search__rooms-guests-picker__row"},_hoisted_4$8=["name"],_hoisted_5$8=["name"],_hoisted_6$8=["name"],_sfc_main$t=vue.defineComponent({__name:"GuestSelectorRow",props:{name:{},showRemoveBtn:{type:Boolean},unitLabel:{},unitOptions:{},unitRemoved:{type:Boolean}},emits:["numberChange","onRemove"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(t.unitOptions.numberGroups.adults.count),o=vue.ref(t.unitOptions.numberGroups.children.count),u=vue.ref(t.unitOptions.numberGroups.infants.count),l=getLabelText("remove","Remove","guests_rooms"),d=vue.computed(()=>o.value+u.value),h=(p,m,g,w)=>{let S="";p.includes("children")&&(o.value=m,S="children"),p.includes("infants")&&(u.value=m,S="infants"),(p.includes("r1a")||p.includes("r2a")||p.includes("r3a")||p.includes("r4a")||p.includes("r5a"))&&(r.value=m,S="adults"),a("numberChange",g,S,w)},f=()=>{a("onRemove",u.value+o.value+r.value,u.value+o.value,t.unitOptions.id)};return(p,m)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[vue.createElementVNode("div",_hoisted_2$e,vue.toDisplayString(p.unitLabel),1),p.name!=="r1"?(vue.openBlock(),vue.createBlock(VsButton,{key:0,class:"vs-guest-selector-row__remove",onClick:vue.withModifiers(f,["prevent"]),variant:"transparent",icon:"close","icon-size":"sm","icon-position":"left","icon-only":"",size:"sm"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(l)),1)]),_:1})):vue.createCommentVNode("",!0),p.unitOptions?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$9,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(p.unitOptions.numberGroups,(g,w)=>(vue.openBlock(),vue.createBlock(_sfc_main$u,{"adult-count":r.value,"children-count":o.value,count:g.count,disabled:!1,id:p.unitOptions.id,"infant-count":u.value,"input-type":g,key:`${p.name}_${w}`,"max-value":g.maxCount,"min-value":g.minCount,name:g.name,"row-label":g.unitLabel,"row-name":p.name,"unit-removed":p.unitRemoved,onChangeHandler:h},null,8,["adult-count","children-count","count","id","infant-count","input-type","max-value","min-value","name","row-label","row-name","unit-removed"]))),128)),vue.withDirectives(vue.createElementVNode("input",{type:"hidden",name:`${p.name}c`,"onUpdate:modelValue":m[0]||(m[0]=g=>d.value=g)},null,8,_hoisted_4$8),[[vue.vModelText,d.value]])])):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.value,(g,w)=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",key:`${p.name}c${w}`,name:`${p.name}c${w}`,value:"10"},null,8,_hoisted_5$8))),128)),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(u.value,(g,w)=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",key:`${p.name}c${w}`,name:`${p.name}c${w+o.value}`,value:"1"},null,8,_hoisted_6$8))),128))]))}}),_hoisted_1$i={class:"form-group vs-guest-selector","data-test":"vs-guest-selector"},_hoisted_2$d={class:"vs-guest-selector__label"},_hoisted_3$8=["disabled"],_hoisted_4$7={class:"vs-guest-selector__button-row mb-075"},_hoisted_5$7={class:"d-flex justify-content-between"},_hoisted_6$7=["value","disabled"],_hoisted_7$6=["value","disabled"],adultDefaultCount=1,unitLimit=5,_sfc_main$s=vue.defineComponent({__name:"GuestSelector",props:{availability:{type:Boolean}},setup(e){const n=vue.getCurrentInstance(),t=getLabelText("add_room_label","Add a Room","guests_rooms"),a=getLabelText("save_changes","Save","guests_rooms"),r=vue.ref(2),o=getLabelText("guest","Guest","guests_rooms"),u=getLabelText("guests","Guests","guests_rooms"),l=vue.ref(!1),d=vue.ref(0),h=vue.ref([{id:`${n.uid}`,showRemoveBtn:!1,numberGroups:{adults:{minCount:1,maxCount:30,count:2,name:"r1a",unitLabel:getLabelText("adults","Adults","guests_rooms")},children:{minCount:0,maxCount:30,count:0,name:"r1children",unitLabel:getLabelText("children","Children","guests_rooms")},infants:{minCount:0,maxCount:30,count:0,name:"r1infants",unitLabel:getLabelText("infants","Infants","guests_rooms")}}}]),f=vue.ref(1),p=getLabelText("room","Room","guests_rooms"),m=getLabelText("rooms","Rooms","guests_rooms"),g=vue.ref(!1),w=vue.ref(!1),S=()=>{w.value=!1},$=()=>{w.value=!w.value},V=()=>{if(h.value.length<unitLimit){const I={id:`${n.uid}`,showRemoveBtn:!0,numberGroups:{adults:{minCount:1,maxCount:30,count:1,name:"r"+(h.value.length+1)+"a",unitLabel:getLabelText("adults","Adults","guests_rooms")},children:{minCount:0,maxCount:30,count:0,name:"r"+(h.value.length+1)+"children",unitLabel:getLabelText("children","Children","guests_rooms")},infants:{minCount:0,maxCount:30,count:0,name:"r"+(h.value.length+1)+"infants",unitLabel:getLabelText("infants","Infants","guests_rooms")}}};let O=h.value.slice();O.push(I),h.value=O,f.value=O.length,l.value=!0,r.value=r.value+adultDefaultCount}},N=(I,O,P)=>{const F=h.value.findIndex(D=>D.id===P);h.value.splice(F,1),f.value=h.value.length,g.value=!0,r.value=r.value-I,d.value=d.value-O,h.value.length===1&&(l.value=!1)},A=(I,O,P)=>{r.value=I==="increase"?r.value+1:r.value-1,O!=="adults"&&(d.value=I==="increase"?d.value+1:d.value-1);const F=h.value.findIndex(D=>D.id===P);h.value[F].numberGroups[O].count=I==="increase"?h.value[F].numberGroups[O].count+1:h.value[F].numberGroups[O].count-1};return(I,O)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$i,[vue.createElementVNode("span",_hoisted_2$d,vue.toDisplayString(vue.unref(u)),1),vue.createElementVNode("button",{tabIndex:"availability ? '0' : ''",class:"vs-guest-selector__trigger form-control vs-input",onClick:vue.withModifiers($,["prevent"]),disabled:!I.availability},[vue.createElementVNode("span",null,vue.toDisplayString(f.value)+" ",1),vue.createElementVNode("span",null,vue.toDisplayString(f.value>1?vue.unref(m):vue.unref(p)),1),O[0]||(O[0]=vue.createTextVNode(", ")),vue.createElementVNode("span",null,vue.toDisplayString(r.value)+" ",1),vue.createElementVNode("span",null,vue.toDisplayString(r.value>1?vue.unref(u):vue.unref(o)),1)],8,_hoisted_3$8),vue.createElementVNode("div",{class:vue.normalizeClass(["vs-guest-selector__modal",w.value?"vs-guest-selector__modal--visible":""])},[vue.createVNode(VsButton,{class:"align-self-end","data-test":"vs-guest-selector__close-btn",variant:"transparent",icon:"close",size:"md","icon-only":"",onClick:vue.withModifiers(S,["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("close","Close","guests_rooms")),1)]),_:1}),vue.createElementVNode("div",_hoisted_4$7,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(h.value,(P,F)=>(vue.openBlock(),vue.createBlock(_sfc_main$t,{key:P.id,name:"r"+(F+1),"show-remove-btn":l.value,"unit-label":vue.unref(getLabelText)("room","Room","guests_rooms")+" "+(F+1),"unit-options":P,"unit-removed":g.value,onNumberChange:A,onOnRemove:N},null,8,["name","show-remove-btn","unit-label","unit-options","unit-removed"]))),128))]),vue.createElementVNode("div",_hoisted_5$7,[h.value.length<unitLimit?(vue.openBlock(),vue.createBlock(VsButton,{key:0,variant:"secondary",class:"c-search__popup__btn-link me-050 align-self-start",onClick:vue.withModifiers(V,["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(t)),1)]),_:1})):vue.createCommentVNode("",!0),h.value.length<unitLimit?(vue.openBlock(),vue.createBlock(VsButton,{key:1,class:"c-search__popup__btn-link c-search__popup__btn-link--pull-right align-self-end",onClick:vue.withModifiers(S,["prevent"])},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(a)),1)]),_:1})):vue.createCommentVNode("",!0)])],2),h.value?(vue.openBlock(),vue.createElementBlock("input",{key:0,type:"hidden",name:"rooms",id:"room-count",value:f.value,disabled:!I.availability},null,8,_hoisted_6$7)):vue.createCommentVNode("",!0),h.value?(vue.openBlock(),vue.createElementBlock("input",{key:1,type:"hidden",name:"guests",id:"guest-count",value:r.value,disabled:!I.availability},null,8,_hoisted_7$6)):vue.createCommentVNode("",!0)]))}}),_hoisted_1$h={class:"vs-date-input","data-test":"vs-date-input"},_hoisted_2$c=["for"],_hoisted_3$7=["min","name","id"],_sfc_main$r=vue.defineComponent({__name:"DateInput",props:{label:{},id:{},name:{},value:{},minDate:{}},emits:["changeDate"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(t.value),o=vue.computed(()=>new Date().toISOString().split("T")[0]);return vue.watch(()=>t.value,u=>{r.value=u,a("changeDate",r.value)}),(u,l)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$h,[vue.createElementVNode("label",{for:u.id},vue.toDisplayString(u.label),9,_hoisted_2$c),vue.withDirectives(vue.createElementVNode("input",{type:"date",min:typeof u.minDate<"u"&&u.minDate.length>0?u.minDate:o.value,name:u.name,id:u.id,"onUpdate:modelValue":l[0]||(l[0]=d=>r.value=d),onChange:l[1]||(l[1]=d=>u.$emit("changeDate",r.value)),class:"form-control vs-input"},null,40,_hoisted_3$7),[[vue.vModelText,r.value]])]))}}),_hoisted_1$g={class:"vs-date-range","data-test":"vs-date-range"},_hoisted_2$b={class:"row align-items-center"},_hoisted_3$6={class:"col-12 col-sm-5 order-1"},_hoisted_4$6={class:"col-12 col-sm-5 order-2"},_hoisted_5$6={class:"col-12 col-sm-2 order-first order-sm-3 text-sm-right"},_hoisted_6$6={key:1,type:"hidden",name:"refine-date",value:"on"},_hoisted_7$5=["value"],_sfc_main$q=vue.defineComponent({__name:"DateRange",props:{startLabel:{type:String,required:!1,default:"Start Date"},endLabel:{type:String,required:!1,default:"End Date"},defaultDates:{type:Boolean,default:!1},selectedProd:{type:String,required:!0}},emits:["dateUpdated"],setup(e,{emit:n}){const t=e,a=n,r=vue.ref(""),o=vue.ref(""),u=vue.computed(()=>!!r.value||!!o.value),l=vue.computed(()=>{const N=new Date(o.value),A=new Date(r.value),I=N.getTime()-A.getTime();return isNaN(I)?1:I/(1e3*3600*24)});function d(){r.value="",o.value=""}const h=N=>{const A=N.toLocaleString("default",{year:"numeric"}),I=N.toLocaleString("default",{month:"2-digit"}),O=N.toLocaleString("default",{day:"2-digit"});return`${A}-${I}-${O}`},f=vue.computed(()=>r.value===""?h(new Date):""),p=vue.computed(()=>{let N;if(r.value!==""){const A=new Date(r.value);A.setDate(A.getDate()+1),N=h(A)}else if(t.defaultDates){const A=new Date,I=new Date(A);I.setDate(I.getDate()+1),N=h(I)}return N}),m=vue.computed(()=>{let N;if(r.value===""){const A=new Date,I=new Date(A);I.setDate(I.getDate()+1),N=h(I)}else{const A=new Date,I=new Date(r.value);A.setDate(I.getDate()+1),N=h(A)}return N});function g(){const N=new Date(r.value);new Date(o.value)<=N&&(o.value="")}function w(){const N=!(!r.value&&!o.value);a("dateUpdated",N)}function S(){w(),g()}const $=vue.computed(()=>t.selectedProd==="acco"?"stay":"isostartdate"),V=vue.computed(()=>t.selectedProd==="acco"?"endDate":"isoenddate");return(N,A)=>(vue.openBlock(),vue.createElementBlock("fieldset",_hoisted_1$g,[vue.createElementVNode("div",_hoisted_2$b,[vue.createElementVNode("div",_hoisted_3$6,[vue.createVNode(_sfc_main$r,{label:e.startLabel,value:e.defaultDates&&r.value===""&&o.value?f.value:r.value,name:$.value,id:"startDate",onChangeDate:A[0]||(A[0]=I=>{r.value=I,S()}),class:"mb-100"},null,8,["label","value","name"])]),vue.createElementVNode("div",_hoisted_4$6,[vue.createVNode(_sfc_main$r,{label:e.endLabel,value:e.defaultDates&&o.value===""&&r.value?p.value:o.value,"min-date":m.value,name:V.value,id:"endDate",onChangeDate:A[1]||(A[1]=I=>{o.value=I,S()}),class:"mb-100"},null,8,["label","value","min-date","name"])]),vue.createElementVNode("div",_hoisted_5$6,[u.value?(vue.openBlock(),vue.createElementBlock("button",{key:0,id:"clearDateRange",type:"button",onClick:d,class:"vs-date-range__clear"},vue.toDisplayString(vue.unref(getLabelText)("reset","Clear")),1)):vue.createCommentVNode("",!0),e.selectedProd!=="acco"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_6$6)):vue.createCommentVNode("",!0),vue.createElementVNode("input",{type:"hidden",name:"nights",value:l.value},null,8,_hoisted_7$5)])])]))}}),_hoisted_1$f={class:"vs-product-search-embed","data-test":"vs-product-search-embed"},_hoisted_2$a={key:0,class:"container"},_hoisted_3$5={class:"row"},_hoisted_4$5={class:"col-12"},_hoisted_5$5=["action"],_hoisted_6$5={class:"form-group product-search__type mb-100"},_hoisted_7$4={for:"prodtypes"},_hoisted_8$3={class:"product-search__in d-none d-md-block mt-100"},_hoisted_9$3={"aria-live":"polite"},_hoisted_10$3=["disabled","value"],_hoisted_11$2=["disabled","value"],_hoisted_12$2=["value"],_hoisted_13$2={key:4,type:"hidden",name:"areaproxdist",value:"10"},_hoisted_14$1={key:5},_hoisted_15$1={key:0,class:"form-group"},_hoisted_16$1={for:"search-keyword"},_hoisted_17$1={key:2},_hoisted_18=["value"],_hoisted_19={key:0},_hoisted_20=["value"],__default__=vue.defineComponent({mixins:[dataLayerMixin],methods:{trackSubmit(e,n){this.createDataLayerObject("productSearchDataEvent",{searchType:e,searchLocation:n.name},this.href)}}}),_sfc_main$p=vue.defineComponent({...__default__,__name:"ProductSearchEmbed",props:{defaultProd:{type:String,default:"acti,attr,reta",validator(e){return["acco","cate","even","tour","acti,attr,reta"].includes(e)}},defaultLocale:{type:String,default:"",validator(e){return["en","fr","de","es","it","nl",""].includes(e)}},defaultLocation:{type:String,default:""}},setup(e){const n=e,t=vue.ref(!1),a=vue.ref(),r=vue.ref([]);vue.ref(null);let o=vue.ref();o.value={id:"",key:"",name:"",type:""};const u=vue.ref("off"),l=vue.ref(!1),d=vue.computed(()=>{const Z=typeof a.value>"u"?"see-do":a.value;return`/info/${paths[Z]}`});let h=vue.ref(!1);const f={en:{localeUrl:""},fr:{localeUrl:"fr-fr"},de:{localeUrl:"de-de"},es:{localeUrl:"es-es"},it:{localeUrl:"it-it"},nl:{localeUrl:"nl-nl"}},p=vue.computed(()=>{let Z=n.defaultLocale.length>0?n.defaultLocale:getLocale();return Z==="en"&&(Z=""),Z}),m=vue.computed(()=>{if(typeof window<"u"){let Z=window.location.origin;return Z.includes("localhost")?"https://www.visitscotland.com":Z}return"https://www.visitscotland.com"}),g=vue.computed(()=>`${m.value}${p.value?"/"+p.value:""}${d.value}/search-results`),S="https://www.visitscotland.com/data/locations"+`?locale=${p.value}`,$=vue.ref([]),V="https://www.visitscotland.com/tms-api/v1/attractions",N=vue.ref([]),A="https://www.visitscotland.com/tms-api/v1/origins?active=1",I=vue.ref([]),O=vue.ref([]),P=()=>{const Z=getProductTypes(),ce=[];Z.forEach(he=>{ce.push(he)}),O.value=ce},F=vue.computed(()=>t.value?[]:O.value.map(ce=>({...ce,text:getProductName(ce.value,ce.text)}))),D=async()=>{const Z=await getData(S);Z&&($.value=Z.data)},ie=async()=>{const Z=await getData(A);Z&&(I.value=Z.data)},de=async()=>{const Z=await getData(V);Z&&(N.value=Z.data)},ne=(Z,ce)=>{ce==="key"?o.value=$.value.find(he=>he.key===Z):ce==="id"?o.value=$.value.find(he=>he.id===Z):o.value=$.value.find(he=>he.name===Z.trim())},fe=Z=>{const ce=Z.value;a.value=ce,ce==="tour"&&(ie(),de())},oe=()=>f[n.defaultLocale]||"",le=()=>{t.value=!0,vue.nextTick(()=>{t.value=!1,n.defaultLocation!==""&&h&&ne(n.defaultLocation,"id")})},Te=vue.computed(()=>a.value!=="cate"&&a.value!=="acti,attr,reta"?"d-lg-flex":"");vue.onBeforeMount(async()=>{window.VS={};const Z=document.createElement("script");Z.async=!1,Z.onload=le,Z.setAttribute("src",`https://www.visitscotland.com/${oe().localeUrl}/data/template/search.js`),document.head.appendChild(Z)}),vue.onMounted(async()=>{D(),h.value=!0,a.value=n.defaultProd,a.value==="tour"&&(ie(),de()),P()});const Ce=Z=>{u.value=Z?"on":"off"},be=Z=>{l.value=!0;const ce=Z.currentTarget;setTimeout(function(){ce.submit()},500)};return(Z,ce)=>{var he,ye,Ee,j,z,W;return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$f,[t.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$a,[vue.createElementVNode("div",_hoisted_3$5,[vue.createElementVNode("div",_hoisted_4$5,[vue.unref(h)?(vue.openBlock(),vue.createElementBlock("form",{key:0,action:g.value,onSubmit:vue.withModifiers(be,["prevent"]),"accept-charset":"UTF-8","data-test":"psw-form"},[vue.createElementVNode("div",_hoisted_6$5,[vue.createElementVNode("label",_hoisted_7$4,vue.toDisplayString(vue.unref(getLabelText)("search_for","I'm looking for")),1),vue.createElementVNode("div",{class:vue.normalizeClass(Te.value)},[vue.createVNode(VsSelect,{options:F.value,value:e.defaultProd,onUpdated:ce[0]||(ce[0]=_e=>fe(_e)),"field-name":"prodtypes"},null,8,["options","value"]),vue.createElementVNode("div",_hoisted_8$3,vue.toDisplayString(vue.unref(getLabelText)("in","in")),1)],2)]),vue.createElementVNode("div",_hoisted_9$3,[a.value!="tour"&&vue.unref(h)?(vue.openBlock(),vue.createBlock(_sfc_main$v,{key:0,id:"search-location",label:vue.unref(getLabelText)("location","Location"),"multiselect-label":"name",name:"loc",options:$.value,placeholder:vue.unref(getLabelText)("location_placeholder","Enter a location"),"track-by":"name",onChangeValue:ce[1]||(ce[1]=_e=>ne(_e)),"default-val":vue.unref(o),"data-chromatic":"ignore"},null,8,["label","options","placeholder","default-val"])):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:1,type:"hidden",name:"locplace",disabled:((he=vue.unref(o))==null?void 0:he.type)==="POLYGON",value:((ye=vue.unref(o))==null?void 0:ye.key)||""},null,8,_hoisted_10$3)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:2,type:"hidden",name:"locpoly",disabled:((Ee=vue.unref(o))==null?void 0:Ee.type)!=="POLYGON",value:((j=vue.unref(o))==null?void 0:j.key)||""},null,8,_hoisted_11$2)):vue.createCommentVNode("",!0),a.value!=="tour"?(vue.openBlock(),vue.createElementBlock("input",{key:3,type:"hidden",name:"locprox",value:((z=vue.unref(o))==null?void 0:z.type)==="DISTRICT"?1:0},null,8,_hoisted_12$2)):vue.createCommentVNode("",!0),a.value!=="tour"&&((W=vue.unref(o))==null?void 0:W.type)==="DISTRICT"?(vue.openBlock(),vue.createElementBlock("input",_hoisted_13$2)):vue.createCommentVNode("",!0),a.value==="even"||a.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$1,[vue.createVNode(_sfc_main$q,{"start-label":vue.unref(getLabelText)("startdate","Start Date","dates"),"end-label":vue.unref(getLabelText)("enddate","End Date","dates"),onDateUpdated:ce[2]||(ce[2]=_e=>Ce(_e)),"default-dates":l.value,"selected-prod":a.value},null,8,["start-label","end-label","default-dates","selected-prod"]),a.value==="even"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_15$1,[vue.createElementVNode("label",_hoisted_16$1,vue.toDisplayString(vue.unref(getLabelText)("keywords","Keywords")),1),vue.createVNode(VsInput,{"field-name":"search-keyword",placeholder:vue.unref(getLabelText)("events_keywords_placeholder","Highland games, music festivals etc"),name:"name"},null,8,["placeholder"])])):vue.createCommentVNode("",!0),a.value==="acco"?(vue.openBlock(),vue.createBlock(_sfc_main$s,{key:1,availability:!0,id:"guest-selector"})):vue.createCommentVNode("",!0),a.value==="acco"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_17$1,[vue.createElementVNode("input",{hidden:"true",name:"avail",value:u.value},null,8,_hoisted_18)])):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0)]),a.value==="tour"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_19,[vue.createVNode(_sfc_main$v,{id:"tour-origin",label:vue.unref(getLabelText)("tour_origin","Starting point"),"multiselect-label":"name",name:"origins[]",options:I.value,placeholder:vue.unref(getLabelText)("tour_origin_placeholder","Location"),"track-by":"name","is-tour-location":!0},null,8,["label","options","placeholder"]),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.value,_e=>(vue.openBlock(),vue.createElementBlock("input",{type:"hidden",name:"attractions[]",value:_e},null,8,_hoisted_20))),256)),vue.createVNode(_sfc_main$v,{id:"tour-month",label:vue.unref(getLabelText)("tour_month","I'm traveling in"),"multiselect-label":"label",name:"when",options:vue.unref(getLabelText)("months",vue.unref(monthsEnglish)),placeholder:vue.unref(getLabelText)("tour_month_placeholder","Select month"),"track-by":"value"},null,8,["label","options","placeholder"])])):vue.createCommentVNode("",!0),vue.createVNode(VsButton,{class:"mt-150","data-test":"psw-submit",type:"submit",onClick:ce[3]||(ce[3]=_e=>Z.trackSubmit(a.value,typeof vue.unref(o)>"u"?"":vue.unref(o)))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(vue.unref(getLabelText)("search","Search")),1)]),_:1})],40,_hoisted_5$5)):vue.createCommentVNode("",!0),vue.unref(h)?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(VsLoadingSpinner,{key:1,variant:"dark"}))])])]))])}}}),_sfc_main$o={name:"VsProductSearch",status:"prototype",release:"0.0.1",components:{VsContainer,VsRow,VsCol,VsProductSearchEmbed:_sfc_main$p,VsHeading,VsWarning},props:{noJsMessage:{type:String,required:!0},defaultLocation:{type:String,default:""},defaultProd:{type:String,default:"acti,attr,reta"},defaultLocale:{type:String,default:"en"}}},_hoisted_1$e={class:"vs-product-search","data-test":"vs-product-search"},_hoisted_2$9={class:"vs-product-search__intro"};function _sfc_render$m(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsProductSearchEmbed"),h=vue.resolveComponent("VsWarning"),f=vue.resolveComponent("VsRow"),p=vue.resolveComponent("VsContainer");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$e,[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-product-search__col vs-product-search__col--left",xl:"7"},{default:vue.withCtx(()=>[vue.createVNode(u,{level:"2",headingStyle:"heading-l",class:"vs-product-search__heading mt-0"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"vs-module-heading")]),_:3}),vue.createElementVNode("div",_hoisted_2$9,[vue.renderSlot(e.$slots,"vs-module-intro")])]),_:3}),vue.createVNode(l,{class:"vs-product-search__col vs-product-search__col--right",xl:"5"},{default:vue.withCtx(()=>[vue.createVNode(d,{class:"vs-product-search__widget","default-location":t.defaultLocation,"default-locale":t.defaultLocale,"default-prod":t.defaultProd},null,8,["default-location","default-locale","default-prod"]),vue.createVNode(h,{class:"vs-product-search__no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})]),_:1})]),_:3})]),_:3})])}const ProductSearch=_export_sfc(_sfc_main$o,[["render",_sfc_render$m]]),_sfc_main$n={name:"VsQuote",status:"prototype",release:"0.0.1",props:{variant:{type:String,default:"narrow",validator:e=>e.match(/(narrow|wide)/)},withBorder:{type:Boolean,default:!1}},computed:{hasAuthorName(){return!!this.$slots["quote-author-name"]},hasAuthorTitle(){return!!this.$slots["quote-author-title"]},hasAuthorImage(){return!!this.$slots["quote-image"]},variantClass(){return[{"vs-quote--narrow":this.variant==="narrow","vs-quote--wide":this.variant==="wide","vs-quote--with-border":this.withBorder}]}}},_hoisted_1$d={key:0,class:"vs-quote__speech-container"},_hoisted_2$8={key:1,class:"vs-quote__author-container"},_hoisted_3$4={class:"vs-quote__content-container"},_hoisted_4$4={class:"vs-quote__content"},_hoisted_5$4={key:0,class:"vs-quote__author-name"},_hoisted_6$4={key:2,class:"vs-quote__quote-link"};function _sfc_render$l(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-quote",o.variantClass]),"data-test":"vs-quote"},[t.withBorder?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$d,n[0]||(n[0]=[vue.createElementVNode("span",{class:"vs-quote__speech-mark"},"“",-1)]))),o.hasAuthorImage?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$8,[vue.renderSlot(e.$slots,"quote-image")])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$4,[vue.createElementVNode("div",_hoisted_4$4,[vue.renderSlot(e.$slots,"quote-content")]),o.hasAuthorName?(vue.openBlock(),vue.createElementBlock("p",_hoisted_5$4,[vue.renderSlot(e.$slots,"quote-author-name")])):vue.createCommentVNode("",!0),o.hasAuthorTitle?(vue.openBlock(),vue.createElementBlock("p",{key:1,class:vue.normalizeClass(["vs-quote__author-title",t.variant==="narrow"?"vs-quote__author-title--narrow-margin":null])},[vue.renderSlot(e.$slots,"quote-author-title")],2)):vue.createCommentVNode("",!0),e.$slots["quote-link"]?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$4,[vue.renderSlot(e.$slots,"quote-link",{if:"$slots['quote-link']"})])):vue.createCommentVNode("",!0)])],2)}const Quote=_export_sfc(_sfc_main$n,[["render",_sfc_render$l]]),_sfc_main$m={name:"VsTable",status:"prototype",release:"0.0.1",components:{BTableSimple:bootstrapVueNext.BTableSimple},props:{tableCaption:{type:String,required:!0},tableType:{type:String,default:"responsive",validator:e=>e.match(/(responsive|stacked)/)}},computed:{responsive(){return this.tableType==="responsive"},stacked(){return this.tableType==="stacked"}}},_hoisted_1$c={class:"visually-hidden","data-test":"vs-table__caption"};function _sfc_render$k(e,n,t,a,r,o){const u=vue.resolveComponent("BTableSimple");return vue.openBlock(),vue.createBlock(u,{class:"vs-table","data-test":"vs-table",small:"","caption-top":"",responsive:o.responsive,stacked:o.stacked},{default:vue.withCtx(()=>[vue.createElementVNode("caption",_hoisted_1$c,vue.toDisplayString(t.tableCaption),1),vue.renderSlot(e.$slots,"default")]),_:3},8,["responsive","stacked"])}const VsTable=_export_sfc(_sfc_main$m,[["render",_sfc_render$k]]),_sfc_main$l={name:"VsTableHead",status:"prototype",release:"0.0.1",components:{BThead:bootstrapVueNext.BThead}};function _sfc_render$j(e,n,t,a,r,o){const u=vue.resolveComponent("BThead");return vue.openBlock(),vue.createBlock(u,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableHead=_export_sfc(_sfc_main$l,[["render",_sfc_render$j]]),_sfc_main$k={name:"VsTableHeaderCell",status:"prototype",release:"0.0.1",components:{BTh:bootstrapVueNext.BTh},props:{stackedHeading:{type:String,default:void 0}}};function _sfc_render$i(e,n,t,a,r,o){const u=vue.resolveComponent("BTh");return vue.openBlock(),vue.createBlock(u,vue.mergeProps({"data-test":"vs-table-header-cell","stacked-heading":t.stackedHeading},e.$attrs),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableHeaderCell=_export_sfc(_sfc_main$k,[["render",_sfc_render$i]]),_sfc_main$j={name:"VsTableBody",status:"prototype",release:"0.0.1",components:{BTbody:bootstrapVueNext.BTbody}};function _sfc_render$h(e,n,t,a,r,o){const u=vue.resolveComponent("BTbody");return vue.openBlock(),vue.createBlock(u,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableBody=_export_sfc(_sfc_main$j,[["render",_sfc_render$h]]),_sfc_main$i={name:"VsTableRow",status:"prototype",release:"0.0.1",components:{BTr:bootstrapVueNext.BTr}};function _sfc_render$g(e,n,t,a,r,o){const u=vue.resolveComponent("BTr");return vue.openBlock(),vue.createBlock(u,vue.normalizeProps(vue.guardReactiveProps(e.$attrs)),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableRow=_export_sfc(_sfc_main$i,[["render",_sfc_render$g]]),_sfc_main$h={name:"VsTableDataCell",status:"prototype",release:"0.0.1",components:{BTd:bootstrapVueNext.BTd},props:{stackedHeading:{type:String,default:null}}};function _sfc_render$f(e,n,t,a,r,o){const u=vue.resolveComponent("BTd");return vue.openBlock(),vue.createBlock(u,vue.mergeProps({"data-test":"vs-table-data-cell","stacked-heading":t.stackedHeading},e.$attrs,{scope:null}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16,["stacked-heading"])}const VsTableDataCell=_export_sfc(_sfc_main$h,[["render",_sfc_render$f]]),_sfc_main$g={name:"VsTableFooter",status:"prototype",release:"0.0.1",components:{BTfoot:bootstrapVueNext.BTfoot}};function _sfc_render$e(e,n,t,a,r,o){const u=vue.resolveComponent("BTfoot");return vue.openBlock(),vue.createBlock(u,vue.mergeProps(e.$attrs,{role:"rowgroup"}),{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},16)}const VsTableFooter=_export_sfc(_sfc_main$g,[["render",_sfc_render$e]]),_sfc_main$f={name:"VsSkiScotlandCard",status:"prototype",release:"0.0.1",components:{VsImg,VsHeading,VsIcon,VsWarning,VsLoadingSpinner,VsButton,VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter},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(){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(){this.centreInfoUrl&&this.retrieveCentreInfo(),this.jsDisabled=!1},methods:{retrieveCentreInfo(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);axios.get(this.centreInfoUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,o)=>r===o.findIndex(u=>u.name===a.name));n.runs=t}return n},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].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;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++)switch(e[n].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;break}this.runs=e}}},_hoisted_1$b={class:"card vs-ski-scotland-card","data-test":"vs-ski-scotland-card"},_hoisted_2$7={class:"vs-ski-scotland-card__img-container"},_hoisted_3$3={class:"card-body"},_hoisted_4$3={key:0,class:"text-center pb-200 position-relative"},_hoisted_5$3={"data-test":"vs-ski__status-label"},_hoisted_6$3={"data-test":"vs-ski__runs-label"},_hoisted_7$3={"data-test":"vs-ski__lifts-label"},_hoisted_8$2={"data-test":"vs-ski__open-label"},_hoisted_9$2={"data-test":"vs-ski__limited-patrol-label"},_hoisted_10$2={"data-test":"vs-ski__opening-label"},_hoisted_11$1={"data-test":"vs-ski__closed-label"},_hoisted_12$1={"data-test":"vs-ski__on-hold-label"},_hoisted_13$1={"data-test":"vs-ski__last-updated-label"};function _sfc_render$d(e,n,t,a,r,o){const u=vue.resolveComponent("VsImg"),l=vue.resolveComponent("VsHeading"),d=vue.resolveComponent("VsLoadingSpinner"),h=vue.resolveComponent("VsWarning"),f=vue.resolveComponent("VsTableHeaderCell"),p=vue.resolveComponent("VsTableHead"),m=vue.resolveComponent("VsIcon"),g=vue.resolveComponent("VsTableDataCell"),w=vue.resolveComponent("VsTableRow"),S=vue.resolveComponent("VsTableBody"),$=vue.resolveComponent("VsTableFooter"),V=vue.resolveComponent("VsTable"),N=vue.resolveComponent("VsButton");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$b,[vue.createElementVNode("div",_hoisted_2$7,[t.imgSrc?(vue.openBlock(),vue.createBlock(u,{key:0,src:t.imgSrc,alt:t.imgAlt,class:"vs-ski-scotland-card__img","data-test":"vs-ski-scotland-card__img"},null,8,["src","alt"])):vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_3$3,[vue.createVNode(l,{level:"3","heading-style":"heading-m"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-name")]),_:3}),r.jsDisabled||r.isLoading||r.displayError?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$3,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:0},[vue.createVNode(d,{class:"mb-100 d-block"}),vue.renderSlot(e.$slots,"data-loading")],64)):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(h,{key:1,size:"small","data-test":"vs-ski-scotland-card__error"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})):vue.createCommentVNode("",!0),r.jsDisabled?(vue.openBlock(),vue.createBlock(h,{key:2,size:"small","data-test":"vs-ski-scotland-card__js-disabled"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(V,{key:1,"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_5$3,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(f,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_6$3,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_7$3,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"tick",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_8$2,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock(w,{key:0},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"ski-boot",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_9$2,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(w,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"expected-open",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_10$2,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode(w,null,{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"status-closed",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_11$1,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock(w,{key:1},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,{name:"hourglass",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_12$1,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(g,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(w,null,{default:vue.withCtx(()=>[vue.createVNode(g,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_13$1,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])):vue.createCommentVNode("",!0),vue.createVNode(N,{variant:"secondary",href:t.pisteMapLink,class:"mb-050",disabled:!t.pisteMapLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.pisteMapLabel),1)]),_:1},8,["href","disabled"]),vue.createVNode(N,{href:t.moreDetailsLink},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.moreDetailsLabel),1)]),_:1},8,["href"])])])}const SkiScotlandCard=_export_sfc(_sfc_main$f,[["render",_sfc_render$d]]),_sfc_main$e={name:"VsSkiScotlandStatus",status:"prototype",release:"0.0.1",components:{VsTable,VsTableHead,VsTableHeaderCell,VsTableBody,VsTableRow,VsTableDataCell,VsTableFooter,VsContainer,VsRow,VsCol,VsAccordion,VsAccordionItem,VsIcon,VsLink,VsHeading,VsLoadingSpinner,VsWarning},props:{skiStatusUrl:{type:String,default:""},locale:{type:String,default:"en-gb"},timeoutDuration:{type:Number,default:3e4},currentWeatherLabel:{type:String,default:"Current Weather"},detailedStatusLabel:{type:String,default:"Detailed Status"},difficultLabel:{type:String,default:"Difficult"},easyLabel:{type:String,default:"Easy"},intermediateLabel:{type:String,default:"Intermediate"},itinerariesLabel:{type:String,default:"Itineraries"},lastUpdatedLabel:{type:String,default:"Last Updated"},liftLabel:{type:String,default:"Lift"},liftsLabel:{type:String,default:"Lifts"},liftStatusLabel:{type:String,default:"Lift Status"},newsLabel:{type:String,default:"News From The Slopes"},otherLabel:{type:String,default:"Other"},roadsLabel:{type:String,default:"Road Status"},runLabel:{type:String,default:"Run"},runsLabel:{type:String,default:"Runs"},runsLiftsStatusLabel:{type:String,default:"Run/Lift Status"},runStatusLabel:{type:String,default:"Run Status"},snowConditionsLabel:{type:String,default:"Snow Conditions Full Report"},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"},statusClosedLabel:{type:String,default:"Closed"},statusOpenLabel:{type:String,default:"Open"},statusOpeningLabel:{type:String,default:"Opening"},statusLimitedPatrolLabel:{type:String,default:"Limited Patrol"},statusOnHoldLabel:{type:String,default:"On Hold"},veryDifficultLabel:{type:String,default:"Very Difficult"},weatherForecastLabel:{type:String,default:"Weather Forecast"},greenLabel:{type:String,default:"Green"},blueLabel:{type:String,default:"Blue"},redLabel:{type:String,default:"Red"},blackLabel:{type:String,default:"Black"},orangeLabel:{type:String,default:"Orange"},greyLabel:{type:String,default:"Grey"}},data(){return{tokens:designTokens,componentId:0,statusSummary:{runs:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0},lifts:{open:0,opening:0,closed:0,onHold:0,limitedPatrol:0}},lifts:[],runs:[],lastUpdate:"",report:"",currentWeather:"",weatherForecast:"",roadStatus:"",news:"",runLevels:[{colour:"green",colourToken:"",id:"easy",name:this.easyLabel,runs:[]},{colour:"blue",colourToken:"",id:"intermediate",name:this.intermediateLabel,runs:[]},{colour:"red",colourToken:"",id:"difficult",name:this.difficultLabel,runs:[]},{colour:"black",colourToken:"",id:"very-difficult",name:this.veryDifficultLabel,runs:[]},{colour:"orange",colourToken:"",id:"itineraries",name:this.itinerariesLabel,runs:[]},{colour:"grey",colourToken:"",id:"other",name:this.otherLabel,runs:[]}],jsDisabled:!0,isLoading:!0,displayError:!1,isCairngorms:!1}},computed:{filteredRunLevels(){return this.setColourToken().filter(n=>n.runs.length>0)}},mounted(){this.skiStatusUrl&&this.retrieveSkiStatus(),this.id=this._uid,this.jsDisabled=!1},methods:{retrieveSkiStatus(){const e=setTimeout(()=>{this.displayError=!0},this.timeoutDuration);axios.get(this.skiStatusUrl).then(n=>{const t=this.cleanData(n.data);this.processLifts(t.lifts),t.runs&&this.processRuns(t.runs),this.processLastUpdate(t.lastUpdate),this.processFullReport(t.report),this.isLoading=!1,clearTimeout(e)}).catch(()=>{this.runStatusInfo=null,this.displayError=!0,this.isLoading=!1,clearTimeout(e)})},cleanData(e){const n={contact:e.contact,report:e.report};if(e.snowReport)n.lastUpdate=e.snowReport.lastupdate,n.lifts=e.lifts.sector.items,n.runs=e.runs.items,this.isCairngorms=!0;else if(n.lastUpdate=e.lastupdate,[n.lifts]=e.lift.sectors,n.lifts=n.lifts.lifts,e.run.areas){const t=e.run.areas.map(a=>a.runs).reduce((a,r)=>a.concat(r)).filter((a,r,o)=>r===o.findIndex(u=>u.name===a.name));n.runs=t}if(n.runs)for(let t=0;t<n.runs.length;t++)n.runs[t].difficulty===null&&(n.runs[t].difficulty="orange");return n},processFullReport(e){this.report=e.runs,this.currentWeather=e.current_weather_conditions,this.weatherForecast=e.weather_forecast,this.roadStatus=e.access_roads,this.news=e.news_from_the_slopes},processLastUpdate(e){const n=new Date(e.year,parseInt(e.month,10)-1,e.day),t={year:"numeric",month:"long",day:"numeric"},a=n.toLocaleDateString(this.locale,t);this.lastUpdate=`${e.hour24}:${e.minute} - ${a}`},processLifts(e){for(let n=0;n<e.length;n++)switch(e[n].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;break}this.lifts=e},processRuns(e){for(let n=0;n<e.length;n++){switch(e[n].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;break}for(let t=0;t<this.runLevels.length;t++)this.runLevels[t].colour===e[n].difficulty&&this.runLevels[t].runs.push(e[n])}this.runs=e},getColourLabel(e){return this[`${e}Label`]},setColourToken(){return this.runLevels.map(({...e})=>({...e,colourToken:this.tokens[`vs-color-icon-ski-${e.id}`]}))}}},_hoisted_1$a={class:"vs-ski-scotland-status","data-test":"vs-ski-scotland-status"},_hoisted_2$6={"data-test":"vs-ski__status-label"},_hoisted_3$2={"data-test":"vs-ski__runs-label"},_hoisted_4$2={"data-test":"vs-ski__lifts-label"},_hoisted_5$2={"data-test":"vs-ski__open-label"},_hoisted_6$2={"data-test":"vs-ski__open-label"},_hoisted_7$2={"data-test":"vs-ski__opening-label"},_hoisted_8$1={"data-test":"vs-ski__closed-label"},_hoisted_9$1={"data-test":"vs-ski__open-label"},_hoisted_10$1={"data-test":"vs-ski__last-updated-label"},_hoisted_11=["innerHTML"],_hoisted_12=["innerHTML"],_hoisted_13=["innerHTML"],_hoisted_14=["innerHTML"],_hoisted_15=["innerHTML"],_hoisted_16=["data-test"],_hoisted_17={class:"visually-hidden"};function _sfc_render$c(e,n,t,a,r,o){const u=vue.resolveComponent("VsLoadingSpinner"),l=vue.resolveComponent("VsCol"),d=vue.resolveComponent("VsRow"),h=vue.resolveComponent("VsContainer"),f=vue.resolveComponent("VsWarning"),p=vue.resolveComponent("VsHeading"),m=vue.resolveComponent("VsTableHeaderCell"),g=vue.resolveComponent("VsTableHead"),w=vue.resolveComponent("VsIcon"),S=vue.resolveComponent("VsTableDataCell"),$=vue.resolveComponent("VsTableRow"),V=vue.resolveComponent("VsTableBody"),N=vue.resolveComponent("VsTableFooter"),A=vue.resolveComponent("VsTable"),I=vue.resolveComponent("VsLink"),O=vue.resolveComponent("VsAccordionItem"),P=vue.resolveComponent("VsAccordion");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$a,[!r.jsDisabled&&r.isLoading?(vue.openBlock(),vue.createBlock(h,{key:0},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(u),vue.renderSlot(e.$slots,"data-loading")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&r.displayError?(vue.openBlock(),vue.createBlock(h,{key:1},{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(l,{class:"text-center py-100"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"data-unavailable")]),_:3})]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(h,null,{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[r.jsDisabled?(vue.openBlock(),vue.createBlock(l,{key:0,cols:"12",md:"6","data-test":"vs-ski__js-disabled"},{default:vue.withCtx(()=>[vue.createVNode(f,null,{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"js-required")]),_:3})]),_:3})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(l,{key:1,cols:"12",md:"6"},{default:vue.withCtx(()=>[vue.createVNode(p,{level:"3","heading-style":"heading-xs","data-test":"vs-ski__runs-lifts-status-label",class:"d-none d-md-block"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runsLiftsStatusLabel),1)]),_:1}),vue.createVNode(A,{"table-caption":t.runsLiftsStatusLabel},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_2$6,vue.toDisplayString(t.statusLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(m,{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_3$2,vue.toDisplayString(t.runsLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_4$2,vue.toDisplayString(t.liftsLabel),1)]),_:1})]),_:1}),vue.createVNode(V,null,{default:vue.withCtx(()=>[vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"tick",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_5$2,vue.toDisplayString(t.summaryOpenLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.open)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.open)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.limitedPatrol||r.statusSummary.lifts.limitedPatrol?(vue.openBlock(),vue.createBlock($,{key:0},{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"ski-boot",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_6$2,vue.toDisplayString(t.summaryLimitedPatrolLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.limitedPatrol)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.limitedPatrol)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0),vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"expected-open",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_7$2,vue.toDisplayString(t.summaryOpeningLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.opening)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.opening)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"status-closed",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_8$1,vue.toDisplayString(t.summaryClosedLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.closed)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.closed)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1}),r.statusSummary.runs.onHold||r.statusSummary.lifts.onHold?(vue.openBlock(),vue.createBlock($,{key:1},{default:vue.withCtx(()=>[vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createVNode(w,{name:"hourglass",size:"xs",class:"me-050"}),vue.createElementVNode("span",_hoisted_9$1,vue.toDisplayString(t.summaryOnHoldLabel),1)]),_:1}),r.runs.length?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.runs.onHold)+"/"+vue.toDisplayString(r.runs.length),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(r.statusSummary.lifts.onHold)+"/"+vue.toDisplayString(r.lifts.length),1)]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:1}),vue.createVNode(N,null,{default:vue.withCtx(()=>[vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,{colspan:"3",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("span",_hoisted_10$1,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"]),vue.createVNode(I,{href:`#vs-ski-scotland-status__detailed-status-${e.id}`,type:"default",class:"vs-ski-scotland-status__detailed-status-link"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.detailedStatusLabel),1)]),_:1},8,["href"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(l,{cols:"12",md:"5","offset-md":"1",class:"vs-ski-scotland-status__centre-info"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"centre-information")]),_:3})]),_:3}),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(d,{key:0},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",md:"9",class:"vs-ski-scotland-status__full-report"},{default:vue.withCtx(()=>[vue.createVNode(p,{level:"3","heading-style":"heading-l","data-test":"vs-ski__snow-conditions-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.snowConditionsLabel),1)]),_:1}),vue.createElementVNode("div",{innerHTML:r.report},null,8,_hoisted_11),r.currentWeather.length?(vue.openBlock(),vue.createBlock(p,{key:0,level:"4","heading-style":"heading-xs","data-test":"vs-ski__current-weather-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.currentWeatherLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.currentWeather.length?(vue.openBlock(),vue.createElementBlock("div",{key:1,innerHTML:r.currentWeather},null,8,_hoisted_12)):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createBlock(p,{key:2,level:"4","heading-style":"heading-xs","data-test":"vs-ski__weather-forecast-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.weatherForecastLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.weatherForecast.length?(vue.openBlock(),vue.createElementBlock("div",{key:3,innerHTML:r.weatherForecast},null,8,_hoisted_13)):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createBlock(p,{key:4,level:"4","heading-style":"heading-xs","data-test":"vs-ski__roads-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.roadsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.roadStatus.length?(vue.openBlock(),vue.createElementBlock("div",{key:5,innerHTML:r.roadStatus},null,8,_hoisted_14)):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createBlock(p,{key:6,level:"4","heading-style":"heading-xs","data-test":"vs-ski__news-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.newsLabel),1)]),_:1})):vue.createCommentVNode("",!0),r.news.length?(vue.openBlock(),vue.createElementBlock("div",{key:7,innerHTML:r.news},null,8,_hoisted_15)):vue.createCommentVNode("",!0)]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError?(vue.openBlock(),vue.createBlock(d,{key:1},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(p,{level:"3","heading-style":"heading-l","data-test":"vs-ski__lift-status-label",id:`vs-ski-scotland-status__detailed-status-${e.id}`},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftStatusLabel),1)]),_:1},8,["id"]),vue.createVNode(A,{"table-caption":t.liftStatusLabel,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.liftLabel),1)]),_:1})]),_:1}),vue.createVNode(V,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(r.lifts,F=>(vue.openBlock(),vue.createBlock($,{key:F.name},{default:vue.withCtx(()=>[F.status==="0"||F.status===0?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"status-closed",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),F.status==="1"||F.status===1?(vue.openBlock(),vue.createBlock(S,{key:1},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"tick",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),F.status==="2"||F.status===2?(vue.openBlock(),vue.createBlock(S,{key:2},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"expected-open",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),F.status==="3"||F.status===3?(vue.openBlock(),vue.createBlock(S,{key:3},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"ski-boot",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),F.status==="4"||F.status===4?(vue.openBlock(),vue.createBlock(S,{key:4},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(F.name),1)]),_:2},1024)]),_:2},1024))),128))]),_:1}),vue.createVNode(N,null,{default:vue.withCtx(()=>[vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:1},8,["table-caption"])]),_:1})]),_:1})):vue.createCommentVNode("",!0),!r.jsDisabled&&!r.isLoading&&!r.displayError&&r.runs.length?(vue.openBlock(),vue.createBlock(d,{key:2},{default:vue.withCtx(()=>[vue.createVNode(l,{cols:"12",md:"9"},{default:vue.withCtx(()=>[vue.createVNode(p,{level:"3","heading-style":"heading-l","data-test":"vs-ski__run-status-label"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runStatusLabel),1)]),_:1}),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(o.filteredRunLevels,F=>(vue.openBlock(),vue.createElementBlock("div",{key:F.name},[vue.createVNode(P,null,{default:vue.withCtx(()=>[vue.createVNode(O,{variant:"transparent","control-id":"accordion_item_"+F.name,"colour-badge":F.colourToken},{title:vue.withCtx(()=>[vue.createElementVNode("div",{"data-test":`vs-ski__${F.name}-label`,class:"d-inline-block"},[vue.createElementVNode("span",_hoisted_17,vue.toDisplayString(o.getColourLabel(F.colour)),1),vue.createTextVNode(" "+vue.toDisplayString(F.name),1)],8,_hoisted_16)]),default:vue.withCtx(()=>[vue.createVNode(A,{"table-caption":F.colour+" - "+F.name,class:"vs-ski-scotland-status__run-status-table"},{default:vue.withCtx(()=>[vue.createVNode(g,null,{default:vue.withCtx(()=>[vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.statusLabel),1)]),_:1}),vue.createVNode(m,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.runLabel),1)]),_:1})]),_:1}),vue.createVNode(V,null,{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(F.runs,D=>(vue.openBlock(),vue.createBlock($,{key:D.name,"data-test":`vs-ski__${F.name}-row`},{default:vue.withCtx(()=>[D.status==="0"||D.status===0?(vue.openBlock(),vue.createBlock(S,{key:0},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"status-closed",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusClosedLabel),1)]),_:1})):vue.createCommentVNode("",!0),D.status==="1"||D.status===1?(vue.openBlock(),vue.createBlock(S,{key:1},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"tick",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpenLabel),1)]),_:1})):vue.createCommentVNode("",!0),D.status==="2"||D.status===2?(vue.openBlock(),vue.createBlock(S,{key:2},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"expected-open",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOpeningLabel),1)]),_:1})):vue.createCommentVNode("",!0),D.status==="3"||D.status===3?(vue.openBlock(),vue.createBlock(S,{key:3},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"ski-boot",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusLimitedPatrolLabel),1)]),_:1})):vue.createCommentVNode("",!0),D.status==="4"||D.status===4?(vue.openBlock(),vue.createBlock(S,{key:4},{default:vue.withCtx(()=>[vue.createVNode(w,{name:"hourglass",size:"xs",class:"me-050"}),vue.createTextVNode(" "+vue.toDisplayString(t.statusOnHoldLabel),1)]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(S,null,{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(D.name),1)]),_:2},1024)]),_:2},1032,["data-test"]))),128))]),_:2},1024),vue.createVNode(N,null,{default:vue.withCtx(()=>[vue.createVNode($,null,{default:vue.withCtx(()=>[vue.createVNode(S,{colspan:"2",role:"cell"},{default:vue.withCtx(()=>[vue.createElementVNode("p",null,vue.toDisplayString(t.lastUpdatedLabel)+": "+vue.toDisplayString(r.lastUpdate),1)]),_:1})]),_:1})]),_:1})]),_:2},1032,["table-caption"])]),_:2},1032,["control-id","colour-badge"])]),_:2},1024)]))),128))]),_:1})]),_:1})):vue.createCommentVNode("",!0)]),_:3})])}const SkiScotlandStatus=_export_sfc(_sfc_main$e,[["render",_sfc_render$c]]),_sfc_main$d={name:"VsSkipTo",status:"prototype",release:"0.0.1",components:{VsLink},props:{skipToText:{type:String,required:!0},hasSearchLink:{type:Boolean,default:!0}},methods:{mainMenuFocus(){const e=document.getElementsByClassName("vs-mega-nav__menu__mobile")[0],n=document.getElementsByClassName("vs-mega-nav-dropdown")[0];if(!this.isUndefined(n)){let t=n.getElementsByClassName("btn")[0];e.offsetParent!==null?(e.querySelectorAll(".btn.dropdown-toggle")[0].click(),t=document.getElementsByClassName("vs-mega-nav-accordion-item--level-1")[0].querySelectorAll(".vs-button.vs-accordion-toggle")[0],setTimeout(()=>{t.focus()},200)):t.focus()}},footerFocus(){const e=document.getElementsByClassName("vs-footer")[0];if(!this.isUndefined(e)){const n=e.getElementsByClassName("vs-footer-accordion-item")[0],t=n.getElementsByClassName("vs-link")[0],a=n.getElementsByClassName("vs-accordion-toggle")[0];a.offsetParent!==null&&!this.isUndefined(a)&&a.click(),!this.isUndefined(e)&&!this.isUndefined(t)&&(e.scrollIntoView(!0),setTimeout(()=>{t.focus()},200))}},isUndefined(e){return typeof e>"u"}}},_hoisted_1$9=["aria-label"],_hoisted_2$5={class:"vs-skip-to__label",id:"skip-to-label"};function _sfc_render$b(e,n,t,a,r,o){const u=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("nav",{class:"vs-skip-to d-flex","data-test":"vs-skip-to","aria-label":t.skipToText},[vue.createElementVNode("p",_hoisted_2$5,vue.toDisplayString(t.skipToText)+": ",1),vue.createVNode(u,{href:"#main-nav","data-test":"vs-skip-to-main-menu",onClick:n[0]||(n[0]=l=>o.mainMenuFocus()),id:"main-menu"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-menu-text")]),_:3}),t.hasSearchLink?(vue.openBlock(),vue.createBlock(u,{key:0,href:"#site-search-btn","data-test":"vs-skip-to-search",class:"vs-skip-to__search"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"search-text")]),_:3})):vue.createCommentVNode("",!0),vue.createVNode(u,{href:"#main-heading","data-test":"vs-skip-to-main-content"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"main-content-text")]),_:3}),vue.createVNode(u,{href:"#site-footer",onClick:n[1]||(n[1]=l=>o.footerFocus()),"data-test":"vs-skip-to-footer"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"footer-text")]),_:3})],8,_hoisted_1$9)}const SkipTo=_export_sfc(_sfc_main$d,[["render",_sfc_render$b]]),_sfc_main$c={name:"VsSocialCreditLink",status:"prototype",release:"0.0.1",components:{VsLink,VsIcon},props:{credit:{type:String,required:!0},socialPostUrl:{type:String,required:!0},source:{type:String,required:!0,validator:e=>e.match(/(instagram)/)}}},_hoisted_1$8={class:"social-credit","data-test":"vs-social-credit-link"};function _sfc_render$a(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$8,[t.source?(vue.openBlock(),vue.createBlock(u,{key:0,name:t.source,variant:"inverse",size:"xs",class:"me-025","data-test":"vs-social-credit-link__icon"},null,8,["name"])):vue.createCommentVNode("",!0),vue.createVNode(l,{class:"social-credit__link","data-test":"vs-social-credit-link__link",href:t.socialPostUrl,variant:"on-dark",type:"external"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.credit),1)]),_:1},8,["href"])])}const SocialCreditLink=_export_sfc(_sfc_main$c,[["render",_sfc_render$a]]),_sfc_main$b={name:"VsSocialShare",status:"prototype",release:"0.0.1",components:{VsButton,VsHeading,VsModuleWrapper,BPopover:bootstrapVueNext.BPopover,VsRow,VsContainer,VsCol},provide(){return{referringPageUrl:this.pageUrl,pageTitle:this.pageTitle,noJs:this.noJs}},props:{shareBtnText:{type:String,required:!0},sharePopoverTitle:{type:String,required:!0},pageUrl:{type:String,required:!0},pageTitle:{type:String,default:""},closeAltText:{type:String,required:!0},id:{type:String,required:!0},noJs:{type:Boolean,default:!1}},data(){return{copyLink:!1,renderPopover:!1}},mounted(){this.renderPopover=!0},methods:{onClose(e){this.$refs.popover.hide(e)},onShown(){this.focusFirst()},onHidden(){this.focusRef(this.$refs.shareButton)},onHide(e){this.copyLink&&(e.preventDefault(),this.focusFirst(),this.copyLink=!1)},onCopyLink(){this.copyLink=!0},focusRef(e){this.$nextTick(()=>{this.$nextTick(()=>{(e.$el||e).focus()})})},focusFirst(){this.$nextTick(()=>{this.$nextTick(()=>{this.$refs.popoverShareRow.$el.querySelector(".vs-social-share-item a ").focus()})})},tabFromClose(e){e.shiftKey||(e.preventDefault(),this.focusFirst())},tabBackFromHidden(e){e.shiftKey&&(e.preventDefault(),this.focusRef(this.$refs.closeButton))}}};function _sfc_render$9(e,n,t,a,r,o){const u=vue.resolveComponent("VsButton"),l=vue.resolveComponent("VsHeading"),d=vue.resolveComponent("VsRow"),h=vue.resolveComponent("BPopover"),f=vue.resolveComponent("VsCol"),p=vue.resolveComponent("VsContainer"),m=vue.resolveComponent("VsModuleWrapper");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-social-share",t.noJs?"vs-module-wrapper__outer--hidden":"vs-module-wrapper__outer--light"]),"data-test":"vs-social-share",ref:"socialShareContainer"},[t.noJs?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(u,{key:0,class:"vs-social-share__share-btn",variant:"transparent",icon:"share",id:`vs-social-share-popover--${t.id}`,ref:"shareButton"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.shareBtnText),1)]),_:1},8,["id"])),!t.noJs&&r.renderPopover?(vue.openBlock(),vue.createBlock(h,{key:1,"custom-class":"vs-social-share__popover",target:`vs-social-share-popover--${t.id}`,click:!0,container:"body",placement:"left-end",offset:"-100",onShown:o.onShown,onHidden:o.onHidden,onHide:o.onHide,ref:"popover"},{default:vue.withCtx(()=>[vue.createVNode(l,{level:"3",tabindex:"0","heading-style":"heading-m",ref:"shareHeader",class:"vs-social-share__header",onKeydown:n[0]||(n[0]=vue.withKeys(g=>o.tabBackFromHidden(g),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1},512),vue.createVNode(d,{ref:"popoverShareRow"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default",{onCopyLink:o.onCopyLink})]),_:3},512),vue.createVNode(u,{"icon-only":"",class:"vs-social-share__close-btn",icon:"close",variant:"transparent",ref:"closeButton",onClick:o.onClose,onKeydown:n[1]||(n[1]=vue.withKeys(g=>o.tabFromClose(g),["tab"]))},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.closeAltText),1)]),_:1},8,["onClick"])]),_:3},8,["target","onShown","onHidden","onHide"])):vue.createCommentVNode("",!0),t.noJs?(vue.openBlock(),vue.createBlock(m,{key:2,class:"vs-social-share--module-list"},{default:vue.withCtx(()=>[vue.createVNode(p,null,{default:vue.withCtx(()=>[vue.createVNode(d,null,{default:vue.withCtx(()=>[vue.createVNode(f,{cols:"12"},{default:vue.withCtx(()=>[vue.createVNode(l,{level:"2","heading-style":"heading-l",class:"mb-300 mt-0"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.sharePopoverTitle),1)]),_:1})]),_:1})]),_:1}),vue.createVNode(d,{class:"justify-content-center"},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3})]),_:3})]),_:3})):vue.createCommentVNode("",!0)],2)}const SocialShare=_export_sfc(_sfc_main$b,[["render",_sfc_render$9]]),_sfc_main$a={name:"VsSocialShareItem",status:"prototype",release:"0.0.1",components:{VsCol,VsLink,VsIcon},mixins:[dataLayerMixin],inject:{referringPageUrl:{default:""},pageTitle:{default:""},noJs:{default:""}},props:{name:{type:String,required:!0,validator:e=>e.match(/(facebook|twitter|pinterest|link|email|whatsapp)/)},linkText:{type:String,required:!0},linkCopiedText:{type:String,default:""}},emits:["copyLinkClicked"],data(){return{show:!1}},computed:{iconColour(){let e="";switch(this.name){case"facebook":e="#1877f2";break;case"x-twitter":e="#0F1419";break;case"pinterest":e="#E60023";break;case"whatsapp":e="#455a64";break;default:e="#000000"}return e},encodedPageTitle(){return encodeURI(this.pageTitle)},shareUrl(){let e="";switch(this.name){case"facebook":e=`https://www.facebook.com/sharer/sharer.php?u=${this.referringPageUrl}&t=${this.encodedPageTitle}`;break;case"x-twitter":e=`https://twitter.com/intent/tweet?text=${this.encodedPageTitle}%20@VisitScotland&url=${this.referringPageUrl}`;break;case"pinterest":e=`https://www.pinterest.com/pin/create/button/?url=${this.referringPageUrl}`;break;case"email":e=`mailto:?body=${this.encodedPageTitle}%20-%20${this.referringPageUrl}&subject=${this.encodedPageTitle}`;break;case"whatsapp":e=`https://wa.me/?text=${this.encodedPageTitle}%20-%20${this.referringPageUrl}`;break;case"link":e="#";break;default:e="#"}return e}},methods:{copyToClipboard(e){if(this.name==="link"){if(this.$emit("copyLinkClicked"),!navigator.clipboard)return;navigator.clipboard.writeText&&navigator.clipboard.writeText(this.referringPageUrl),this.show=!0,setTimeout(()=>{this.show=!1},2e3)}this.trackShareClick(e)},trackShareClick(e){this.createDataLayerObject("socialShareDataEvent",e,this.href)}}},_hoisted_1$7={class:"vs-social-share-item__text"};function _sfc_render$8(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon"),l=vue.resolveComponent("VsLink"),d=vue.resolveComponent("VsCol");return vue.openBlock(),vue.createBlock(d,{class:"vs-social-share-item","data-test":"vs-social-share-item",cols:4,md:o.noJs?2:4},{default:vue.withCtx(()=>[vue.createVNode(l,{class:"vs-social-share-item__link",href:o.shareUrl,onClick:n[0]||(n[0]=h=>o.copyToClipboard(h)),id:`vs-share-${t.name}`},{default:vue.withCtx(()=>[vue.createVNode(u,{name:t.name,"custom-colour":o.iconColour,size:"xl","small-size":"lg"},null,8,["name","custom-colour"]),vue.createElementVNode("span",_hoisted_1$7,vue.toDisplayString(r.show?t.linkCopiedText:t.linkText),1)]),_:1},8,["href","id"])]),_:1},8,["md"])}const SocialShareItem=_export_sfc(_sfc_main$a,[["render",_sfc_render$8]]),_hoisted_1$6={class:"vs-styled-list__list"},_hoisted_2$4={class:"vs-styled-list__source"},_sfc_main$9={__name:"StyledList",props:{source:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["vs-styled-list",`vs-styled-list--${n.variant}`]),"data-test":"vs-styled-list"},[vue.createVNode(vue.unref(VsContainer),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(VsRow),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(VsCol),{md:n.variant==="icon"?"8":null},{default:vue.withCtx(()=>[vue.createElementVNode("ul",_hoisted_1$6,[vue.renderSlot(t.$slots,"default")])]),_:3},8,["md"])]),_:3}),t.$slots["list-source"]&&t.$slots["list-source"]()?(vue.openBlock(),vue.createBlock(vue.unref(VsRow),{key:0},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_2$4,[vue.renderSlot(t.$slots,"list-source")])]),_:3})):vue.createCommentVNode("",!0)]),_:3})],2))}},_hoisted_1$5={class:"vs-styled-list__item","data-test":"vs-styled-list__item"},_sfc_main$8={__name:"StyledListItem",props:{heading:{type:String,required:!0},headingLevel:{type:Number,default:3,validator:e=>lodashExports.isNumber(e)?e>0&&e<7:e.match(/(1|2|3|4|5|6)/)},imageSrc:{type:String,default:null},variant:{type:String,default:"icon",validator:e=>["icon","image","image-horizontal","numbered"].includes(e)},anchorLink:{type:String,default:""}},setup(e){const n=e;return(t,a)=>(vue.openBlock(),vue.createElementBlock("li",_hoisted_1$5,[vue.createVNode(vue.unref(VsRow),null,{default:vue.withCtx(()=>[n.variant==="image"?(vue.openBlock(),vue.createBlock(vue.unref(VsCol),{key:0,cols:"12",md:"2"},{default:vue.withCtx(()=>[vue.createVNode(VsImg,{src:n.imageSrc},null,8,["src"])]),_:1})):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(VsCol),{md:n.variant==="image"?"10":"12"},{default:vue.withCtx(()=>[n.variant==="image-horizontal"?(vue.openBlock(),vue.createBlock(VsImg,{key:0,src:n.imageSrc},null,8,["src"])):vue.createCommentVNode("",!0),vue.createVNode(VsHeading,{level:n.headingLevel,"heading-style":"heading-xxs",id:e.anchorLink?e.anchorLink:""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(e.heading),1)]),_:1},8,["level","id"]),vue.createVNode(VsRichTextWrapper,null,{default:vue.withCtx(()=>[vue.renderSlot(t.$slots,"default")]),_:3})]),_:3},8,["md"])]),_:3})]))}},_sfc_main$7={name:"VsSummaryBoxList",status:"prototype",release:"0.0.1"},_hoisted_1$4={class:"vs-summary-box","data-test":"vs-summary-box-list"},_hoisted_2$3={class:"vs-summary-box__list list-unstyled d-flex flex-wrap p-050 p-sm-075"};function _sfc_render$7(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("div",_hoisted_1$4,[vue.createElementVNode("ul",_hoisted_2$3,[vue.renderSlot(e.$slots,"default")])])}const SummaryBoxList=_export_sfc(_sfc_main$7,[["render",_sfc_render$7]]),_sfc_main$6={name:"VsSummaryBoxListItem",status:"prototype",release:"0.0.1",components:{VsIcon},props:{text:{type:String,default:""},label:{type:String,default:""},icon:{type:String,default:""},iconLabel:{type:String,default:""}}},_hoisted_1$3={class:"vs-summary-box-item position-relative","data-test":"vs-summary-box-list-item"},_hoisted_2$2={key:0,class:"text-center vs-summary-box-item__label d-block position-absolute w-100","data-test":"vs-summary-box-list-item-label"},_hoisted_3$1={class:"vs-summary-box-item__label-inner"},_hoisted_4$1={key:1,class:"vs-summary-box-item__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-list-item-display"},_hoisted_5$1={key:2,class:"vs-summary-box-item__icon d-flex align-items-center position-absolute justify-content-center w-100","data-test":"vs-summary-box-list-item-icon-with-label"},_hoisted_6$1={class:"icon-wrapper text-end"},_hoisted_7$1={class:"text-wrapper d-block w-auto pt-100"};function _sfc_render$6(e,n,t,a,r,o){const u=vue.resolveComponent("VsIcon");return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$3,[t.label?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$2,[vue.createElementVNode("span",_hoisted_3$1,vue.toDisplayString(t.label),1)])):vue.createCommentVNode("",!0),t.text?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$1,[vue.createElementVNode("span",null,vue.toDisplayString(t.text),1)])):vue.createCommentVNode("",!0),t.icon?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$1,[vue.createElementVNode("div",_hoisted_6$1,[vue.createVNode(u,{name:t.icon,size:"xl"},null,8,["name"])]),vue.createElementVNode("div",_hoisted_7$1,[vue.createElementVNode("span",null,vue.toDisplayString(t.iconLabel),1)])])):vue.createCommentVNode("",!0)])}const SummaryBoxListItem=_export_sfc(_sfc_main$6,[["render",_sfc_render$6],["__scopeId","data-v-f498b8de"]]),_sfc_main$5={name:"VsSummaryBoxDistanceListItem",status:"prototype",release:"0.0.1",props:{miles:{type:String,default:""},kilometres:{type:String,default:""},distanceLabel:{type:String,default:"Distance"},milesLabel:{type:String,default:"miles"},kilometresLabel:{type:String,default:"km"},showMiles:{type:Boolean,default:!0}}},_hoisted_1$2={class:"vs-summary-box-distance position-relative","data-test":"vs-summary-box-distance-list-item"},_hoisted_2$1={key:0,class:"text-center vs-summary-box-distance__label d-block position-absolute w-100","data-test":"vs-summary-box-distance-list-item-label"},_hoisted_3={class:"vs-summary-box-distance__label-inner"},_hoisted_4={class:"vs-summary-box-distance__display position-absolute d-block text-center w-100","data-test":"vs-summary-box-distance-display"},_hoisted_5={class:"vs-summary-box-distance__display-entry"},_hoisted_6={class:"vs-summary-box-distance__display-value"},_hoisted_7={class:"vs-summary-box-distance__display-label"},_hoisted_8={class:"vs-summary-box-distance__display-entry"},_hoisted_9={class:"vs-summary-box-distance__display-value"},_hoisted_10={class:"vs-summary-box-distance__display-label"};function _sfc_render$5(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("li",_hoisted_1$2,[t.distanceLabel?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$1,[vue.createElementVNode("span",_hoisted_3,vue.toDisplayString(t.distanceLabel),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_4,[vue.createElementVNode("div",_hoisted_5,[vue.createElementVNode("span",_hoisted_6,vue.toDisplayString(t.miles),1),vue.createElementVNode("span",_hoisted_7,vue.toDisplayString(t.milesLabel),1)]),n[0]||(n[0]=vue.createElementVNode("hr",{class:"vs-summary-box-distance__divider"},null,-1)),vue.createElementVNode("div",_hoisted_8,[vue.createElementVNode("span",_hoisted_9,vue.toDisplayString(t.kilometres),1),vue.createElementVNode("span",_hoisted_10,vue.toDisplayString(t.kilometresLabel),1)])])])}const SummaryBoxDistanceListItem=_export_sfc(_sfc_main$5,[["render",_sfc_render$5],["__scopeId","data-v-83691917"]]),_sfc_main$4={name:"VsTabs",status:"prototype",release:"0.0.1",components:{BTabs:bootstrapVueNext.BTabs},provide(){return{noContainer:vue.computed(()=>this.noContainer)}},props:{noContainer:{type:Boolean,default:!1}}};function _sfc_render$4(e,n,t,a,r,o){const u=vue.resolveComponent("BTabs");return vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(t.noContainer?"vs-tabs--no-container":"vs-tabs"),"data-test":"vs-tabs"},[vue.createVNode(u,{"no-container":t.noContainer,align:t.noContainer?"center":null},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["no-container","align"])],2)}const Tabs=_export_sfc(_sfc_main$4,[["render",_sfc_render$4]]),_sfc_main$3={name:"VsTabItem",status:"prototype",release:"0.0.1",components:{VsHeading,BTab:bootstrapVueNext.BTab},mixins:[dataLayerMixin],inject:["noContainer"],props:{title:{type:String,required:!0}},methods:{trackClick(e){this.createDataLayerObject("tabClickEvent",e,null)}}};function _sfc_render$3(e,n,t,a,r,o){const u=vue.resolveComponent("VsHeading"),l=vue.resolveComponent("BTab");return vue.openBlock(),vue.createBlock(l,{class:"vs-tab__item","data-test":"vs-tab__item","title-link-class":o.noContainer?"vs-tab-link--no-container vs-heading":"vs-tab-link vs-heading",title:t.title,onClick:o.trackClick},{default:vue.withCtx(()=>[vue.createVNode(u,{level:"3","heading-style":"heading-xxs",class:"vs-tab__item__heading"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.title),1)]),_:1}),vue.renderSlot(e.$slots,"default")]),_:3},8,["title-link-class","title","onClick"])}const TabItem=_export_sfc(_sfc_main$3,[["render",_sfc_render$3]]),_sfc_main$2={name:"VsTag",status:"prototype",release:"0.0.1",components:{VsLink},props:{href:{type:String,required:!0}}};function _sfc_render$2(e,n,t,a,r,o){const u=vue.resolveComponent("VsLink");return vue.openBlock(),vue.createBlock(u,{class:"vs-tag me-050 mb-100","data-test":"vs-tag",href:t.href},{default:vue.withCtx(()=>[vue.renderSlot(e.$slots,"default")]),_:3},8,["href"])}const Tag=_export_sfc(_sfc_main$2,[["render",_sfc_render$2]]),_sfc_main$1={name:"VsTagManagerWrapper",status:"prototype",release:"0.0.1",mixins:[dataLayerMixin],props:{payload:{type:Object,default:()=>{}}},mounted(){this.processPayload(this.payload),document.addEventListener("DOMContentLoaded",()=>{this.dataLayerStore.setTestRun(!0),this.dataLayerStore.setPageUrl(window.location.href)}),this.createDataLayerObject("pageViewTemplateDataEvent")},methods:{processPayload(e){e!==void 0&&Object.keys(e).forEach(n=>{const t=n.replace(/-/g,"_");this.dataLayerStore.processPayload({key:t,value:e[n]})})}}},_hoisted_1$1={"data-test":"vs-tag-manager-wrapper",class:"d-none"};function _sfc_render$1(e,n,t,a,r,o){return vue.openBlock(),vue.createElementBlock("span",_hoisted_1$1)}const TagManagerWrapper=_export_sfc(_sfc_main$1,[["render",_sfc_render$1]]);var dist={exports:{}},Sister;/**
|
|
363
363
|
* @link https://github.com/gajus/sister for the canonical source repository
|
|
364
364
|
* @license https://github.com/gajus/sister/blob/master/LICENSE BSD 3-Clause
|
|
365
365
|
*/Sister=function(){var e={},n={};return e.on=function(t,a){var r={name:t,handler:a};return n[t]=n[t]||[],n[t].unshift(r),r},e.off=function(t){var a=n[t.name].indexOf(t);a!==-1&&n[t.name].splice(a,1)},e.trigger=function(t,a){var r=n[t],o;if(r)for(o=r.length;o--;)r[o].handler(a)},e};var sister=Sister,YouTubePlayer={exports:{}},browser={exports:{}},ms,hasRequiredMs;function requireMs(){if(hasRequiredMs)return ms;hasRequiredMs=1;var e=1e3,n=e*60,t=n*60,a=t*24,r=a*7,o=a*365.25;ms=function(f,p){p=p||{};var m=typeof f;if(m==="string"&&f.length>0)return u(f);if(m==="number"&&isFinite(f))return p.long?d(f):l(f);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(f))};function u(f){if(f=String(f),!(f.length>100)){var p=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(p){var m=parseFloat(p[1]),g=(p[2]||"ms").toLowerCase();switch(g){case"years":case"year":case"yrs":case"yr":case"y":return m*o;case"weeks":case"week":case"w":return m*r;case"days":case"day":case"d":return m*a;case"hours":case"hour":case"hrs":case"hr":case"h":return m*t;case"minutes":case"minute":case"mins":case"min":case"m":return m*n;case"seconds":case"second":case"secs":case"sec":case"s":return m*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return m;default:return}}}}function l(f){var p=Math.abs(f);return p>=a?Math.round(f/a)+"d":p>=t?Math.round(f/t)+"h":p>=n?Math.round(f/n)+"m":p>=e?Math.round(f/e)+"s":f+"ms"}function d(f){var p=Math.abs(f);return p>=a?h(f,p,a,"day"):p>=t?h(f,p,t,"hour"):p>=n?h(f,p,n,"minute"):p>=e?h(f,p,e,"second"):f+" ms"}function h(f,p,m,g){var w=p>=m*1.5;return Math.round(f/m)+" "+g+(w?"s":"")}return ms}function setup(e){t.debug=t,t.default=t,t.coerce=d,t.disable=u,t.enable=r,t.enabled=l,t.humanize=requireMs(),t.destroy=h,Object.keys(e).forEach(f=>{t[f]=e[f]}),t.names=[],t.skips=[],t.formatters={};function n(f){let p=0;for(let m=0;m<f.length;m++)p=(p<<5)-p+f.charCodeAt(m),p|=0;return t.colors[Math.abs(p)%t.colors.length]}t.selectColor=n;function t(f){let p,m=null,g,w;function S(...$){if(!S.enabled)return;const V=S,N=Number(new Date),A=N-(p||N);V.diff=A,V.prev=p,V.curr=N,p=N,$[0]=t.coerce($[0]),typeof $[0]!="string"&&$.unshift("%O");let I=0;$[0]=$[0].replace(/%([a-zA-Z%])/g,(P,F)=>{if(P==="%%")return"%";I++;const D=t.formatters[F];if(typeof D=="function"){const ie=$[I];P=D.call(V,ie),$.splice(I,1),I--}return P}),t.formatArgs.call(V,$),(V.log||t.log).apply(V,$)}return S.namespace=f,S.useColors=t.useColors(),S.color=t.selectColor(f),S.extend=a,S.destroy=t.destroy,Object.defineProperty(S,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(g!==t.namespaces&&(g=t.namespaces,w=t.enabled(f)),w),set:$=>{m=$}}),typeof t.init=="function"&&t.init(S),S}function a(f,p){const m=t(this.namespace+(typeof p>"u"?":":p)+f);return m.log=this.log,m}function r(f){t.save(f),t.namespaces=f,t.names=[],t.skips=[];const p=(typeof f=="string"?f:"").trim().replace(" ",",").split(",").filter(Boolean);for(const m of p)m[0]==="-"?t.skips.push(m.slice(1)):t.names.push(m)}function o(f,p){let m=0,g=0,w=-1,S=0;for(;m<f.length;)if(g<p.length&&(p[g]===f[m]||p[g]==="*"))p[g]==="*"?(w=g,S=m,g++):(m++,g++);else if(w!==-1)g=w+1,S++,m=S;else return!1;for(;g<p.length&&p[g]==="*";)g++;return g===p.length}function u(){const f=[...t.names,...t.skips.map(p=>"-"+p)].join(",");return t.enable(""),f}function l(f){for(const p of t.skips)if(o(f,p))return!1;for(const p of t.names)if(o(f,p))return!0;return!1}function d(f){return f instanceof Error?f.stack||f.message:f}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return t.enable(t.load()),t}var common=setup;(function(e,n){var t={};n.formatArgs=r,n.save=o,n.load=u,n.useColors=a,n.storage=l(),n.destroy=(()=>{let h=!1;return()=>{h||(h=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),n.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function a(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let h;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(h=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(h[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function r(h){if(h[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+h[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const f="color: "+this.color;h.splice(1,0,f,"color: inherit");let p=0,m=0;h[0].replace(/%[a-zA-Z%]/g,g=>{g!=="%%"&&(p++,g==="%c"&&(m=p))}),h.splice(m,0,f)}n.log=console.debug||console.log||(()=>{});function o(h){try{h?n.storage.setItem("debug",h):n.storage.removeItem("debug")}catch{}}function u(){let h;try{h=n.storage.getItem("debug")}catch{}return!h&&typeof process$1$1<"u"&&"env"in process$1$1&&(h=t.DEBUG),h}function l(){try{return localStorage}catch{}}e.exports=common(n);const{formatters:d}=e.exports;d.j=function(h){try{return JSON.stringify(h)}catch(f){return"[UnexpectedJSONParseError]: "+f.message}}})(browser,browser.exports);var browserExports=browser.exports,FunctionStateMap={exports:{}},PlayerStates={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default={BUFFERING:3,ENDED:0,PAUSED:2,PLAYING:1,UNSTARTED:-1,VIDEO_CUED:5},e.exports=n.default})(PlayerStates,PlayerStates.exports);var PlayerStatesExports=PlayerStates.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=PlayerStatesExports,a=r(t);function r(o){return o&&o.__esModule?o:{default:o}}n.default={pauseVideo:{acceptableStates:[a.default.ENDED,a.default.PAUSED],stateChangeRequired:!1},playVideo:{acceptableStates:[a.default.ENDED,a.default.PLAYING],stateChangeRequired:!1},seekTo:{acceptableStates:[a.default.ENDED,a.default.PLAYING,a.default.PAUSED],stateChangeRequired:!0,timeout:3e3}},e.exports=n.default})(FunctionStateMap,FunctionStateMap.exports);var FunctionStateMapExports=FunctionStateMap.exports,eventNames={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=["ready","stateChange","playbackQualityChange","playbackRateChange","error","apiChange","volumeChange"],e.exports=n.default})(eventNames,eventNames.exports);var eventNamesExports=eventNames.exports,functionNames={exports:{}};(function(e,n){Object.defineProperty(n,"__esModule",{value:!0}),n.default=["cueVideoById","loadVideoById","cueVideoByUrl","loadVideoByUrl","playVideo","pauseVideo","stopVideo","getVideoLoadedFraction","cuePlaylist","loadPlaylist","nextVideo","previousVideo","playVideoAt","setShuffle","setLoop","getPlaylist","getPlaylistIndex","setOption","mute","unMute","isMuted","setVolume","getVolume","seekTo","getPlayerState","getPlaybackRate","setPlaybackRate","getAvailablePlaybackRates","getPlaybackQuality","setPlaybackQuality","getAvailableQualityLevels","getCurrentTime","getDuration","removeEventListener","getVideoUrl","getVideoEmbedCode","getOptions","getOption","addEventListener","destroy","setSize","getIframe","getSphericalProperties","setSphericalProperties"],e.exports=n.default})(functionNames,functionNames.exports);var functionNamesExports=functionNames.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=browserExports,a=f(t),r=FunctionStateMapExports,o=f(r),u=eventNamesExports,l=f(u),d=functionNamesExports,h=f(d);function f(g){return g&&g.__esModule?g:{default:g}}const p=(0,a.default)("youtube-player"),m={};m.proxyEvents=g=>{const w={};for(const S of l.default){const $="on"+S.slice(0,1).toUpperCase()+S.slice(1);w[$]=V=>{p('event "%s"',$,V),g.trigger(S,V)}}return w},m.promisifyPlayer=(g,w=!1)=>{const S={};for(const $ of h.default)w&&o.default[$]?S[$]=(...V)=>g.then(N=>{const A=o.default[$],I=N.getPlayerState(),O=N[$].apply(N,V);return A.stateChangeRequired||Array.isArray(A.acceptableStates)&&!A.acceptableStates.includes(I)?new Promise(P=>{const F=()=>{const D=N.getPlayerState();let ie;typeof A.timeout=="number"&&(ie=setTimeout(()=>{N.removeEventListener("onStateChange",F),P()},A.timeout)),Array.isArray(A.acceptableStates)&&A.acceptableStates.includes(D)&&(N.removeEventListener("onStateChange",F),clearTimeout(ie),P())};N.addEventListener("onStateChange",F)}).then(()=>O):O}):S[$]=(...V)=>g.then(N=>N[$].apply(N,V));return S},n.default=m,e.exports=n.default})(YouTubePlayer,YouTubePlayer.exports);var YouTubePlayerExports=YouTubePlayer.exports,loadYouTubeIframeApi={exports:{}},loadScript=function e(n,t,a){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("script");typeof t=="function"&&(a=t,t={}),t=t||{},a=a||function(){},o.type=t.type||"text/javascript",o.charset=t.charset||"utf8",o.async="async"in t?!!t.async:!0,o.src=n,t.attrs&&setAttributes(o,t.attrs),t.text&&(o.text=""+t.text);var u="onload"in o?stdOnEnd:ieOnEnd;u(o,a),o.onload||stdOnEnd(o,a),r.appendChild(o)};function setAttributes(e,n){for(var t in n)e.setAttribute(t,n[t])}function stdOnEnd(e,n){e.onload=function(){this.onerror=this.onload=null,n(null,e)},e.onerror=function(){this.onerror=this.onload=null,n(new Error("Failed to load "+this.src),e)}}function ieOnEnd(e,n){e.onreadystatechange=function(){this.readyState!="complete"&&this.readyState!="loaded"||(this.onreadystatechange=null,n(null,e))}}(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=loadScript,a=r(t);function r(o){return o.__esModule?o:{default:o}}n.default=o=>new Promise(l=>{if(window.YT&&window.YT.Player&&window.YT.Player instanceof Function){l(window.YT);return}else{const h=window.location.protocol==="http:"?"http:":"https:";(0,a.default)(h+"//www.youtube.com/iframe_api",f=>{f&&o.trigger("error",f)})}const d=window.onYouTubeIframeAPIReady;window.onYouTubeIframeAPIReady=()=>{d&&d(),l(window.YT)}}),e.exports=n.default})(loadYouTubeIframeApi,loadYouTubeIframeApi.exports);var loadYouTubeIframeApiExports=loadYouTubeIframeApi.exports;(function(e,n){Object.defineProperty(n,"__esModule",{value:!0});var t=sister,a=d(t),r=YouTubePlayerExports,o=d(r),u=loadYouTubeIframeApiExports,l=d(u);function d(f){return f&&f.__esModule?f:{default:f}}let h;n.default=(f,p={},m=!1)=>{const g=(0,a.default)();if(h||(h=(0,l.default)(g)),p.events)throw new Error("Event handlers cannot be overwritten.");if(typeof f=="string"&&!document.getElementById(f))throw new Error('Element "'+f+'" does not exist.');p.events=o.default.proxyEvents(g);const w=new Promise($=>{typeof f=="object"&&f.playVideo instanceof Function?$(f):h.then(V=>{const N=new V.Player(f,p);return g.on("ready",()=>{$(N)}),null})}),S=o.default.promisifyPlayer(w,m);return S.on=g.on,S.off=g.off,S},e.exports=n.default})(dist,dist.exports);var distExports=dist.exports;const player=getDefaultExportFromCjs$1(distExports),UNSTARTED=-1,ENDED=0,PLAYING=1,PAUSED=2,BUFFERING=3,CUED=5,VueYoutube={name:"Youtube",props:{videoId:String,playerVars:{type:Object,default:()=>({})},height:{type:[Number,String],default:360},width:{type:[Number,String],default:640},resize:{type:Boolean,default:!1},resizeDelay:{type:Number,default:100},nocookie:{type:Boolean,default:!1},fitParent:{type:Boolean,default:!1}},data(){return{player:{},events:{[UNSTARTED]:"unstarted",[PLAYING]:"playing",[PAUSED]:"paused",[ENDED]:"ended",[BUFFERING]:"buffering",[CUED]:"cued"},resizeTimeout:null}},computed:{aspectRatio(){return this.width/this.height}},methods:{playerReady(e){this.$emit("ready",e.target)},playerStateChange(e){e.data!==null&&e.data!==UNSTARTED&&this.$emit(this.events[e.data],e.target)},playerError(e){this.$emit("error",e.target)},updatePlayer(e){if(!e){this.player.stopVideo();return}const n={videoId:e};if(typeof this.playerVars.start=="number"&&(n.startSeconds=this.playerVars.start),typeof this.playerVars.end=="number"&&(n.endSeconds=this.playerVars.end),this.playerVars.autoplay===1){this.player.loadVideoById(n);return}this.player.cueVideoById(n)},resizeProportionally(){this.player.getIframe().then(e=>{const n=this.fitParent?e.parentElement.offsetWidth:e.offsetWidth,t=n/this.aspectRatio;this.player.setSize(n,t)})},onResize(){clearTimeout(this.resizeTimeout),this.resizeTimeout=setTimeout(this.resizeProportionally,this.resizeDelay)}},watch:{videoId:"updatePlayer",resize(e){e?(window.addEventListener("resize",this.onResize),this.resizeProportionally()):(window.removeEventListener("resize",this.onResize),this.player.setSize(this.width,this.height))},width(e){this.player.setSize(e,this.height)},height(e){this.player.setSize(this.width,e)}},beforeUnmount(){this.player!==null&&this.player.destroy&&(this.player.destroy(),delete this.player),this.resize&&window.removeEventListener("resize",this.onResize)},mounted(){window.YTConfig={host:"https://www.youtube.com/iframe_api"};const e=this.nocookie?"https://www.youtube-nocookie.com":"https://www.youtube.com";this.player=player(this.$el,{host:e,width:this.width,height:this.height,videoId:this.videoId,playerVars:this.playerVars}),this.player.on("ready",this.playerReady),this.player.on("stateChange",this.playerStateChange),this.player.on("error",this.playerError),this.resize&&window.addEventListener("resize",this.onResize),this.fitParent&&this.resizeProportionally()},render(){return vue.h("div")}};let videoStore=null;const _sfc_main={name:"VsVideo",status:"prototype",release:"0.0.1",components:{VsWarning,VueYoutube},mixins:[dataLayerMixin],props:{language:{type:String,default:"en"},videoId:{type:String,required:!0},videoTitle:{type:String,default:""},singleMinuteDescriptor:{type:String,default:"%s minute video"},pluralMinuteDescriptor:{type:String,default:"%s minute video"},noJsMessage:{type:String,required:!0},errorMessage:{type:String,default:""}},data(){return{duration:{minutes:0,seconds:0,roundedMinutes:""},playerVars:{hl:this.language},reRendering:!1,shouldAutoPlay:!1,jsDisabled:!0}},computed:{warningText(){let e="";return this.videoId&&this.jsDisabled&&(e=this.noJsMessage),e},player(){return this.$refs.youtube?this.$refs.youtube.player:null}},mounted(){this.jsDisabled=jsIsDisabled(),videoStore=useVideoStore(),this.setEventListeners()},methods:{async playerReady(){await this.getPlayerDetails(),this.shouldAutoPlay&&(this.shouldAutoPlay=!1,this.playVideo())},async playVideo(){this.player&&await this.player.playVideo()},async pauseVideo(){this.player&&await this.player.pauseVideo()},async stopVideo(){this.player&&await this.player.stopVideo()},youtubePlaying(){this.analyticsEvent("play")},youtubePaused(){this.analyticsEvent("pause")},youtubeEnded(){this.analyticsEvent("ended")},analyticsEvent(e){let n=0,t=0;this.player.getCurrentTime().then(a=>(n=a,this.player?this.player.getDuration():null)).then(a=>{t=a}).then(()=>{const a=n/t*100;this.createDataLayerObject("videoTrackingDataEvent",{title:this.videoTitle,status:e,percent:Math.round(a)})})},async getPlayerDetails(){this.player&&await this.player.getDuration().then(e=>{this.formatTime(e),this.storeVideoDetails()})},formatTime(e){const n=Math.floor(e/60),t=Math.round(e-n*60);this.duration.minutes=n,this.duration.seconds=t;const a=this.getRoundedMinutes(n,t);this.duration.roundedMinutes=this.formatSingularOrPlural(a)},getRoundedMinutes(e,n){return n<30&&e!==0?e:e+1},formatSingularOrPlural(e){return e===1?this.singleMinuteDescriptor.replace("%s",e):this.pluralMinuteDescriptor.replace("%s",e)},pad(e){return e>=10?e:`0${e}`},storeVideoDetails(){videoStore.addVideo({videoId:this.videoId,videoDurationMsg:this.duration.roundedMinutes,videoDuration:this.duration.minutes*60+this.duration.seconds,videoFullDuration:this.duration})},setEventListeners(){this.emitter&&this.emitter.on("video-controls",e=>{e.id===this.videoId&&(e.action==="modal-opened"&&this.playVideo(),e.action==="modal-closed"&&this.stopVideo(),e.action==="play"?this.playVideo():e.action==="pause"&&this.pauseVideo())})}}},_hoisted_1={key:0,class:"vs-video","data-test":"vs-video"},_hoisted_2={class:"vs-video__iframe-wrapper"};function _sfc_render(e,n,t,a,r,o){const u=vue.resolveComponent("VueYoutube"),l=vue.resolveComponent("VsWarning");return r.reRendering?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1,[vue.createElementVNode("div",_hoisted_2,[vue.createVNode(u,{autoplay:0,"video-id":t.videoId,vars:r.playerVars,ref:"youtube",nocookie:!0,onPlaying:o.youtubePlaying,onPaused:o.youtubePaused,onEnded:o.youtubeEnded,onReady:o.playerReady},null,8,["video-id","vars","onPlaying","onPaused","onEnded","onReady"]),vue.createVNode(l,{"data-test":"vs-video__warning--no-js",class:"vs-video__warning vs-video__warning--no-js"},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(t.noJsMessage),1)]),_:1})])]))}const Video=_export_sfc(_sfc_main,[["render",_sfc_render]]);exports.VsAccordion=VsAccordion;exports.VsAccordionItem=VsAccordionItem;exports.VsAccordionToggle=VsAccordionToggle;exports.VsAddress=Address;exports.VsAlert=Alert;exports.VsArticle=Article;exports.VsArticleSection=ArticleSection;exports.VsArticleSidebar=ArticleSidebar;exports.VsBackToTop=_sfc_main$2e;exports.VsBadge=_sfc_main$2d;exports.VsBanner=Banner;exports.VsBlogDetails=BlogDetails;exports.VsBreadcrumb=Breadcrumb;exports.VsBreadcrumbItem=BreadcrumbItem;exports.VsButton=VsButton;exports.VsButtonToggleGroup=ButtonToggleGroup;exports.VsCannedSearch=CannedSearch;exports.VsCaption=VsCaption;exports.VsCarbonCalculator=CarbonCalculator;exports.VsCarousel=VsCarousel;exports.VsCarouselSlide=CarouselSlide;exports.VsCheckbox=VsCheckbox;exports.VsCol=VsCol;exports.VsContainer=VsContainer;exports.VsCookieChecker=CookieChecker;exports.VsDescriptionList=DescriptionList;exports.VsDescriptionListItem=DescriptionListItem;exports.VsDropdown=VsDropdown;exports.VsDropdownItem=VsDropdownItem;exports.VsEmbedWrapper=EmbedWrapper;exports.VsEventCard=EventCard;exports.VsFilter=_sfc_main$1t;exports.VsFilterSection=_sfc_main$1s;exports.VsFooter=Footer;exports.VsFooterAccordionItem=FooterAccordionItem;exports.VsFooterCopyright=FooterCopyright;exports.VsFooterNavListItem=FooterNavListItem;exports.VsFooterSocialItem=FooterSocialItem;exports.VsFooterSocialMenu=FooterSocialMenu;exports.VsFooterUtilityList=FooterUtilityList;exports.VsForm=Form;exports.VsGlobalMenu=GlobalMenu;exports.VsGlobalMenuLanguage=GlobalMenuLanguage;exports.VsGlobalMenuLanguageItem=GlobalMenuLanguageItem;exports.VsHeading=VsHeading;exports.VsHeroSection=HeroSection;exports.VsHtmlError=HtmlError;exports.VsIcon=VsIcon;exports.VsIconList=IconList;exports.VsIconListItem=IconListItem;exports.VsImageWithCaption=ImageWithCaption;exports.VsImg=VsImg;exports.VsInput=VsInput;exports.VsItinerary=Itinerary;exports.VsItineraryBorderOverlapWrapper=ItineraryBorderOverlapWrapper;exports.VsItineraryDay=ItineraryDay;exports.VsItineraryStop=ItineraryStop;exports.VsItineraryStopInfo=ItineraryStopInfo;exports.VsItineraryTips=ItineraryTips;exports.VsLink=VsLink;exports.VsLinkList=VsLinkList;exports.VsLinkListItem=LinkListItem;exports.VsList=VsList;exports.VsListicleItem=ListicleItem;exports.VsLoadingSpinner=VsLoadingSpinner;exports.VsMegaNavAccordionItem=MegaNavAccordionItem;exports.VsMegaNavDropdownContainer=MegaNavDropdownContainer;exports.VsMegaNavFeaturedEvent=MegaNavFeaturedEvent;exports.VsMegaNavFeaturedItem=MegaNavFeaturedItem;exports.VsMegaNavList=MegaNavList;exports.VsMegaNavListItem=MegaNavListItem;exports.VsMegaNavStaticLink=MegaNavStaticLink;exports.VsMegalinkLinkList=MegalinkLinkList;exports.VsMegalinkMultiImage=MegalinkMultiImage;exports.VsMegalinkSingleImage=MegalinkSingleImage;exports.VsMegalinks=Megalinks;exports.VsMeganav=MegaNav;exports.VsModal=Modal;exports.VsModuleWrapper=VsModuleWrapper;exports.VsNumberInput=VsNumberInput;exports.VsPageIntro=PageIntro;exports.VsPagination=_sfc_main$x;exports.VsPanel=Panel;exports.VsProductSearch=ProductSearch;exports.VsProgressBar=VsProgressBar;exports.VsQuote=Quote;exports.VsRadioButton=VsRadioButton;exports.VsRecaptcha=VsRecaptcha;exports.VsRichTextWrapper=VsRichTextWrapper;exports.VsRow=VsRow;exports.VsSelect=VsSelect;exports.VsSiteSearch=VsSiteSearch;exports.VsSiteSearchForm=VsSiteSearchForm;exports.VsSkiScotlandCard=SkiScotlandCard;exports.VsSkiScotlandStatus=SkiScotlandStatus;exports.VsSkipTo=SkipTo;exports.VsSocialCreditLink=SocialCreditLink;exports.VsSocialShare=SocialShare;exports.VsSocialShareItem=SocialShareItem;exports.VsStretchedLinkCard=VsStretchedLinkCard;exports.VsStretchedLinkPanel=VsStretchedLinkPanels;exports.VsStyledList=_sfc_main$9;exports.VsStyledListItem=_sfc_main$8;exports.VsSummaryBoxDistanceListItem=SummaryBoxDistanceListItem;exports.VsSummaryBoxList=SummaryBoxList;exports.VsSummaryBoxListItem=SummaryBoxListItem;exports.VsSvg=VsSvg;exports.VsSvgLink=VsSvgLink;exports.VsTabItem=TabItem;exports.VsTable=VsTable;exports.VsTableBody=VsTableBody;exports.VsTableDataCell=VsTableDataCell;exports.VsTableFooter=VsTableFooter;exports.VsTableHead=VsTableHead;exports.VsTableHeaderCell=VsTableHeaderCell;exports.VsTableRow=VsTableRow;exports.VsTabs=Tabs;exports.VsTag=Tag;exports.VsTagManagerWrapper=TagManagerWrapper;exports.VsTextarea=VsTextarea;exports.VsToggleButton=VsToggleButton;exports.VsTooltip=VsTooltip;exports.VsTourismInfo=TourismInfo;exports.VsVideo=Video;exports.VsVideoCaption=VsVideoCaption;exports.VsWarning=VsWarning;
|