@visitscotland/component-library
Version:
VisitScotland Component Library
1 lines • 14.9 kB
JavaScript
(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[3293],{10293:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getURLParameters=function(){var e=new URLSearchParams(document.location.search),t=Object.fromEntries(e);return"object"==typeof t&&Object.keys(t).forEach((function(e){return null===t[e]&&delete t[e]})),t},t.getProductTypes=function(){if(Object.keys(a).length<=0)return r.products;var e=a.search_config.basic_config.productTypes,t=[];return Object.keys(e).forEach((function(n){t.push({key:e[n].value,text:e[n].text,value:e[n].value})})),t};var a,r=n(8611);a="undefined"!=typeof window&&"object"==typeof window.VS?window.VS:{}},11494:function(e,t,n){"use strict";n(33698)},27480:function(){},33698:function(e,t,n){"use strict";var a=n(85072),r=n.n(a),o=n(97825),l=n.n(o),u=n(77659),c=n.n(u),i=n(55056),d=n.n(i),s=n(10540),f=n.n(s),v=n(41113),p=n.n(v),m=n(27480),h=n.n(m),b={};b.styleTagTransform=p(),b.setAttributes=d(),b.insert=c().bind(null,"head"),b.domAPI=l(),b.insertStyleElement=f(),r()(h(),b),h()&&h().locals&&h().locals},43423:function(e,t,n){"use strict";n.r(t),n.d(t,{default:function(){return r.a}});var a=n(59061),r=n.n(a),o={};for(var l in a)"default"!==l&&(o[l]=function(e){return a[e]}.bind(0,l));n.d(t,o)},45906:function(e,t,n){"use strict";var a=n(96763),r=this&&this.__awaiter||function(e,t,n,a){return new(n||(n=Promise))((function(r,o){function l(e){try{c(a.next(e))}catch(e){o(e)}}function u(e){try{c(a.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,u)}c((a=a.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,a,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return l.next=u(0),l.throw=u(1),l.return=u(2),"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(u){return function(c){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(o=0)),o;)try{if(n=1,a&&(r=2&u[0]?a.return:u[0]?a.throw||((r=a.return)&&r.call(a),0):a.next)&&!(r=r.call(a,u[1])).done)return r;switch(a=0,r&&(u=[2&u[0],r.value]),u[0]){case 0:case 1:r=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,a=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!r||u[1]>r[0]&&u[1]<r[3])){o.label=u[1];break}if(6===u[0]&&o.label<r[1]){o.label=r[1],r=u;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(u);break}r[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],a=0}finally{n=r=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getData=function(e){return r(this,void 0,void 0,(function(){var t;return o(this,(function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,u.default.get(e)];case 1:return[2,n.sent().data];case 2:return t=n.sent(),a.error("Axios error: ".concat(t)),[3,3];case 3:return[2]}}))}))};var u=l(n(86425))},59061:function(e,t,n){"use strict";var a=this&&this.__assign||function(){return a=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var r in t=arguments[n])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e},a.apply(this,arguments)},r=this&&this.__awaiter||function(e,t,n,a){return new(n||(n=Promise))((function(r,o){function l(e){try{c(a.next(e))}catch(e){o(e)}}function u(e){try{c(a.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?r(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(l,u)}c((a=a.apply(e,t||[])).next())}))},o=this&&this.__generator||function(e,t){var n,a,r,o={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return l.next=u(0),l.throw=u(1),l.return=u(2),"function"==typeof Symbol&&(l[Symbol.iterator]=function(){return this}),l;function u(u){return function(c){return function(u){if(n)throw new TypeError("Generator is already executing.");for(;l&&(l=0,u[0]&&(o=0)),o;)try{if(n=1,a&&(r=2&u[0]?a.return:u[0]?a.throw||((r=a.return)&&r.call(a),0):a.next)&&!(r=r.call(a,u[1])).done)return r;switch(a=0,r&&(u=[2&u[0],r.value]),u[0]){case 0:case 1:r=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,a=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!((r=(r=o.trys).length>0&&r[r.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!r||u[1]>r[0]&&u[1]<r[3])){o.label=u[1];break}if(6===u[0]&&o.label<r[1]){o.label=r[1],r=u;break}if(r&&o.label<r[2]){o.label=r[2],o.ops.push(u);break}r[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],a=0}finally{n=r=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,c])}}},l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=n(17527),c=n(17527),i={class:"vs-product-search-embed","data-test":"vs-product-search-embed"},d={key:0,class:"container"},s={class:"row"},f={class:"col-12"},v=["action"],p={class:"form-group product-search__type mb-100"},m={for:"prodtypes"},h={class:"product-search__in d-none d-md-block mt-100"},b={"aria-live":"polite"},y=["disabled","value"],k=["disabled","value"],w=["value"],g={key:4,type:"hidden",name:"areaproxdist",value:"10"},_={key:5},x={key:0,class:"form-group"},E={for:"search-keyword"},B={key:2},V=["value"],N={key:0},L=["value"],T=n(17527),S=n(378),C=n(8611),O=n(10293),P=n(45906),j=l(n(35025)),D=l(n(51688)),U=l(n(22142)),I=l(n(58861)),M=l(n(34900)),A=l(n(19856)),G=l(n(48836)),R=n(17527),F=l(n(98745)),Y=(0,R.defineComponent)({mixins:[F.default],methods:{trackSubmit:function(e,t){this.createDataLayerObject("productSearchDataEvent",{searchType:e,searchLocation:t.name},this.href)}}});t.default=(0,u.defineComponent)(a(a({},Y),{__name:"ProductSearchEmbed",props:{defaultProd:{type:String,default:"acti,attr,reta",validator:function(e){return["acco","cate","even","tour","acti,attr,reta"].includes(e)}},defaultLocale:{type:String,default:"",validator:function(e){return["en","fr","de","es","it","nl",""].includes(e)}},defaultLocation:{type:String,default:""}},setup:function(e){var t=this,n=e,l=(0,T.ref)(!1),u=(0,T.ref)(),R=(0,T.ref)([]),F=((0,T.ref)(null),(0,T.ref)());F.value={id:"",key:"",name:"",type:""};var Y=(0,T.ref)("off"),z=(0,T.ref)(!1),H=(0,T.computed)((function(){var e=void 0===u.value?"see-do":u.value;return"/info/".concat(C.paths[e])})),K=(0,T.ref)(!1),q={en:{localeUrl:""},fr:{localeUrl:"fr-fr"},de:{localeUrl:"de-de"},es:{localeUrl:"es-es"},it:{localeUrl:"it-it"},nl:{localeUrl:"nl-nl"}},J=(0,T.computed)((function(){var e=n.defaultLocale.length>0?n.defaultLocale:(0,S.getLocale)();return"en"===e&&(e=""),e})),Q=(0,T.computed)((function(){if("undefined"!=typeof window){var e=window.location.origin;return e.includes("localhost")?"https://www.visitscotland.com":e}return"https://www.visitscotland.com"})),W=(0,T.computed)((function(){return"".concat(Q.value).concat(J.value?"/"+J.value:"").concat(H.value,"/search-results")})),X="https://www.visitscotland.com/data/locations"+"?locale=".concat(J.value),Z=(0,T.ref)([]),$=(0,T.ref)([]),ee=(0,T.ref)([]),te=(0,T.ref)([]),ne=(0,T.computed)((function(){return l.value?[]:te.value.map((function(e){return a(a({},e),{text:(0,S.getProductName)(e.value,e.text)})}))})),ae=function(){return r(t,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return[4,(0,P.getData)("https://www.visitscotland.com/tms-api/v1/origins?active=1")];case 1:return(e=t.sent())&&(ee.value=e.data),[2]}}))}))},re=function(){return r(t,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return[4,(0,P.getData)("https://www.visitscotland.com/tms-api/v1/attractions")];case 1:return(e=t.sent())&&($.value=e.data),[2]}}))}))},oe=function(e,t){F.value="key"===t?Z.value.find((function(t){return t.key===e})):"id"===t?Z.value.find((function(t){return t.id===e})):Z.value.find((function(t){return t.name===e.trim()}))},le=function(){l.value=!0,(0,T.nextTick)((function(){l.value=!1,""!==n.defaultLocation&&K&&oe(n.defaultLocation,"id")}))},ue=(0,T.computed)((function(){return"cate"!==u.value&&"acti,attr,reta"!==u.value?"d-lg-flex":""}));(0,T.onBeforeMount)((function(){return r(t,void 0,void 0,(function(){var e;return o(this,(function(t){return window.VS={},(e=document.createElement("script")).async=!1,e.onload=le,e.setAttribute("src","https://www.visitscotland.com/".concat((q[n.defaultLocale]||"").localeUrl,"/data/template/search.js")),document.head.appendChild(e),[2]}))}))})),(0,T.onMounted)((function(){return r(t,void 0,void 0,(function(){return o(this,(function(e){var a,l;return r(t,void 0,void 0,(function(){var e;return o(this,(function(t){switch(t.label){case 0:return[4,(0,P.getData)(X)];case 1:return(e=t.sent())&&(Z.value=e.data),[2]}}))})),K.value=!0,u.value=n.defaultProd,"tour"===u.value&&(ae(),re()),a=(0,O.getProductTypes)(),l=[],a.forEach((function(e){l.push(e)})),te.value=l,[2]}))}))}));var ce=function(e){z.value=!0;var t=e.currentTarget;setTimeout((function(){t.submit()}),500)};return function(t,n){var a,r,o,T,O,P;return(0,c.openBlock)(),(0,c.createElementBlock)("div",i,[l.value?(0,c.createCommentVNode)("",!0):((0,c.openBlock)(),(0,c.createElementBlock)("div",d,[(0,c.createElementVNode)("div",s,[(0,c.createElementVNode)("div",f,[(0,c.unref)(K)?((0,c.openBlock)(),(0,c.createElementBlock)("form",{key:0,action:W.value,onSubmit:(0,c.withModifiers)(ce,["prevent"]),"accept-charset":"UTF-8","data-test":"psw-form"},[(0,c.createElementVNode)("div",p,[(0,c.createElementVNode)("label",m,(0,c.toDisplayString)((0,c.unref)(S.getLabelText)("search_for","I'm looking for")),1),(0,c.createElementVNode)("div",{class:(0,c.normalizeClass)(ue.value)},[(0,c.createVNode)(D.default,{options:ne.value,value:e.defaultProd,onUpdated:n[0]||(n[0]=function(e){return t=e.value,u.value=t,void("tour"===t&&(ae(),re()));var t}),"field-name":"prodtypes"},null,8,["options","value"]),(0,c.createElementVNode)("div",h,(0,c.toDisplayString)((0,c.unref)(S.getLabelText)("in","in")),1)],2)]),(0,c.createElementVNode)("div",b,["tour"!=u.value&&(0,c.unref)(K)?((0,c.openBlock)(),(0,c.createBlock)(I.default,{key:0,id:"search-location",label:(0,c.unref)(S.getLabelText)("location","Location"),"multiselect-label":"name",name:"loc",options:Z.value,placeholder:(0,c.unref)(S.getLabelText)("location_placeholder","Enter a location"),"track-by":"name",onChangeValue:n[1]||(n[1]=function(e){return oe(e)}),"default-val":(0,c.unref)(F),"data-chromatic":"ignore"},null,8,["label","options","placeholder","default-val"])):(0,c.createCommentVNode)("",!0),"tour"!==u.value?((0,c.openBlock)(),(0,c.createElementBlock)("input",{key:1,type:"hidden",name:"locplace",disabled:"POLYGON"===(null===(a=(0,c.unref)(F))||void 0===a?void 0:a.type),value:(null===(r=(0,c.unref)(F))||void 0===r?void 0:r.key)||""},null,8,y)):(0,c.createCommentVNode)("",!0),"tour"!==u.value?((0,c.openBlock)(),(0,c.createElementBlock)("input",{key:2,type:"hidden",name:"locpoly",disabled:"POLYGON"!==(null===(o=(0,c.unref)(F))||void 0===o?void 0:o.type),value:(null===(T=(0,c.unref)(F))||void 0===T?void 0:T.key)||""},null,8,k)):(0,c.createCommentVNode)("",!0),"tour"!==u.value?((0,c.openBlock)(),(0,c.createElementBlock)("input",{key:3,type:"hidden",name:"locprox",value:"DISTRICT"===(null===(O=(0,c.unref)(F))||void 0===O?void 0:O.type)?1:0},null,8,w)):(0,c.createCommentVNode)("",!0),"tour"!==u.value&&"DISTRICT"===(null===(P=(0,c.unref)(F))||void 0===P?void 0:P.type)?((0,c.openBlock)(),(0,c.createElementBlock)("input",g)):(0,c.createCommentVNode)("",!0),"even"===u.value||"acco"===u.value?((0,c.openBlock)(),(0,c.createElementBlock)("div",_,[(0,c.createVNode)(A.default,{"start-label":(0,c.unref)(S.getLabelText)("startdate","Start Date","dates"),"end-label":(0,c.unref)(S.getLabelText)("enddate","End Date","dates"),onDateUpdated:n[2]||(n[2]=function(e){return function(e){Y.value=e?"on":"off"}(e)}),"default-dates":z.value,"selected-prod":u.value},null,8,["start-label","end-label","default-dates","selected-prod"]),"even"===u.value?((0,c.openBlock)(),(0,c.createElementBlock)("div",x,[(0,c.createElementVNode)("label",E,(0,c.toDisplayString)((0,c.unref)(S.getLabelText)("keywords","Keywords")),1),(0,c.createVNode)(U.default,{"field-name":"search-keyword",placeholder:(0,c.unref)(S.getLabelText)("events_keywords_placeholder","Highland games, music festivals etc"),name:"name"},null,8,["placeholder"])])):(0,c.createCommentVNode)("",!0),"acco"===u.value?((0,c.openBlock)(),(0,c.createBlock)(M.default,{key:1,availability:!0,id:"guest-selector"})):(0,c.createCommentVNode)("",!0),"acco"===u.value?((0,c.openBlock)(),(0,c.createElementBlock)("div",B,[(0,c.createElementVNode)("input",{hidden:"true",name:"avail",value:Y.value},null,8,V)])):(0,c.createCommentVNode)("",!0)])):(0,c.createCommentVNode)("",!0)]),"tour"===u.value?((0,c.openBlock)(),(0,c.createElementBlock)("div",N,[(0,c.createVNode)(I.default,{id:"tour-origin",label:(0,c.unref)(S.getLabelText)("tour_origin","Starting point"),"multiselect-label":"name",name:"origins[]",options:ee.value,placeholder:(0,c.unref)(S.getLabelText)("tour_origin_placeholder","Location"),"track-by":"name","is-tour-location":!0},null,8,["label","options","placeholder"]),((0,c.openBlock)(!0),(0,c.createElementBlock)(c.Fragment,null,(0,c.renderList)(R.value,(function(e){return(0,c.openBlock)(),(0,c.createElementBlock)("input",{type:"hidden",name:"attractions[]",value:e},null,8,L)})),256)),(0,c.createVNode)(I.default,{id:"tour-month",label:(0,c.unref)(S.getLabelText)("tour_month","I'm traveling in"),"multiselect-label":"label",name:"when",options:(0,c.unref)(S.getLabelText)("months",(0,c.unref)(C.monthsEnglish)),placeholder:(0,c.unref)(S.getLabelText)("tour_month_placeholder","Select month"),"track-by":"value"},null,8,["label","options","placeholder"])])):(0,c.createCommentVNode)("",!0),(0,c.createVNode)(G.default,{class:"mt-150","data-test":"psw-submit",type:"submit",onClick:n[3]||(n[3]=function(e){return t.trackSubmit(u.value,void 0===(0,c.unref)(F)?"":(0,c.unref)(F))})},{default:(0,c.withCtx)((function(){return[(0,c.createTextVNode)((0,c.toDisplayString)((0,c.unref)(S.getLabelText)("search","Search")),1)]})),_:1})],40,v)):(0,c.createCommentVNode)("",!0),(0,c.unref)(K)?(0,c.createCommentVNode)("",!0):((0,c.openBlock)(),(0,c.createBlock)(j.default,{key:1,variant:"dark"}))])])]))])}}}))},93293:function(e,t,n){"use strict";n.r(t);var a=n(43423),r={};for(var o in a)"default"!==o&&(r[o]=function(e){return a[e]}.bind(0,o));n.d(t,r),n(11494);const l=a.default;t.default=l}}]);