@visitscotland/component-library 5.29.1 → 5.30.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.
Files changed (25) hide show
  1. package/dist/client/manifest.json +15 -15
  2. package/dist/client/scripts/159e30d5632bfa4b6b84.js +1 -0
  3. package/dist/client/scripts/42233f90e1246c3d508e.js +1 -0
  4. package/dist/client/scripts/cd4ea0dbff63d15f9a7e.js +1 -0
  5. package/dist/client/scripts/da5a655873e832e71ce2.js +1 -0
  6. package/dist/components/src/custom-components/federated-search/FederatedSearch.vue.d.ts +2 -0
  7. package/dist/components/src/custom-components/federated-search/index.d.ts +6 -0
  8. package/dist/components/src/custom-components/federated-search/stores/federatedSearch.store.d.ts +16 -1
  9. package/dist/components/src/custom-components/federated-search/utils/cludo-search.d.ts +1 -1
  10. package/dist/components/src/custom-components/federated-search/utils/event-search.d.ts +1 -1
  11. package/dist/components/src/custom-components/maps/MainMap.vue.d.ts +2 -2
  12. package/dist/components/src/custom-components/maps/index.d.ts +2 -2
  13. package/dist/components/vs-component-library.js +40 -40
  14. package/dist/components/vs-component-library.mjs +794 -776
  15. package/dist/ssr/index.js +1 -1
  16. package/dist/ssr/manifest.json +1 -1
  17. package/package.json +1 -1
  18. package/dist/client/scripts/28f7596c01dff2813e25.js +0 -1
  19. package/dist/client/scripts/3b693be2174522c05c00.js +0 -1
  20. package/dist/client/scripts/e5f69ed9d3c641d5cfeb.js +0 -1
  21. package/dist/client/scripts/f1222f479de1a0431059.js +0 -1
  22. /package/dist/client/styles/{f1222f479de1a0431059.css → 159e30d5632bfa4b6b84.css} +0 -0
  23. /package/dist/client/styles/{28f7596c01dff2813e25.css → 42233f90e1246c3d508e.css} +0 -0
  24. /package/dist/client/styles/{e5f69ed9d3c641d5cfeb.css → da5a655873e832e71ce2.css} +0 -0
  25. /package/dist/ssr/styles/{6d77ce6cd93a469e9a6a.css → d09f8445c29902eac89d.css} +0 -0
@@ -7134,14 +7134,14 @@
7134
7134
  "scripts/98b05b5cd0aaffd7572a.js",
7135
7135
  "scripts/b85d75a825b35c37debd.js",
7136
7136
  "scripts/b7cc5ee25c7302916b09.js",
7137
- "scripts/28f7596c01dff2813e25.js",
7137
+ "scripts/42233f90e1246c3d508e.js",
7138
7138
  "scripts/c44d2718bc46a06944c9.js"
7139
7139
  ],
7140
7140
  "styles": [
7141
7141
  "styles/96fcf998bf85267cee36.css",
7142
7142
  "styles/b85d75a825b35c37debd.css",
7143
7143
  "styles/b7cc5ee25c7302916b09.css",
7144
- "styles/28f7596c01dff2813e25.css"
7144
+ "styles/42233f90e1246c3d508e.css"
7145
7145
  ]
7146
7146
  },
7147
7147
  "VsFedSearchInput": {
@@ -7357,9 +7357,9 @@
7357
7357
  "scripts/0adba95aa35ce3cf48a3.js",
7358
7358
  "scripts/0965942c287f6c10c83a.js",
7359
7359
  "scripts/951faebbaf9131953a9d.js",
7360
- "scripts/3b693be2174522c05c00.js",
7361
- "scripts/28f7596c01dff2813e25.js",
7362
- "scripts/e5f69ed9d3c641d5cfeb.js",
7360
+ "scripts/cd4ea0dbff63d15f9a7e.js",
7361
+ "scripts/42233f90e1246c3d508e.js",
7362
+ "scripts/da5a655873e832e71ce2.js",
7363
7363
  "scripts/54fcee78c1e79b5c6b24.js"
7364
7364
  ],
7365
7365
  "styles": [
@@ -7508,8 +7508,8 @@
7508
7508
  "styles/815b2ba5fab54eebb5ca.css",
7509
7509
  "styles/c07d2bb6aab9b5629d10.css",
7510
7510
  "styles/701b3f29f72a42f4ba5b.css",
7511
- "styles/28f7596c01dff2813e25.css",
7512
- "styles/e5f69ed9d3c641d5cfeb.css"
7511
+ "styles/42233f90e1246c3d508e.css",
7512
+ "styles/da5a655873e832e71ce2.css"
7513
7513
  ]
7514
7514
  },
7515
7515
  "VsFedSearchSort": {
@@ -7554,7 +7554,7 @@
7554
7554
  "scripts/93e3877d8dc2f8f2ba29.js",
7555
7555
  "scripts/59658d2a579def05efa0.js",
7556
7556
  "scripts/17f706d9450b7e231610.js",
7557
- "scripts/3b693be2174522c05c00.js",
7557
+ "scripts/cd4ea0dbff63d15f9a7e.js",
7558
7558
  "scripts/093dbadb21acf4310ea2.js",
7559
7559
  "scripts/b43eabedc3d8cb405b13.js"
7560
7560
  ],
@@ -7779,12 +7779,12 @@
7779
7779
  "scripts/0adba95aa35ce3cf48a3.js",
7780
7780
  "scripts/0965942c287f6c10c83a.js",
7781
7781
  "scripts/951faebbaf9131953a9d.js",
7782
- "scripts/3b693be2174522c05c00.js",
7783
- "scripts/28f7596c01dff2813e25.js",
7784
- "scripts/e5f69ed9d3c641d5cfeb.js",
7782
+ "scripts/cd4ea0dbff63d15f9a7e.js",
7783
+ "scripts/42233f90e1246c3d508e.js",
7784
+ "scripts/da5a655873e832e71ce2.js",
7785
7785
  "scripts/093dbadb21acf4310ea2.js",
7786
7786
  "scripts/588b32ff5515fdd5707e.js",
7787
- "scripts/f1222f479de1a0431059.js"
7787
+ "scripts/159e30d5632bfa4b6b84.js"
7788
7788
  ],
