@visitscotland/component-library
Version:
VisitScotland Component Library
1 lines • 4.56 kB
JavaScript
(self.webpackChunk_visitscotland_component_library=self.webpackChunk_visitscotland_component_library||[]).push([[555],{2380:function(){},18706:function(e,t,r){"use strict";r(82918)},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(18706);const l=a.A;t.default=l},82918: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(2380),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}}]);