UNPKG

@visitscotland/component-library

Version:
1 lines 9.81 kB
(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[8995],{1625:function(e,t,r){"use strict";var a=r(85072),n=r.n(a),s=r(97825),c=r.n(s),u=r(77659),i=r.n(u),o=r(55056),l=r.n(o),d=r(10540),p=r.n(d),y=r(41113),h=r.n(y),g=r(72811),_=r.n(g),f={};f.styleTagTransform=h(),f.setAttributes=l(),f.insert=i().bind(null,"head"),f.domAPI=c(),f.insertStyleElement=p(),n()(_(),f),_()&&_().locals&&_().locals},10343:function(e,t,r){"use strict";var a=r(10467),n=r(54756),s=r.n(n),c=r(20641),u=r(50953),i=r(53751),o=r(90033),l=r(10810),d=r(72989),p=r.n(d),y=r(12903),h=r(66239),g=r(30555),_=r(75520),f={class:"vs-fed-search-input"},v={class:"vs-fed-search__input"},b={class:"vs-fed-search__text-input"},m={for:"federated-search",class:"vs-federated-search__label"},C={class:"position-relative"},k={key:0,class:"vs-fed-search-input__autocomplete"},S=["onClick","onKeyup","innerHTML"];t.A={__name:"FedSearchInput",props:{cludoApiKey:{type:String,default:(0,h.A)("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number((0,h.A)("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number((0,h.A)("CLUDO_ENGINE_ID"))},isHomePage:{type:Boolean,default:!1},searchUrl:{type:String,default:void 0},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},labels:{type:Object,required:!0}},setup:function(e){var t=(0,_.A)(),r=e,n=p()(),d=(0,l.bP)(n).isLoading,h=(0,u.KR)(),w=(0,u.KR)(null),K=(0,u.KR)(null);function L(e){return O.apply(this,arguments)}function O(){return(O=(0,a.A)(s().mark((function e(t){var r,a;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.currentPage=1,n.searchTerm=t.value.trim(),r=window.location.search,a=new URLSearchParams(r),!n.searchTerm||a.get("search-term")===n.searchTerm){e.next=2;break}return e.next=1,n.getAutoComplete();case 1:h.value=e.sent;case 2:n.searchTerm||(h.value=null);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function R(){return P.apply(this,arguments)}function P(){return(P=(0,a.A)(s().mark((function e(){return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return h.value=null,e.next=1,n.navigateToResultsPage();case 1:t.createDataLayerObject("siteSearchUsageEvent",{search_query:n.searchTerm,query_input:n.queryInput,results_count:n.totalResults,search_usage_index:n.searchInSessionCount,search_type:1===n.searchInSessionCount?"initial":"follow-up"});case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function x(e){var r;n.searchTerm=e,h.value=null,n.navigateToResultsPage(!1,!0),r=e,t.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_autosuggest",search_query:n.searchTerm,page_number:n.currentPage,search_usage_index:n.searchInSessionCount,results_count:n.totalResults,click_text:r,query_input:n.queryInput})}function I(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function D(e){var t=(n.searchTerm||"").trim();if(!t)return I(e);var r=new RegExp("(".concat(t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),")"),"gi");return I(e).replace(r,"<strong>$1</strong>")}function E(e){t.createDataLayerObject("siteSearchClickEvent",{interaction_type:"facet_click",search_query:n.searchTerm,page_number:n.currentPage,search_usage_index:n.searchInSessionCount,results_count:n.totalResults,click_text:e.Label||e.Key})}function A(e){return T.apply(this,arguments)}function T(){return(T=(0,a.A)(s().mark((function e(t){var r;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return(r=new URL(window.location)).searchParams.delete("page"),n.currentPage=1,r.searchParams.delete("start-date"),r.searchParams.delete("end-date"),n.startDate="",n.endDate="",n.sortBy=void 0,n.selectedSubCategory=[],n.selectedSubCategoryKey=[],n.selectedCategory=n.selectedCategory!==t.Label?t.Label:"",n.selectedCategoryKey=n.selectedCategoryKey!==t.Key?t.Key:"",e.next=1,n.navigateToResultsPage(!0);case 1:E(t);case 2:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function q(e){if(n.selectedSubCategoryKey.includes(e.Key)){var t=n.selectedSubCategoryKey.indexOf(e.Key);t>=0&&(n.selectedSubCategory.splice(t,1),n.selectedSubCategoryKey.splice(t,1))}else n.selectedSubCategory.push(e.Label),n.selectedSubCategoryKey.push(e.Key);n.navigateToResultsPage(!0),E(e)}return(0,c.sV)((function(){n.cludoCredentials={apiKey:r.cludoApiKey,customerId:r.cludoCustomerId,engineId:r.cludoEngineId},n.isHomePage=r.isHomePage,r.searchUrl&&(n.searchUrl=r.searchUrl);var e=window.location.search,t=new URLSearchParams(e);t.has("search-term")&&(n.searchTerm=t.get("search-term")),t.has("category")&&(n.selectedCategoryKey=decodeURIComponent(t.get("category"))),t.has("sub-category")&&decodeURIComponent(t.get("sub-category")).split(",").forEach((function(e){return n.selectedSubCategoryKey.push(e)})),t.has("category")&&"events"===t.get("category")&&t.has("sort-by")&&(n.sortBy=t.get("sort-by")),t.has("start-date")&&(n.startDate=t.get("start-date")),t.has("end-date")&&(n.endDate=t.get("end-date")),(t.has("search-term")||t.has("category"))&&n.getSearchResults()})),(0,c.wB)(d,(function(e){var t,r;e||(null===(t=w.value)||void 0===t||t.resetScroll(),null===(r=K.value)||void 0===r||r.resetScroll())})),function(e,t){return(0,c.uX)(),(0,c.CE)("div",f,[(0,c.Lk)("div",v,[(0,c.Lk)("div",b,[(0,c.Lk)("label",m,[t[0]||(t[0]=(0,c.Lk)("span",{class:"visually-hidden"}," Search for something ",-1)),(0,c.bF)((0,u.R1)(y.VsIcon),{icon:"vs-icon-control-search",size:"xs"})]),(0,c.bF)((0,u.R1)(y.VsInput),{"auto-complete":!1,class:"vs-federated-search__input w-100","field-name":"federated-search",name:"searchrequest",placeholder:r.labels.searchLabel,type:"search",value:(0,u.R1)(n).searchTerm,onUpdated:L,onKeyup:(0,i.withKeys)(R,["enter"])},null,8,["placeholder","value"])]),(0,c.bF)((0,u.R1)(y.VsButton),{class:"d-none d-lg-block px-200",disabled:(0,u.R1)(d),onClick:R},{default:(0,c.k6)((function(){return[(0,c.eW)((0,o.toDisplayString)(r.labels.search),1)]})),_:1},8,["disabled"])]),(0,c.Lk)("div",C,[h.value?((0,c.uX)(),(0,c.CE)("div",k,[(0,c.bF)((0,u.R1)(y.VsList),{unstyled:""},{default:(0,c.k6)((function(){return[((0,c.uX)(!0),(0,c.CE)(c.FK,null,(0,c.pI)(h.value,(function(e){return(0,c.uX)(),(0,c.CE)("li",{key:e,class:"vs-fed-search-input__autocomplete__suggestion",onClick:function(t){return x(e)},onKeyup:(0,i.withKeys)((function(t){return x(e)}),["enter"]),tabindex:"0",innerHTML:D(e)},null,40,S)})),128))]})),_:1})])):(0,c.Q3)("",!0)]),r.filters?((0,c.uX)(),(0,c.Wv)(g.default,{key:0,"active-filter":(0,u.R1)(n).selectedCategoryKey,"filter-categories":r.filters,ref_key:"categoryFilter",ref:w,wrap:!0,onFilterUpdated:A},null,8,["active-filter","filter-categories"])):(0,c.Q3)("",!0),"events"===(0,u.R1)(n).selectedCategoryKey&&r.subFilters?((0,c.uX)(),(0,c.Wv)(g.default,{key:1,"active-filter":(0,u.R1)(n).selectedSubCategoryKey,class:"mt-200","filter-categories":r.subFilters,ref_key:"subCategoryFilter",ref:K,variant:"secondary",onFilterUpdated:q},{"fed-filter-header":(0,c.k6)((function(){return[(0,c.eW)((0,o.toDisplayString)(r.labels.refine),1)]})),_:1},8,["active-filter","filter-categories"])):(0,c.Q3)("",!0)])}}}},14123:function(e,t,r){"use strict";r.d(t,{A:function(){return a.A}});var a=r(10343)},49717:function(e,t,r){"use strict";r(1625)},58995:function(e,t,r){"use strict";r.r(t);var a=r(14123);r(49717);const n=a.A;t.default=n},72811:function(){},75520:function(e,t,r){"use strict";r.d(t,{A:function(){return d}});var a=r(64467),n=r(50953),s=r(20641),c=r(4859),u=r(63555),i=r(12554);function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function l(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(Object(r),!0).forEach((function(t){(0,a.A)(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(Object(r)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function d(){var e=(0,c.A)(),t=(0,n.KR)(!1);function r(e,t){var r={};return e.forEach((function(e){r[e]=t[e]||void 0,"language"===e&&void 0===r[e]&&(r[e]=t.site_language||void 0)})),r}function a(){return new Date(Date.now()).toISOString()}function o(t){var r=l(l({},e.GTMData),t);return r.hit_timestamp=a(),r}function d(e){t.value?window.dataLayer.push(e):(0,u.A)("dataLayer",(function(){t.value=!0,window.dataLayer.push(e)}))}return{pageUrl:(0,s.EW)((function(){return e.pageUrl})),createDataLayerObject:function(e,t){var a,n;switch(e){case"siteSearchOpenEvent":a=o({event:"site_search_open",referrer_page:t.referrer_page}),n=r(i.C2,a);break;case"siteSearchUsageEvent":a=o({event:"site_search_event",search_query:t.search_query,query_input:t.query_input,results_count:t.results_count,search_usage_index:t.search_usage_index,search_type:t.search_type,search_origin:t.search_origin||"results_page",interaction_type:"search_input"}),n=r(i.tF,a);break;case"siteSearchClickEvent":a=o({event:"site_search_click",interaction_type:t.interaction_type,search_query:t.search_query,query_input:t.query_input,page_number:t.page_number,page_navigation_direction:t.page_navigation_direction,click_text:t.click_text,click_url:t.click_url,click_category:t.click_category,search_usage_index:t.search_usage_index,results_count:t.results_count}),n=r(i.u6,a);break;case"siteSearchCloseEvent":a=o({event:"site_search_close",search_usage_index:t.search_usage_index,search_query:t.search_query,query_input:t.query_input,page_number:t.page_number,results_count:t.results_count}),n=r(i.kp,a)}n&&d(n)},templateFiller:r,compileFullTemplate:o,returnIsoDate:a,pushToDataLayer:d,dataLayerStore:e}}}}]);