7789
7789
  "styles": [
7790
7790
  "styles/96fcf998bf85267cee36.css",
@@ -7932,11 +7932,11 @@
7932
7932
  "styles/815b2ba5fab54eebb5ca.css",
7933
7933
  "styles/c07d2bb6aab9b5629d10.css",
7934
7934
  "styles/701b3f29f72a42f4ba5b.css",
7935
- "styles/28f7596c01dff2813e25.css",
7936
- "styles/e5f69ed9d3c641d5cfeb.css",
7935
+ "styles/42233f90e1246c3d508e.css",
7936
+ "styles/da5a655873e832e71ce2.css",
7937
7937
  "styles/093dbadb21acf4310ea2.css",
7938
7938
  "styles/588b32ff5515fdd5707e.css",
7939
- "styles/f1222f479de1a0431059.css"
7939
+ "styles/159e30d5632bfa4b6b84.css"
7940
7940
  ]
7941
7941
  },
7942
7942
  "VsMapSidebar": {
@@ -0,0 +1 @@
1
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VsFederatedSearch=t():e.VsFederatedSearch=t()}(self,(function(){return(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[1746],{39535:function(e,t,a){"use strict";a.d(t,{A:function(){return r.A}});var r=a(77891)},49439:function(e,t,a){"use strict";a.r(t);var r=a(39535);a(92720);const n=r.A;t.default=n},77891:function(e,t,a){"use strict";var r=a(10467),n=a(54756),s=a.n(n),o=a(20641),l=a(50953),i=a(53751),u=a(90033),c=a(12903),d=a(66239),g=a(1780),f=a(72989),p=a.n(f),y=a(58995),v=a(35965),b=a(75520),m={class:"vs-federated-search","data-test":"vs-federated-search"},h={class:"vs-federated-search__container"},_={key:0,class:"vs-federated-search__results","data-chromatic":"ignore"},k={key:2,"data-chromatic":"ignore"},R={class:"position-relative"},C={class:"position-absolute bottom-0 start-0 d-flex gap-2"},L={class:"position-absolute bottom-0 end-0 d-flex"},S={class:"truncate-3-lines text-break"},D={class:"d-flex justify-content-end align-items-end mt-050"},E={key:0,class:"d-flex align-items-start flex-grow-1"},I={key:3,class:"vs-federated-search__warning mb-300"};t.A={__name:"FederatedSearch",props:{cludoApiKey:{type:String,default:(0,d.A)("CLUDO_API_KEY")},cludoCustomerId:{type:Number,default:Number((0,d.A)("CLUDO_CUSTOMER_ID"))},cludoEngineId:{type:Number,default:Number((0,d.A)("CLUDO_ENGINE_ID"))},eventsApi:{type:String,default:(0,d.A)("EVENTS_API_URL")},filters:{type:Array,default:void 0},subFilters:{type:Array,default:void 0},errorMessages:{type:Object,required:!0},fromText:{type:String,default:""},paginationLabels:{type:Object,required:!0},searchLabels:{type:Object,required:!0},sortLabels:{type:Object,required:!0},cardCategoryLabels:{type:Object,required:!0,default:function(){}},siteLanguage:{type:String,default:"en",validator:function(e){return e.match(/(en|es|it|de|nl|fr)/)}},cludoApiOperator:{type:String,default:"or",validator:function(e){return["and","or"].includes(e)}}},setup:function(e){var t=(0,b.A)(),a=p()(),n=(0,l.KR)({message:"",error:!1}),d=e,f=(0,l.KR)(!1),A=(0,o.EW)((function(){var e;return a.selectedCategoryKey?"events"!==a.selectedCategoryKey?e=Math.ceil(a.totalResultsCludo/12):"events"===a.selectedCategoryKey&&(e=Math.ceil(a.totalResultsEvents/12)):e=a.totalResultsCludo>=a.totalResultsEvents?Math.ceil(a.totalResultsCludo/6):Math.ceil(a.totalResultsEvents/6),e}));function x(){a.endDate&&a.startDate>a.endDate?(n.value.error=!0,n.value.message=d.errorMessages.incorrectDateOrder):"events"===a.selectedCategoryKey&&a.eventsApiError&&!a.isLoading?(n.value.error=!0,n.value.message=d.errorMessages.eventError):(a.searchTerm||a.selectedCategory)&&"events"!==a.selectedCategoryKey&&a.cludoError&&!a.isLoading?(n.value.error=!0,n.value.message=d.errorMessages.cludoError):0!==a.totalResults||a.isLoading?(n.value.error=!1,n.value.message=""):(n.value.error=!0,n.value.message=d.errorMessages.noResults)}function V(e){a.startDate=e,a.navigateToResultsPage(!0)}function w(e){a.endDate=e,a.navigateToResultsPage(!0)}function O(e){a.sortBy=e,a.navigateToResultsPage(!0)}function W(e){var r,n=!1;e>a.currentPage&&(n=!0),a.currentPage=e,"undefined"!=typeof window&&window.scrollTo({top:0,left:0,behavior:"smooth"}),a.navigateToResultsPage(),r=n,t.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:a.searchTerm,page_number:a.currentPage,page_navigation_direction:r?"forward":"back",search_usage_index:a.searchInSessionCount,results_count:a.totalResults,query_input:a.queryInput})}function F(e){if(e.url)return e.url;if(e.placeUrl)return e.placeUrl;var t=encodeURIComponent(e.title.replaceAll(" ","-").toLowerCase());return"".concat("https://www.datathistle.com/event/").concat(e.parentId,"-").concat(t)}return(0,o.sV)((0,r.A)(s().mark((function e(){var r,n,o;return s().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t.createDataLayerObject("siteSearchOpenEvent",{referrer_page:document.referrer}),a.cludoCredentials={apiKey:d.cludoApiKey,customerId:d.cludoCustomerId,engineId:d.cludoEngineId},a.eventsApi=d.eventsApi,a.filters=d.filters,a.siteLanguage=d.siteLanguage,a.cludoApiOperator=d.cludoApiOperator,x(),"undefined"==typeof window||"undefined"==typeof document){e.next=2;break}return window.onbeforeunload=function(){f.value||t.createDataLayerObject("siteSearchCloseEvent",{search_query:a.searchTerm,search_usage_index:a.searchInSessionCount,query_input:a.queryInput,page_number:a.currentPage,results_count:a.totalResults})},r=new URLSearchParams(document.location.search),n=r.get("search-term"),(o=parseInt(r.get("page"),10))&&(a.currentPage=o),n&&(a.searchTerm=n),e.next=1,a.getSearchResults();case 1:n&&t.createDataLayerObject("siteSearchUsageEvent",{search_query:a.searchTerm,query_input:a.queryInput,results_count:a.totalResults,search_usage_index:a.searchInSessionCount,search_type:"initial",search_origin:"home_page"});case 2:case"end":return e.stop()}}),e)})))),(0,o.$u)((function(){x()})),function(r,s){return(0,o.uX)(),(0,o.CE)("div",m,[(0,o.Lk)("div",h,[(0,o.bF)(y.default,{"cludo-api-key":d.cludoApiKey,"cludo-customer-id":d.cludoCustomerId,"cludo-engine-id":d.cludoEngineId,filters:d.filters,"sub-filters":d.subFilters,labels:d.searchLabels},null,8,["cludo-api-key","cludo-customer-id","cludo-engine-id","filters","sub-filters","labels"]),(0,o.bF)(g.default,{class:"my-200"}),((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)((0,l.R1)(a).filters,(function(e,t){return(0,o.bo)(((0,o.uX)(),(0,o.CE)("div",{key:t,class:"mb-200"},[(0,o.RG)(r.$slots,"federated-search__spotlight-".concat(e.Key))],512)),[[i.vShow,(0,l.R1)(a).selectedCategoryKey===e.Key]])})),128)),(0,l.R1)(a).results?((0,o.uX)(),(0,o.CE)("div",_,[(0,o.Lk)("div",null,[(0,o.bF)((0,l.R1)(c.VsHeading),{"heading-style":"heading-m",level:2,class:"my-0"},{default:(0,o.k6)((function(){return[(0,o.eW)((0,u.toDisplayString)(d.searchLabels.searchResults),1)]})),_:1}),0!==(0,l.R1)(a).totalResults?((0,o.uX)(),(0,o.Wv)((0,l.R1)(c.VsDetail),{key:0},{default:(0,o.k6)((function(){return[(0,o.eW)((0,u.toDisplayString)(d.searchLabels.resultsFirst)+" "+(0,u.toDisplayString)((0,l.R1)(a).totalResults)+" "+(0,u.toDisplayString)(d.searchLabels.resultsSecond),1)]})),_:1})):(0,o.Q3)("",!0)]),"events"===(0,l.R1)(a).selectedCategoryKey?((0,o.uX)(),(0,o.Wv)(v.default,{key:0,"date-filter-visible":!0,"sort-options":d.sortLabels.sortOptions,"from-date-label":d.sortLabels.dateFrom,"to-date-label":d.sortLabels.dateTo,"sort-label":d.sortLabels.sort,onFromDateUpdated:V,onEndDateUpdated:w,onSortOrderUpdated:O},null,8,["sort-options","from-date-label","to-date-label","sort-label"])):(0,o.Q3)("",!0)])):(0,o.Q3)("",!0),(0,l.R1)(a).isLoading?((0,o.uX)(),(0,o.Wv)((0,l.R1)(c.VsLoadingSpinner),{key:1})):(0,o.Q3)("",!0),(0,l.R1)(a).isLoading||!(0,l.R1)(a).results||(0,l.R1)(a).eventsApiError?(0,o.Q3)("",!0):((0,o.uX)(),(0,o.CE)("div",k,[(0,o.bF)((0,l.R1)(c.VsCardGroup),{"cards-per-row":3,class:(0,u.normalizeClass)((0,l.R1)(a).results&&A.value<=1?"mb-300":null)},{default:(0,o.k6)((function(){return[((0,o.uX)(!0),(0,o.CE)(o.FK,null,(0,o.pI)((0,l.R1)(a).results,(function(r){return(0,o.uX)(),(0,o.Wv)((0,l.R1)(c.VsCard),{key:r.id},{"vs-card-header":(0,o.k6)((function(){return[(0,o.Lk)("div",R,[(0,o.bF)((0,l.R1)(c.VsImg),{src:r.imgSrc||"https://static.visitscotland.com/img/fallback-img.png",class:"w-100 aspect-ratio-3-2 rounded-1 object-fit-cover img-zoom-on-hover"},null,8,["src"]),(0,o.Lk)("div",C,[r.minPrice?((0,o.uX)(),(0,o.Wv)((0,l.R1)(c.VsBadge),{key:0,variant:"information",class:"rounded-top-end rounded-bottom-start"},{default:(0,o.k6)((function(){return[(0,o.eW)((0,u.toDisplayString)(d.fromText)+" "+(0,u.toDisplayString)((e=r.minPrice,null===e?"":e.match(/\b\d+\.\d\b/)?"£".concat(e,"0"):"£".concat(e))),1)];var e})),_:2},1024)):(0,o.Q3)("",!0),r.startDate?((0,o.uX)(),(0,o.Wv)((0,l.R1)(c.VsBadge),{key:1,variant:"information",class:"rounded-top-end rounded-top-start"},{default:(0,o.k6)((function(){return[(0,o.eW)((0,u.toDisplayString)((e=r.startDate,t=r.endDate,e===t?e:"".concat(e," - ").concat(t))),1)];var e,t})),_:2},1024)):(0,o.Q3)("",!0)]),(0,o.Lk)("div",L,[r.categoryCard&&e.cardCategoryLabels[r.categoryCard]?((0,o.uX)(),(0,o.Wv)((0,l.R1)(c.VsBadge),{key:0,variant:"highlight",class:"rounded-top-start rounded-bottom-start mx-0"},{default:(0,o.k6)((function(){return[(0,o.eW)((0,u.toDisplayString)(e.cardCategoryLabels[r.categoryCard]),1)]})),_:2},1024)):(0,o.Q3)("",!0)])])]})),"vs-card-body":(0,o.k6)((function(){return[(0,o.bF)((0,l.R1)(c.VsHeading),{level:"3","heading-style":"heading-xs"},{default:(0,o.k6)((function(){return[(0,o.bF)((0,l.R1)(c.VsLink),{href:F(r),onClick:function(e){return function(e){f.value=!0,t.createDataLayerObject("siteSearchClickEvent",{interaction_type:"search_link_click",search_query:a.searchTerm,page_number:a.currentPage,click_text:e.title,click_url:F(e),click_category:e.categoryCard&&d.cardCategoryLabels[e.categoryCard]?d.cardCategoryLabels[e.categoryCard]:"",search_usage_index:a.searchInSessionCount,results_count:a.totalResults,query_input:a.queryInput})}(r)},class:"stretched-link",variant:"secondary"},{default:(0,o.k6)((function(){return[(0,o.eW)((0,u.toDisplayString)(r.title),1)]})),_:2},1032,["href","onClick"])]})),_:2},1024),(0,o.bF)((0,l.R1)(c.VsBody),null,{default:(0,o.k6)((function(){return[(0,o.Lk)("p",S,(0,u.toDisplayString)(r.description),1)]})),_:2},1024)]})),"vs-card-footer":(0,o.k6)((function(){return[(0,o.Lk)("div",D,[r.location?((0,o.uX)(),(0,o.CE)("div",E,[(0,o.bF)((0,l.R1)(c.VsIcon),{icon:"fa-solid fa-location-dot",variant:"highlight",class:"me-050",size:"sm"}),(0,o.bF)((0,l.R1)(c.VsDetail),{"no-margins":"",color:"tertiary"},{default:(0,o.k6)((function(){return[(0,o.eW)((0,u.toDisplayString)(r.location),1)]})),_:2},1024)])):(0,o.Q3)("",!0),(0,o.Lk)("div",null,["data-thistle"===r.dataSrc?((0,o.uX)(),(0,o.Wv)((0,l.R1)(c.VsIcon),{key:0,icon:"vs-icon-control-external-link",variant:"highlight",size:"sm"})):(0,o.Q3)("",!0)])])]})),_:2},1024)})),128))]})),_:1},8,["class"]),(0,l.R1)(a).results&&A.value>1?((0,o.uX)(),(0,o.Wv)((0,l.R1)(c.VsPagination),{key:0,class:"vs-federated-search__pagination","number-of-pages":A.value,"next-button-label":d.paginationLabels.nextButtonLabel,"previous-button-label":d.paginationLabels.previousButtonLabel,"page-label":d.paginationLabels.pageLabel,"of-label":d.paginationLabels.ofLabel,modelValue:(0,l.R1)(a).currentPage,"onUpdate:modelValue":s[0]||(s[0]=function(e){return(0,l.R1)(a).currentPage=e}),onPageClick:W},null,8,["number-of-pages","next-button-label","previous-button-label","page-label","of-label","modelValue"])):(0,o.Q3)("",!0)])),n.value.error?((0,o.uX)(),(0,o.CE)("div",I,[n.value.error?((0,o.uX)(),(0,o.Wv)((0,l.R1)(c.VsWarning),{key:0},{default:(0,o.k6)((function(){return[(0,o.eW)((0,u.toDisplayString)(n.value.message),1)]})),_:1})):(0,o.Q3)("",!0)])):(0,o.Q3)("",!0)]),(0,o.bF)((0,l.R1)(c.VsWarning),{"data-test":"vs-federated-search__error--no-js",class:"vs-federated-search__error--no-js mb-300"},{default:(0,o.k6)((function(){return[(0,o.eW)((0,u.toDisplayString)(d.searchLabels.noJs),1)]})),_:1})])}}}},78686:function(){},92720:function(e,t,a){"use strict";a(97140)},97140:function(e,t,a){"use strict";var r=a(85072),n=a.n(r),s=a(97825),o=a.n(s),l=a(77659),i=a.n(l),u=a(55056),c=a.n(u),d=a(10540),g=a.n(d),f=a(41113),p=a.n(f),y=a(78686),v=a.n(y),b={};b.styleTagTransform=p(),b.setAttributes=c(),b.insert=i().bind(null,"head"),b.domAPI=o(),b.insertStyleElement=g(),n()(v(),b),v()&&v().locals&&v().locals}},function(e){return e.O(0,[641,6262,7510,3751,4352,7527,4467,8086,810,7800,9394,2543,3453,281,7536,7511,9033,8795,6425,7171,3498,8449,4982,6422,8745,8836,8638,2368,3838,7521,1438,4580,5676,1574,9122,4282,5921,1459,2142,5025,7957,9116,7275,4448,9810,3486,378,6494,1688,1454,3614,2491,4360,6305,9856,8861,4179,7933,2710,6955,3706,3484,1371,9054,7553,6086,3130,5945,8167,4921,1288,3990,3293,1244,680,4828,459,2329,4409,6358,1696,80,2152,4145,922,4433,2822,8258,1086,1154,8533,4681,71,7033,7894,6665,6618,1389,1161,9621,4029,3350,9146,6838,4879,4953,1718,1120,47,9464,9177,9839,625,6004,5513,7097,7311,8399,5465,6641,9633,5809,3337,2810,7086,3603,8978,3033,630,6649,8759,5807,4712,5048,2761,8693,5782,8407,4562,7906,1841,6175,3642,7692,8462,7231,7195,8573,1106,1379,4999,4232,6431,3609,2759,7848,6241,8817,8570,815,4061,9323,9923,3731,2837,3914,5577,3650,2612,6283,9783,7969,9280,4036,8332,2437,6123,7570,4670,9423,9886,3734,1901,8969,5106,627,538,1493,4297,1474,4856,7006,6689,2903,2989,555,8995,5965,1780],(function(){return e(e.s=49439)})),e.O()}])}));
@@ -0,0 +1 @@
1
+ (self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[555],{14285:function(e,t,r){"use strict";r(44073)},19317:function(e,t,r){"use strict";r.d(t,{A:function(){return a.A}});var a=r(20025)},20025:function(e,t,r){"use strict";var a=r(89394),l=r(82284),n=r(20641),i=r(90033),s=r(50953),o=r(48836),c=r(44580),f={class:"vs-fed-filter"},u={class:"vs-fed-filter__scroll-container"},d=["id"];t.A={__name:"FedFilter",props:{filterCategories:{type:Array,required:!0},variant:{type:String,default:"primary",validator:function(e){return/^(primary|secondary)$/.test(e)}},wrap:{type:Boolean,default:!1},activeFilter:{type:[String,Array],default:""},scrollButtons:{type:Boolean,default:!1},scrollLeftText:{type:String,default:""},scrollRightText:{type:String,default:""}},emits:["filter-updated"],setup:function(e,t){var r=t.expose,v=e,y=(0,s.KR)(null);function _(e){var t,r;"left"===e?null===(t=y.value)||void 0===t||t.scrollBy(-200,0):"right"===e&&(null===(r=y.value)||void 0===r||r.scrollBy(200,0))}r({resetScroll:function(){var e;null===(e=y.value)||void 0===e||e.scrollTo(0,0)}});var b=(0,n.EW)((function(){return(0,a.A)(v.filterCategories).sort((function(e,t){var r=(e.Label||e.Key||"").toLowerCase(),a=(t.Label||t.Key||"").toLowerCase();return r<a?-1:r>a?1:0}))}));function k(e){var t;switch(e){case"accommodation":t="fa-regular fa-bed";break;case"active-adventure":t="fa-kit fa-vs-landscape";break;case"city-break":t="fa-regular fa-city";break;case"culture-history":t="fa-regular fa-chess-rook";break;case"events":t="fa-regular fa-calendar-range";break;case"family-friendly":t="fa-regular fa-family";break;case"food-drink":t="fa-regular fa-utensils";break;case"nature-outdoors":t="fa-regular fa-leaf";break;case"tours":t="fa-regular fa-binoculars";break;case"travel-information":t="fa-regular fa-circle-info";break;case"wellness":t="fa-regular fa-spa";break;default:t=null}return t}return function(t,r){return(0,n.uX)(),(0,n.CE)("div",f,[t.$slots["fed-filter-header"]&&t.$slots["fed-filter-header"]()?((0,n.uX)(),(0,n.Wv)(c.default,{key:0,class:"vs-fed-filter__header mb-025 ms-025","data-test":"vs-fed-filter__header"},{default:(0,n.k6)((function(){return[(0,n.RG)(t.$slots,"fed-filter-header")]})),_:3})):(0,n.Q3)("",!0),(0,n.Lk)("div",u,[e.scrollButtons?((0,n.uX)(),(0,n.Wv)(o.default,{key:0,variant:"secondary",icon:"fa-regular fa-chevron-left","icon-only":"",class:"vs-fed-filter__scroll-button me-050","data-test":"vs-fed-filter__scroll-button--left",onClick:r[0]||(r[0]=function(e){return _("left")}),"aria-label":v.scrollLeftText},{default:(0,n.k6)((function(){return[(0,n.eW)((0,i.toDisplayString)(v.scrollLeftText),1)]})),_:1},8,["aria-label"])):(0,n.Q3)("",!0),(0,n.Lk)("div",{class:(0,i.normalizeClass)(["vs-fed-filter__scroll-rail",["vs-fed-filter__scroll-rail--".concat(v.variant),v.wrap?"vs-fed-filter__scroll-rail--wrap":""]]),id:"vs-fed-filter__scroll-rail--".concat(v.variant),ref_key:"scrollRail",ref:y},[((0,n.uX)(!0),(0,n.CE)(n.FK,null,(0,n.pI)(b.value,(function(e,r){return(0,n.uX)(),(0,n.Wv)(o.default,{key:r,class:"vs-fed-filter__category-button","data-test":"vs-fed-filter__category-button--".concat(e.Key),icon:"primary"===v.variant?k(e.Key):null,variant:(a=e.Key,("string"==typeof v.activeFilter?v.activeFilter===a:v.activeFilter&&"object"===(0,l.A)(v.activeFilter)&&v.activeFilter.includes(a))?"primary":"secondary"),size:"secondary"===v.variant?"sm":"md",onClick:function(r){return t.$emit("filter-updated",e)}},{default:(0,n.k6)((function(){return[(0,n.eW)((0,i.toDisplayString)(e.Label||e.Key),1)]})),_:2},1032,["data-test","icon","variant","size","onClick"]);var a})),128))],10,d),e.scrollButtons?((0,n.uX)(),(0,n.Wv)(o.default,{key:1,variant:"secondary",icon:"fa-regular fa-chevron-right","icon-only":"",class:"vs-fed-filter__scroll-button ms-050","data-test":"vs-fed-filter__scroll-button--right",onClick:r[1]||(r[1]=function(e){return _("right")}),"aria-label":v.scrollRightText},{default:(0,n.k6)((function(){return[(0,n.eW)((0,i.toDisplayString)(v.scrollRightText),1)]})),_:1},8,["aria-label"])):(0,n.Q3)("",!0)])])}}}},30555:function(e,t,r){"use strict";r.r(t);var a=r(19317);r(14285);const l=a.A;t.default=l},44073:function(e,t,r){"use strict";var a=r(85072),l=r.n(a),n=r(97825),i=r.n(n),s=r(77659),o=r.n(s),c=r(55056),f=r.n(c),u=r(10540),d=r.n(u),v=r(41113),y=r.n(v),_=r(54083),b=r.n(_),k={};k.styleTagTransform=y(),k.setAttributes=f(),k.insert=o().bind(null,"head"),k.domAPI=i(),k.insertStyleElement=d(),l()(b(),k),b()&&b().locals&&b().locals},54083:function(){}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[2989],{15527:function(e,t){var r=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function c(e){try{s(n.next(e))}catch(e){o(e)}}function u(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,u)}s((n=n.apply(e,t||[])).next())}))},n=this&&this.__generator||function(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return c.next=u(0),c.throw=u(1),c.return=u(2),"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function u(u){return function(s){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&u[0]?n.return:u[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,u[1])).done)return a;switch(n=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,n=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!((a=(a=o.trys).length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],n=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,s])}}};Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){return r(this,void 0,void 0,(function(){var r,a,o,c,u,s,l;return n(this,(function(n){switch(n.label){case 0:r=t.apiKey,a=t.customerId,o=t.engineId,c="".concat("https://api-eu1.cludo.com/api/v3","/").concat(a,"/").concat(o,"/Autocomplete"),u="".concat(a,":").concat(r),n.label=1;case 1:return n.trys.push([1,4,,5]),[4,fetch(c,{method:"POST",body:JSON.stringify({text:e}),headers:{"Content-Type":"application/json",Authorization:"Basic ".concat(btoa(u))}})];case 2:if(!(s=n.sent()).ok)throw new Error("Autocomplete search error ".concat(s.status));return[4,s.json()];case 3:return[2,n.sent()];case 4:throw l=n.sent(),new Error("Autocomplete search error: ".concat(l));case 5:return[2]}}))}))}},52954:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function c(e){try{s(n.next(e))}catch(e){o(e)}}function u(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,u)}s((n=n.apply(e,t||[])).next())}))},a=this&&this.__generator||function(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return c.next=u(0),c.throw=u(1),c.return=u(2),"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function u(u){return function(s){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&u[0]?n.return:u[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,u[1])).done)return a;switch(n=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,n=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!((a=(a=o.trys).length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],n=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,s])}}},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var c=o(r(72989));t.default=function(e,t,r,o,u,s,l,i,f,d,p,h,v){return n(this,void 0,void 0,(function(){var n,y,b,g;return a(this,(function(a){switch(a.label){case 0:if((n=(0,c.default)()).eventsApiError=!1,n.cludoError=!1,"events"!==o&&o)return[3,6];y="".concat(e,"?query=").concat(t,"&lang=").concat(f),y=r>1?"".concat(y,"&page=").concat(r):y,y=""!==s?"".concat(y,"&startDate=").concat(s):y,y=""!==l?"".concat(y,"&endDate=").concat(l):y,y=i?"".concat(y,"&sort=").concat(i):y,y="".concat(y,"events"===o?"&pageSize=12":"&pageSize=6"),y=d?"".concat(y,"&postcode=").concat(d):y,y=p?"".concat(y,"&location=").concat(p):y,y=h?"".concat(y,"&radius=").concat(h):y,y=v?"".concat(y,"&postcodeareas=").concat(v):y,u.forEach((function(e){y+="&category=".concat(e)})),a.label=1;case 1:return a.trys.push([1,4,,5]),[4,fetch(y)];case 2:if(!(b=a.sent()).ok)throw n.isLoading=!1,n.eventsApiError=!0,new Error("Events response message: ".concat(b.status));return[4,b.json()];case 3:return[2,{results:(w=g=a.sent(),w.events.map((function(e){var t,r,n,a,o,c,u;return{id:e.id,parentId:e.parentId,title:e.name,description:(null===(r=null===(t=e.descriptions)||void 0===t?void 0:t[0])||void 0===r?void 0:r.description)||"",imgSrc:(null===(a=null===(n=e.images)||void 0===n?void 0:n[0])||void 0===a?void 0:a.url)||"",url:(null===(c=null===(o=e.performances)||void 0===o?void 0:o[0])||void 0===c?void 0:c.url)||"",placeUrl:e.place.website,location:e.place.town,startDate:e.startFormatted,endDate:e.endFormatted,minPrice:null===(u=e.minPrice)||void 0===u?void 0:u.toString(),dataSrc:"data-thistle",categoryCard:e.categoryCard||""}}))),totalResults:g.totalResults}];case 4:return a.sent(),n.isLoading=!1,n.eventsApiError=!0,[2,{results:[],totalResults:0}];case 5:return[3,7];case 6:return[2,{results:[],totalResults:0}];case 7:return[2]}var w}))}))}},64791:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function c(e){try{s(n.next(e))}catch(e){o(e)}}function u(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,u)}s((n=n.apply(e,t||[])).next())}))},a=this&&this.__generator||function(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return c.next=u(0),c.throw=u(1),c.return=u(2),"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function u(u){return function(s){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&u[0]?n.return:u[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,u[1])).done)return a;switch(n=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,n=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!((a=(a=o.trys).length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],n=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,s])}}},o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var c=o(r(72989));t.default=function(e,t,r,o,u,s){return n(this,void 0,void 0,(function(){var n,o,l,i,f,d,p,h,v;return a(this,(function(a){switch(a.label){case 0:if(n=t.apiKey,o=t.customerId,l=t.engineId,i="https://api-eu1.cludo.com/api/v3/".concat(o,"/").concat(l,"/search"),f="".concat(o,":").concat(n),(d=(0,c.default)()).eventsApiError=!1,d.cludoError=!1,!t)return d.cludoError=!0,d.isLoading=!1,[2,{results:[],totalResults:0}];if("events"===u)return[2,{results:[],totalResults:0}];a.label=1;case 1:return a.trys.push([1,4,,5]),[4,fetch(i,{method:"POST",body:JSON.stringify({query:e||"*",operator:s,responseType:"JsonObject",perPage:u?12:6,page:r,facets:{Category:u?[u]:null}}),headers:{"Content-Type":"application/json",Authorization:"Basic ".concat(btoa(f))}})];case 2:if(!(p=a.sent()).ok)throw d.cludoError=!0,d.isLoading=!1,new Error("Cludo response message: ".concat(p.status));return[4,p.json()];case 3:return h=a.sent(),v=h.TypedDocuments.map((function(e){var t;return{id:e.Fields.Id.Value||"",title:e.Fields.Title.Value||"",description:e.Fields.Description.Value||"",imgSrc:(null===(t=e.Fields.Image)||void 0===t?void 0:t.Value)||"",url:e.Fields.Url.Value||"",dataSrc:"cludo",categoryCard:e.Fields.categoryCard.Value||""}})),[2,{results:v,totalResults:h.TotalDocument}];case 4:return a.sent(),d.cludoError=!0,d.isLoading=!1,[2,{results:[],totalResults:0}];case 5:return[2]}}))}))}},72989:function(e,t,r){var n=this&&this.__awaiter||function(e,t,r,n){return new(r||(r=Promise))((function(a,o){function c(e){try{s(n.next(e))}catch(e){o(e)}}function u(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?a(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(c,u)}s((n=n.apply(e,t||[])).next())}))},a=this&&this.__generator||function(e,t){var r,n,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return c.next=u(0),c.throw=u(1),c.return=u(2),"function"==typeof Symbol&&(c[Symbol.iterator]=function(){return this}),c;function u(u){return function(s){return function(u){if(r)throw new TypeError("Generator is already executing.");for(;c&&(c=0,u[0]&&(o=0)),o;)try{if(r=1,n&&(a=2&u[0]?n.return:u[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,u[1])).done)return a;switch(n=0,a&&(u=[2&u[0],a.value]),u[0]){case 0:case 1:a=u;break;case 4:return o.label++,{value:u[1],done:!1};case 5:o.label++,n=u[1],u=[0];continue;case 7:u=o.ops.pop(),o.trys.pop();continue;default:if(!((a=(a=o.trys).length>0&&a[a.length-1])||6!==u[0]&&2!==u[0])){o=0;continue}if(3===u[0]&&(!a||u[1]>a[0]&&u[1]<a[3])){o.label=u[1];break}if(6===u[0]&&o.label<a[1]){o.label=a[1],a=u;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(u);break}a[2]&&o.ops.pop(),o.trys.pop();continue}u=t.call(e,o)}catch(e){u=[6,e],n=0}finally{r=a=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}([u,s])}}},o=this&&this.__spreadArray||function(e,t,r){if(r||2===arguments.length)for(var n,a=0,o=t.length;a<o;a++)!n&&a in t||(n||(n=Array.prototype.slice.call(t,0,a)),n[a]=t[a]);return e.concat(n||Array.prototype.slice.call(t))},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var u=r(17527),s=r(48086),l=c(r(64791)),i=c(r(52954)),f=c(r(15527)),d=(0,s.defineStore)("federatedSearch",(function(){var e=(0,u.ref)(null),t=(0,u.ref)(void 0),r=(0,u.ref)(!1),c=(0,u.ref)(1),s=(0,u.ref)(void 0),d=(0,u.ref)(!1),p=(0,u.ref)(!1),h=(0,u.ref)(null),v=(0,u.ref)(""),y=(0,u.ref)(null),b=(0,u.ref)(null),g=(0,u.ref)([]),w=(0,u.ref)([]),m=(0,u.ref)(void 0),_=(0,u.ref)(void 0),P=(0,u.ref)(void 0),S=(0,u.ref)(!1),k=(0,u.ref)(""),E=(0,u.ref)(""),x=(0,u.ref)(void 0),C=(0,u.ref)(void 0),I=(0,u.ref)(void 0),R=(0,u.ref)(-1),j=(0,u.ref)(""),O=(0,u.ref)(""),A=(0,u.ref)(""),T=(0,u.ref)(0),D=(0,u.ref)(""),F=(0,u.ref)("or");function L(){return n(this,arguments,void 0,(function(e){var r,n;return void 0===e&&(e=!1),a(this,(function(a){switch(a.label){case 0:return p.value=!0,e||(R.value+=1),[4,(0,l.default)(v.value,t.value,c.value,y.value,b.value,F.value)];case 1:return r=a.sent(),[4,(0,i.default)(s.value,v.value,c.value,b.value,w.value,k.value,E.value,x.value,I.value,O.value,A.value,T.value,D.value)];case 2:return n=a.sent(),h.value=o(o([],r.results,!0),n.results,!0),_.value=r.totalResults,P.value=n.totalResults,m.value=r.totalResults+n.totalResults,p.value=!1,[2]}}))}))}return{filters:e,currentPage:c,cludoCredentials:t,cludoError:r,eventsApi:s,eventsApiError:d,getAutoComplete:function(){return n(this,void 0,void 0,(function(){return a(this,(function(e){return[2,(0,f.default)(v.value,t.value)]}))}))},getSearchResults:L,isLoading:p,results:h,searchTerm:v,searchUrl:C,selectedCategory:y,selectedCategoryKey:b,selectedSubCategory:g,selectedSubCategoryKey:w,totalResults:m,totalResultsCludo:_,totalResultsEvents:P,navigateToResultsPage:function(e,t){return n(this,void 0,void 0,(function(){var r,n;return a(this,(function(a){switch(a.label){case 0:return r=new URL(window.location.href),j.value=t?"Autosuggestion":"User input",v.value?r.searchParams.set("search-term",v.value):r.searchParams.delete("search-term"),b.value?r.searchParams.set("category",encodeURIComponent(b.value)):r.searchParams.delete("category"),w.value.length>0?r.searchParams.set("sub-category",encodeURIComponent(w.value.join(","))):r.searchParams.delete("sub-category"),e?(c.value=1,r.searchParams.set("page",c.value.toString())):c.value&&c.value>1?r.searchParams.set("page",c.value.toString()):r.searchParams.delete("page"),k.value?r.searchParams.set("start-date",k.value):r.searchParams.delete("start-date"),E.value?r.searchParams.set("end-date",E.value):r.searchParams.delete("end-date"),x.value?r.searchParams.set("sort-by",x.value):r.searchParams.delete("sort-by"),S.value?[3,2]:(window.history.pushState({},"",r),[4,L()]);case 1:return a.sent(),[3,3];case 2:n="".concat(C.value,"/").concat(r.search),window.location.href=n,a.label=3;case 3:return[2]}}))}))},isHomePage:S,startDate:k,endDate:E,sortBy:x,siteLanguage:I,searchInSessionCount:R,queryInput:j,postcode:O,location:A,radius:T,postcodeareas:D,cludoApiOperator:F}}));t.default=d}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[8995],{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={key:0,class:"position-relative"},k={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("postcode")&&(n.postcode=t.get("postcode")),t.has("location")&&(n.location=t.get("location")),t.has("radius")&&(n.radius=t.get("radius")),t.has("postcodeareas")&&(n.postcodeareas=t.get("postcodeareas")),(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"])]),h.value&&h.value.length>0?((0,c.uX)(),(0,c.CE)("div",C,[(0,c.Lk)("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:1,"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:2,"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)])}}}},12336: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(79270),_=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},14123:function(e,t,r){"use strict";r.d(t,{A:function(){return a.A}});var a=r(10343)},58995:function(e,t,r){"use strict";r.r(t);var a=r(14123);r(88804);const n=a.A;t.default=n},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}}},79270:function(){},88804:function(e,t,r){"use strict";r(12336)}}]);
@@ -5,6 +5,7 @@ type __VLS_WithTemplateSlots<T, S> = T & (new () => {
5
5
  });
6
6
  declare const __VLS_component: import('vue').DefineComponent<{}, {
7
7
  siteLanguage: string;
8
+ cludoApiOperator: string;
8
9
  cludoCustomerId: number;
9
10
  cludoEngineId: number;
10
11
  errorMessages: Record<string, any>;
@@ -19,6 +20,7 @@ declare const __VLS_component: import('vue').DefineComponent<{}, {
19
20
  subFilters?: unknown[];
20
21
  $props: {
21
22
  readonly siteLanguage?: string;
23
+ readonly cludoApiOperator?: string;
22
24
  readonly cludoCustomerId?: number;
23
25
  readonly cludoEngineId?: number;
24
26
  readonly errorMessages?: Record<string, any>;
@@ -2,6 +2,7 @@ declare const _default: {
2
2
  VsFederatedSearch: {
3
3
  new (...args: any[]): import('vue').CreateComponentPublicInstanceWithMixins<Readonly<{}> & Readonly<{}>, {
4
4
  siteLanguage: string;
5
+ cludoApiOperator: string;
5
6
  cludoCustomerId: number;
6
7
  cludoEngineId: number;
7
8
  errorMessages: Record<string, any>;
@@ -16,6 +17,7 @@ declare const _default: {
16
17
  subFilters?: unknown[];
17
18
  $props: {
18
19
  readonly siteLanguage?: string;
20
+ readonly cludoApiOperator?: string;
19
21
  readonly cludoCustomerId?: number;
20
22
  readonly cludoEngineId?: number;
21
23
  readonly errorMessages?: Record<string, any>;
@@ -38,6 +40,7 @@ declare const _default: {
38
40
  Defaults: {};
39
41
  }, Readonly<{}> & Readonly<{}>, {
40
42
  siteLanguage: string;
43
+ cludoApiOperator: string;
41
44
  cludoCustomerId: number;
42
45
  cludoEngineId: number;
43
46
  errorMessages: Record<string, any>;
@@ -52,6 +55,7 @@ declare const _default: {
52
55
  subFilters?: unknown[];
53
56
  $props: {
54
57
  readonly siteLanguage?: string;
58
+ readonly cludoApiOperator?: string;
55
59
  readonly cludoCustomerId?: number;
56
60
  readonly cludoEngineId?: number;
57
61
  readonly errorMessages?: Record<string, any>;
@@ -71,6 +75,7 @@ declare const _default: {
71
75
  __isSuspense?: never;
72
76
  } & import('vue').ComponentOptionsBase<Readonly<{}> & Readonly<{}>, {
73
77
  siteLanguage: string;
78
+ cludoApiOperator: string;
74
79
  cludoCustomerId: number;
75
80
  cludoEngineId: number;
76
81
  errorMessages: Record<string, any>;
@@ -85,6 +90,7 @@ declare const _default: {
85
90
  subFilters?: unknown[];
86
91
  $props: {
87
92
  readonly siteLanguage?: string;
93
+ readonly cludoApiOperator?: string;
88
94
  readonly cludoCustomerId?: number;
89
95
  readonly cludoEngineId?: number;
90
96
  readonly errorMessages?: Record<string, any>;
@@ -36,7 +36,12 @@ declare const useFederatedSearchStore: import('pinia').StoreDefinition<"federate
36
36
  siteLanguage: import('vue').Ref<any, any>;
37
37
  searchInSessionCount: import('vue').Ref<number, number>;
38
38
  queryInput: import('vue').Ref<string, string>;
39
- }, "filters" | "currentPage" | "isHomePage" | "selectedSubCategory" | "isLoading" | "selectedCategory" | "searchTerm" | "endDate" | "startDate" | "cludoCredentials" | "cludoError" | "eventsApi" | "eventsApiError" | "results" | "searchUrl" | "selectedCategoryKey" | "selectedSubCategoryKey" | "totalResults" | "totalResultsCludo" | "totalResultsEvents" | "sortBy" | "siteLanguage" | "searchInSessionCount" | "queryInput">, Pick<{
39
+ postcode: import('vue').Ref<string, string>;
40
+ location: import('vue').Ref<string, string>;
41
+ radius: import('vue').Ref<number, number>;
42
+ postcodeareas: import('vue').Ref<string, string>;
43
+ cludoApiOperator: import('vue').Ref<string, string>;
44
+ }, "filters" | "currentPage" | "isHomePage" | "selectedSubCategory" | "isLoading" | "selectedCategory" | "searchTerm" | "endDate" | "startDate" | "location" | "cludoCredentials" | "cludoError" | "eventsApi" | "eventsApiError" | "results" | "searchUrl" | "selectedCategoryKey" | "selectedSubCategoryKey" | "totalResults" | "totalResultsCludo" | "totalResultsEvents" | "sortBy" | "siteLanguage" | "searchInSessionCount" | "queryInput" | "postcode" | "radius" | "postcodeareas" | "cludoApiOperator">, Pick<{
40
45
  filters: import('vue').Ref<any, any>;
41
46
  currentPage: import('vue').Ref<number, number>;
42
47
  cludoCredentials: import('vue').Ref<{
@@ -72,6 +77,11 @@ declare const useFederatedSearchStore: import('pinia').StoreDefinition<"federate
72
77
  siteLanguage: import('vue').Ref<any, any>;
73
78
  searchInSessionCount: import('vue').Ref<number, number>;
74
79
  queryInput: import('vue').Ref<string, string>;
80
+ postcode: import('vue').Ref<string, string>;
81
+ location: import('vue').Ref<string, string>;
82
+ radius: import('vue').Ref<number, number>;
83
+ postcodeareas: import('vue').Ref<string, string>;
84
+ cludoApiOperator: import('vue').Ref<string, string>;
75
85
  }, never>, Pick<{
76
86
  filters: import('vue').Ref<any, any>;
77
87
  currentPage: import('vue').Ref<number, number>;
@@ -108,5 +118,10 @@ declare const useFederatedSearchStore: import('pinia').StoreDefinition<"federate
108
118
  siteLanguage: import('vue').Ref<any, any>;
109
119
  searchInSessionCount: import('vue').Ref<number, number>;
110
120
  queryInput: import('vue').Ref<string, string>;
121
+ postcode: import('vue').Ref<string, string>;
122
+ location: import('vue').Ref<string, string>;
123
+ radius: import('vue').Ref<number, number>;
124
+ postcodeareas: import('vue').Ref<string, string>;
125
+ cludoApiOperator: import('vue').Ref<string, string>;
111
126
  }, "getAutoComplete" | "getSearchResults" | "navigateToResultsPage">>;
112
127
  export default useFederatedSearchStore;
@@ -1,6 +1,6 @@
1
1
  import { CludoCredentials, FederatedSearchResult } from '../../../types/types';
2
2
 
3
- declare function cludoSearch(searchTerm: string, cludoCredentials: CludoCredentials, page: number, selectedCategory: string, selectedCategoryKey: string): Promise<{
3
+ declare function cludoSearch(searchTerm: string, cludoCredentials: CludoCredentials, page: number, selectedCategory: string, selectedCategoryKey: string, apiOperator: string): Promise<{
4
4
  results: FederatedSearchResult[];
5
5
  totalResults: any;
6
6
  }>;
@@ -1,6 +1,6 @@
1
1
  import { FederatedSearchResult } from '../../../types/types';
2
2
 
3
- declare function eventSearch(api: string, searchTerm: string, page: number, selectedCategoryKey: string, selectedSubCategoryKey: string[], startDate: string, endDate: string, sortBy: string, siteLanguage: string): Promise<{
3
+ declare function eventSearch(api: string, searchTerm: string, page: number, selectedCategoryKey: string, selectedSubCategoryKey: string[], startDate: string, endDate: string, sortBy: string, siteLanguage: string, postcode: string, location: string, radius: number, postcodeareas: string): Promise<{
4
4
  results: FederatedSearchResult[];
5
5
  totalResults: any;
6
6
  }>;
@@ -5,10 +5,10 @@ declare const _default: import('vue').DefineComponent<{}, {
5
5
  jsDisabled: boolean;
6
6
  mapId: string;
7
7
  cookieBtnText: string;
8
+ radius: number;
8
9
  labels: Record<string, any>;
9
10
  mapTypeVector: boolean;
10
11
  zoom: number;
11
- radius: number;
12
12
  languageCode: string;
13
13
  categoriesLocation: string;
14
14
  categoryLabels: Record<string, any>;
@@ -22,10 +22,10 @@ declare const _default: import('vue').DefineComponent<{}, {
22
22
  readonly jsDisabled?: boolean;
23
23
  readonly mapId?: string;
24
24
  readonly cookieBtnText?: string;
25
+ readonly radius?: number;
25
26
  readonly labels?: Record<string, any>;
26
27
  readonly mapTypeVector?: boolean;
27
28
  readonly zoom?: number;
28
- readonly radius?: number;
29
29
  readonly languageCode?: string;
30
30
  readonly categoriesLocation?: string;
31
31
  readonly categoryLabels?: Record<string, any>;
@@ -6,10 +6,10 @@ declare const _default: {
6
6
  jsDisabled: boolean;
7
7
  mapId: string;
8
8
  cookieBtnText: string;
9
+ radius: number;
9
10
  labels: Record<string, any>;
10
11
  mapTypeVector: boolean;
11
12
  zoom: number;
12
- radius: number;
13
13
  languageCode: string;
14
14
  categoriesLocation: string;
15
15
  categoryLabels: Record<string, any>;
@@ -23,10 +23,10 @@ declare const _default: {
23
23
  readonly jsDisabled?: boolean;
24
24
  readonly mapId?: string;
25
25
  readonly cookieBtnText?: string;
26
+ readonly radius?: number;
26
27
  readonly labels?: Record<string, any>;
27
28
  readonly mapTypeVector?: boolean;
28
29
  readonly zoom?: number;
29
- readonly radius?: number;
30
30
  readonly languageCode?: string;
31
31
  readonly categoriesLocation?: string;
32
32
  readonly categoryLabels?: Record<string, any>;